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:
- More structure and cleaner code
- Multiple implementations with feature parity but different stacks (e.g. Flask/FastAPI, JQuery/Vue, etc.) to serve as educational content
- Docker, Docker, Docker
- Self-provisioning capabilities similar to firezone
Check the ToDo
- IPv6 in WireGuard not fully supoprted
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
-
Download WGDashboard
git clone -b v3.0.6 https://github.com/donaldzou/WGDashboard.git wgdashboard
-
Open the WGDashboard folder
cd wgdashboard/src
-
Install WGDashboard
sudo chmod u+x wgd.sh sudo ./wgd.sh install
-
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
-
Run WGDashboard
./wgd.sh start
Note:
For
pivpn
user, please usesudo ./wgd.sh start
to run if your current account does not have the permission to runwg show
andwg-quick
. -
Access dashboard
Access your server with port
10086
(e.g. http://your_server_ip:10086), using usernameadmin
and passwordadmin
. See below how to change port and ip that the dashboard is running with.
Coming soon...
- CSS/JS
- Bootstrap
v4.6.0
- Bootstrap Icon
v1.4.0
- jQuery
v3.5.1
- Bootstrap
- Python
- Flask
v2.0.1
- ifcfg
v0.21
- icmplib
v2.1.1
- flask-qrcode
v3.0.0
****
- Flask
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!