TURN сервер для выхода за сложные NAT

This commit is contained in:
set
2026-03-14 23:08:18 +02:00
parent ef591072f3
commit b6d5780584
3 changed files with 125 additions and 0 deletions

View File

@@ -6,6 +6,7 @@ import (
"g365sfu/logger"
"g365sfu/sfu"
"g365sfu/socket"
"g365sfu/turn"
"net/http"
"os"
@@ -27,6 +28,19 @@ func Bootstrap() {
}
sfu.OnLocalICECandidate = OnLocalICECandidate
sfu.OnServerOffer = OnServerOffer
turnServer, err := turn.Start(turn.Config{
ListenAddr: "0.0.0.0:3478",
PublicIP: os.Getenv("TURN_PUBLIC_IP"),
Realm: "g365sfu",
Username: os.Getenv("TURN_USER"),
Password: os.Getenv("TURN_PASS"),
})
if err != nil {
logger.LogWarnMessage("TURN start failed: " + err.Error())
} else {
logger.LogInfoMessage("TURN started on 0.0.0.0:3478")
defer turnServer.Close()
}
logger.LogInfoMessage("server started at x.x.x.x:" + port)
http.ListenAndServe(":"+port, nil)
}