Go to file
2020-03-05 23:56:24 +00:00
cmd sync on add/remove 2020-03-05 20:43:31 +00:00
add.go correct distribution of PSKs 2020-03-05 22:18:21 +00:00
configtypes.go read old report for later use 2020-03-05 23:56:24 +00:00
const.go compute peer status (incomplete) 2020-03-05 22:05:47 +00:00
down.go implement down 2020-03-04 22:11:08 +00:00
exttypes.go Revert "embed types without alias properly" 2020-03-05 20:59:56 +00:00
go.mod start attempt at interface creation 2020-03-04 19:43:54 +00:00
go.sum start attempt at interface creation 2020-03-04 19:43:54 +00:00
init.go read old report for later use 2020-03-05 23:56:24 +00:00
LICENSE.md +LICENSE 2020-03-05 20:48:28 +00:00
README.md working config generation 2020-03-03 21:28:06 +00:00
remove.go add: hostname as arg like remove 2020-03-05 22:13:09 +00:00
report.go read old report for later use 2020-03-05 23:56:24 +00:00
reporttypes.go read old report for later use 2020-03-05 23:56:24 +00:00
sync.go move sync fn to sync.go 2020-03-04 22:50:44 +00:00
up.go move sync fn to sync.go 2020-03-04 22:50:44 +00:00
util.go use ExitFail instead of panic 2020-03-03 23:11:54 +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