53 lines
1.3 KiB
Go
53 lines
1.3 KiB
Go
package peer
|
|
|
|
import (
|
|
"log"
|
|
"net/netip"
|
|
|
|
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
|
|
)
|
|
|
|
func (a *App) devPeers() []wgtypes.Peer {
|
|
peers, err := a.dev.Peers()
|
|
if err != nil {
|
|
log.Fatalf("Failed to get peers %v: %v", a.vpnIP, err)
|
|
}
|
|
return peers
|
|
}
|
|
|
|
func (a *App) devAddPeer(p *Peer) {
|
|
if err := a.dev.AddPeer(p.PubKey()); err != nil {
|
|
log.Fatalf("Failed to add peer %v: %v", p.VPNIP, err)
|
|
}
|
|
}
|
|
|
|
func (a *App) devAddDirect(p *Peer, endpoint netip.AddrPort) {
|
|
if err := a.dev.AddDirect(p.PubKey(), endpoint, p.VPNIP); err != nil {
|
|
log.Fatalf("Failed to add peer %v: %v", p.VPNIP, err)
|
|
}
|
|
}
|
|
|
|
func (a *App) devSetRelay(p *Peer, endpoint netip.AddrPort) {
|
|
if err := a.dev.SetRelay(p.PubKey(), endpoint, a.vpnNet); err != nil {
|
|
log.Fatalf("Failed to add relay %v: %v", p.VPNIP, err)
|
|
}
|
|
}
|
|
|
|
func (a *App) devPromote(p *Peer) {
|
|
if err := a.dev.Promote(p.PubKey(), p.VPNIP); err != nil {
|
|
log.Fatalf("Failed to promote peer %v: %v", p.VPNIP, err)
|
|
}
|
|
}
|
|
|
|
func (a *App) devAddProbe(p *Peer, endpoint netip.AddrPort) {
|
|
if err := a.dev.AddProbe(p.PubKey(), endpoint); err != nil {
|
|
log.Fatalf("Failed to add probe %v: %v", p.VPNIP, err)
|
|
}
|
|
}
|
|
|
|
func (a *App) devRemove(p *Peer) {
|
|
if err := a.dev.RemovePeer(p.PubKey()); err != nil {
|
|
log.Fatalf("Failed to remove peer %v: %v", p.VPNIP, err)
|
|
}
|
|
}
|