Skip to content

Andriamanitra/mulltray

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mulltray

Unofficial, minimal, pure Rust alternative to mullvad-gui which is a graphical interface for Mullvad VPN. Mulltray gives a tray icon to mullvad-daemon. Linux only. Use at your own risk.

Installation & usage

Requirements:

  • Git
  • Rust toolchain
  • Compatible version of mullvad-daemon should be running for mulltray to communicate with
    • You can install mullvad-daemon from eg. mullvadvpn-app, your distro's package repositories, or nixpkgs#mullvad
    • Not all versions are compatible – see tags for versions that are known to work

Instructions:

# Clone the repository
git clone https://github.com/Andriamanitra/mulltray
cd mulltray

# Switch to the tag corresponding to your mullvad-daemon version
git switch --detach $(mullvad-daemon --version | cut -d' ' -f2)

# Build & install the binary to $CARGO_HOME/bin
cargo install --path .

# Run (you may want to set this up to run automatically on startup)
mulltray

Why?

I like tray icons. The best way to get a tray icon for Mullvad VPN is to use mullvad-gui which looks nice and has all the features. It is written in Electron (which basically bundles an entire web browser just to show a GUI!) which means it uses a ton of resources. I don't enjoy having extra web browsers running on my computer, and I don't use most of the features of the app – I really just want a lightweight tray icon with buttons to Connect/Disconnect.

So I created Mulltray, which is just a minimal tray icon with a couple of context menu actions. It uses about 100x less RAM than the Electron-based GUI (6M vs 660M on my machine).

How?

  • Mulltray connects to mullvad-daemon's Unix socket and controls it through remote procedure calls
  • The client that communicates with the daemon is generated using tonic_build based on the protobuf definition (proto/management_interface.proto) that can be found in mullvadvpn-app repository
  • ksni is used for showing the tray icon

About

Tray icon for mullvad-daemon

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages