1
0
mirror of https://github.com/donaldzou/WGDashboard.git synced 2024-11-04 15:00:23 +01:00
Simplest dashboard for WireGuard VPN written in Python w/ Flask
Go to file
2021-04-12 11:05:19 -04:00
.github/ISSUE_TEMPLATE Update issue templates 2021-04-10 12:49:34 -04:00
src Update dashboard.py 2021-04-09 11:15:25 +02:00
.gitignore v20210402 2021-04-02 20:48:00 -04:00
LICENSE Initial commit 2020-10-18 01:08:59 -04:00
README.md Update README.md 2021-04-12 11:05:19 -04:00
requirements.txt v20210403.2 2021-04-02 21:12:46 -04:00

Wireguard Dashboard

Monitoring Wireguard is not convinient, need to login into server and type wg show. That's why this platform is being created, to view all configurations in a more straight forward way.

💡 Features

  • Add peers in configuration
  • Manage peer names
  • Delete peers
  • And many more coming up! Welcome to contribute to this project!

📝 Requirement

  • Ubuntu 18.04.1 LTS, other OS might work, but haven't test yet.

  • ‼️ Make sure you have Wireguard installed.‼️ How to install?

  • Configuration files under /etc/wireguard

    Example .conf file

    [Interface]
    Address = 192.168.0.1/24
    SaveConfig = true
    PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
    ListenPort = 12345
    PrivateKey = ABCDEFGHIJKLMNOPQRSTUVWXYZ1234
    
    [Peer]
    PublicKey = HABCDEFGHIJKLMNOPQRSTUVWXYZ123123123123
    AllowedIPs = 192.168.0.2/32
    
    ...
    

    Note: For peers, PublicKey & AllowedIPs is required.

  • Python 3.7+ & Pip3

    $ sudo apt-get install python3 python3-pip
    

🛠 Install

1. Install Python Dependencies

$ python3 -m pip install flask tinydb

2. Install Wireguard Dashboard

$ git clone https://github.com/donaldzou/Wireguard-Dashboard.git
$ cd Wireguard-Dashboard/src
$ python3 dashboard.py

Access your server with port 10086 ! e.g (http://your_server_ip:10086)

3. Install with Production Mode (Optional), not tested yet. ‼️ Proceed with caution. ‼️

$ cd Wireguard-Dashboard/src
$ export FLASK_APP=dashboard.py
$ export FLASK_RUN_HOST=0.0.0.0
$ export FLASK_ENV=development
$ export FLASK_DEBUG=0
$ flask run

🔍 Example

Index Image Conf Image

🙌 Contributors