Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewClient ¶
func NewClient(config ClientConfig) (*Client, error)
func (*Client) DialContextConn ¶
func (*Client) SetHandshakeFunc ¶
func (c *Client) SetHandshakeFunc(handshakeFunc TLSHandshakeFunc)
type ClientConfig ¶
type ClientConfig struct {
Version int
Password string
Server M.Socksaddr
Dialer N.Dialer
StrictMode bool
TLSHandshake TLSHandshakeFunc
Logger logger.ContextLogger
}
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶
func NewService(config ServiceConfig) (*Service, error)
type ServiceConfig ¶
type ServiceConfig struct {
Version int
Password string // for protocol version 2
Users []User // for protocol version 3
Handshake HandshakeConfig
HandshakeForServerName map[string]HandshakeConfig // for protocol version 2/3
StrictMode bool // for protocol version 3
Handler N.TCPConnectionHandlerEx
Logger logger.ContextLogger
}
type TLSHandshakeFunc ¶
type TLSHandshakeFunc func( ctx context.Context, conn net.Conn, sessionIDGenerator TLSSessionIDGeneratorFunc, ) error
func DefaultTLSHandshakeFunc ¶
func DefaultTLSHandshakeFunc(password string, config *tls.Config) TLSHandshakeFunc
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
internal
|
|
|
byteorder
Package byteorder provides functions for decoding and encoding little and big endian integer types from/to byte slices.
|
Package byteorder provides functions for decoding and encoding little and big endian integer types from/to byte slices. |
|
mlkem768
Package mlkem768 implements the quantum-resistant key encapsulation method ML-KEM (formerly known as Kyber).
|
Package mlkem768 implements the quantum-resistant key encapsulation method ML-KEM (formerly known as Kyber). |
|
tls
Package tls partially implements TLS 1.2, as specified in RFC 5246, and TLS 1.3, as specified in RFC 8446.
|
Package tls partially implements TLS 1.2, as specified in RFC 5246, and TLS 1.3, as specified in RFC 8446. |
Click to show internal directories.
Click to hide internal directories.