Go to file
2020-03-04 22:11:08 +00:00
cmd implement down 2020-03-04 22:11:08 +00:00
add.go make networks required for peer 2020-03-04 19:46:39 +00:00
configtypes.go separate link creation / device configuration 2020-03-04 22:01:30 +00:00
const.go comment about NATs 2020-03-03 23:32:56 +00:00
down.go implement down 2020-03-04 22:11:08 +00:00
exttypes.go split types into extypes 2020-03-03 20:25:48 +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 use []PeerConfig literal 2020-03-04 19:47:27 +00:00
README.md working config generation 2020-03-03 21:28:06 +00:00
reporttypes.go start attempt at interface creation 2020-03-04 19:43:54 +00:00
up.go check error in correct place 2020-03-04 22:04:13 +00:00
update.go implement update cmd 2020-03-04 22:06:15 +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