MCPcopy Create free account
hub / github.com/V2RaySSR/RealityChecker / parseDomains

Function parseDomains

internal/cmd/batch.go:82–124  ·  view source on GitHub ↗

parseDomains 解析域名列表,返回有效域名、无效域名和重复域名

(domainsStr string)

Source from the content-addressed store, hash-verified

80
81// parseDomains 解析域名列表,返回有效域名、无效域名和重复域名
82func parseDomains(domainsStr string) ([]string, []string, []string) {
83 var validDomains []string
84 var invalidDomains []string
85 var duplicateDomains []string
86 domainSet := make(map[string]bool) // 用于去重
87 duplicateSet := make(map[string]bool) // 用于记录重复域名
88
89 // 支持空格分隔的域名列表
90 fields := strings.Fields(domainsStr)
91 for _, domain := range fields {
92 domain = strings.TrimSpace(domain)
93 if domain == "" {
94 continue
95 }
96
97 if isValidDomain(domain) {
98 // 检查是否已存在,避免重复
99 if !domainSet[domain] {
100 validDomains = append(validDomains, domain)
101 domainSet[domain] = true
102 } else {
103 // 记录重复的有效域名
104 if !duplicateSet[domain] {
105 duplicateDomains = append(duplicateDomains, domain)
106 duplicateSet[domain] = true
107 }
108 }
109 } else {
110 // 无效域名也去重
111 if !domainSet[domain] {
112 invalidDomains = append(invalidDomains, domain)
113 domainSet[domain] = true
114 } else {
115 // 记录重复的无效域名
116 if !duplicateSet[domain] {
117 duplicateDomains = append(duplicateDomains, domain)
118 duplicateSet[domain] = true
119 }
120 }
121 }
122 }
123 return validDomains, invalidDomains, duplicateDomains
124}

Callers 1

executeBatchMethod · 0.85

Calls 1

isValidDomainFunction · 0.85

Tested by

no test coverage detected