8.8 KiB
Please provide your OS name and version if you can run the dashboard on it perfectly in #31, since I only tested on Ubuntu. Thank you!
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 and manage them in a easier way.
📣 What's New: Version 2.1
- Added Ping and Traceroute tools!
- Adjusted the calculation of data usage on each peers
- Added refresh interval of the dashboard
- Bug fixed when no configuration on fresh install (Bug report)
- Fixed crash when too many peers (Bug report)
💡 Features
-
Add peers for each WireGuard configuration
-
Manage peer
-
Delete peers
-
And many more coming up! Welcome to contribute to this project!
📝 Requirement
-
Ubuntu or Debian based OS, other might work, but haven't test yet. Tested on the following OS:
- Ubuntu 18.04.1 LTS
- If you have tested on other OS and it works perfectly please provide it to me in #31. Thank you!
-
‼️ Make sure you have Wireguard and Wireguard-Tools (
wg-quick
) installed.‼️ How to install? -
Configuration files under /etc/wireguard
- Note:
- For
[Interface]
in the.conf
file, please make sure you haveSaveConfig = true
under[Interface]
(Bug mentioned in #9) - For peers,
PublicKey
&AllowedIPs
is required.
- For
- Note:
-
Python 3.7+ & Pip3
🛠 Install
-
Download Wireguard Dashboard
$ git clone -b v2.1 https://github.com/donaldzou/Wireguard-Dashboard.git
-
Install Python Dependencies
$ cd Wireguard-Dashboard/src $ python3 -m pip install -r requirements.txt
-
Install & run Wireguard Dashboard
$ sudo chmod -R 744 /etc/wireguard # Add read and execute permission of the wireguard config folder $ sudo chmod u+x wgd.sh $ ./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), continue to read to on how to change port and ip that dashboard is running with.
🪜 Usage
1. Start/Stop/Restart Wireguard Dashboard
$ cd Wireguard-Dashboard/src
-----------------------------
$ ./wgd.sh start # Start the dashboard in background
-----------------------------
$ ./wgd.sh debug # Start the dashboard in foreground (debug mode)
-----------------------------
$ ./wgd.sh stop # Stop the dashboard
-----------------------------
$ ./wgd.sh restart # Restart the dasboard
⚠️ For first time user please also read the next section.
✂️ Dashboard Configuration
Since version 2.0, Wireguard Dashboard will be using a configuration file called wg-dashboard.ini
, (It will generate automatically after first time running the dashboard). More options will include in future versions, and for now it included the following config:
Description | Default Value | |
---|---|---|
[Account] |
||
username |
Dashboard login username | admin |
password |
Password, will be hash with SHA256 | admin hashed in SHA256 |
[Server] |
||
wg_conf_path |
The path of all the Wireguard configurations | /etc/wireguard |
app_ip |
IP address the dashboard will run with | 0.0.0.0 |
app_port |
Port the the dashboard will run with | 10086 |
auth_req |
Does the dashboard need authentication to access | true |
If auth_req = false , user will not be access the Setting tab due to security consideration. User can only change the file directly in system. |
||
version |
Dashboard Version | N/A |
Latest Version: V2.1
All these settings will be able to configure within the dashboard in Settings on the sidebar, without changing the actual file. Except version
and auth_req
due to security consideration.
❓ How to update the dashboard?
- Change your directory to
wireguard-dashboard
$ cd wireguard-dashboard
- Get the newest version
$ sudo git pull https://github.com/donaldzou/wireguard-dashboard.git v2.1 --force
- Update and install all python dependencies
$ python3 -m pip install -r requirements.txt
- Start the dashboard
$ ./wgd.sh start
⚠️ Update from v1.x.x
- Stop the dashboard if it is running.
- You can use
git pull https://github.com/donaldzou/Wireguard-Dashboard.git v2.1
to get the new update insideWireguard-Dashboard
directory. - Proceed Step 2 & 3 in the Install step down below.
🔍 Screenshot
Index Page
Signin Page
Configuration Page
Settings Page
🛒 Dependencies
- CSS/JS
- Bootstrap
v4.6.0
- Bootstrap Icon
v1.4.0
- jQuery
v3.5.1
- Bootstrap
- Python
Contributors ✨
Thanks goes to these wonderful people (emoji key):
antonioag95 ⚠️ 💻 |
tonjo 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!