.github/ISSUE_TEMPLATE | ||
img | ||
src | ||
.all-contributorsrc | ||
.gitignore | ||
LICENSE | ||
README.md |
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.0
- Added login function to dashboard
- I'm not using the most ideal way to store the username and password, feel free to provide a better way to do this if you any good idea!
- Added a config file to the dashboard
- Dashboard config can be change within the Setting tab on the side bar
- Adjusted UI
- And much more!
💡 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!
-
‼️ Make sure you have Wireguard and Wireguard-Tools (
wg-quick
) installed.‼️ How to install? -
Configuration files under /etc/wireguard
- Note: For peers,
PublicKey
&AllowedIPs
is required.
- Note: For peers,
-
Python 3.7+ & Pip3
$ sudo apt-get install python3 python3-pip
🛠 Install
- Download Wireguard Dashboard
$ git clone https://github.com/donaldzou/Wireguard-Dashboard.git
2. Install Python Dependencies
$ cd Wireguard-Dashboard/src
$ python3 -m pip install -r requirements.txt
3. Install & run Wireguard Dashboard
$ sudo sh wgd.sh start
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
$ sudo sh wgd.sh start # Start the dashboard in background
$ sudo sh wgd.sh debug # Start the dashboard in foreground (debug mode)
$ sudo sh wgd.sh stop # Stop the dashboard
$ sudo sh wgd.sh restart # Restart the dasboard
$ sudo sh wgd.sh update # Update the dashboard
⚠️ 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:
[Account]
username
- Username (Default:admin
)password
- Password, will be hash with SHA256 (Default:admin
).
[Server]
app_ip
- IP address the flask will run with (Default:0.0.0.0
)app_port
- Port the flask will run with (Default:10086
)auth_req
- Does the dashboard need authentication (Default:true
)- If
auth_req = false
, user will not be access the Setting tab due to security consideration. Can only changing the file directly in system.
- If
version
- Dashboard Version
All these settings***** will be able to configure within the dashboard in Settings on the sidebar, without changing the actual file.
- Example
[Account]
username = admin
password = 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
[Server]
app_ip = 0.0.0.0
app_port = 10086
auth_req = true
version = v2.0
*: Except version
and auth_req
due to security consideration.
❓ How to update the dashboard?
$ cd wireguard-dashboard
$ sudo sh wgd.sh update # Perform update
$ sudo sh wgd.sh start # Start dashboard
## 🔍 Example
![Index Image](https://github.com/donaldzou/Wireguard-Dashboard/raw/main/src/static/index.png)
<p align=center>Index Page</p>
![Signin Image](https://github.com/donaldzou/Wireguard-Dashboard/raw/main/src/static/signin.png)
<p align=center>Signin Page</p>
![Configuration Image](https://github.com/donaldzou/Wireguard-Dashboard/raw/main/src/static/configuration.png)
<p align=center>Configuration Page</p>
![Settings Image](https://github.com/donaldzou/Wireguard-Dashboard/raw/main/src/static/settings.png)
<p align=center>Settings Page</p>
## Contributors ✨
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center"><a href="https://github.com/antonioag95"><img src="https://avatars.githubusercontent.com/u/30556866?v=4?s=100" width="100px;" alt=""/><br /><sub><b>antonioag95</b></sub></a><br /><a href="https://github.com/donaldzou/wireguard-dashboard/commits?author=antonioag95" title="Tests">⚠️</a> <a href="https://github.com/donaldzou/wireguard-dashboard/commits?author=antonioag95" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/tonjo"><img src="https://avatars.githubusercontent.com/u/4726289?v=4?s=100" width="100px;" alt=""/><br /><sub><b>tonjo</b></sub></a><br /><a href="https://github.com/donaldzou/wireguard-dashboard/commits?author=tonjo" title="Code">💻</a></td>
</tr>
</table>
<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!