From 37191924ee8bf1cd72e26655f14bbfd4b2ee646e Mon Sep 17 00:00:00 2001 From: Owen Date: Thu, 19 Jun 2025 16:32:07 -0400 Subject: [PATCH] Change terminate to reconnect --- main.go | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index f440db8..9fb5cbe 100644 --- a/main.go +++ b/main.go @@ -387,8 +387,8 @@ persistent_keepalive_interval=5`, fixKey(privateKey.String()), fixKey(wgData.Pub } }) - client.RegisterHandler("newt/wg/terminate", func(msg websocket.WSMessage) { - logger.Info("Received disconnect message") + client.RegisterHandler("newt/wg/reconnect", func(msg websocket.WSMessage) { + logger.Info("Received reconnect message") if pingStopChan != nil { // Stop the ping check @@ -419,6 +419,15 @@ persistent_keepalive_interval=5`, fixKey(privateKey.String()), fixKey(wgData.Pub // Mark as disconnected connected = false + // start asking for the exit nodes again + if stopFunc != nil { + stopFunc() // stop the ws from sending more requests + stopFunc = nil // reset stopFunc to nil to avoid double stopping + } + + // Request exit nodes from the server + stopFunc = client.SendMessageInterval("newt/ping/request", map[string]interface{}{}, 3*time.Second) + logger.Info("Tunnel destroyed, ready for reconnection") })