mirror of
https://github.com/anotherhadi/usbguard-tui.git
synced 2026-05-11 22:02:34 +02:00
main
▖▖▄▖▄ ▄▖ ▌ ▄▖▖▖▄▖
▌▌▚ ▙▘▌ ▌▌▀▌▛▘▛▌ ▐ ▌▌▐
▙▌▄▌▙▘▙▌▙▌█▌▌ ▙▌ ▐ ▙▌▟▖
USBGuard TUI
A terminal UI for managing USB devices via usbguard.
USBGuard is a software framework for implementing a USB device authorization policy (allowlisting/blocklisting). It protects your system against rogue USB devices by scanning them and checking their parameters against a set of rules.
Built with bubbletea & Golang!
Features
- List all connected USB devices with their current status (allowed, blocked, rejected)
- Allow, block, or reject devices: temporarily or permanently
- Action popup with mouse support for quick device management
- Filter devices by name with
/ - Auto-refresh
- Keyboard shortcuts for all actions (
a/A,b/B,e/E)
Requirements
- usbguard installed and the daemon running
- Sufficient privileges to communicate with the usbguard daemon socket
Installation
Go install
go install github.com/anotherhadi/usbguard-tui@latest
Build from source
git clone https://github.com/anotherhadi/usbguard-tui
cd usbguard-tui
go build -o usbguard-tui .
Nix run
nix run github:anotherhadi/usbguard-tui
NixOS: system installation
Add the flake input and include the package in your configuration:
# flake.nix
inputs.usbguard-tui.url = "github:anotherhadi/usbguard-tui";
# configuration.nix / home.nix
environment.systemPackages = [ inputs.usbguard-tui.packages.${system}.default ];
Usage
usbguard-tui
The device list refreshes automatically every 2 seconds.
Languages
Go
96%
Nix
4%