Wireguard manager for client-side VPNs


I’ve a Raspberry Pi4 running wireguard, it connects to an homemade server and would probably add a vpn service for torrenting.

Is there a tool that allows me to manage VPNs? I mean something like switching VPN on/off or loading a config from a VPN provider? I’m running headless so looking for something with a web interface.

I saw a lot of tools but they’re for server-side.

Thanks in advance!

I’m not aware on such a tool for WG Client. However you can manually switch on/off WG client service on CLI

Yes I was looking for something with a web interface to use from smartphone or other device.
Think I found out: WebAdmin, has a network interfaces page which allows to activate/deactivate interface.
Will have to test it out as I just installed it!


1 Like

Those aren’t for client-side I think. I need a web ui to manager RPi4 VPN connections/interfaces.

What an overhead manage a single interface from remote

Or just a SSH client on your mobile device to be able to start/stop WG cient. It’s a single command.

Yeah I’ve just found out as it has a whole lot more of things :rofl:
Would probably go the SSH client on mobile route.

Just found this…a webui/configure for OpenVPN

Devs might look into this as well

However this is for a server, and possibly building site to site connections as well

Yes, this looks cool however it’s for OpenVPN and server side :smiling_face_with_tear:

I don’t think there will be a web interface to manage client connection. Way too much overhead for such a small activity. :smiley:

Would it be cool if dietpi dashboard would allow managing interfaces even simply turning them on and off :thinking:

it’s not about to manage an interface. You need to start a service, where service name depends on VPN client conf file name.

lets assume your VPN client conf file is “wg0-client.conf”.

  1. To start the VPN interface, run:
    systemctl start wg-quick@wg0-client
  2. To autostart the VPN interface on boot, run:
    systemctl enable wg-quick@wg0-client
  3. To disable autostart again, run:
    systemctl disable wg-quick@wg0-client


Can you tell me how this is different from wg-quick up wg0-client?

This is starting the created wireguard service while wg-quick up wg0-client is the manual way to start the wireguard script.
I have also a wireguard vpn node on my RPi, the service starts on boot so when the device is powered I’m always able to conenct to my VPN.
Without the service I would have run wg-quick command at startup or whenever I would want to use the VPN.
tldr: It’s just another way to start the corresponding WG interface.

So basically the same if I don’t need to start the VPN on boot but just when I need it?

I starts on boot if you enabled the service, otherwise you can start in manually with the systemctl start command.

It’s just another way to organize software which starts with boot, to get a better overview. With systemd services you can see everything in one place all your services.
Imagine I would set up a cron which executes at boot, so the interface gets also started at boot. But some services gets started by systemd. Then you have to look in differenct places, which can get a pain in the ass when you troubleshoot something.
I think another advantage is, that the service logs to the journal, which the wg-quick probably does not.

Understood, thanks!