# Packages
Package protocol implements all the generic protocols to detect public IP addresses.
# Functions
CloseIdleConnections closes all idle (keep-alive) connections after the detection.
Hint1111Blockage prints out a message that explains the parallel connection to 1.0.0.1.
MustNewCustomURL creates a HTTP provider and panics if it fails.
Name gets the protocol name.
NewCloudflareDOH creates a new provider that queries whoami.cloudflare.
NewCloudflareTrace creates a specialized CloudflareTrace provider that parses https://1.1.1.1/cdn-cgi/trace.
NewCustomURL creates a HTTP provider.
NewHappyEyeballs creates a new [Provider] by applying the Happy Eyeballs algorithm to [SplitProvider].
NewIpify creates a specialized HTTP provider that uses the ipify service.
NewLocal creates a specialized Local provider that uses Cloudflare as the remote server.
NewLocalWithInterface creates a protocol.LocalWithInterface provider.
# Constants
HappyEyeballsAlternativeDelay is the delay to start the alternative detection method.
nolint:lll.
Re-exporting constants from protocol.
Re-exporting constants from protocol.
Re-exporting constants from protocol.
# Interfaces
Provider is the abstraction of a protocol to detect public IP addresses.
SplitProvider is the abstraction of a protocol to detect public IP addresses in potentially two ways.
# Type aliases
Method reexports [protocol.Method].