rename Dns to DNS

This commit is contained in:
Jason
2019-08-14 20:42:19 +08:00
parent e92c6f9e57
commit 992344adf1
7 changed files with 27 additions and 31 deletions

View File

@@ -9,24 +9,26 @@ import (
)
func init() {
args.EnableFakeDns = flag.Bool("fakeDns", false, "Enable fake DNS")
args.DnsCacheSize = flag.Int("dnsCacheSize", 100, "Size of DNS LRU Cache")
args.FakeDnsAddr = flag.String("fakeDnsAddr", ":53", "Listen address of fake DNS")
args.EnableFakeDNS = flag.Bool("fakeDNS", false, "Enable fake DNS")
args.DNSCacheSize = flag.Int("dnsCacheSize", 100, "Size of DNS LRU Cache")
args.FakeDNSAddr = flag.String("fakeDNSAddr", ":53", "Listen address of fake DNS")
args.FakeIPRange = flag.String("fakeIPRange", "198.18.0.1/16", "Fake IP CIDR range for DNS")
args.FakeDnsHosts = flag.String("fakeDnsHosts", "", "DNS hosts mapping, e.g. 'example.com=1.1.1.1,example.net=2.2.2.2'")
args.FakeDNSHosts = flag.String("fakeDNSHosts", "", "DNS hosts mapping, e.g. 'example.com=1.1.1.1,example.net=2.2.2.2'")
addPostFlagsInitFn(func() {
if *args.EnableFakeDns {
fakeDnsServer, err := fakedns.NewServer(*args.FakeIPRange, *args.FakeDnsHosts, *args.DnsCacheSize)
if *args.EnableFakeDNS {
fakeDNSServer, err := fakedns.NewServer(*args.FakeIPRange, *args.FakeDNSHosts, *args.DNSCacheSize)
if err != nil {
panic("create fake dns server error")
}
if err := fakeDnsServer.StartServer(*args.FakeDnsAddr); err != nil {
fakedns.ServeAddr = *args.FakeDNSAddr
if err := fakeDNSServer.Start(); err != nil {
panic("cannot start fake dns server")
}
fakeDns = fakeDnsServer
fakeDNS = fakeDNSServer
} else {
fakeDns = nil
fakeDNS = nil
}
})
}

View File

@@ -4,15 +4,9 @@ import (
"net"
)
const CommonDnsPort = 53
type FakeDns interface {
// GenerateFakeResponse generates a fake dns response for the specify request.
// GenerateFakeResponse(request []byte) ([]byte, error)
type FakeDNS interface {
Start() error
Stop() error
// IPToHost returns the corresponding domain for the given IP.
IPToHost(ip net.IP) (string, bool)
// IsFakeIP checks if the given ip is a fake IP.
// IsFakeIP(ip net.IP) bool
}

View File

@@ -19,15 +19,15 @@ type tcpHandler struct {
proxyHost string
proxyPort int
fakeDns dns.FakeDns
fakeDNS dns.FakeDNS
sessionStater stats.SessionStater
}
func NewTCPHandler(proxyHost string, proxyPort int, fakeDns dns.FakeDns, sessionStater stats.SessionStater) core.TCPConnHandler {
func NewTCPHandler(proxyHost string, proxyPort int, fakeDNS dns.FakeDNS, sessionStater stats.SessionStater) core.TCPConnHandler {
return &tcpHandler{
proxyHost: proxyHost,
proxyPort: proxyPort,
fakeDns: fakeDns,
fakeDNS: fakeDNS,
sessionStater: sessionStater,
}
}
@@ -86,7 +86,7 @@ func (h *tcpHandler) Handle(conn net.Conn, target *net.TCPAddr) error {
var localConn = conn
// Lookup fakeDNS host record
targetHost, err := lookupHost(h.fakeDns, target)
targetHost, err := lookupHost(h.fakeDNS, target)
if err != nil {
log.Warnf("lookup target host error: %v", err)
return err

View File

@@ -23,15 +23,15 @@ type udpHandler struct {
remoteAddrMap sync.Map
remoteConnMap sync.Map
fakeDns dns.FakeDns
fakeDNS dns.FakeDNS
sessionStater stats.SessionStater
}
func NewUDPHandler(proxyHost string, proxyPort int, timeout time.Duration, fakeDns dns.FakeDns, sessionStater stats.SessionStater) core.UDPConnHandler {
func NewUDPHandler(proxyHost string, proxyPort int, timeout time.Duration, fakeDNS dns.FakeDNS, sessionStater stats.SessionStater) core.UDPConnHandler {
return &udpHandler{
proxyHost: proxyHost,
proxyPort: proxyPort,
fakeDns: fakeDns,
fakeDNS: fakeDNS,
sessionStater: sessionStater,
timeout: timeout,
}
@@ -64,7 +64,7 @@ func (h *udpHandler) fetchUDPInput(conn core.UDPConn, input net.PacketConn, addr
func (h *udpHandler) Connect(conn core.UDPConn, target *net.UDPAddr) error {
// Lookup fakeDNS host record
targetHost, err := lookupHost(h.fakeDns, target)
targetHost, err := lookupHost(h.fakeDNS, target)
if err != nil {
log.Warnf("lookup target host error: %v", err)
return err

View File

@@ -13,7 +13,7 @@ import (
)
// DNS lookup
func lookupHost(fakeDns dns.FakeDns, target net.Addr) (targetHost string, err error) {
func lookupHost(fakeDNS dns.FakeDNS, target net.Addr) (targetHost string, err error) {
var targetIP net.IP
switch addr := target.(type) {
case *net.TCPAddr:
@@ -27,8 +27,8 @@ func lookupHost(fakeDns dns.FakeDns, target net.Addr) (targetHost string, err er
targetHost = targetIP.String()
// Replace with a domain name if target address IP is a fake IP
if fakeDns != nil {
if host, exist := fakeDns.IPToHost(targetIP); exist {
if fakeDNS != nil {
if host, exist := fakeDNS.IPToHost(targetIP); exist {
targetHost = host
}
}

View File

@@ -11,4 +11,4 @@ config_route() {
}
config_route &
sudo ./build/tun2socks -tunAddr 240.0.0.2 -tunGw 240.0.0.1 -proxyServer 192.168.1.1:1080 -fakeDns -loglevel info -stats
sudo ./build/tun2socks -tunAddr 240.0.0.2 -tunGw 240.0.0.1 -proxyServer 192.168.1.1:1080 -fakeDNS -loglevel info -stats

View File

@@ -7,4 +7,4 @@ config_route() {
}
config_route &
sudo ./build/tun2socks -tunAddr 240.0.0.2 -tunGw 240.0.0.1 -proxyServer 192.168.1.1:1080 -fakeDns -loglevel info -stats
sudo ./build/tun2socks -tunAddr 240.0.0.2 -tunGw 240.0.0.1 -proxyServer 192.168.1.1:1080 -fakeDNS -loglevel info -stats