mirror of
https://github.com/Control-D-Inc/ctrld.git
synced 2026-02-16 10:22:45 +00:00
36 lines
714 B
Go
36 lines
714 B
Go
//go:build !js && !windows
|
|
|
|
package resolvconffile
|
|
|
|
import (
|
|
"net"
|
|
|
|
"tailscale.com/net/dns/resolvconffile"
|
|
)
|
|
|
|
const resolvconfPath = "/etc/resolv.conf"
|
|
|
|
func NameServersWithPort() []string {
|
|
c, err := resolvconffile.ParseFile(resolvconfPath)
|
|
if err != nil {
|
|
return nil
|
|
}
|
|
ns := make([]string, 0, len(c.Nameservers))
|
|
for _, nameserver := range c.Nameservers {
|
|
ns = append(ns, net.JoinHostPort(nameserver.String(), "53"))
|
|
}
|
|
return ns
|
|
}
|
|
|
|
func NameServers(_ string) []string {
|
|
c, err := resolvconffile.ParseFile(resolvconfPath)
|
|
if err != nil {
|
|
return nil
|
|
}
|
|
ns := make([]string, 0, len(c.Nameservers))
|
|
for _, nameserver := range c.Nameservers {
|
|
ns = append(ns, nameserver.String())
|
|
}
|
|
return ns
|
|
}
|