From 3fe85449a9833bc38e897e1dfc38784711b6472d Mon Sep 17 00:00:00 2001 From: Jim Han <50871214+JimhHan@users.noreply.github.com> Date: Sun, 14 Mar 2021 23:58:27 +0800 Subject: [PATCH] Use 198.18.0.0/16 as default Fake IP Pool (#377) --- app/dns/fakedns/fake.go | 2 +- app/dns/fakedns/fakedns_test.go | 13 +++++++++---- features/dns/fakedns.go | 2 ++ infra/conf/fakedns.go | 3 ++- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/app/dns/fakedns/fake.go b/app/dns/fakedns/fake.go index b4a986a5..5d3965e4 100644 --- a/app/dns/fakedns/fake.go +++ b/app/dns/fakedns/fake.go @@ -41,7 +41,7 @@ func NewFakeDNSHolder() (*Holder, error) { if fkdns, err = NewFakeDNSHolderConfigOnly(nil); err != nil { return nil, newError("Unable to create Fake Dns Engine").Base(err).AtError() } - err = fkdns.initialize("240.0.0.0/8", 65535) + err = fkdns.initialize(dns.FakeIPPool, 65535) if err != nil { return nil, err } diff --git a/app/dns/fakedns/fakedns_test.go b/app/dns/fakedns/fakedns_test.go index b0812f62..74106171 100644 --- a/app/dns/fakedns/fakedns_test.go +++ b/app/dns/fakedns/fakedns_test.go @@ -8,6 +8,11 @@ import ( "github.com/xtls/xray-core/common" "github.com/xtls/xray-core/common/net" "github.com/xtls/xray-core/common/uuid" + "github.com/xtls/xray-core/features/dns" +) + +var ( + ipPrefix = "198.18." ) func TestNewFakeDnsHolder(_ *testing.T) { @@ -20,7 +25,7 @@ func TestFakeDnsHolderCreateMapping(t *testing.T) { common.Must(err) addr := fkdns.GetFakeIPForDomain("fakednstest.example.com") - assert.Equal(t, "240.", addr[0].IP().String()[0:4]) + assert.Equal(t, ipPrefix, addr[0].IP().String()[0:len(ipPrefix)]) } func TestFakeDnsHolderCreateMappingMany(t *testing.T) { @@ -28,10 +33,10 @@ func TestFakeDnsHolderCreateMappingMany(t *testing.T) { common.Must(err) addr := fkdns.GetFakeIPForDomain("fakednstest.example.com") - assert.Equal(t, "240.", addr[0].IP().String()[0:4]) + assert.Equal(t, ipPrefix, addr[0].IP().String()[0:len(ipPrefix)]) addr2 := fkdns.GetFakeIPForDomain("fakednstest2.example.com") - assert.Equal(t, "240.", addr2[0].IP().String()[0:4]) + assert.Equal(t, ipPrefix, addr2[0].IP().String()[0:len(ipPrefix)]) assert.NotEqual(t, addr[0].IP().String(), addr2[0].IP().String()) } @@ -64,7 +69,7 @@ func TestFakeDnsHolderCreateMappingManySingleDomain(t *testing.T) { func TestFakeDnsHolderCreateMappingAndRollOver(t *testing.T) { fkdns, err := NewFakeDNSHolderConfigOnly(&FakeDnsPool{ - IpPool: "240.0.0.0/12", + IpPool: dns.FakeIPPool, LruSize: 256, }) common.Must(err) diff --git a/features/dns/fakedns.go b/features/dns/fakedns.go index f0755bfd..12a7b41d 100644 --- a/features/dns/fakedns.go +++ b/features/dns/fakedns.go @@ -13,3 +13,5 @@ type FakeDNSEngine interface { GetDomainFromFakeDNS(ip net.Address) string GetFakeIPRange() *gonet.IPNet } + +var FakeIPPool = "198.18.0.0/16" diff --git a/infra/conf/fakedns.go b/infra/conf/fakedns.go index 47fc62dc..a047ee9f 100644 --- a/infra/conf/fakedns.go +++ b/infra/conf/fakedns.go @@ -3,6 +3,7 @@ package conf import ( "github.com/golang/protobuf/proto" "github.com/xtls/xray-core/app/dns/fakedns" + "github.com/xtls/xray-core/features/dns" ) type FakeDNSConfig struct { @@ -36,7 +37,7 @@ func (FakeDNSPostProcessingStage) Process(conf *Config) error { if conf.FakeDNS == nil { // Add a Fake DNS Config if there is none conf.FakeDNS = &FakeDNSConfig{ - IPPool: "240.0.0.0/8", + IPPool: dns.FakeIPPool, LruSize: 65535, } }