Best Flask open-source libraries and packages

WGDashboard_2

A Flask based Dashboard to manage Wireguard: simple, with some bells and whistles.
Updated 8 months ago

WGDashboard

WGDashboard-2

This is a fork of Donald Zou's original implementation. I tried submitting a PR, but Donald seems to be busy with life, so I decided to fork his codebase.

Goals of this fork:

  1. More structure and cleaner code
  2. Multiple implementations with feature parity but different stacks (e.g. Flask/FastAPI, JQuery/Vue, etc.) to serve as educational content
  3. Docker, Docker, Docker
  4. Self-provisioning capabilities similar to firezone

Check the ToDo

Table of Contents

Known issues on WGDashboard

  • IPv6 in WireGuard not fully supoprted

Requirements (local install)

WireGuard and WireGuard-Tools (wg-quick), please refer to the offical documentation.

  • Configuration files under /etc/wireguard, but please note the following sample

    [Interface]
    ...
    SaveConfig = true
    # Need to include this line to allow WireGuard Tool to save your configuration, 
    # or if you just want it to monitor your WireGuard Interface and don't need to
    # make any changes with the dashboard, you can set it to false.
    
    [Peer]
    PublicKey = abcd1234
    AllowedIPs = 1.2.3.4/32
    # Must have for each peer
  • Python 3.7+ & Pip3

  • Browser support CSS3 and ES6

🛠 Install

Locally

  1. Download WGDashboard

    git clone -b v3.0.6 https://github.com/donaldzou/WGDashboard.git wgdashboard
    
  2. Open the WGDashboard folder

    cd wgdashboard/src
  3. Install WGDashboard

    sudo chmod u+x wgd.sh
    sudo ./wgd.sh install
  4. Give read and execute permission to root of the WireGuard configuration folder, you can change the path if your configuration files are not stored in /etc/wireguard

    sudo chmod -R 755 /etc/wireguard
  5. Run WGDashboard

    ./wgd.sh start

    Note:

    For pivpn user, please use sudo ./wgd.sh start to run if your current account does not have the permission to run wg show and wg-quick.

  6. Access dashboard

    Access your server with port 10086 (e.g. http://your_server_ip:10086), using username admin and password admin. See below how to change port and ip that the dashboard is running with.

Docker

Coming soon...

🛒 Dependencies

✨ Contributors

Thanks goes to these wonderful people (emoji key):

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

Tags dashboard