Versions in this module Expand all Collapse all v1 v1.0.0 Jul 2, 2020 Changes in this version type VmessOption + ServerName string v0 v0.20.0 May 8, 2020 Changes in this version type Base + func (b *Base) Unwrap(metadata *C.Metadata) C.Proxy + type HTTPOptions struct + Headers map[string][]string + Method string + Path []string type VmessOption + HTTPOpts HTTPOptions v0.19.0 Mar 27, 2020 Changes in this version + func NewConn(c net.Conn, a C.ProxyAdapter) C.Conn + func ParseProxy(mapping map[string]interface{}) (C.Proxy, error) + type Base struct + func NewBase(name string, addr string, tp C.AdapterType, udp bool) *Base + func (b *Base) Addr() string + func (b *Base) DialUDP(metadata *C.Metadata) (C.PacketConn, error) + func (b *Base) MarshalJSON() ([]byte, error) + func (b *Base) Name() string + func (b *Base) StreamConn(c net.Conn, metadata *C.Metadata) (net.Conn, error) + func (b *Base) SupportUDP() bool + func (b *Base) Type() C.AdapterType + type Direct struct + func NewDirect() *Direct + func (d *Direct) DialContext(ctx context.Context, metadata *C.Metadata) (C.Conn, error) + func (d *Direct) DialUDP(metadata *C.Metadata) (C.PacketConn, error) + type Http struct + func NewHttp(option HttpOption) *Http + func (h *Http) DialContext(ctx context.Context, metadata *C.Metadata) (C.Conn, error) + func (h *Http) StreamConn(c net.Conn, metadata *C.Metadata) (net.Conn, error) + type HttpOption struct + Name string + Password string + Port int + Server string + SkipCertVerify bool + TLS bool + UserName string + type NopConn struct + func (rw *NopConn) Close() error + func (rw *NopConn) LocalAddr() net.Addr + func (rw *NopConn) Read(b []byte) (int, error) + func (rw *NopConn) RemoteAddr() net.Addr + func (rw *NopConn) SetDeadline(time.Time) error + func (rw *NopConn) SetReadDeadline(time.Time) error + func (rw *NopConn) SetWriteDeadline(time.Time) error + func (rw *NopConn) Write(b []byte) (int, error) + type PacketConn interface + WriteWithMetadata func(p []byte, metadata *C.Metadata) (n int, err error) + type Proxy struct + func NewProxy(adapter C.ProxyAdapter) *Proxy + func (p *Proxy) Alive() bool + func (p *Proxy) DelayHistory() []C.DelayHistory + func (p *Proxy) Dial(metadata *C.Metadata) (C.Conn, error) + func (p *Proxy) DialContext(ctx context.Context, metadata *C.Metadata) (C.Conn, error) + func (p *Proxy) LastDelay() (delay uint16) + func (p *Proxy) MarshalJSON() ([]byte, error) + func (p *Proxy) URLTest(ctx context.Context, url string) (t uint16, err error) + type Reject struct + func NewReject() *Reject + func (r *Reject) DialContext(ctx context.Context, metadata *C.Metadata) (C.Conn, error) + func (r *Reject) DialUDP(metadata *C.Metadata) (C.PacketConn, error) + type ShadowSocks struct + func NewShadowSocks(option ShadowSocksOption) (*ShadowSocks, error) + func (ss *ShadowSocks) DialContext(ctx context.Context, metadata *C.Metadata) (C.Conn, error) + func (ss *ShadowSocks) DialUDP(metadata *C.Metadata) (C.PacketConn, error) + func (ss *ShadowSocks) MarshalJSON() ([]byte, error) + func (ss *ShadowSocks) StreamConn(c net.Conn, metadata *C.Metadata) (net.Conn, error) + type ShadowSocksOption struct + Cipher string + Name string + Obfs string + ObfsHost string + Password string + Plugin string + PluginOpts map[string]interface{} + Port int + Server string + UDP bool + type ShadowsocksR struct + ObfsData interface{} + ProtocolData interface{} + func NewShadowsocksR(ssrop ShadowsocksROption) (*ShadowsocksR, error) + func (ssr *ShadowsocksR) DialUDP(metadata *C.Metadata) (pac C.PacketConn, err error) + func (ssr *ShadowsocksR) MarshalJSON() ([]byte, error) + func (ssrins *ShadowsocksR) DialContext(ctx context.Context, metadata *C.Metadata) (C.Conn, error) + type ShadowsocksROption struct + Cipher string + Name string + Obfs string + ObfsParam string + Password string + Port int + Protocol string + ProtocolParam string + Server string + type Snell struct + func NewSnell(option SnellOption) (*Snell, error) + func (s *Snell) DialContext(ctx context.Context, metadata *C.Metadata) (C.Conn, error) + func (s *Snell) StreamConn(c net.Conn, metadata *C.Metadata) (net.Conn, error) + type SnellOption struct + Name string + ObfsOpts map[string]interface{} + Port int + Psk string + Server string + type Socks5 struct + func NewSocks5(option Socks5Option) *Socks5 + func (ss *Socks5) DialContext(ctx context.Context, metadata *C.Metadata) (C.Conn, error) + func (ss *Socks5) DialUDP(metadata *C.Metadata) (_ C.PacketConn, err error) + func (ss *Socks5) StreamConn(c net.Conn, metadata *C.Metadata) (net.Conn, error) + type Socks5Option struct + Name string + Password string + Port int + Server string + SkipCertVerify bool + TLS bool + UDP bool + UserName string + type Trojan struct + func NewTrojan(option TrojanOption) (*Trojan, error) + func (t *Trojan) DialContext(ctx context.Context, metadata *C.Metadata) (C.Conn, error) + func (t *Trojan) DialUDP(metadata *C.Metadata) (C.PacketConn, error) + func (t *Trojan) MarshalJSON() ([]byte, error) + func (t *Trojan) StreamConn(c net.Conn, metadata *C.Metadata) (net.Conn, error) + type TrojanOption struct + ALPN []string + Name string + Password string + Port int + SNI string + Server string + SkipCertVerify bool + UDP bool + type Vmess struct + func NewVmess(option VmessOption) (*Vmess, error) + func (v *Vmess) DialContext(ctx context.Context, metadata *C.Metadata) (C.Conn, error) + func (v *Vmess) DialUDP(metadata *C.Metadata) (C.PacketConn, error) + func (v *Vmess) StreamConn(c net.Conn, metadata *C.Metadata) (net.Conn, error) + type VmessOption struct + AlterID int + Cipher string + Name string + Network string + Port int + Server string + SkipCertVerify bool + TLS bool + UDP bool + UUID string + WSHeaders map[string]string + WSPath string