ββ ββ ββββββββ ββββ ββββ βββ
ββ ββββ ββ ββββ ββββ ββββ ββ
ββ ββ βββββββββββββ βββββββ ββ
βββββββββββββββββ ββ βββββββ
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

