Skip to content

ranaaditya/usbpro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

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

About

USB Diagnostic tool for Linux first Systems

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages