Versions in this module Expand all Collapse all v0 v0.1.0 May 28, 2020 Changes in this version + const DefaultFastProxyHealthCheckInterval + const DefaultHealthCheckEndpoint + const RTTErrorHappened + const RTTErrorNotCheck + var ErrBackendNotProvided = errors.New("backend proxy not provided") + var ErrHealthCheckStatusNotOk = errors.New("health check response status not correct") + type Dial func(network, addr string) (c net.Conn, err error) + type FastProxyBackendOption struct + Backends []ProxyBackend + HealthCheckInterval time.Duration + type ProxyBackend interface + GetDialer func() proxy.Dialer + GetName func() string + GetPingRTT func() time.Duration + HealthCheck func() error + IsHealth func() bool + func NewDialerProxyBackend(dial Dial, healthCheckEndpoint string) ProxyBackend + func NewDialerProxyBackendDefault(dial Dial) ProxyBackend + func NewSocks5ProxyBackend(opt *Socks5ProxyBackendOption) (ProxyBackend, error) + type ProxyBackendProvider interface + GetAll func() []ProxyBackend + GetOne func() ProxyBackend + func NewFastProxyBackendProvider(option *FastProxyBackendOption) (ProxyBackendProvider, error) + type Socks5ProxyBackendOption struct + Addr string + HealthEndpoint string + Name string