Versions in this module Expand all Collapse all v1 v1.0.2 Sep 12, 2024 Changes in this version + func ParseProxyGroup(config map[string]any, proxyMap map[string]C.Proxy, ...) (C.ProxyAdapter, error) + type Fallback struct + func NewFallback(option *GroupCommonOption, providers []provider.ProxyProvider) *Fallback + func (f *Fallback) DialContext(ctx context.Context, metadata *C.Metadata, opts ...dialer.Option) (C.Conn, error) + func (f *Fallback) ListenPacketContext(ctx context.Context, metadata *C.Metadata, opts ...dialer.Option) (C.PacketConn, error) + func (f *Fallback) MarshalJSON() ([]byte, error) + func (f *Fallback) Now() string + func (f *Fallback) Providers() []provider.ProxyProvider + func (f *Fallback) SupportUDP() bool + func (f *Fallback) Unwrap(metadata *C.Metadata) C.Proxy + type GroupCommonOption struct + DisableUDP bool + Interval int + Lazy bool + Name string + Proxies []string + Type string + URL string + Use []string + type LoadBalance struct + func NewLoadBalance(option *GroupCommonOption, providers []provider.ProxyProvider, strategy string) (lb *LoadBalance, err error) + func (lb *LoadBalance) DialContext(ctx context.Context, metadata *C.Metadata, opts ...dialer.Option) (c C.Conn, err error) + func (lb *LoadBalance) ListenPacketContext(ctx context.Context, metadata *C.Metadata, opts ...dialer.Option) (pc C.PacketConn, err error) + func (lb *LoadBalance) MarshalJSON() ([]byte, error) + func (lb *LoadBalance) Now() string + func (lb *LoadBalance) Providers() []provider.ProxyProvider + func (lb *LoadBalance) SupportUDP() bool + func (lb *LoadBalance) Unwrap(metadata *C.Metadata) C.Proxy + type ProxyGroup interface + Now func() string + Providers func() []provider.ProxyProvider + type Relay struct + func NewRelay(option *GroupCommonOption, providers []provider.ProxyProvider) *Relay + func (r *Relay) DialContext(ctx context.Context, metadata *C.Metadata, opts ...dialer.Option) (C.Conn, error) + func (r *Relay) MarshalJSON() ([]byte, error) + func (r *Relay) Now() string + func (r *Relay) Providers() []provider.ProxyProvider + type Selector struct + func NewSelector(option *GroupCommonOption, providers []provider.ProxyProvider) *Selector + func (s *Selector) DialContext(ctx context.Context, metadata *C.Metadata, opts ...dialer.Option) (C.Conn, error) + func (s *Selector) ListenPacketContext(ctx context.Context, metadata *C.Metadata, opts ...dialer.Option) (C.PacketConn, error) + func (s *Selector) MarshalJSON() ([]byte, error) + func (s *Selector) Now() string + func (s *Selector) Providers() []provider.ProxyProvider + func (s *Selector) Set(name string) error + func (s *Selector) SupportUDP() bool + func (s *Selector) Unwrap(metadata *C.Metadata) C.Proxy + type URLTest struct + func NewURLTest(option *GroupCommonOption, providers []provider.ProxyProvider, ...) *URLTest + func (u *URLTest) DialContext(ctx context.Context, metadata *C.Metadata, opts ...dialer.Option) (c C.Conn, err error) + func (u *URLTest) ListenPacketContext(ctx context.Context, metadata *C.Metadata, opts ...dialer.Option) (C.PacketConn, error) + func (u *URLTest) MarshalJSON() ([]byte, error) + func (u *URLTest) Now() string + func (u *URLTest) Providers() []provider.ProxyProvider + func (u *URLTest) SupportUDP() bool + func (u *URLTest) Unwrap(metadata *C.Metadata) C.Proxy