github.com/chwjbn/xclash@v0.2.0/component/resolver/enhancer.go (about) 1 package resolver 2 3 import ( 4 "net" 5 ) 6 7 var DefaultHostMapper Enhancer 8 9 type Enhancer interface { 10 FakeIPEnabled() bool 11 MappingEnabled() bool 12 IsFakeIP(net.IP) bool 13 IsExistFakeIP(net.IP) bool 14 FindHostByIP(net.IP) (string, bool) 15 } 16 17 func FakeIPEnabled() bool { 18 if mapper := DefaultHostMapper; mapper != nil { 19 return mapper.FakeIPEnabled() 20 } 21 22 return false 23 } 24 25 func MappingEnabled() bool { 26 if mapper := DefaultHostMapper; mapper != nil { 27 return mapper.MappingEnabled() 28 } 29 30 return false 31 } 32 33 func IsFakeIP(ip net.IP) bool { 34 if mapper := DefaultHostMapper; mapper != nil { 35 return mapper.IsFakeIP(ip) 36 } 37 38 return false 39 } 40 41 func IsExistFakeIP(ip net.IP) bool { 42 if mapper := DefaultHostMapper; mapper != nil { 43 return mapper.IsExistFakeIP(ip) 44 } 45 46 return false 47 } 48 49 func FindHostByIP(ip net.IP) (string, bool) { 50 if mapper := DefaultHostMapper; mapper != nil { 51 return mapper.FindHostByIP(ip) 52 } 53 54 return "", false 55 }