mirror of
https://github.com/vx3r/wg-gen-web.git
synced 2024-11-04 17:31:17 +00:00
61 lines
1.8 KiB
Markdown
61 lines
1.8 KiB
Markdown
|
# Wg Gen Web
|
||
|
|
||
|
Simple Web based configuration generator for [WireGuard](https://wireguard.com).
|
||
|
|
||
|
## Whay another one ?
|
||
|
|
||
|
All WireGuard UI implementation are trying to manage the WireGuard by applying configurations or creation network rules.
|
||
|
This implementation only generate configuration and its up to you to create network rules and apply configuration to WireGuard.
|
||
|
For example by monituring generated directory with [inotifywait](https://github.com/inotify-tools/inotify-tools/wiki).
|
||
|
|
||
|
The goal is to run Wg Gen Web in a container and WireGuard on host system.
|
||
|
|
||
|
## Features
|
||
|
|
||
|
* Self-serve and web based
|
||
|
* Automatically select IP from networks chosen for client
|
||
|
* QR-Code for convenient mobile client configuration
|
||
|
* Enable / Disable client
|
||
|
* Generation of `wg0.conf` after any modification
|
||
|
* Dockerized
|
||
|
* Pretty cool look
|
||
|
![Screenshot](Wg-Gen-Web.png)
|
||
|
|
||
|
## Running
|
||
|
|
||
|
The easiest way to run wireguard-ui is using the container image
|
||
|
```
|
||
|
docker run --rm -it -v /tmp/wireguard:/data -p 8080:8080 -e "WG_CONF_DIR=/data" vx3r/wg-gen-web:latest
|
||
|
```
|
||
|
docker compose snipped
|
||
|
```
|
||
|
version: '3.6'
|
||
|
services:
|
||
|
wg-gen-web:
|
||
|
image: vx3r/wg-gen-web:latest
|
||
|
container_name: wg-gen-web
|
||
|
restart: unless-stopped
|
||
|
expose:
|
||
|
- "8080/tcp"
|
||
|
environment:
|
||
|
- WG_CONF_DIR=/data
|
||
|
- WG_INTERFACE_NAME=wg0.conf
|
||
|
volumes:
|
||
|
- /mnt/raid-lv-data/docker-persistent-data/wg-gen-web:/data
|
||
|
```
|
||
|
|
||
|
## What is out of scope
|
||
|
|
||
|
* Generation or application of any `iptables` or `nftables` rules
|
||
|
* Application of configuration to WireGuard
|
||
|
|
||
|
## TODO
|
||
|
|
||
|
* Full setup example with `inotifywait` and `systemd`
|
||
|
* Multi-user support behind [Authelia](https://github.com/authelia/authelia) (suggestions / thoughts are welcome)
|
||
|
* Send configs by email to client
|
||
|
|
||
|
## License
|
||
|
|
||
|
* Do What the Fuck You Want to Public License. [LICENSE-WTFPL](LICENSE-WTFPL) or http://www.wtfpl.net
|