mirror of
https://github.com/Snawoot/opera-proxy.git
synced 2025-09-02 10:42:07 +00:00
commit
7f4aa8316c
2 changed files with 9 additions and 9 deletions
|
@ -14,30 +14,30 @@ func FromURL(u string) (*net.Resolver, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
host := parsed.Hostname()
|
||||||
|
port := parsed.Port()
|
||||||
switch strings.ToLower(parsed.Scheme) {
|
switch strings.ToLower(parsed.Scheme) {
|
||||||
case "", "dns":
|
case "", "dns":
|
||||||
host := parsed.Hostname()
|
|
||||||
port := parsed.Port()
|
|
||||||
if port == "" {
|
if port == "" {
|
||||||
port = "53"
|
port = "53"
|
||||||
}
|
}
|
||||||
return NewPlainResolver(net.JoinHostPort(host, port)), nil
|
return NewPlainResolver(net.JoinHostPort(host, port)), nil
|
||||||
case "tcp":
|
case "tcp":
|
||||||
host := parsed.Hostname()
|
|
||||||
port := parsed.Port()
|
|
||||||
if port == "" {
|
if port == "" {
|
||||||
port = "53"
|
port = "53"
|
||||||
}
|
}
|
||||||
return NewTCPResolver(net.JoinHostPort(host, port)), nil
|
return NewTCPResolver(net.JoinHostPort(host, port)), nil
|
||||||
case "http", "https":
|
case "http", "https":
|
||||||
return dns.NewDoHResolver(u)
|
if port == "" {
|
||||||
|
port = "443"
|
||||||
|
}
|
||||||
|
return dns.NewDoHResolver(u, dns.DoHAddresses(net.JoinHostPort(host, port)))
|
||||||
case "tls":
|
case "tls":
|
||||||
host := parsed.Hostname()
|
|
||||||
port := parsed.Port()
|
|
||||||
if port == "" {
|
if port == "" {
|
||||||
port = "853"
|
port = "853"
|
||||||
}
|
}
|
||||||
return dns.NewDoTResolver(net.JoinHostPort(host, port))
|
hp := net.JoinHostPort(host, port)
|
||||||
|
return dns.NewDoTResolver(hp, dns.DoTAddresses(hp))
|
||||||
default:
|
default:
|
||||||
return nil, errors.New("not implemented")
|
return nil, errors.New("not implemented")
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ func NewTCPResolver(addr string) *net.Resolver {
|
||||||
PreferGo: true,
|
PreferGo: true,
|
||||||
Dial: func(ctx context.Context, network, _ string) (net.Conn, error) {
|
Dial: func(ctx context.Context, network, _ string) (net.Conn, error) {
|
||||||
dnet := "tcp"
|
dnet := "tcp"
|
||||||
switch (network) {
|
switch network {
|
||||||
case "udp4":
|
case "udp4":
|
||||||
dnet = "tcp4"
|
dnet = "tcp4"
|
||||||
case "udp6":
|
case "udp6":
|
||||||
|
|
Loading…
Add table
Reference in a new issue