mirror of
https://github.com/fosrl/olm.git
synced 2026-03-01 08:16:56 +00:00
Send relay message
This commit is contained in:
12
common.go
12
common.go
@@ -311,6 +311,18 @@ func keepSendingUDPHolePunch(endpoint string, olmID string, sourcePort uint16) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func sendRelay(olm *websocket.Client) error {
|
||||||
|
err := olm.SendMessage("olm/wg/relay", map[string]interface{}{
|
||||||
|
"doIt": "now",
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
logger.Error("Failed to send registration message: %v", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
logger.Info("Sent relay message")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func sendRegistration(olm *websocket.Client, publicKey string) error {
|
func sendRegistration(olm *websocket.Client, publicKey string) error {
|
||||||
err := olm.SendMessage("olm/wg/register", map[string]interface{}{
|
err := olm.SendMessage("olm/wg/register", map[string]interface{}{
|
||||||
"publicKey": publicKey,
|
"publicKey": publicKey,
|
||||||
|
|||||||
10
main.go
10
main.go
@@ -254,10 +254,18 @@ func main() {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
connectTimes := 0
|
||||||
// Register handlers for different message types
|
// Register handlers for different message types
|
||||||
olm.RegisterHandler("olm/wg/connect", func(msg websocket.WSMessage) {
|
olm.RegisterHandler("olm/wg/connect", func(msg websocket.WSMessage) {
|
||||||
logger.Info("Received message: %v", msg.Data)
|
logger.Info("Received message: %v", msg.Data)
|
||||||
|
|
||||||
|
if connectTimes > 0 {
|
||||||
|
logger.Info("Already connected. Ignoring new connection request.")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
connectTimes++
|
||||||
|
|
||||||
close(stopRegister)
|
close(stopRegister)
|
||||||
|
|
||||||
// if there is an existing tunnel then close it
|
// if there is an existing tunnel then close it
|
||||||
@@ -422,6 +430,8 @@ persistent_keepalive_interval=1`, fixKey(privateKey.String()), fixKey(wgData.Pub
|
|||||||
}
|
}
|
||||||
|
|
||||||
logger.Info("Adjusted to point to relay!")
|
logger.Info("Adjusted to point to relay!")
|
||||||
|
|
||||||
|
sendRelay(olm)
|
||||||
})
|
})
|
||||||
|
|
||||||
logger.Info("WireGuard device created.")
|
logger.Info("WireGuard device created.")
|
||||||
|
|||||||
Reference in New Issue
Block a user