WGDashboard/README.md

84 lines
2.6 KiB
Markdown
Raw Normal View History

2021-04-06 10:41:55 +08:00
<h1 align="center"> Wireguard Dashboard</h1>
2021-04-08 00:15:45 +08:00
<p align="center">
<img src="http://ForTheBadge.com/images/badges/made-with-python.svg">
</p>
<p align="center">
2021-04-08 00:19:23 +08:00
<a href="https://github.com/donaldzou/wireguard-dashboard/releases/latest"><img src="https://img.shields.io/github/v/release/donaldzou/wireguard-dashboard"></a>
2021-04-08 00:15:45 +08:00
</p>
2021-04-07 04:51:37 +08:00
<p align="center">Monitoring Wireguard is not convinient, need to login into server and type <code>wg show</code>. That's why this platform is being created, to view all configurations in a more straight forward way.</p>
2021-04-03 09:12:46 +08:00
2021-04-08 05:25:21 +08:00
## 💡 Features
2021-04-03 09:12:46 +08:00
- Add peers in configuration
- Manage peer names
- Delete peers
- And many more coming up! Welcome to contribute to this project!
2021-04-08 05:25:21 +08:00
## 📝 Requirement
2021-04-03 09:12:46 +08:00
2020-10-24 05:51:11 +08:00
- Ubuntu 18.04.1 LTS, other OS might work, but haven't test yet.
2021-04-07 03:03:49 +08:00
- ‼️ Make sure you have **Wireguard** installed.‼️ <a href="https://www.wireguard.com/install/">How to install?</a>
2020-10-18 14:09:14 +08:00
- Configuration files under **/etc/wireguard**
2021-04-08 05:25:21 +08:00
***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
...
```
2021-04-10 12:49:32 +08:00
**Note: For peers, `PublicKey` & `AllowedIPs` is required.**
2021-04-08 03:58:00 +08:00
- Python 3.7+ & Pip3
```
$ sudo apt-get install python3 python3-pip
```
2020-10-18 14:09:14 +08:00
2021-04-08 05:25:21 +08:00
## 🛠 Install
2021-04-03 09:12:46 +08:00
**1. Install Python Dependencies**
```
2021-04-03 09:15:28 +08:00
$ python3 -m pip install flask tinydb
2021-04-03 09:12:46 +08:00
```
**2. Install Wireguard Dashboard**
```
2021-04-03 09:14:51 +08:00
$ git clone https://github.com/donaldzou/Wireguard-Dashboard.git
2021-04-03 09:15:28 +08:00
$ cd Wireguard-Dashboard/src
$ python3 dashboard.py
2021-04-03 09:12:46 +08:00
```
Access your server with port `10086` ! e.g (http://your_server_ip:10086)
2021-04-08 05:25:21 +08:00
**3. Install with Production Mode (Optional), not tested yet. Proceed with caution.**
2021-04-03 09:12:46 +08:00
```
2021-04-03 09:15:28 +08:00
$ 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
2021-04-03 09:12:46 +08:00
```
2020-10-18 14:09:14 +08:00
2021-04-09 12:42:42 +08:00
## 🔍 Example
2020-10-22 08:30:16 +08:00
![Index Image](https://github.com/donaldzou/Wireguard-Dashboard/raw/main/src/static/index.png)
2021-04-03 09:14:51 +08:00
![Conf Image](https://github.com/donaldzou/Wireguard-Dashboard/raw/main/src/static/configuration.png)
2021-04-07 07:51:50 +08:00
2021-04-09 12:42:42 +08:00
## 🙌 Contributors
2021-04-07 07:51:50 +08:00
<a href="https://github.com/donaldzou/wireguard-dashboard/graphs/contributors">
<img src="https://contrib.rocks/image?repo=donaldzou/wireguard-dashboard" />
</a>