github.com/metacubex/mihomo@v1.18.5/component/resolver/enhancer.go (about) 1 package resolver 2 3 import "net/netip" 4 5 var DefaultHostMapper Enhancer 6 7 type Enhancer interface { 8 FakeIPEnabled() bool 9 MappingEnabled() bool 10 IsFakeIP(netip.Addr) bool 11 IsFakeBroadcastIP(netip.Addr) bool 12 IsExistFakeIP(netip.Addr) bool 13 FindHostByIP(netip.Addr) (string, bool) 14 FlushFakeIP() error 15 InsertHostByIP(netip.Addr, string) 16 StoreFakePoolState() 17 } 18 19 func FakeIPEnabled() bool { 20 if mapper := DefaultHostMapper; mapper != nil { 21 return mapper.FakeIPEnabled() 22 } 23 24 return false 25 } 26 27 func MappingEnabled() bool { 28 if mapper := DefaultHostMapper; mapper != nil { 29 return mapper.MappingEnabled() 30 } 31 32 return false 33 } 34 35 func IsFakeIP(ip netip.Addr) bool { 36 if mapper := DefaultHostMapper; mapper != nil { 37 return mapper.IsFakeIP(ip) 38 } 39 40 return false 41 } 42 43 func IsFakeBroadcastIP(ip netip.Addr) bool { 44 if mapper := DefaultHostMapper; mapper != nil { 45 return mapper.IsFakeBroadcastIP(ip) 46 } 47 48 return false 49 } 50 51 func IsExistFakeIP(ip netip.Addr) bool { 52 if mapper := DefaultHostMapper; mapper != nil { 53 return mapper.IsExistFakeIP(ip) 54 } 55 56 return false 57 } 58 59 func InsertHostByIP(ip netip.Addr, host string) { 60 if mapper := DefaultHostMapper; mapper != nil { 61 mapper.InsertHostByIP(ip, host) 62 } 63 } 64 65 func FindHostByIP(ip netip.Addr) (string, bool) { 66 if mapper := DefaultHostMapper; mapper != nil { 67 return mapper.FindHostByIP(ip) 68 } 69 70 return "", false 71 } 72 73 func FlushFakeIP() error { 74 if mapper := DefaultHostMapper; mapper != nil { 75 return mapper.FlushFakeIP() 76 } 77 return nil 78 } 79 80 func StoreFakePoolState() { 81 if mapper := DefaultHostMapper; mapper != nil { 82 mapper.StoreFakePoolState() 83 } 84 }