2026-05-11 20:10:01 +02:00
2026-05-11 20:10:01 +02:00
2026-05-04 13:14:50 +02:00
2026-04-30 17:33:42 +02:00
2026-05-04 14:44:39 +02:00
2026-05-04 12:59:11 +02:00
2026-05-04 12:59:11 +02:00
2026-04-30 17:33:42 +02:00
2026-05-04 13:10:58 +02:00
2026-05-04 22:48:45 +02:00

▖▖▄▖▄ ▄▖       ▌  ▄▖▖▖▄▖
▌▌▚ ▙▘▌ ▌▌▀▌▛▘▛▌  ▐ ▌▌▐
▙▌▄▌▙▘▙▌▙▌█▌▌ ▙▌  ▐ ▙▌▟▖

Go Version Release License: MIT Go Report Card

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.

USBGuard-tui demo

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.


S
Description
A terminal UI for managing USB devices via usbguard. TUI built with golang & bubbletea.
Readme MIT 430 KiB
Languages
Go 96%
Nix 4%