Versions in this module Expand all Collapse all v0 v0.4.3 Nov 9, 2026 v0.4.2 Nov 4, 2026 Changes in this version + const DefaultProbeURL + var BuiltinSources = []Source + func DialThrough(ctx context.Context, proxyURL *url.URL, address string) (net.Conn, error) + func SourceNames() []string + type Config struct + CheckInterval func() time.Duration + Concurrency int + Enabled func() bool + FetchInterval func() time.Duration + ProbeTimeout time.Duration + ProbeURL func() string + type Gateway struct + func NewGateway(addr string) *Gateway + func (g *Gateway) Addr() string + func (g *Gateway) SetUpstream(fn func(host string) *url.URL) + func (g *Gateway) Start() error + func (g *Gateway) Stop() + type Pool struct + func NewPool(database *db.DB, cfg Config) *Pool + func (p *Pool) FetchSourceNow(ctx context.Context, name string) (total, added int, err error) + func (p *Pool) ProbeNow(ctx context.Context, id int64) (ProbeResult, error) + func (p *Pool) Start(parent context.Context) + func (p *Pool) Stop() + type ProbeResult struct + Err string + Latency time.Duration + OK bool + func Probe(ctx context.Context, proxyURL *url.URL, probeURL string, timeout time.Duration) ProbeResult + type Source struct + Name string + Protocol string + URL string