dialer.go 723 B

1234567891011121314151617181920212223242526272829
  1. package singbridge
  2. import (
  3. "context"
  4. "os"
  5. M "github.com/sagernet/sing/common/metadata"
  6. N "github.com/sagernet/sing/common/network"
  7. "github.com/xtls/xray-core/common/net"
  8. "github.com/xtls/xray-core/transport/internet"
  9. )
  10. var _ N.Dialer = (*XrayDialer)(nil)
  11. type XrayDialer struct {
  12. internet.Dialer
  13. }
  14. func NewDialer(dialer internet.Dialer) *XrayDialer {
  15. return &XrayDialer{dialer}
  16. }
  17. func (d *XrayDialer) DialContext(ctx context.Context, network string, destination M.Socksaddr) (net.Conn, error) {
  18. return d.Dialer.Dial(ctx, ToDestination(destination, ToNetwork(network)))
  19. }
  20. func (d *XrayDialer) ListenPacket(ctx context.Context, destination M.Socksaddr) (net.PacketConn, error) {
  21. return nil, os.ErrInvalid
  22. }