socks

package
v0.6.0-beta.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 1, 2024 License: GPL-2.0 Imports: 19 Imported by: 27

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrInvalidPacket = E.New("socks5: invalid packet")

Functions

func ClientHandshake4

func ClientHandshake4(conn io.ReadWriter, command byte, destination M.Socksaddr, username string) (socks4.Response, error)

func ClientHandshake5

func ClientHandshake5(conn io.ReadWriter, command byte, destination M.Socksaddr, username string, password string) (socks5.Response, error)

func HandleConnection deprecated

func HandleConnection(ctx context.Context, conn net.Conn, authenticator *auth.Authenticator, handler Handler, metadata M.Metadata) error

Deprecated: use HandleConnectionEx instead.

func HandleConnection0 deprecated

func HandleConnection0(ctx context.Context, conn net.Conn, reader *std_bufio.Reader, authenticator *auth.Authenticator, handler Handler, metadata M.Metadata) error

Deprecated: Use HandleConnectionEx instead.

func HandleConnectionEx

func HandleConnectionEx(
	ctx context.Context, conn net.Conn, reader *std_bufio.Reader,
	authenticator *auth.Authenticator,

	handler Handler,
	handlerEx HandlerEx,
	source M.Socksaddr, destination M.Socksaddr,
	onClose N.CloseHandlerFunc,
) error

Types

type AssociatePacketConn

type AssociatePacketConn struct {
	N.AbstractConn
	// contains filtered or unexported fields
}

func NewAssociatePacketConn

func NewAssociatePacketConn(conn net.Conn, remoteAddr M.Socksaddr, underlying net.Conn) *AssociatePacketConn

func (*AssociatePacketConn) Close

func (c *AssociatePacketConn) Close() error

func (*AssociatePacketConn) CreateReadWaiter added in v0.3.0

func (c *AssociatePacketConn) CreateReadWaiter() (N.PacketReadWaiter, bool)

func (*AssociatePacketConn) FrontHeadroom

func (c *AssociatePacketConn) FrontHeadroom() int

func (*AssociatePacketConn) Read

func (c *AssociatePacketConn) Read(b []byte) (n int, err error)

func (*AssociatePacketConn) ReadFrom

func (c *AssociatePacketConn) ReadFrom(p []byte) (n int, addr net.Addr, err error)

func (*AssociatePacketConn) ReadPacket

func (c *AssociatePacketConn) ReadPacket(buffer *buf.Buffer) (destination M.Socksaddr, err error)

func (*AssociatePacketConn) RemoteAddr

func (c *AssociatePacketConn) RemoteAddr() net.Addr

func (*AssociatePacketConn) Upstream

func (c *AssociatePacketConn) Upstream() any

func (*AssociatePacketConn) Write

func (c *AssociatePacketConn) Write(b []byte) (n int, err error)

func (*AssociatePacketConn) WritePacket

func (c *AssociatePacketConn) WritePacket(buffer *buf.Buffer, destination M.Socksaddr) error

func (*AssociatePacketConn) WriteTo

func (c *AssociatePacketConn) WriteTo(p []byte, addr net.Addr) (n int, err error)

type AssociatePacketReadWaiter added in v0.3.0

type AssociatePacketReadWaiter struct {
	// contains filtered or unexported fields
}

func (*AssociatePacketReadWaiter) InitializeReadWaiter added in v0.3.0

func (w *AssociatePacketReadWaiter) InitializeReadWaiter(options N.ReadWaitOptions) (needCopy bool)

func (*AssociatePacketReadWaiter) WaitReadPacket added in v0.3.0

func (w *AssociatePacketReadWaiter) WaitReadPacket() (buffer *buf.Buffer, destination M.Socksaddr, err error)

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(dialer N.Dialer, serverAddr M.Socksaddr, version Version, username string, password string) *Client

func NewClientFromURL

func NewClientFromURL(dialer N.Dialer, rawURL string) (*Client, error)

func (*Client) BindContext

func (c *Client) BindContext(ctx context.Context, address M.Socksaddr) (net.Conn, error)

func (*Client) DialContext

func (c *Client) DialContext(ctx context.Context, network string, address M.Socksaddr) (net.Conn, error)

func (*Client) ListenPacket

