diff --git a/README.md b/README.md index fa5f48a..ebd1c2b 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,5 @@ # vppn: Virtual Potentially Private Network -## TO DO - -* peer - write status to file instead of using sockets -* peer - improve relay selection -* Double buffering in IFReader and ConnReader ? - ## Hub Server Configuration ``` @@ -59,15 +53,17 @@ Sign-in and configure. Install the binary somewhere, for example `~/bin/vppn`. +Add the API key for your network name in `~/.vppn//apikey`. + Create systemd file in `/etc/systemd/system/vppn.service`. ``` [Service] -AmbientCapabilities=CAP_NET_BIND_SERVICE CAP_NET_ADMIN +AmbientCapabilities=AP_NET_ADMIN CAP_DAC_OVERRIDE CAP_CHOWN Type=simple User=user WorkingDirectory=/home/user/ -ExecStart=/home/user/vppn run my_net_name https://my.hub my_api_key +ExecStart=/home/user/bin/vppn -name my_net_name -hub https://my.hub Restart=always RestartSec=8 TimeoutStopSec=24 diff --git a/peer/device.go b/peer/device.go index 3a3ba1c..a0fb95c 100644 --- a/peer/device.go +++ b/peer/device.go @@ -57,7 +57,12 @@ func (a *App) devSetRelay(p *Peer, endpoint netip.AddrPort) { } func (a *App) devPromote(p *Peer) { - log.Printf("PROMOTED: %s - %s @ %s", p.Name, p.VPNIP.String(), p.WGEndpoint().String()) + ep := p.WGEndpoint() + if ep.IsValid() { + log.Printf("PROMOTED: %s - %s @ %s", p.Name, p.VPNIP.String(), p.WGEndpoint().String()) + } else { + log.Printf("PROMOTED: %s - %s (no IP)", p.Name, p.VPNIP.String()) + } devRetry(p.VPNIP, "Promote", func() error { return a.dev.Promote(p.PubKey(), p.VPNIP) }) p.State = StateDirect }