NetworkManager VPN Plugin: Wireguard
 
 
 
 
 
Go to file
Max Moser ba0a68e456 Add additional service defines 2018-02-09 22:42:31 +01:00
appdata Copy openvpn project as base 2017-11-06 13:02:05 +01:00
auth-dialog Port most of nm-openvpn-auth-dialog to Python 2018-02-03 17:40:56 +01:00
examples/dbus Add DBUS communication in dbus.py, update README and add changes to sources 2017-12-20 13:00:13 +01:00
m4 Copy openvpn project as base 2017-11-06 13:02:05 +01:00
po Copy openvpn project as base 2017-11-06 13:02:05 +01:00
properties Start implementation of import 2018-02-09 15:05:19 +01:00
shared Add additional service defines 2018-02-09 22:42:31 +01:00
src Babysteps towards getting it to run 2018-02-06 16:36:04 +01:00
.gitignore Add gitignore 2017-11-06 13:01:19 +01:00
AUTHORS Copy openvpn project as base 2017-11-06 13:02:05 +01:00
COPYING Copy openvpn project as base 2017-11-06 13:02:05 +01:00
ChangeLog Copy openvpn project as base 2017-11-06 13:02:05 +01:00
MAINTAINERS Copy openvpn project as base 2017-11-06 13:02:05 +01:00
Makefile.am Copy openvpn project as base 2017-11-06 13:02:05 +01:00
NEWS Copy openvpn project as base 2017-11-06 13:02:05 +01:00
README Copy openvpn project as base 2017-11-06 13:02:05 +01:00
README.md Add DBUS communication in dbus.py, update README and add changes to sources 2017-12-20 13:00:13 +01:00
autogen.sh Copy openvpn project as base 2017-11-06 13:02:05 +01:00
configure.ac Copy openvpn project as base 2017-11-06 13:02:05 +01:00
includes2strings.py Add includes2strings.py: Convenience script to extract required include paths for VS Code from the generated Makefile 2017-11-06 13:11:07 +01:00
linker-script-binary.ver Copy openvpn project as base 2017-11-06 13:02:05 +01:00
network-manager-openvpn.doap Copy openvpn project as base 2017-11-06 13:02:05 +01:00
nm-openvpn-service.conf Copy openvpn project as base 2017-11-06 13:02:05 +01:00
nm-openvpn-service.name.in Copy openvpn project as base 2017-11-06 13:02:05 +01:00
nm-wireguard-service.conf Update description comment inside nm-wireguard-service.conf 2017-12-15 17:16:44 +01:00

README.md

Network-Manager VPN Plugin for Wireguard

Compilation

  • ./autogen.sh
  • make

Modifying the source (Visual Studio Code)

  • Open the folder in Code
  • Do the compilation steps as above
  • cat Makefile | ./includes2strings.py
  • take the output of the script and put it in the appropriate section of .vscode/c_cpp_properties.json (for me: appended to includePath of configuration Linux)

Execution

The following section briefly describes how to start the stuff for testing purposes

  • ./src/nm-openvpn-service --bus-name org.freedesktop.NetworkManager.wireguard to start the plugin
  • examples/dbus/dbus.py to send Disconnect() to the plugin

Files

The following is a list of files that I created over the course of the project and is mainly for myself to keep track of them.

  • nm-wireguard-service.conf
  • includes2strings.py

Knowledge

  • The wireguard plugin basically handles incoming DBUS requests for the NM VPN Plugin Interface (can be looked at via examples/dbus/dbus.py)
  • auth-dialog/nm-openvpn-auth-dialog reads the secrets from STDIN until the string "DONE" occurs and then proceeds to handle them

NM VPN Plugin: https://developer.gnome.org/libnm-glib/stable/libnm-glib-NMVPNPlugin.html

Settings VPN (sent via DBus on Connect(a{sa{sv}}) method): https://developer.gnome.org/libnm/stable/NMSettingVpn.html#nm-setting-vpn-get-data-item