Go to file
2020-03-05 20:59:56 +00:00
cmd sync on add/remove 2020-03-05 20:43:31 +00:00
add.go embed types without alias properly 2020-03-05 20:46:28 +00:00
configtypes.go Revert "embed types without alias properly" 2020-03-05 20:59:56 +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 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 use []PeerConfig literal 2020-03-04 19:47:27 +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 sync on add/remove 2020-03-05 20:43:31 +00:00
report.go working (empty) report generation 2020-03-04 22:49:27 +00:00
reporttypes.go Revert "embed types without alias properly" 2020-03-05 20:59:56 +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