AddrConnectOption specifies the corresponding address of the target.
AddrHandlerOption sets the Addr option of HandlerOptions.
AddrHandshakeOption specifies the server address.
AuthenticatorHandlerOption sets the Authenticator option of HandlerOptions.
AutoConnector is a Connector.
AutoHandler creates a server Handler for auto proxy server.
BlacklistHandlerOption sets the Blacklist option of HandlerOptions.
BypassHandlerOption sets the bypass option of HandlerOptions.
Can tests whether the given action and address is allowed by the whitelist and blacklist.
ChainDialOption specifies a chain used by Transporter.Dial.
ChainExchangerOption sets the chain for Exchanger.
ChainHandlerOption sets the Chain option of HandlerOptions.
ChainNameServerOption sets the chain for name server.
ChainResolverOption sets the chain for Resolver.
CIDRMatcher creates a Matcher for a specific CIDR notation IP address.
ClientObfsTLSConn creates a connection for obfs-tls client.
Connect connects to the address addr via the DefaultClient.
Dial connects to the address addr via the DefaultClient.
DNSHandler creates a Handler for DNS server.
DNSListener creates a Listener for DNS proxy server.
DomainMatcher creates a Matcher for a specific domain pattern, the pattern can be a plain domain such as 'example.com', a wildcard such as '*.exmaple.com' or a special wildcard '.example.com'.
FailTimeoutHandlerOption sets the fail_timeout option of HandlerOptions.
FakeTCPListener creates a Listener for fake TCP server.
FakeTCPTransporter creates a Transporter that is used by fake tcp client.
ForwardConnector creates a Connector for data forward client.
GenCertificate generates a random TLS certificate.
H2CListener creates a Listener for HTTP2 h2c tunnel server.
H2CTransporter creates a Transporter that is used by HTTP2 h2c tunnel client.
H2Listener creates a Listener for HTTP2 h2 tunnel server.
H2Transporter creates a Transporter that is used by HTTP2 h2 tunnel client.
Handshake performs a handshake via the DefaultClient.
HostDialOption specifies the host used by Transporter.Dial.
HostHandlerOption sets the target host for SNI proxy.
HostHandshakeOption specifies the hostname.
HostsChainOption specifies the hosts used by Chain.Dial.
HostsHandlerOption sets the Hosts option of HandlerOptions.
HTTP2Connector creates a Connector for HTTP2 proxy client.
HTTP2Handler creates a server Handler for HTTP2 proxy server.
HTTP2Listener creates a Listener for HTTP2 proxy server.
HTTP2Transporter creates a Transporter that is used by HTTP2 h2 proxy client.
HTTPConnector creates a Connector for HTTP proxy client.
HTTPHandler creates a server Handler for HTTP proxy server.
HTTPTunnelHandlerOption sets the Tunnel mode for HTTP client used in HTTP handler.
IntervalHandshakeOption specifies the interval time used by Transporter.Handshake.
IPMatcher creates a Matcher for a specific IP address.
IPRoutesHandlerOption sets the IP routes for tun tunnel.
IPsHandlerOption sets the ip list for port forward.
IsIPv6Multicast reports whether the address addr is an IPv6 multicast address.
KCPConfigHandshakeOption specifies the KCP config used by KCP handshake.
KCPListener creates a Listener for KCP proxy server.
KCPTransporter creates a Transporter that is used by KCP proxy client.
KnockingHandlerOption adds the knocking host for probe resistance.
MaxFailsHandlerOption sets the max_fails option of HandlerOptions.
MTLSListener creates a Listener for multiplex-TLS proxy server.
MTLSTransporter creates a Transporter that is used by multiplex-TLS proxy client.
MWSListener creates a Listener for multiplex-websocket proxy server.
MWSSListener creates a Listener for multiplex-websocket secure proxy server.
MWSSTransporter creates a Transporter that is used by multiplex-websocket secure proxy client.
MWSTransporter creates a Transporter that is used by multiplex-websocket proxy client.
NewBypass creates and initializes a new Bypass using matchers as its match rules.
NewBypassPatterns creates and initializes a new Bypass using matcher patterns as its match rules.
NewChain creates a proxy chain with a list of proxy nodes.
NewDNSExchanger creates a DNS over UDP Exchanger.
NewDNSTCPExchanger creates a DNS over TCP Exchanger.
NewDoHExchanger creates a DNS over HTTPS Exchanger.
NewDoTExchanger creates a DNS over TLS Exchanger.
NewHost creates a Host.
NewHosts creates a Hosts with optional list of hosts.
NewLocalAuthenticator creates an Authenticator that authenticates client by local infos.
NewMatcher creates a Matcher for the given pattern.
NewNodeGroup creates a node group.
NewResolver create a new Resolver with the given name servers and resolution timeout.
NewStrategy creates a Strategy by the name s.
NodeHandlerOption set the server node for server handler.
NoDelayConnectOption specifies the NoDelay option for ss.Connect.
NoTLSConnectOption specifies the SOCKS5 method without TLS.
Obfs4Init initializes the obfs client or server based on isServeNode.
Obfs4Listener creates a Listener for obfs4 server.
Obfs4Transporter creates a Transporter that is used by obfs4 client.
ObfsHTTPListener creates a Listener for HTTP obfuscating tunnel server.
ObfsHTTPTransporter creates a Transporter that is used by HTTP obfuscating tunnel client.
ObfsTLSListener creates a Listener for TLS obfuscating server.
ObfsTLSTransporter creates a Transporter that is used by TLS obfuscating.
ParseNode parses the node info.
ParsePermissions parses the s to a Permissions.
ParsePortRange parses the s to a PortRange.
ParsePortSet parses the s to a PortSet.
ParseSSHAuthorizedKeysFile parses ssh Authorized Keys file.
ParseSSHKeyFile parses ssh key file.
ParseStringSet parses the s to a StringSet.
PeriodReload reloads the config configFile periodically according to the period of the Reloader r.
PreferResolverOption sets the prefer for Resolver.
ProbeResistHandlerOption adds the probe resistance for HTTP proxy.
ProxyAgentHandlerOption sets the proxy agent for http handler.
QUICConfigHandshakeOption specifies the QUIC config used by QUIC handshake.
QUICListener creates a Listener for QUIC proxy server.
QUICTransporter creates a Transporter that is used by QUIC proxy client.
RelayConnector creates a Connector for TCP/UDP data relay.
RelayHandler creates a server Handler for TCP/UDP relay server.
ResolverChainOption specifies the Resolver used by Chain.Dial.
ResolverHandlerOption sets the resolver option of HandlerOptions.
RetryChainOption specifies the times of retry used by Chain.Dial.
RetryHandlerOption sets the retry option of HandlerOptions.
RetryHandshakeOption specifies the times of retry used by Transporter.Handshake.
SelectorConnectOption specifies the SOCKS5 client selector.
ServerObfsTLSConn creates a connection for obfs-tls server.
SetLogger sets a new logger for internal log system.
ShadowConnector creates a Connector for shadowsocks proxy client.
ShadowHandler creates a server Handler for shadowsocks proxy server.
ShadowUDPConnector creates a Connector for shadowsocks UDP client.
ShadowUDPHandler creates a server Handler for shadowsocks UDP relay server.
SNIConnector creates a Connector for SNI proxy client.
SNIHandler creates a server Handler for SNI proxy server.
SOCKS4AConnector creates a Connector for SOCKS4A proxy client.
SOCKS4Connector creates a Connector for SOCKS4 proxy client.
SOCKS4Handler creates a server Handler for SOCKS4(A) proxy server.
SOCKS5BindConnector creates a connector for SOCKS5 bind.
SOCKS5Connector creates a connector for SOCKS5 proxy client.
SOCKS5Handler creates a server Handler for SOCKS5 proxy server.
Socks5MuxBindConnector creates a Connector for SOCKS5 multiplex bind client.
SOCKS5MuxBindTransporter creates a Transporter for SOCKS5 multiplex bind client.
SOCKS5UDPConnector creates a connector for SOCKS5 UDP relay.
SOCKS5UDPTunConnector creates a connector for SOCKS5 UDP-over-TCP relay.
SrcIPResolverOption sets the source IP for Resolver.
SSHConfigHandshakeOption specifies the ssh config used by SSH client handshake.
SSHDirectForwardConnector creates a Connector for SSH TCP direct port forwarding.
SSHForwardHandler creates a server Handler for SSH port forwarding server.
SSHForwardTransporter creates a Transporter that is used by SSH port forwarding server.
SSHRemoteForwardConnector creates a Connector for SSH TCP remote port forwarding.
SSHTunnelListener creates a Listener for SSH tunnel server.
SSHTunnelTransporter creates a Transporter that is used by SSH tunnel client.
StrategyHandlerOption sets the strategy option of HandlerOptions.
TapHandler creates a handler for tap tunnel.
TapListener creates a listener for tap tunnel.
TCPDirectForwardHandler creates a server Handler for TCP port forwarding server.
TCPListener creates a Listener for TCP proxy server.
TCPModeHandlerOption sets the tcp mode for tun/tap device.
TCPRedirectHandler creates a server Handler for TCP transparent server.
TCPRemoteForwardHandler creates a server Handler for TCP remote port forwarding server.
TCPRemoteForwardListener creates a Listener for TCP remote port forwarding server.
TCPTransporter creates a raw TCP client.
TimeoutChainOption specifies the timeout used by Chain.Dial.
TimeoutConnectOption specifies the timeout for connecting to target.
TimeoutDialOption specifies the timeout used by Transporter.Dial.
TimeoutExchangerOption sets the timeout for Exchanger.
TimeoutHandlerOption sets the timeout option of HandlerOptions.
TimeoutHandshakeOption specifies the timeout used by Transporter.Handshake.
TimeoutNameServerOption sets the timeout for name server.
TimeoutResolverOption sets the timeout for Resolver.
TLSConfigHandlerOption sets the TLSConfig option of HandlerOptions.
TLSConfigHandshakeOption specifies the TLS config used by Transporter.Handshake.
TLSListener creates a Listener for TLS proxy server.
TLSTransporter creates a Transporter that is used by TLS proxy client.
TTLResolverOption sets the timeout for Resolver.
TunHandler creates a handler for tun tunnel.
TunListener creates a listener for tun tunnel.
UDPDirectForwardHandler creates a server Handler for UDP port forwarding server.
UDPListener creates a Listener for UDP server.
UDPRedirectHandler creates a server Handler for UDP transparent server.
UDPRedirectListener creates a Listener for UDP transparent proxy server.
UDPRemoteForwardHandler creates a server Handler for UDP remote port forwarding server.
UDPRemoteForwardListener creates a Listener for UDP remote port forwarding server.
UDPTransporter creates a Transporter for UDP client.
UserAgentConnectOption specifies the HTTP user-agent header.
UserConnectOption specifies the user info for authentication.
UserHandshakeOption specifies the user used by Transporter.Handshake.
UsersHandlerOption sets the Users option of HandlerOptions.
VSOCKListener creates a Listener for VSOCK proxy server.
VSOCKTransporter creates a raw VSOCK client.
WhitelistHandlerOption sets the Whitelist option of HandlerOptions.
WithFilter adds a filter function to the list of filters used during the Select call.
WithStrategy sets the selector strategy.
WSListener creates a Listener for websocket proxy server.
WSOptionsHandshakeOption specifies the websocket options used by websocket handshake.
WSSListener creates a Listener for websocket secure proxy server.
WSSTransporter creates a Transporter that is used by websocket secure proxy client.
WSTransporter creates a Transporter that is used by websocket proxy client.