▗▖ ▗▖ ▗▄▄▖▗▄▄▖ ▗▄▄▖ ▗▄▄▖ ▗▄▖
▐▌ ▐▌▐▌ ▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌
▐▌ ▐▌ ▝▀▚▖▐▛▀▚▖▐▛▀▘ ▐▛▀▚▖▐▌ ▐▌
▝▚▄▞▘▗▄▄▞▘▐▙▄▞▘▐▌ ▐▌ ▐▌▝▚▄▞▘
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. ❤️
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.
- 🚀 Fast & Native — built in pure Go, runs anywhere
lsusbdoes. - 🌈 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.
git clone https://github.com/ranaaditya/usbpro.git
cd usbpro
go build -o usbpro ./cmd/usbpro
sudo mv usbpro /usr/local/bin/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

