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
- Host: GitHub
- URL: https://github.com/ranaaditya/usbpro
- Owner: ranaaditya
- Created: 2025-10-08T08:18:43.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2025-10-08T17:08:34.000Z (8 months ago)
- Last Synced: 2025-12-10T15:00:06.459Z (6 months ago)
- Topics: linux, lsusb, usb, usb-c, usb-devices
- Language: Go
- Homepage:
- Size: 3.18 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
```
▗▖ ▗▖ ▗▄▄▖▗▄▄▖ ▗▄▄▖ ▗▄▄▖ ▗▄▖
▐▌ ▐▌▐▌ ▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌
▐▌ ▐▌ ▝▀▚▖▐▛▀▚▖▐▛▀▘ ▐▛▀▚▖▐▌ ▐▌
▝▚▄▞▘▗▄▄▞▘▐▙▄▞▘▐▌ ▐▌ ▐▌▝▚▄▞▘
```
# 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
## 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
```