func (c *Client) ListenPacket(ctx context.Context, destination M.Socksaddr) (net.PacketConn, error)

type Handler deprecated

type Handler interface {
	N.TCPConnectionHandler
	N.UDPConnectionHandler
}

Deprecated: Use HandlerEx instead.

type HandlerEx

type HandlerEx interface {
	N.TCPConnectionHandlerEx
	N.UDPConnectionHandlerEx
}

type LazyAssociatePacketConn

type LazyAssociatePacketConn struct {
	AssociatePacketConn
	// contains filtered or unexported fields
}

func NewLazyAssociatePacketConn

func NewLazyAssociatePacketConn(conn net.Conn, remoteAddr M.Socksaddr, underlying net.Conn) *LazyAssociatePacketConn

func (*LazyAssociatePacketConn) HandshakeFailure

func (c *LazyAssociatePacketConn) HandshakeFailure(err error) error

func (*LazyAssociatePacketConn) HandshakeSuccess

func (c *LazyAssociatePacketConn) HandshakeSuccess() error

func (*LazyAssociatePacketConn) Read

func (c *LazyAssociatePacketConn) Read(p []byte) (n int, err error)

func (*LazyAssociatePacketConn) ReadFrom

func (c *LazyAssociatePacketConn) ReadFrom(p []byte) (n int, addr net.Addr, err error)

func (*LazyAssociatePacketConn) ReadPacket

func (c *LazyAssociatePacketConn) ReadPacket(buffer *buf.Buffer) (destination M.Socksaddr, err error)

func (*LazyAssociatePacketConn) ReaderReplaceable

func (c *LazyAssociatePacketConn) ReaderReplaceable() bool

func (*LazyAssociatePacketConn) Upstream

func (c *LazyAssociatePacketConn) Upstream() any

func (*LazyAssociatePacketConn) Write

func (c *LazyAssociatePacketConn) Write(p []byte) (n int, err error)

func (*LazyAssociatePacketConn) WritePacket

func (c *LazyAssociatePacketConn) WritePacket(buffer *buf.Buffer, destination M.Socksaddr) error

func (*LazyAssociatePacketConn) WriteTo

func (c *LazyAssociatePacketConn) WriteTo(p []byte, addr net.Addr) (n int, err error)

func (*LazyAssociatePacketConn) WriterReplaceable

func (c *LazyAssociatePacketConn) WriterReplaceable() bool

type LazyConn

type LazyConn struct {
	net.Conn
	// contains filtered or unexported fields
}

func NewLazyConn

func NewLazyConn(conn net.Conn, socksVersion byte) *LazyConn

func (*LazyConn) ConnHandshakeSuccess

func (c *LazyConn) ConnHandshakeSuccess(conn net.Conn) error

func (*LazyConn) HandshakeFailure

func (c *LazyConn) HandshakeFailure(err error) error

func (*LazyConn) Read

func (c *LazyConn) Read(p []byte) (n int, err error)

func (*LazyConn) ReaderReplaceable

func (c *LazyConn) ReaderReplaceable() bool

func (*LazyConn) Upstream

func (c *LazyConn) Upstream() any

func (*LazyConn) Write

func (c *LazyConn) Write(p []byte) (n int, err error)

func (*LazyConn) WriterReplaceable

func (c *LazyConn) WriterReplaceable() bool

type VectorisedAssociatePacketConn

type VectorisedAssociatePacketConn struct {
	AssociatePacketConn
	N.VectorisedPacketWriter
}

func NewVectorisedAssociateConn

func NewVectorisedAssociateConn(conn net.Conn, writer N.VectorisedWriter, remoteAddr M.Socksaddr, underlying net.Conn) *VectorisedAssociatePacketConn

func (*VectorisedAssociatePacketConn) FrontHeadroom

func (c *VectorisedAssociatePacketConn) FrontHeadroom() int

func (*VectorisedAssociatePacketConn) WriteVectorisedPacket

func (v *VectorisedAssociatePacketConn) WriteVectorisedPacket(buffers []*buf.Buffer, destination M.Socksaddr) error

type Version

type Version uint8
const (
	Version4 Version = iota
	Version4A
	Version5
)

func ParseVersion

func ParseVersion(version string) (Version, error)

func (Version) String

func (v Version) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL