Home Assistant Add-on: Wireguard UI

Home Assistant Add-on: WireGuard UI

A basic, self-contained management service for WireGuard with a self-serve web UI.

Features

  • Self-serve and web based
  • QR-Code for convenient mobile client configuration
  • Optional multi-user support behind an authenticating proxy
  • Zero external dependencies - just a single binary using the wireguard kernel module
  • Binary and container deployment

Screenshot

Installation

The installation of this add-on is pretty straightforward and not different in comparison to installing any other add-on.

  • Add my Home Assistant add-ons repository to your home assistant instance.
  • Install the add-on.
  • Edit the configuration (see below)
  • Click the Save button to store your configuration.
  • Start the add-on.
  • Open the webUI and adapt the software options

Configuration

Note: Remember to restart the add-on when the configuration is changed.

A little more extensive example add-on configuration:

endpoint: myautomatedhome.duckdns.org dns: 1.1.1.1

Note: This is just an example, don’t copy and paste it! Create your own!

Option: endpoint

This configuration option is the hostname that your clients will use to connect to your WireGuard add-on. The host is mainly used to generate client configurations and SHOULD NOT contain a port. If you want to change the port, use the “Network” section of the add-on configuration.

Example: myautomatedhome.duckdns.org, for local testing hassio.local will actually work.

DO NOT attempt to use a URL such as a Nabu Casa endpoint, the entry needs to be either a DNS entry or IP address that is accessible by the clients.

Option: dns (optional)

A DNS server used by the add-on and the configuration generated for the clients. This configuration option is optional but highly recommended

Network configuration/ports

Port: 51820/udp

Port of the endpoint which the clients will connect through (the port you need to forward in your router)

What’s the advantage compared to this one?
Home Assistant Community Add-ons

Usability! The webgui makes the handling of configuration of clients and much much easier.

Thanks for clarifying. Looking at the small amount of users on my VPN, it’s no issue but for others it might. Nevertheless nicely done.

Thanks for this. Is there a way of viewing the open connection and traffic information?

Thanks

The application (wg-ui) doesn’t have any statistics built-in. Wireguard is based on UDP which makes it tricky to determine open connections and traffic information.

Thanks @TheSeal. I’m curious as pivpn manages to do stats and show what’s connected using the pivpn -c option.

wg-ui has no statistics but it seems like Wireguard itself has something built-in which pivpn uses.

Just a brief question. I have set up pivpn and wireguard on a different machine. Can I still use this add-on in my HA system?

Shouldn’t be a problem as long as you run them on different ports (for your firewall/routers forwarding).

So for my understanding, this add-on creates an instance of wire shark? Or is it just an instance connecting with or working with wireshark?

Hi, it seems that the original project at GitHub - EmbarkStudios/wg-ui: WireGuard Web UI for self-serve client configurations, with optional auth. is dead, the repository has been archived by the owner.

Any chance you will update the add-on with this project that seems still mantained? GitHub - ngoduykhanh/wireguard-ui: Wireguard web interface

This addon is for Wireguard not wireshark.

The addon creates an Wireguard server which clients can connect to.

That’s to bad. Didn’t noticed before.

I have no plans of updating this addon for another software but I will try to keep it running if changes for the archived project or Home Assistant is needed.

Thanks made a mistake meant Wireguard of course. Have it now up and running on a separate Rpi. Having a smarter UI seemed to handy. But a second server is not what I wanted.

1 Like

Thanks for clarifying, same for me. Not to downplay TheSeal, but I trust more Frenk to keep the official Wireguard addon up to date long term. I just need a better user interface to add/remove clients.

I was using wg-easy on another server. It has several clients configured and I would like to migrate them to a new server where I setup your tool.

I believe I must copy either or both wg0.conf wg0.json in the wg-easy folder to a folder managed by Wireguard UI in the new server, but I am not sure how to proceed.

Please advise.

Thanks for the awesome tool.

The configuration files seems similar but not the same. You might be able to do a conversation but just copy the config from wg-easy to wireguard-ui is not possible.

The upstream project of my add-on is now a public archive with no expected updates in the future. I might be better to try to add wg-easy as a addon to HASS.