Versions in this module Expand all Collapse all v0 v0.1.0 May 28, 2026 Changes in this version + func FilterByCountry(codes ...string) func(ProxyNode) bool + func FilterByName(keyword string) func(ProxyNode) bool + func FilterByType(types ...string) func(ProxyNode) bool + func HealthyDials(results []NodeResult) []proxyclient.Dial + func NodeToURL(node map[string]any) (*url.URL, error) + type GeoLookup struct + func Geo() *GeoLookup + func (g *GeoLookup) LookupIP(ipStr string) (string, bool) + func (g *GeoLookup) ResolveAndLookup(host string) (string, bool) + type HealthCheckConfig struct + Concurrency int + Timeout time.Duration + URL string + type NodeResult struct + Dial proxyclient.Dial + Err error + Latency time.Duration + Node ProxyNode + func HealthCheck(sub *Subscription, cfg *HealthCheckConfig, filter func(ProxyNode) bool) []NodeResult + type Options struct + Filter func(node ProxyNode) bool + HealthCheck *HealthCheckConfig + Strategy Strategy + UserAgent string + type ProxyGroup struct + Name string + Proxies []string + Type string + type ProxyNode struct + Name string + Port int + RawConf map[string]any + Server string + Supported bool + Type string + URL *url.URL + func DialableNodes(sub *Subscription) []ProxyNode + func NodesByType(sub *Subscription, proxyType string) []ProxyNode + func SupportedNodes(sub *Subscription) []ProxyNode + type Strategy string + const StrategyAdaptive + const StrategyFirst + const StrategyHash + const StrategyRandom + const StrategyRoundRobin + const StrategyURLTest + type Subscription struct + Groups []ProxyGroup + Nodes []ProxyNode + func FetchSubscription(subscribeURL string) (*Subscription, error) + func FetchSubscriptionWithUA(subscribeURL, userAgent string) (*Subscription, error) + func NewDialer(subscribeURL string, opts Options) (proxyclient.Dial, *Subscription, error) + func NewDialerFromSubscription(sub *Subscription, opts Options) (proxyclient.Dial, *Subscription, error) + func ParseSubscription(data []byte) (*Subscription, error)