Documentation ¶
Index ¶
- Constants
- Variables
- func CopyLink(dst, src io.ReadWriteCloser)
- func DebugDNS(quiz, resp *dns.Msg)
- func Dur2Str(d time.Duration) (s string)
- func FormatTlsState(conn *tls.Conn) (s string)
- func GetServersFromConf(conffile string) (addrs []string, err error)
- func ListenAndServe(network, address string, handler Handler) (err error)
- func ListenAndServeFunc(network, address string, handle func(net.Conn) error) (err error)
- func LoadJson(configfile string, cfg interface{}) (err error)
- func Serve(listener net.Listener, handler Handler) (err error)
- func ServeFunc(listener net.Listener, handle func(net.Conn) error) (err error)
- func SetLogging(logfile, loglevel string)
- func UDPListenAndServe(network, address string, handler UDPHandler) (err error)
- func UDPListenAndServeFunc(network, address string, handle func(*net.UDPConn) error) (err error)
- func WriteFull(w io.Writer, b []byte) (err error)
- type Dialer
- type DnsExchanger
- type ExchangeResolver
- type Exchanger
- type FalseDialer
- type Handler
- type Net4Dialer
- type NetDialer
- type NetResolver
- type Resolver
- type UDPHandler
Constants ¶
View Source
const ( BALANCE_INTERVAL = 60 * time.Second SPEED_UPDATE_INTERVAL = 10 // Second LOOKUP_TIMEOUT = 5 * time.Second SRV_LOOKUP_TIMEOUT = 3 * time.Second // system default 5s * 2 AUTH_TIMEOUT = 2 * time.Second // RTO=1 RECV_IV_TIMEOUT = 2 * time.Second DIAL_TIMEOUT = 36 * time.Second SRV_DIAL_TIMEOUT = 16 * time.Second // system default 63s LOGIN_GAP = 10 MAXDATASIZE = 1<<16 - 16 DEFAULTSIZE = 1 << 15 WINDOWSIZE = 4 * 1024 * 1024 DIALRETRY = 2 DNSRETRY = 2 DNS_MAX_CACHE = 1024 DEBUG_FRAME = false DEBUG_DNS = false DEBUG_CRYPTO = false MIN_TLS_VERSION = tls.VersionTLS13 )
https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt
Variables ¶
View Source
var CipherSuites []uint16 = []uint16{ tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, }
WRITE_TIMEOUT = 1 * time.Second
View Source
var (
ErrFalseDialer = errors.New("not allow to dail")
)
View Source
var TlsCipherText = map[uint16]string{ tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: "ECDHE_ECDSA_AES128GCM_SHA256", tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: "ECDHE_RSA_AES128GCM_SHA256", tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: "ECDHE_ECDSA_AES256GCM_SHA384", tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: "ECDHE_RSA_AES256GCM_SHA384", tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305: "ECDHE_ECDSA_CHACHA20_POLY1305", tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305: "ECDHE_RSA_CHACHA20_POLY1305", tls.TLS_AES_128_GCM_SHA256: "AES128GCM_SHA256", tls.TLS_AES_256_GCM_SHA384: "AES256GCM_SHA384", tls.TLS_CHACHA20_POLY1305_SHA256: "CHACHA20_POLY1305_SHA256", }
View Source
var TlsVersionText = map[uint16]string{ tls.VersionTLS12: "TLS12", tls.VersionTLS13: "TLS13", }
Functions ¶
func CopyLink ¶
func CopyLink(dst, src io.ReadWriteCloser)
func FormatTlsState ¶
func GetServersFromConf ¶
func ListenAndServe ¶
func ListenAndServeFunc ¶
func SetLogging ¶
func SetLogging(logfile, loglevel string)
func UDPListenAndServe ¶
func UDPListenAndServe(network, address string, handler UDPHandler) (err error)
func UDPListenAndServeFunc ¶
Types ¶
type Dialer ¶
type Dialer interface { Dial(string, string) (net.Conn, error) DialTimeout(string, string, time.Duration) (net.Conn, error) }
var Default4Dialer Dialer = &Net4Dialer{}
var DefaultFalseDialer Dialer = &FalseDialer{}
type DnsExchanger ¶
type DnsExchanger struct { Servers []string // contains filtered or unexported fields }
func NewDnsExchanger ¶
func NewDnsExchanger(servers []string, dnsnet string) (d *DnsExchanger)
type ExchangeResolver ¶
type ExchangeResolver struct {
Exchanger
}
func (*ExchangeResolver) LookupIP ¶
func (xchg *ExchangeResolver) LookupIP(host string) (addrs []net.IP, err error)
func (*ExchangeResolver) LookupIPContext ¶
type Exchanger ¶
type Exchanger interface { Exchange(*dns.Msg) (*dns.Msg, error) ExchangeContext(context.Context, *dns.Msg) (*dns.Msg, time.Duration, error) }
var DefaultExchanger Exchanger
type FalseDialer ¶
type FalseDialer struct { }
func (*FalseDialer) Dial ¶
func (fd *FalseDialer) Dial(network, address string) (conn net.Conn, err error)
func (*FalseDialer) DialTimeout ¶
type Net4Dialer ¶
type Net4Dialer struct { }
func (*Net4Dialer) Dial ¶
func (nd *Net4Dialer) Dial(network, address string) (conn net.Conn, err error)
func (*Net4Dialer) DialTimeout ¶
type NetResolver ¶
func (*NetResolver) LookupIP ¶
func (n *NetResolver) LookupIP(host string) (addrs []net.IP, err error)
func (*NetResolver) LookupIPContext ¶
type Resolver ¶
type Resolver interface { LookupIP(string) ([]net.IP, error) LookupIPContext(context.Context, string) ([]net.IP, error) }
var DefaultResolver Resolver = &NetResolver{}
type UDPHandler ¶
Click to show internal directories.
Click to hide internal directories.