fix: 收敛子代理站点标识双轨逻辑

This commit is contained in:
ryan
2026-06-20 21:03:03 +08:00
parent 9bf7e3cd1b
commit 889e79c8b8
17 changed files with 215 additions and 199 deletions
-28
View File
@@ -5,7 +5,6 @@ package flared
import (
"context"
"encoding/json"
"errors"
"fmt"
"net"
@@ -121,33 +120,6 @@ func relayClientAddress(node *model.OpenFlareNode) string {
return fmt.Sprintf("%s:%d", addr, port)
}
func decodeStoredDomains(raw string, fallbackDomain string) ([]string, error) {
text := strings.TrimSpace(raw)
if text == "" {
domain := strings.ToLower(strings.TrimSpace(fallbackDomain))
if domain == "" {
return nil, errors.New("domain is required")
}
return []string{domain}, nil
}
var domains []string
if err := json.Unmarshal([]byte(text), &domains); err != nil {
return nil, errors.New("domains payload is invalid")
}
normalized := make([]string, 0, len(domains))
for _, item := range domains {
domain := strings.ToLower(strings.TrimSpace(item))
if domain == "" {
continue
}
normalized = append(normalized, domain)
}
if len(normalized) == 0 {
return nil, errors.New("domain is required")
}
return normalized, nil
}
func parseTunnelTargetAddr(addr string) (string, int) {
addr = strings.TrimSpace(addr)
if addr == "" {
+2 -1
View File
@@ -11,6 +11,7 @@ import (
"time"
"github.com/Rain-kl/Wavelet/internal/apps/openflare/agent"
"github.com/Rain-kl/Wavelet/internal/apps/openflare/routeidentity"
"github.com/Rain-kl/Wavelet/internal/db"
"github.com/Rain-kl/Wavelet/internal/model"
"gorm.io/gorm"
@@ -133,7 +134,7 @@ func GetTunnelConfig(ctx context.Context, node *model.OpenFlareNode) (*TunnelCon
if !route.Enabled {
continue
}
domains, decodeErr := decodeStoredDomains(route.Domains, route.Domain)
domains, decodeErr := routeidentity.DecodeDomains(route.Domains, route.Domain)
if decodeErr != nil {
continue
}