1
0
mirror of https://github.com/donaldzou/WGDashboard.git synced 2024-07-02 15:30:42 +02:00
Simplest dashboard for WireGuard VPN written in Python w/ Flask
Go to file
Donald Cheng Hong Zou dee4f757e7 Upload README pictures
2021-05-04 15:42:04 -04:00
.github/ISSUE_TEMPLATE Update issue templates 2021-04-10 12:49:34 -04:00
img Push Logo 2021-04-12 23:16:12 -04:00
src Upload README pictures 2021-05-04 15:42:04 -04:00
.all-contributorsrc docs: update .all-contributorsrc [skip ci] 2021-04-13 02:29:48 +00:00
.gitignore v2.0-beta-2 Commit 2021-05-04 02:10:06 -04:00
LICENSE Initial commit 2020-10-18 01:08:59 -04:00
README.md Merge pull request #17 from donaldzou/testing 2021-05-04 01:37:27 -04:00
requirements.txt v2.0-beta-2 Commit 2021-05-04 02:10:06 -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 -b v1.1.2 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

All Contributors

Thanks goes to these wonderful people (emoji key):


antonioag95

⚠️ 💻

tonjo

💻

This project follows the all-contributors specification. Contributions of any kind welcome!