Remove dup code

This commit is contained in:
Owen
2025-07-05 18:14:33 -07:00
parent b7d4ea0c84
commit 07bd283604

63
main.go
View File

@@ -272,15 +272,7 @@ func main() {
var pingWithRetryStopChan chan struct{} var pingWithRetryStopChan chan struct{}
// Register handlers for different message types closeWgTunnel := func() {
client.RegisterHandler("newt/wg/connect", func(msg websocket.WSMessage) {
logger.Info("Received registration message")
if stopFunc != nil {
stopFunc() // stop the ws from sending more requests
stopFunc = nil // reset stopFunc to nil to avoid double stopping
}
if connected {
if pingStopChan != nil { if pingStopChan != nil {
// Stop the ping check // Stop the ping check
close(pingStopChan) close(pingStopChan)
@@ -307,7 +299,21 @@ func main() {
tun = nil // Don't call tun.Close() here since dev.Close() already closed it tun = nil // Don't call tun.Close() here since dev.Close() already closed it
} }
}
// Register handlers for different message types
client.RegisterHandler("newt/wg/connect", func(msg websocket.WSMessage) {
logger.Info("Received registration message")
if stopFunc != nil {
stopFunc() // stop the ws from sending more requests
stopFunc = nil // reset stopFunc to nil to avoid double stopping
}
if connected {
// Mark as disconnected // Mark as disconnected
closeWgTunnel()
connected = false connected = false
} }
@@ -405,31 +411,8 @@ persistent_keepalive_interval=5`, fixKey(privateKey.String()), fixKey(wgData.Pub
client.RegisterHandler("newt/wg/reconnect", func(msg websocket.WSMessage) { client.RegisterHandler("newt/wg/reconnect", func(msg websocket.WSMessage) {
logger.Info("Received reconnect message") logger.Info("Received reconnect message")
if pingStopChan != nil { // Close the WireGuard device and TUN
// Stop the ping check closeWgTunnel()
close(pingStopChan)
pingStopChan = nil
}
// Stop proxy manager if running
if pm != nil {
pm.Stop()
pm = nil
}
// Close WireGuard device first - this will automatically close the TUN device
if dev != nil {
dev.Close()
dev = nil
}
// Clear references but don't manually close since dev.Close() already did it
if tnet != nil {
tnet = nil
}
if tun != nil {
tun = nil // Don't call tun.Close() here since dev.Close() already closed it
}
// Mark as disconnected // Mark as disconnected
connected = false connected = false
@@ -446,6 +429,18 @@ persistent_keepalive_interval=5`, fixKey(privateKey.String()), fixKey(wgData.Pub
logger.Info("Tunnel destroyed, ready for reconnection") logger.Info("Tunnel destroyed, ready for reconnection")
}) })
client.RegisterHandler("newt/wg/terminate", func(msg websocket.WSMessage) {
logger.Info("Received termination message")
// Close the WireGuard device and TUN
closeWgTunnel()
// Mark as disconnected
connected = false
logger.Info("Tunnel destroyed, ready for reconnection")
})
client.RegisterHandler("newt/ping/exitNodes", func(msg websocket.WSMessage) { client.RegisterHandler("newt/ping/exitNodes", func(msg websocket.WSMessage) {
logger.Info("Received ping message") logger.Info("Received ping message")
if stopFunc != nil { if stopFunc != nil {