fakeip.go 778 B

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