Need help with wireguard-ui?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

ngoduykhanh
173 Stars 21 Forks MIT License 87 Commits 16 Opened issues

Description

Wireguard web interface

Services available

!
?

Need anything else?

Contributors list

# 120,340
JavaScr...
HTML
Shell
wiregua...
73 commits
# 680,844
Shell
HTML
JavaScr...
wiregua...
3 commits
# 596,592
JavaScr...
HTML
nginx-m...
Shell
1 commit

wireguard-ui

A web user interface to manage your WireGuard setup.

Features

  • Friendly UI
  • Authentication
  • Manage extra client's information (name, email, etc)
  • Retrieve configs using QR code / file

Run WireGuard-UI

Default username and password are

admin
.

Using docker compose

You can take a look at this example of docker-compose.yml. Please adjust volume mount points to work with your setup. Then run it like below:

docker-compose up

Using binary file

Download the binary file from the release and run it with command:

./wireguard-ui

Auto restart WireGuard daemon

WireGuard-UI only takes care of configuration generation. You can use systemd to watch for the changes and restart the service. Following is an example:

systemd

Create /etc/systemd/system/wgui.service

[Unit]
Description=Restart WireGuard
After=network.target

[Service] Type=oneshot ExecStart=/usr/bin/systemctl restart [email protected]

Create /etc/systemd/system/wgui.path

[Unit]
Description=Watch /etc/wireguard/wg0.conf for changes

[Path] PathModified=/etc/wireguard/wg0.conf

[Install] WantedBy=multi-user.target

Apply it

systemctl enable wgui.{path,service}
systemctl start wgui.{path,service}

openrc

Create and

chmod +x
/usr/local/bin/wgui ```

!/bin/sh

wg-quick down wg0 wg-quick up wg0 ```

Create and

chmod +x
/etc/init.d/wgui ```

!/sbin/openrc-run

command=/sbin/inotifyd commandargs="/usr/local/bin/wgui /etc/wireguard/wg0.conf:w" pidfile=/run/${RCSVCNAME}.pid command_background=yes ```

Apply it

rc-service wgui start
rc-update add wgui default

Build

Build docker image

Go to the project root directory and run the following command:

docker build -t wireguard-ui .

Build binary file

Prepare the assets directory

./prepare_assets.sh

Then you can embed resources by generating Go source code

rice embed-go
go build -o wireguard-ui

Or, append resources to executable as zip file

go build -o wireguard-ui
rice append --exec wireguard-ui

Screenshot

wireguard-ui

License

MIT. See LICENSE.

Support

If you like the project and want to support it, you can buy me a coffee

Buy Me A Coffee

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.