Go to file
2020-03-03 23:09:54 +00:00
cmd check config file early for init/add 2020-03-03 22:33:48 +00:00
add.go check config file early for init/add 2020-03-03 22:33:48 +00:00
configtypes.go enable validation where appropriate 2020-03-03 23:09:54 +00:00
const.go go fmt 2020-03-01 23:08:10 +00:00
exttypes.go split types into extypes 2020-03-03 20:25:48 +00:00
go.mod enable validation where appropriate 2020-03-03 23:09:54 +00:00
go.sum enable validation where appropriate 2020-03-03 23:09:54 +00:00
init.go check config file early for init/add 2020-03-03 22:33:48 +00:00
README.md working config generation 2020-03-03 21:28:06 +00:00
reporttypes.go enable validation where appropriate 2020-03-03 23:09:54 +00:00
util.go prompts: stderr< + misc 2020-03-02 21:36:41 +00:00

dsnet is a simple tool to manage a centralised wireguard VPN. Think wg-quick but quicker.

Usage: dsnet <cmd>

Available commands:

	init   : Create /etc/dsnet-config.json containing default configuration + new keys without loading. Edit to taste.
	add    : Generate configuration for a new peer, adding to /etc/dsnet-config.json. Send with passworded ffsend.
	sync   : Synchronise wireguard configuration with /etc/dsnet-config.json, creating and activating interface if necessary.
	report : Generate a JSON status report to the location configured in /etc/dsnet-config.json.

To remove an interface or bring it down, use standard tools such as iproute2.
To modify or remove peers, edit /etc/dsnet-config.json and then run sync.

Dsnet assumes a DNS server is running on the server.

To send configurations, ffsend (with separately transferred password) or a local QR code generator may be used.

TODO after first release:

  • Hooks for adding routes/ IPtables forwarding rules
  • Forward option
  • Support for additional subnets in peer config
  • Peer endpoint support