clash/component/resolver/enhancer.go

85 lines
1.5 KiB
Go
Raw Normal View History

package resolver
2022-04-19 17:52:51 +00:00
import "net/netip"
var DefaultHostMapper Enhancer
type Enhancer interface {
FakeIPEnabled() bool
MappingEnabled() bool
2022-04-19 17:52:51 +00:00
IsFakeIP(netip.Addr) bool
IsFakeBroadcastIP(netip.Addr) bool
IsExistFakeIP(netip.Addr) bool
FindHostByIP(netip.Addr) (string, bool)
2022-03-22 17:05:43 +00:00
FlushFakeIP() error
2022-04-19 17:52:51 +00:00
InsertHostByIP(netip.Addr, string)
2022-04-13 08:47:47 +00:00
StoreFakePoolState()
}
func FakeIPEnabled() bool {
if mapper := DefaultHostMapper; mapper != nil {
return mapper.FakeIPEnabled()
}
return false
}
func MappingEnabled() bool {
if mapper := DefaultHostMapper; mapper != nil {
return mapper.MappingEnabled()
}
return false
}
2022-04-19 17:52:51 +00:00
func IsFakeIP(ip netip.Addr) bool {
if mapper := DefaultHostMapper; mapper != nil {
return mapper.IsFakeIP(ip)
}
return false
}
2022-04-19 17:52:51 +00:00
func IsFakeBroadcastIP(ip netip.Addr) bool {
if mapper := DefaultHostMapper; mapper != nil {
return mapper.IsFakeBroadcastIP(ip)
}
return false
}
2022-04-19 17:52:51 +00:00
func IsExistFakeIP(ip netip.Addr) bool {
if mapper := DefaultHostMapper; mapper != nil {
return mapper.IsExistFakeIP(ip)
}
return false
}
2022-04-19 17:52:51 +00:00
func InsertHostByIP(ip netip.Addr, host string) {
if mapper := DefaultHostMapper; mapper != nil {
mapper.InsertHostByIP(ip, host)
}
}
2022-04-19 17:52:51 +00:00
func FindHostByIP(ip netip.Addr) (string, bool) {
if mapper := DefaultHostMapper; mapper != nil {
return mapper.FindHostByIP(ip)
}
return "", false
}
2022-03-22 17:05:43 +00:00
func FlushFakeIP() error {
if mapper := DefaultHostMapper; mapper != nil {
return mapper.FlushFakeIP()
}
return nil
}
2022-04-12 21:55:08 +00:00
2022-04-13 08:47:47 +00:00
func StoreFakePoolState() {
2022-04-12 21:55:08 +00:00
if mapper := DefaultHostMapper; mapper != nil {
2022-04-13 08:47:47 +00:00
mapper.StoreFakePoolState()
2022-04-12 21:55:08 +00:00
}
}