Go to file
2020-03-08 20:48:10 +00:00
cmd update README 2020-03-07 18:59:34 +00:00
add.go support additional networks 2020-03-08 20:48:10 +00:00
configtypes.go support additional networks 2020-03-08 20:48:10 +00:00
const.go increase timeout for handshake interval 2020-03-07 14:32:01 +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 support additional networks 2020-03-08 20:48:10 +00:00
LICENSE.md +LICENSE 2020-03-05 20:48:28 +00:00
README.md check peer exists before removal 2020-03-08 19:08:19 +00:00
remove.go check peer exists before removal 2020-03-08 19:08:19 +00:00
report.go read old report for later use 2020-03-05 23:56:24 +00:00
reporttypes.go peer online count in report 2020-03-07 21:57:00 +00:00
sync.go bugfix: prevent same PSK for all peers 2020-03-08 14:10:38 +00:00
up.go move sync fn to sync.go 2020-03-04 22:50:44 +00:00
util.go add SI bytes TXRX 2020-03-06 22:32:04 +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/dsnetconfig.json containing default configuration + new keys without loading. Edit to taste.
	add    : Add a new peer + sync
	up     : Create the interface, run pre/post up, sync
	report : Generate a JSON status report to the location configured in /etc/dsnetconfig.json.
	remove : Remove a peer by hostname provided as argument + sync
	down   : Destroy the interface, run pre/post down
	sync   : Update wireguard configuration from /etc/dsnetconfig.json after validating

Quick start -- install wireguard and dsnet, then:

sudo dsnet init
sudo dsnet up
# edit /etc/dsnetconfig.json to taste
dsnet add banana > dsnet-banana.conf
dsnet add apple > dsnet-apple.conf

Copy the configuration file to your devices and connect!

Dsnet assumes a DNS server is running on the server at the moment.

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
  • Route entire internet option
  • Support for additional subnets in peer config (with routes) in separate networks section in report
  • Peer endpoint support
  • Decide what to do with assumed default DNS server