mirror of
https://github.com/TeaOSLab/EdgeCommon.git
synced 2025-11-03 12:20:27 +08:00
30 lines
639 B
Go
30 lines
639 B
Go
// Copyright 2023 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
|
|
|
|
package dnsconfigs
|
|
|
|
import (
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/configutils"
|
|
"github.com/iwind/TeaGo/types"
|
|
)
|
|
|
|
type DNSResolver struct {
|
|
Host string `json:"host"`
|
|
Port int `json:"port"`
|
|
Protocol string `json:"protocol"`
|
|
}
|
|
|
|
func (this *DNSResolver) Addr() string {
|
|
var port = this.Port
|
|
if port <= 0 {
|
|
// 暂时不支持DoH
|
|
// 实际应用中只支持udp
|
|
switch this.Protocol {
|
|
case "tls":
|
|
port = 853
|
|
default:
|
|
port = 53
|
|
}
|
|
}
|
|
return configutils.QuoteIP(this.Host) + ":" + types.String(port)
|
|
}
|