# Using WireGuard on Windows as non-admin - proper solution?

Jason A. Donenfeld Jason at zx2c4.com
Fri Nov 13 03:16:08 CET 2020

Hi Viktor,

I am actually interested in solving this. I took an initial stab at it
here, but I'm not super comfortable with the implementation or the
security implications:
https://git.zx2c4.com/wireguard-windows/commit/?h=jd/unprivd-knob

Aside from doing this from within our existing UI, the general
solution using the service-based building blocks is to simply allow
users to start and stop services that begin with "WireGuardTunnel$". So the flow is something like: 1. wireguard /installtunnelservice path\to\sometunnel.conf. 2. Change the ACLs on WireGuardTunnel$sometunnel to fit your user.
3. Have the user use net start and net stop, or similar, to
control whether the service is up or down.

That's not super pretty, but it should work, and it is automatable.
Meanwhile, I'll keep thinking about various ways to do this in a more
"first-party" way.

Jason