What is Wireguard GUI ?
Wireguard GUI is a Linux application that allow you to manage your Wireguard VPN configuration.
Features
- List all profile
- Add a new profile
- Edit a profile
- Remove a profile
- Start a profile
- Stop a profile
- Import a profile
- Export a profile
Motivation
I didn't found any GUI application that allow me to manage my Wireguard VPN configuration.
I wanted to make an application with nextauri since a while, so i took this opportunity to make it.
Pre-requisites
In order to work properly, the application needs the following dependencies:
sudo apt-get install javascriptcoregtk-4.1 libsoup-3.0 webkit2gtk-4.1 libayatana-appindicator3-dev librsvg2-dev wireguard resolvconf -y
Installation
Install from Releases:
Release are currently available as .deb package for Debian/Ubuntu or Appimage for others distro.
Install from AUR:
yay -S wireguard-gui-bin
Developing
Be sure you have NodeJS and Rust installed on your system
-
See Tauri prerequisites to prepare your system to build
Tauri -
Clone or fork this repository
git clone https://github.com/0xle0ne/wireguard-gui cd wireguard-gui -
Install node dependencies
npm install
To get started you only need one command
npm run dev
E2E tests (WebDriver)
This project includes Tauri end-to-end tests powered by WebdriverIO and @wdio/tauri-service.
On Linux, install WebKit WebDriver support first:
sudo apt-get install webkit2gtk-driver -y
Build the debug app binary (without .deb/.rpm bundles) and run tests:
npm run e2e
Or run each step manually:
npm run e2e:build npm run e2e:test
Production
To build only the production app binary in a single command (no .deb / .rpm / .appimage bundles):
npm run build
Documentation
To learn more about Tauri and Next.js, take a look at the following resources:
- Tauri Guides - guide about Tauri.
- Tauri API - discover javascript Tauri api.
- Next.js Documentation - learn more about Next.js.
- Next.js Tutorial - interactive Next.js tutorial.
Troubleshooting
Error: NetworkManager is not running.
You need to connect the snap to network manager
sudo snap connect wireguard-gui:network-manager :network-manager
