Good day, ladies and gentlemen!
I have been working on a NM plugin for wireguard as part of my thesis
for quite a while, but somehow I've never really found the time to work
on that (sorry about that!).
Since we have semester break in February, I have finally found the time
(and motivation) to put some effort into this thing.
So, I forked the OpenVPN plugin at some point and built my current
solution on that foundation. This means that my plugin is actually
pretty much pure C, so almost no dependencies (obviously, NM, WG and
After briefly talking to my supervisor about making the thing public
(which he considered to be a pretty positive step), I uploaded it from
our internal GitLab to GitHub:
The basic workflow of creating a NMConnection (either from scratch
through the Connection-Editor UI, or by importing a wg-quick formatted
conf file [export works too]) and connecting to it works.
However, there are still a ton of issues open, of which I'll list just a
* the plugin sets up the connection by spawning wg-quick on a temporary
conf file instead of implementing that logic directly
* the Editor UI isn't quite top notch and there are two tabs (IPv4 and
IPv6) that I did not use, but also can't seem to get rid of
* internally, everything in the plugin is stored as data-item and not as
However, I think that most of those problems are not actually that huge
and could be fixed without tremendous effort -- they are just many in
So, if anybody would be interested in checking it out and maybe even
contributing, I'd be very glad about that! :)
WireGuard mailing list