Skip to content

Add IP reputation & blacklist check #48

Description

@francomano

Description

Add an IP reputation check that queries the exit IP against Tor exit node lists, DNSBL blacklists, and VPN/datacenter detection APIs. This answers the #1 question developers have: "why am I getting blocked/CAPTCHAd?"

proxychains-ng issues (#590, #563) show persistent demand. VPN data shows ~70% of blocking is IP-reputation-based.

Codebase starting point

  • core/checks/public_ip/check.go — template for adapter-based checks, stores public_ip in shared data
  • core/checks/register.go — where to register the new check
  • core/check/types.goCategoryReputation already defined

Acceptance Criteria

  • Create core/checks/ip_reputation/check.go implementing check.Checker
  • Query Tor exit node list (check.torproject.org/torbulkexitlist — plain text, free, updated hourly)
  • Perform DNSBL lookup (<IP-reversed>.zen.spamhaus.org — standard DNS lookup)
  • Query an IP quality API (ip-api.io free tier returns is_proxy, is_vpn, is_tor, is_datacenter, is_abuser)
  • Return: threat level, which lists flag the IP, datacenter/VPN/Tor status
  • Depends on public_ip
  • Register in core/checks/register.go
  • Add unit tests in core/checks/ip_reputation/check_test.go
  • Update README.md checks table
  • Update NEXT_STEPS.md to mark this as completed

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions