Versions in this module Expand all Collapse all v1 v1.0.1 Nov 13, 2018 Changes in this version + type DnsSyncResolver struct + func (c *DnsSyncResolver) GetDnsId() uint16 + func (c *DnsSyncResolver) ProcessDnsResponse(logger *zap.Logger, data []byte) + func (c *DnsSyncResolver) PutDnsId(dnsId uint16) + func (c *DnsSyncResolver) Start() + func (c *DnsSyncResolver) Stop() + func (c *DnsSyncResolver) WaitResponse(dnsId uint16, timeout time.Duration) (response *dns.Msg, err error) v1.0.0 Nov 13, 2018 Changes in this version + const AtTypeUdpIpv4 + const AtTypeUdpIpv6 + const CHANNEL_QUEUE_LENGTH + const DNS_BUFFER_POOL_SIZE + const DNS_BUFFER_SIZE + const DOMAIN_BLACK_LIST + const DOMAIN_WHITE_LIST + const UDP_BUFFER_POOL_SIZE + const UDP_BUFFER_SIZE + const UDP_OOB_BUFFER_SIZE + const UDP_OOB_POOL_SIZE + func AddrToString(a socks.Addr) string + func GenerateDomainStubs(domain string) []string + func PipeCommand(cmds ...*exec.Cmd) (output []byte, err error) + func ReadShadowsocksHeader(r io.Reader) (bool, socks.Addr, error) + func ReadUdpOverTcp(r io.Reader, buffer []byte) (int, error) + func WriteUdpOverTcp(w io.Writer, buffer []byte) (int, error) + type DNSServerInterface interface + ServerDNSPacket func(msg *dns.Msg) ([]byte, error) + type LeakyBuffer struct + func NewLeakyBuffer(poolSize int, bufferSize int) (ret *LeakyBuffer) + func (c *LeakyBuffer) Get() []byte + func (c *LeakyBuffer) GetBufferSize() int + func (c *LeakyBuffer) Put(buffer []byte) + type ProxyClientInterface interface + ExchangeDNS func(dnsAddr string, data []byte, timeout time.Duration) (response *dns.Msg, err error) + GetUDPBuffer func() []byte + HandleUDP func(buffer []byte, srcAddr *net.UDPAddr, dstAddr *net.UDPAddr, dataLen int) + PutUDPBuffer func(buffer []byte) + SetDNSProcessor func(server DNSServerInterface)