Go to file
2020-03-03 22:08:52 +00:00
cmd working incomplete adding of peers. Now sleep. 2020-03-02 03:08:28 +00:00
add.go working config generation 2020-03-03 21:28:06 +00:00
configtypes.go separate config types from report types 2020-03-03 22:08:52 +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 POC IP range enumeration 2020-03-02 18:44:19 +00:00
go.sum POC IP range enumeration 2020-03-02 18:44:19 +00:00
init.go fallback to icanhazip for external IP detection 2020-03-02 22:31:52 +00:00
README.md working config generation 2020-03-03 21:28:06 +00:00
reporttypes.go separate config types from report types 2020-03-03 22:08:52 +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