URL used to refresh the Tor exit-node list.
Optional local CIDR files appended to the built-in VPN/proxy ranges.
Whether paid-tier list loading should be enabled.
Whether RDAP lookups may be used as a fallback classifier.
Run the full IP classification pass and return all derived flags together.
RDAP is looked up once and shared across VPN/proxy/hosting heuristics.
Query ARIN RDAP (falling back to RIPE on 404) to look up the registered network name and origin ASN for a given IPv4 address.
Returns {} for IPv6 addresses and on any network/parse failure so that
callers can always destructure the result safely.
Fetch the Tor exit-node list and any licensed local CIDR files once.
Initialization is best-effort: failed downloads or unreadable files do not throw.
Classify whether the IP belongs to a known AI-agent range.
Returns the matched provider plus a numeric confidence score when a catalog
range applies, otherwise { isAiAgent: false }.
Classify an IP as datacenter or hosting-provider traffic.
Checks known hosting CIDRs first, then optionally falls back to RDAP organization-name heuristics.
OptionalrdapInfo: { asn?: number; asnOrg?: string }Classify an IP as proxy traffic.
Checks the bundled/license-supplied CIDR lists first, then optionally falls back to RDAP organization-name heuristics.
OptionalrdapInfo: { asn?: number; asnOrg?: string }Return true when the IP appears in the cached Tor exit-node list.
Classify an IP as VPN traffic.
Checks the bundled/license-supplied CIDR lists first, then optionally falls back to RDAP organization-name heuristics.
OptionalrdapInfo: { asn?: number; asnOrg?: string }Reset cached remote and local lists, then re-run initialization.
Classifies IPs as Tor, VPN, proxy, hosting, or AI-agent traffic.
Detection blends maintained CIDR lists with optional RDAP lookups so the classifier can fall back to registrant-name heuristics when an address is not covered by the bundled IPv4 ranges.