Documentation ¶
Index ¶
Constants ¶
View Source
const ( KnotForward = "forward" KnotSocks5 = "socks5" KnotSSH = "ssh" )
View Source
const ( NetworkBasic = "basic" NetworkMaster = "master" NetworkSSH = "ssh" )
View Source
const ( ProxyForward = "forward" ProxyHTTP = "http" ProxySocks5 = "socks5" )
View Source
const (
CryptoTLS = "tls"
)
Variables ¶
View Source
var AvailableKnots = [3]string{KnotForward, KnotSocks5, KnotSSH}
Functions ¶
This section is empty.
Types ¶
type Auth ¶
type Auth struct { Username *string `yaml:"username,omitempty" json:"username,omitempty"` Password *string `yaml:"password,omitempty" json:"password,omitempty"` PrivateKey *string `yaml:"privateKey,omitempty" json:"privateKey,omitempty"` ServerKey *string `yaml:"serverKey,omitempty" json:"serverKey,omitempty"` }
func (*Auth) SSHClientConfig ¶
func (a *Auth) SSHClientConfig() (config *ssh.ClientConfig, err error)
type AuthMethod ¶
func (*AuthMethod) Socks5 ¶
func (am *AuthMethod) Socks5() (auth socks5.Authenticator, err error)
type AuthMethods ¶
type AuthMethods []AuthMethod
func (AuthMethods) Socks5 ¶
func (am AuthMethods) Socks5() ([]socks5.Authenticator, error)
type Circuit ¶
type Compose ¶
type Crypto ¶
type Crypto struct { Mode string `yaml:"mode,omitempty" json:"mode,omitempty"` SelfSigned bool `yaml:"selfSigned" json:"selfSigned"` InsecureSkipVerify *bool `yaml:"insecureSkipVerify,omitempty" json:"insecureSkipVerify,omitempty"` Cert *string `yaml:"cert,omitempty" json:"cert,omitempty"` Key *string `yaml:"key,omitempty" json:"key,omitempty"` }
type Filter ¶
type Filter struct { Whitelist []Match `yaml:"whitelist,omitempty" json:"whitelist,omitempty"` Blacklist []Match `yaml:"blacklist,omitempty" json:"blacklist,omitempty"` }
type Knot ¶
type Match ¶
type Network ¶
type Network struct { Type string `yaml:"type" json:"type"` Network *string `yaml:"network,omitempty" json:"network,omitempty"` Address *string `yaml:"address,omitempty" json:"address,omitempty"` Data *Network `yaml:"data,omitempty" json:"data,omitempty"` Control *Network `yaml:"control,omitempty" json:"control,omitempty"` Auth *Auth `yaml:"auth,omitempty" json:"auth,omitempty"` Crypto *Crypto `yaml:"crypto,omitempty" json:"crypto,omitempty"` SlaveListener *bool `yaml:"slaveListener,omitempty" json:"slaveListener,omitempty"` ListenerFilter *Filter `yaml:"listenerFilter,omitempty" json:"listenerFilter,omitempty"` DialFilter *Filter `yaml:"dialFilter,omitempty" json:"dialFilter,omitempty"` // contains filtered or unexported fields }
type Proxy ¶
type Proxy struct { Type string `yaml:"type" json:"type"` Listener Network `yaml:"listener" json:"listener"` Dialer *Network `yaml:"dialer,omitempty" json:"dialer,omitempty"` Network *string `yaml:"network,omitempty" json:"network,omitempty"` Address *string `yaml:"address,omitempty" json:"address,omitempty"` AuthMethods AuthMethods `yaml:"authMethods,omitempty" json:"authMethods,omitempty"` // contains filtered or unexported fields }
type Slave ¶
type Slave struct { MasterNetwork string `yaml:"masterNetwork" json:"masterNetwork"` MasterAddress string `yaml:"masterAddress" json:"masterAddress"` MasterDialer Network `yaml:"masterDialer" json:"masterDialer"` Dialer Network `yaml:"dialer" json:"dialer"` Listener *Network `yaml:"listener,omitempty" json:"listener,omitempty"` // contains filtered or unexported fields }
Click to show internal directories.
Click to hide internal directories.