Skip to content
AOzmondPublic

Repository files navigation

USB Tree

Looking for Work Build Status Go Report Card License Release Platform Code style: gofumpt

See the Website at usb-tree.github.io


Overview

USB Tree is a cross-platform desktop and command-line tool that visualizes, logs, and monitors USB devices connected to your computer in real-time. The desktop application is built in Go with Wails v2, combining a native Go backend with a modern Svelte + TypeScript frontend. The command-line tool is still under development but will feature the same Go backend libraries.

Use USB Tree to:

  • View all currently connected USB devices in a hierarchical "tree" view
  • Log devices connect/disconnect events with timestamps
  • Display vendor, and product information
  • Compare changes across sessions for debugging or audit purposes

The tool is designed for anyone looking for an easy-to-use, lightweight, and portable solution for monitoring USB devices.


Features

  • Cross-Platform: Runs on Linux and Windows
  • Dual Interface: CLI and GUI built from a shared Go library
  • Real-Time Monitoring: Detect hot-plug events and changes
  • Device Metadata: Vendor ID, Product ID, Path, and Bus info
  • Lightweight & Fast: Written in Go for efficiency and portability

Demo

Screen capture showing the functions


GUI APP

See GUI documentation for usage details.

CLI ( Under Development )

See CLI documentation for usage details.


License

This project is licensed under the GPL-2.0 License.


Author

Alastair Ozmond

Looking for Work

LinkedIn

Software Engineer | Full-Stack & Systems Developer

Releases

Sponsor this project

Used by

Contributors

Languages