A WireGuard client interface.
- List Interfaces/Connections
- See connection status (connected/disconnected, bytes received/sent)
- Actions to connect & disconnect
- List most of configuration (address, MTU, endpoint, allowed IPs, DNS)
- Copy public key
- Search for connection
- Available action help popup
To use, simply run wtui.
You'll very likely need root permission to (1) read WireGuard configuration files and (2) alter
network interfaces and routes.
See Installation for simplified root usage.
| Key | Action |
|---|---|
j, Down |
Down |
k, Up |
Up |
c |
Connect |
d |
Disconnect |
D |
Disconnect all |
y |
Yank public key |
/ |
Search |
?* |
Help |
*: Soon, see TODO section
- Download from the Releases page or build from source
- Make binary executable
chmod +x wtui - Move binary to PATH, e.g.
sudo mv wtui /usr/local/bin - (optional) If
wtuicommand is not available, add it to yourPATH:echo 'export PATH="$PATH:/usr/local/bin"' >> ~/.bashrc
At this point, you can already use wtui, but you may want to enable root usage without password.
Use visudo to create a sudoers file:
sudo visudo /etc/sudoers.d/wireguard
Add the following lines, and replace <user> by your username.
<user> ALL= (root) NOPASSWD: /usr/bin/wg-quick
<user> ALL= (root) NOPASSWD: /usr/local/bin/wtui
After this setup, I recommend binding wtui to a shortcut.
For example, using i3wm & alacritty terminal.
bindsym $mod+grave exec alacritty -e sudo wtui
- Works only with single peer configurations
- Unit tests require
wgto be installed