v2ray.go 601 B

123456789101112131415161718192021222324252627
  1. package adapter
  2. import (
  3. "context"
  4. "net"
  5. E "github.com/sagernet/sing/common/exceptions"
  6. M "github.com/sagernet/sing/common/metadata"
  7. N "github.com/sagernet/sing/common/network"
  8. )
  9. type V2RayServerTransport interface {
  10. Network() []string
  11. Serve(listener net.Listener) error
  12. ServePacket(listener net.PacketConn) error
  13. Close() error
  14. }
  15. type V2RayServerTransportHandler interface {
  16. N.TCPConnectionHandler
  17. E.Handler
  18. FallbackConnection(ctx context.Context, conn net.Conn, metadata M.Metadata) error
  19. }
  20. type V2RayClientTransport interface {
  21. DialContext(ctx context.Context) (net.Conn, error)
  22. }