There's now a Wireguard plugin for NetworkManager itself at https://github.com/max-moser/network-manager-wireguard, and it works really well (in my experience), but the connection editor part isn't there on Plasma's side, and the applet seems to refuse to bring up the connection (while nmcli works fine). I'd be up for doing this myself if anyone can help me find my way around the codebase :)
I have a nearly completed version of this at https://github.com/Druco/plasma-nm-wireguard. I have been using it for a couple of weeks in opensuse tumbleweed while I added some bells and whistles. Currently the repository is only the new vpn/wireguard directory rather than a full clone of plasma-nm but I should be ready to do a clone, fold in the new code, and do a pull request in the next few days if the devs are interested in adding this. Please let me know if there is interest for this and I will generate a pull request.
Open please a review in phabricator and I'll take a look, thank you for your work.
I will open a review in phabricator as soon as I finish reading the documentation to figure out how to use it.
https://phabricator.kde.org/D15093
Git commit 71833088fb26be75ae88f13f970b814436b688ce by Jan Grulich, on behalf of Bruce Anderson. Committed on 17/10/2018 at 10:37. Pushed by grulich into branch 'master'. Upgrade SimpleIpV4AddressValidator and SimpleIpV6AddressValidator Summary: to optionally handle a CIDR or port suffix. Added capabilitiesimplemented via defaulted parameter to maintain compatibilitywith the previous version. Includes unit tests for the updated code. Opened as a separate review per comment from Pino on review D15093. Part of: FIXED-IN: 5.14.0 Reviewers: jgrulich, pino Subscribers: ngraham, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D15520 M +2 -0 CMakeLists.txt M +1 -0 libs/editor/CMakeLists.txt A +108 -0 libs/editor/simpleiplistvalidator.cpp [License: GPL] C +16 -13 libs/editor/simpleiplistvalidator.h [from: libs/editor/simpleipv4addressvalidator.h - 057% similarity] M +77 -7 libs/editor/simpleipv4addressvalidator.cpp M +6 -1 libs/editor/simpleipv4addressvalidator.h M +117 -15 libs/editor/simpleipv6addressvalidator.cpp M +6 -1 libs/editor/simpleipv6addressvalidator.h A +30 -0 tests/CMakeLists.txt A +136 -0 tests/simpleiplisttest.cpp [License: GPL] A +152 -0 tests/simpleipv4test.cpp [License: GPL] A +192 -0 tests/simpleipv6test.cpp [License: GPL] https://commits.kde.org/plasma-nm/71833088fb26be75ae88f13f970b814436b688ce
Git commit 389a5e195bce4c2da3fef750c7cc18425c491e29 by Jan Grulich, on behalf of Bruce Anderson. Committed on 07/11/2018 at 08:39. Pushed by grulich into branch 'master'. Add WireGuard capability. Summary: FIXED-IN: 5.14.0 Reviewers: #plasma, jgrulich, pino Reviewed By: jgrulich Subscribers: acrouthamel, K900, pino, lbeltrame, ngraham, plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D15093 M +3 -1 libs/models/kcmidentitymodel.cpp M +1 -0 vpn/CMakeLists.txt A +31 -0 vpn/wireguard/CMakeLists.txt A +48 -0 vpn/wireguard/nm-wireguard-service.h [License: GPL (v2+)] A +17 -0 vpn/wireguard/plasmanetworkmanagement_wireguardui.desktop A +381 -0 vpn/wireguard/wireguard.cpp [License: GPL (v2/3)] A +44 -0 vpn/wireguard/wireguard.h [License: GPL (v2/3)] A +199 -0 vpn/wireguard/wireguard.ui A +252 -0 vpn/wireguard/wireguardadvanced.ui A +264 -0 vpn/wireguard/wireguardadvancedwidget.cpp [License: LGPL] A +59 -0 vpn/wireguard/wireguardadvancedwidget.h [License: LGPL] A +56 -0 vpn/wireguard/wireguardauth.cpp [License: GPL (v2/3)] A +43 -0 vpn/wireguard/wireguardauth.h [License: GPL (v2/3)] A +31 -0 vpn/wireguard/wireguardauth.ui A +39 -0 vpn/wireguard/wireguardkeyvalidator.cpp [License: GPL] A +38 -0 vpn/wireguard/wireguardkeyvalidator.h [License: GPL] A +324 -0 vpn/wireguard/wireguardwidget.cpp [License: GPL (v2/3)] A +60 -0 vpn/wireguard/wireguardwidget.h [License: GPL (v2/3)] https://commits.kde.org/plasma-nm/389a5e195bce4c2da3fef750c7cc18425c491e29
Bulk transfer as requested in T17796