Versions in this module Expand all Collapse all v0 v0.5.0 Apr 18, 2026 Changes in this version + var DefaultCloudflareIPs = []string + var DefaultSNICandidates = []string + type IPResult struct + Err string + IP netip.Addr + Port uint16 + RTT time.Duration + Reachable bool + func ProbeIP(ctx context.Context, ip netip.Addr, port uint16, timeout time.Duration) IPResult + func ProbeIPs(ctx context.Context, ips []string, port uint16, timeout time.Duration, ...) []IPResult + func RankIPs(in []IPResult) []IPResult + type Outcome int + const OutcomeDPIReset + const OutcomeOK + const OutcomeTCPRefused + const OutcomeTLSError + const OutcomeTimeout + const OutcomeUnknown + func (o Outcome) String() string + type ProbeConfig struct + Concurrency int + ConnectTimeout time.Duration + HandshakeTimeout time.Duration + TargetIP netip.Addr + TargetPort uint16 + type Result struct + Err string + Handshake time.Duration + Outcome Outcome + RTT time.Duration + SNI string + TargetIP netip.Addr + func ProbeSNI(ctx context.Context, sni string, cfg ProbeConfig) Result + func ProbeSNIs(ctx context.Context, snis []string, cfg ProbeConfig, onResult func(Result)) []Result + func RankSNIs(in []Result) []Result