Add routes

This commit is contained in:
Owen
2025-05-03 17:10:46 -04:00
parent 13e7f55b30
commit becc214078
2 changed files with 24 additions and 1 deletions

View File

@@ -600,6 +600,10 @@ func configureWindows(interfaceName string, ip net.IP, ipNet *net.IPNet) error {
} }
func WindowsAddRoute(destination string, gateway string, interfaceName string) error { func WindowsAddRoute(destination string, gateway string, interfaceName string) error {
if runtime.GOOS != "windows" {
return nil
}
var cmd *exec.Cmd var cmd *exec.Cmd
// Parse destination to get the IP and subnet // Parse destination to get the IP and subnet

21
main.go
View File

@@ -319,7 +319,16 @@ func main() {
return return
} }
DarwinAddRoute(site.ServerIP, "", interfaceName) err = DarwinAddRoute(site.ServerIP, "", interfaceName)
if err != nil {
logger.Error("Failed to add route for peer: %v", err)
return
}
err = WindowsAddRoute(site.ServerIP, "", interfaceName)
if err != nil {
logger.Error("Failed to add route for peer: %v", err)
return
}
logger.Info("Configured peer %s", site.PublicKey) logger.Info("Configured peer %s", site.PublicKey)
} }
@@ -413,6 +422,11 @@ func main() {
logger.Error("Failed to add route for new peer: %v", err) logger.Error("Failed to add route for new peer: %v", err)
return return
} }
err = WindowsAddRoute(siteConfig.ServerIP, "", interfaceName)
if err != nil {
logger.Error("Failed to add route for new peer: %v", err)
return
}
// Add successful // Add successful
logger.Info("Successfully added peer for site %d", addData.SiteId) logger.Info("Successfully added peer for site %d", addData.SiteId)
@@ -471,6 +485,11 @@ func main() {
logger.Error("Failed to remove route for peer: %v", err) logger.Error("Failed to remove route for peer: %v", err)
return return
} }
err = WindowsRemoveRoute(peerToRemove.ServerIP)
if err != nil {
logger.Error("Failed to remove route for peer: %v", err)
return
}
// Remove successful // Remove successful
logger.Info("Successfully removed peer for site %d", removeData.SiteId) logger.Info("Successfully removed peer for site %d", removeData.SiteId)