mirror of
https://github.com/fankes/komari-agent.git
synced 2025-12-12 00:13:37 +08:00
fix: https://github.com/komari-monitor/komari/issues/248 使用中文域名进行自动发现无法链接面板
This commit is contained in:
@@ -14,6 +14,7 @@ import (
|
||||
"github.com/komari-monitor/komari-agent/dnsresolver"
|
||||
"github.com/komari-monitor/komari-agent/monitoring"
|
||||
"github.com/komari-monitor/komari-agent/terminal"
|
||||
"github.com/komari-monitor/komari-agent/utils"
|
||||
"github.com/komari-monitor/komari-agent/ws"
|
||||
)
|
||||
|
||||
@@ -22,6 +23,13 @@ func EstablishWebSocketConnection() {
|
||||
websocketEndpoint := strings.TrimSuffix(flags.Endpoint, "/") + "/api/clients/report?token=" + flags.Token
|
||||
websocketEndpoint = "ws" + strings.TrimPrefix(websocketEndpoint, "http")
|
||||
|
||||
// 转换中文域名为 ASCII 兼容编码
|
||||
if convertedEndpoint, err := utils.ConvertIDNToASCII(websocketEndpoint); err == nil {
|
||||
websocketEndpoint = convertedEndpoint
|
||||
} else {
|
||||
log.Printf("Warning: Failed to convert WebSocket IDN to ASCII: %v", err)
|
||||
}
|
||||
|
||||
var conn *ws.SafeConn
|
||||
defer func() {
|
||||
if conn != nil {
|
||||
@@ -155,6 +163,13 @@ func establishTerminalConnection(token, id, endpoint string) {
|
||||
endpoint = strings.TrimSuffix(endpoint, "/") + "/api/clients/terminal?token=" + token + "&id=" + id
|
||||
endpoint = "ws" + strings.TrimPrefix(endpoint, "http")
|
||||
|
||||
// 转换中文域名为 ASCII 兼容编码
|
||||
if convertedEndpoint, err := utils.ConvertIDNToASCII(endpoint); err == nil {
|
||||
endpoint = convertedEndpoint
|
||||
} else {
|
||||
log.Printf("Warning: Failed to convert Terminal WebSocket IDN to ASCII: %v", err)
|
||||
}
|
||||
|
||||
// 使用与主 WS 相同的拨号策略
|
||||
dialer := newWSDialer()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user