peersPath = flag.String("peers", "peers", "Path to peers keys directory")
stats = flag.String("stats", "", "Enable stats retrieving on host:port")
mtu = flag.Int("mtu", 1452, "MTU for outgoing packets")
+ egdPath = flag.String("egd", "", "Optional path to EGD socket")
)
type PeerReadyEvent struct {
govpn.MTU = *mtu
govpn.PeersInit(*peersPath)
+ if *egdPath != "" {
+ log.Println("Using", *egdPath, "EGD")
+ govpn.EGDInit(*egdPath)
+ }
+
bind, err := net.ResolveUDPAddr("udp", *bindAddr)
if err != nil {
- panic(err)
+ log.Fatalln("Can not resolve bind address:", err)
}
conn, err := net.ListenUDP("udp", bind)
if err != nil {
- panic(err)
+ log.Fatalln("Can listen on UDP:", err)
}
udpSink, udpBuf, udpReady := govpn.ConnListen(conn)
log.Println("Stats are going to listen on", *stats)
statsPort, err := net.Listen("tcp", *stats)
if err != nil {
- panic(err)
+ log.Fatalln("Can not listen on stats port:", err)
}
go govpn.StatsProcessor(statsPort, &knownPeers)
}