var socksnoDeadline …
var socksaLongTimeAgo …
func (d *socksDialer) connect(ctx context.Context, c net.Conn, address string) (_ net.Addr, ctxErr error) { … }
func sockssplitHostPort(address string) (string, int, error) { … }
type socksCommand …
func (cmd socksCommand) String() string { … }
type socksAuthMethod …
type socksReply …
func (code socksReply) String() string { … }
const socksVersion5 …
const socksAddrTypeIPv4 …
const socksAddrTypeFQDN …
const socksAddrTypeIPv6 …
const socksCmdConnect …
const sockscmdBind …
const socksAuthMethodNotRequired …
const socksAuthMethodUsernamePassword …
const socksAuthMethodNoAcceptableMethods …
const socksStatusSucceeded …
type socksAddr …
func (a *socksAddr) Network() string { … }
func (a *socksAddr) String() string { … }
type socksConn …
func (c *socksConn) BoundAddr() net.Addr { … }
type socksDialer …
func (d *socksDialer) DialContext(ctx context.Context, network, address string) (net.Conn, error) { … }
func (d *socksDialer) DialWithConn(ctx context.Context, c net.Conn, network, address string) (net.Addr, error) { … }
func (d *socksDialer) Dial(network, address string) (net.Conn, error) { … }
func (d *socksDialer) validateTarget(network, address string) error { … }
func (d *socksDialer) pathAddrs(address string) (proxy, dst net.Addr, err error) { … }
func socksNewDialer(network, address string) *socksDialer { … }
const socksauthUsernamePasswordVersion …
const socksauthStatusSucceeded …
type socksUsernamePassword …
func (up *socksUsernamePassword) Authenticate(ctx context.Context, rw io.ReadWriter, auth socksAuthMethod) error { … }