From 1fd9e03509e8344e3efbec83320a752ed457281c Mon Sep 17 00:00:00 2001 From: Callan Bryant Date: Sat, 7 Mar 2020 18:59:34 +0000 Subject: [PATCH] update README --- README.md | 29 ++++++++++++++++++++--------- cmd/dsnet.go | 11 ++--------- 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 8f4d266..da79011 100644 --- a/README.md +++ b/README.md @@ -5,21 +5,32 @@ but quicker. 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. + 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 - 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. +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 - * Forward option - * Support for additional subnets in peer config + * Route entire internet option + * Support for additional subnets in peer config (with routes) * Peer endpoint support diff --git a/cmd/dsnet.go b/cmd/dsnet.go index 8a55af6..22164e2 100644 --- a/cmd/dsnet.go +++ b/cmd/dsnet.go @@ -43,7 +43,7 @@ func main() { } func help() { - fmt.Printf(`dsnet is a simple tool to manage a wireguard VPN. + fmt.Printf(`dsnet is a simple tool to manage a centralised wireguard VPN. Usage: dsnet @@ -52,17 +52,10 @@ Available commands: init : Create %s 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 - sync : Update wireguard configuration from %s after validating report : Generate a JSON status report to the location configured in %s. remove : Remove a peer by hostname provided as argument + sync down : Destroy the interface, run pre/post down - - -Examples: - - - dsnet add > dsnet.conf - + sync : Update wireguard configuration from %s after validating `, dsnet.CONFIG_FILE, dsnet.CONFIG_FILE, dsnet.CONFIG_FILE) }