mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-08 08:36:37 +08:00
[优化] 更新节点类型支持,添加隧道客户端,重构相关路由和配置
This commit is contained in:
@@ -1,54 +0,0 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"log/slog"
|
||||
)
|
||||
|
||||
var DefaultFlaredWSHub = NewWSHub("flared")
|
||||
|
||||
func RegisterFlaredWSClient(tunnelID string) *WSClient {
|
||||
return DefaultFlaredWSHub.Register(tunnelID)
|
||||
}
|
||||
|
||||
func UnregisterFlaredWSClient(client *WSClient) {
|
||||
DefaultFlaredWSHub.Unregister(client)
|
||||
}
|
||||
|
||||
func IsFlaredWSConnected(tunnelID string) bool {
|
||||
return DefaultFlaredWSHub.IsConnected(tunnelID)
|
||||
}
|
||||
|
||||
func SendFlaredWSPong(tunnelID string) bool {
|
||||
return DefaultFlaredWSHub.SendMessage(tunnelID, WSMessage{
|
||||
Type: "pong",
|
||||
})
|
||||
}
|
||||
|
||||
func SendFlaredWSActiveConfig(tunnelID string, activeConfig *ActiveConfigMeta) bool {
|
||||
if activeConfig == nil {
|
||||
return false
|
||||
}
|
||||
return DefaultFlaredWSHub.SendMessage(tunnelID, WSMessage{
|
||||
Type: "active_config",
|
||||
Payload: activeConfig,
|
||||
})
|
||||
}
|
||||
|
||||
func BroadcastFlaredWSActiveConfig(activeConfig *ActiveConfigMeta) WSBroadcastResult {
|
||||
if activeConfig == nil {
|
||||
slog.Debug("flared ws broadcast skipped because active config is nil")
|
||||
return WSBroadcastResult{}
|
||||
}
|
||||
res := DefaultFlaredWSHub.Broadcast(WSMessage{
|
||||
Type: "active_config",
|
||||
Payload: activeConfig,
|
||||
})
|
||||
slog.Debug("flared ws broadcast active config",
|
||||
"version", activeConfig.Version,
|
||||
"checksum", activeConfig.Checksum,
|
||||
"client_count", res.ClientCount,
|
||||
"success_count", res.SuccessCount,
|
||||
"failed_tunnels", res.FailedIDs,
|
||||
)
|
||||
return res
|
||||
}
|
||||
Reference in New Issue
Block a user