Skip to content

d10n/mullvad-tui

Repository files navigation

mullvad-tui

demo

mullvad-tui is a terminal user interface for Mullvad VPN that implements most of the GUI features for headless servers or l33t h4x0rs who just don't want to use a GUI. It includes mouse support.

The mullvad daemon protocol may drift across versions, and the mullvad Rust API is very strict. mullvad-tui has a compatibility shim, but it is still recommended to update mullvad-tui and the mullvad app/daemon around the same time.


Installation

Download the latest release from the releases page.

Currently published packages:

  • rpm file for Fedora/RHEL
  • deb file for Debian/Ubuntu
  • tar.gz file with a statically-linked binary for any other Linux distro

For Arch Linux, there are AUR packages:

  • mullvad-vpn
  • mullvad-vpn-bin

Compiling from Source

Clone

git clone --recurse-submodules https://github.com/d10n/mullvad-tui.git
cd mullvad-tui

The mullvadvpn-app/ submodule is used for the daemon RPC client and types. If you cloned without --recurse-submodules, run git submodule update --init --recursive.

Build

cargo build

The binary output is at target/debug/mullvad-tui.

Static build

make static

The static binary output is at target/crt-static/x86_64-unknown-linux-gnu/release/mullvad-tui.

Development

Quality gate:

cargo fmt --all --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets

To run a focused test:

cargo test -p mullvad-tui maps_navigation_keys -- --nocapture

License

About

Full-featured terminal user interface for Mullvad VPN, with mouse support

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages