Skip to content

gary113/wireguard-gui-python

Repository files navigation

Wireguard gui python (WGP)

Wireguard client for Linux users, wrote in Python 3.

Installation

Script

You can use the install.sh script.

bash -c "$(curl -fsSL https://raw.githubusercontent.com/gary113/wireguard-gui-python/master/install.sh)"

It will:

  1. Clone this repository to /opt/wireguard-gui-python.
  2. Install systems requirements from system-requirements.txt.
  3. Install Python requirements from requirements.txt in a virtual environment.
  4. Copy wgp.desktop to /usr/share/applications (Applications menu).

Feel free to modify the script as you need.

Manual

  1. Install requirements indicated in system-requirements.txt with your system's package managger and requirements.txt with pip.
  2. Copy the project directory wherever you want.
  3. Run with run.sh script or wgp.desktop located in resources folder, after update project directory.

Usage

How to run

Desktop file

If you used the install script, you will have a desktop file on your applications menu. Just click it, it will ask you for your sudo password.

desktop file

Manual

Run wgp executing run.sh with admin privileges:

$ cd wireguard-gui-python
$ sudo ./run.sh

About the usage

  • This client is similar to the Windows client.
  • It reads configurations from /etc/wireguard.
  • You can modify certain configurations using the .env file.
  • You can perform the following actions:
    • Add Wireguard interfaces.
    • Delete interfaces (Delete files in /etc/wireguard).
    • Export interfaces to a zip file.
    • Import interfaces from a zip file.
    • Activate/deactivate Wireguard interfaces.
    • Edit Wireguard configuration files (roll back configuration if not valid).

Screenshots

  • Config files:

wireguard config files

  • Wireguard logs:

wireguard logs

  • Tray menu:

tray menu

License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for details.