fakeip.go 811 B

1234567891011121314151617181920212223242526272829303132
  1. package adapter
  2. import (
  3. "net/netip"
  4. "github.com/sagernet/sing-dns"
  5. "github.com/sagernet/sing/common/logger"
  6. )
  7. type FakeIPStore interface {
  8. Service
  9. Contains(address netip.Addr) bool
  10. Create(domain string, isIPv6 bool) (netip.Addr, error)
  11. Lookup(address netip.Addr) (string, bool)
  12. Reset() error
  13. }
  14. type FakeIPStorage interface {
  15. FakeIPMetadata() *FakeIPMetadata
  16. FakeIPSaveMetadata(metadata *FakeIPMetadata) error
  17. FakeIPSaveMetadataAsync(metadata *FakeIPMetadata)
  18. FakeIPStore(address netip.Addr, domain string) error
  19. FakeIPStoreAsync(address netip.Addr, domain string, logger logger.Logger)
  20. FakeIPLoad(address netip.Addr) (string, bool)
  21. FakeIPLoadDomain(domain string, isIPv6 bool) (netip.Addr, bool)
  22. FakeIPReset() error
  23. }
  24. type FakeIPTransport interface {
  25. dns.Transport
  26. Store() FakeIPStore
  27. }