An open API service indexing awesome lists of open source software.

https://github.com/ranaaditya/usbpro

USB Diagnostic tool for Linux first Systems
https://github.com/ranaaditya/usbpro

linux lsusb usb usb-c usb-devices

Last synced: 2 months ago
JSON representation

USB Diagnostic tool for Linux first Systems

Awesome Lists containing this project

README

          


USBPRO banner

```
▗▖ ▗▖ ▗▄▄▖▗▄▄▖ ▗▄▄▖ ▗▄▄▖ ▗▄▖
▐▌ ▐▌▐▌ ▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌
▐▌ ▐▌ ▝▀▚▖▐▛▀▚▖▐▛▀▘ ▐▛▀▚▖▐▌ ▐▌
▝▚▄▞▘▗▄▄▞▘▐▙▄▞▘▐▌ ▐▌ ▐▌▝▚▄▞▘
```

# USBPRO — USB Diagnostic Tool for Linux

> A simple, zero-dependency CLI tool to **inspect, analyze, and visualize** connected USB devices on Linux — with a clean, readable tree view.
> Built in Go. Lightweight, fast, and made for humans. ❤️

---

## 🧭 Overview

`USBPRO` is a command-line utility that parses detailed USB information using the native `lsusb -v` command and presents it in a structured, color-coded tree.

It helps you quickly see what’s plugged into your machine — **from hubs to devices to speeds** — in an intuitive visual format, without digging through raw terminal output.

---

## ✨ Features

- 🚀 **Fast & Native** — built in pure Go, runs anywhere `lsusb` does.
- 🌈 **Color-coded Speeds** — instantly spot USB 1.x, 2.x, 3.x, and 4.0 devices.
- 🌲 **Tree-style Hierarchy** — see device relationships clearly.
- 💡 **Readable & Minimal Output** — no clutter, just useful info.
- 🧩 **No External Libraries** — pure Go and ANSI colors.
- 🐧 **Linux-First** — works seamlessly on Ubuntu, Debian, Fedora, Arch, etc.

---

## 📸 Example Output


USBPRO banner

## Installation

```bash
git clone https://github.com/ranaaditya/usbpro.git
cd usbpro
go build -o usbpro ./cmd/usbpro
sudo mv usbpro /usr/local/bin/
```

## Project Structure
```
usbpro/
├── cmd/
│ └── usbpro/
│ └── main.go # Entry point
└── internal/
└── usb/
├── parser.go # Parses `lsusb -v` output
├── printer.go # Pretty tree + color formatting
└── tree.go # Hierarchy builder

```