socks5

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2026 License: MPL-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewRulePermitAll

func NewRulePermitAll() socks5.RuleSet

Types

type Client

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

func NewClient

func NewClient(listenAddr string) (*Client, error)

func (*Client) Close

func (c *Client) Close() error

func (*Client) ConnsChan

func (c *Client) ConnsChan() <-chan net.Conn

type Logger

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

func NewLogger

func NewLogger() *Logger

func (*Logger) Printf

func (l *Logger) Printf(format string, v ...interface{})

type ReadWriterConnWrapper

type ReadWriterConnWrapper struct {
	io.ReadWriteCloser
}

ReadWriterConnWrapper is used for socks5

func (ReadWriterConnWrapper) LocalAddr

func (c ReadWriterConnWrapper) LocalAddr() net.Addr

func (ReadWriterConnWrapper) RemoteAddr

func (c ReadWriterConnWrapper) RemoteAddr() net.Addr

func (ReadWriterConnWrapper) SetDeadline

func (c ReadWriterConnWrapper) SetDeadline(time.Time) error

func (ReadWriterConnWrapper) SetReadDeadline

func (c ReadWriterConnWrapper) SetReadDeadline(time.Time) error

func (ReadWriterConnWrapper) SetWriteDeadline

func (c ReadWriterConnWrapper) SetWriteDeadline(time.Time) error

type RuleDenyLocalhost

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

func NewRuleDenyLocalhost

func NewRuleDenyLocalhost() *RuleDenyLocalhost

func (*RuleDenyLocalhost) Allow

type Server

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

func NewServer

func NewServer() *Server

func (*Server) SendServerFailureReply

func (s *Server) SendServerFailureReply(conn io.ReadWriter) error

func (*Server) ServeConn

func (s *Server) ServeConn(ioConn io.ReadWriteCloser) error

ServeConn is only used in tests. TODO: refactor tests

func (*Server) ServeStreamConn

func (s *Server) ServeStreamConn(stream network.Stream) error

func (*Server) SetRules

func (s *Server) SetRules(rule socks5.RuleSet)

SetRules is created for tests and not intended for real usage.

type StreamConnWrapper

type StreamConnWrapper struct {
	network.Stream
}

StreamConnWrapper is used for socks5

func (StreamConnWrapper) Close

func (c StreamConnWrapper) Close() error

func (StreamConnWrapper) LocalAddr

func (c StreamConnWrapper) LocalAddr() net.Addr

func (StreamConnWrapper) RemoteAddr

func (c StreamConnWrapper) RemoteAddr() net.Addr

type UpdatableRule

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

func NewUpdatableRule

func NewUpdatableRule(rule socks5.RuleSet) *UpdatableRule

func (*UpdatableRule) Allow

func (r *UpdatableRule) Allow(ctx context.Context, req *socks5.Request) (context.Context, bool)

func (*UpdatableRule) SetRule

func (r *UpdatableRule) SetRule(rule socks5.RuleSet)

Jump to

Keyboard shortcuts

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