enhancer.go 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package resolver
  2. import "net/netip"
  3. var DefaultHostMapper Enhancer
  4. type Enhancer interface {
  5. FakeIPEnabled() bool
  6. MappingEnabled() bool
  7. IsFakeIP(netip.Addr) bool
  8. IsFakeBroadcastIP(netip.Addr) bool
  9. IsExistFakeIP(netip.Addr) bool
  10. FindHostByIP(netip.Addr) (string, bool)
  11. FlushFakeIP() error
  12. InsertHostByIP(netip.Addr, string)
  13. StoreFakePoolState()
  14. }
  15. func FakeIPEnabled() bool {
  16. if mapper := DefaultHostMapper; mapper != nil {
  17. return mapper.FakeIPEnabled()
  18. }
  19. return false
  20. }
  21. func MappingEnabled() bool {
  22. if mapper := DefaultHostMapper; mapper != nil {
  23. return mapper.MappingEnabled()
  24. }
  25. return false
  26. }
  27. func IsFakeIP(ip netip.Addr) bool {
  28. if mapper := DefaultHostMapper; mapper != nil {
  29. return mapper.IsFakeIP(ip)
  30. }
  31. return false
  32. }
  33. func IsFakeBroadcastIP(ip netip.Addr) bool {
  34. if mapper := DefaultHostMapper; mapper != nil {
  35. return mapper.IsFakeBroadcastIP(ip)
  36. }
  37. return false
  38. }
  39. func IsExistFakeIP(ip netip.Addr) bool {
  40. if mapper := DefaultHostMapper; mapper != nil {
  41. return mapper.IsExistFakeIP(ip)
  42. }
  43. return false
  44. }
  45. func InsertHostByIP(ip netip.Addr, host string) {
  46. if mapper := DefaultHostMapper; mapper != nil {
  47. mapper.InsertHostByIP(ip, host)
  48. }
  49. }
  50. func FindHostByIP(ip netip.Addr) (string, bool) {
  51. if mapper := DefaultHostMapper; mapper != nil {
  52. return mapper.FindHostByIP(ip)
  53. }
  54. return "", false
  55. }
  56. func FlushFakeIP() error {
  57. if mapper := DefaultHostMapper; mapper != nil {
  58. return mapper.FlushFakeIP()
  59. }
  60. return nil
  61. }
  62. func StoreFakePoolState() {
  63. if mapper := DefaultHostMapper; mapper != nil {
  64. mapper.StoreFakePoolState()
  65. }
  66. }