Skip to content

ProxyHatCom/ipvet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ipvet

Check proxy IP reputation before you burn requests.

License: MIT Python 3.10+

Installation · Usage · Options · Scoring · JSON export


Paste an IP or proxy string. Get blacklist hits, datacenter/residential classification, and a quality score.

$ ipvet check -i 74.89.46.126 -i 185.23.92.34 -i 103.47.12.8

Checking 3 IP(s) against 12 blacklists...

                         IP Reputation Report
┌───────────────┬────────────┬───────────────────┬─────────┬────────────┬───────┬───────┐
│ IP            │ Type       │ ISP               │ Country │ Blacklists │ Score │ Grade │
├───────────────┼────────────┼───────────────────┼─────────┼────────────┼───────┼───────┤
│ 74.89.46.126  │ Residential│ Optimum Online    │ US      │       0/12 │    95 │   A   │
│ 185.23.92.34  │ Datacenter │ OVH SAS           │ FR      │       2/12 │    66 │   B   │
│ 103.47.12.8   │ Datacenter │ DigitalOcean      │ SG      │       5/12 │    25 │   D   │
└───────────────┴────────────┴───────────────────┴─────────┴────────────┴───────┴───────┘

Summary: 3 IPs checked
  Clean: 1  Flagged: 2  Errors: 0
  Residential: 1  Datacenter: 2  Mobile: 0
  Average score: 62/100

Why

Proxy lists are black boxes. You pay for 1,000 IPs but have no idea:

  • How many are already blacklisted? Flagged IPs waste requests and get you blocked instantly.
  • Are they actually residential? Datacenter IPs are easier to detect and block.
  • Are any marked as known proxies/VPNs? Some IPs are flagged in public databases before you even use them.

ipvet answers these in seconds. Check IPs before routing production traffic through them. Works with any proxy provider.

Install

macOS

brew install pipx && pipx install git+https://github.com/ProxyHatCom/ipvet.git

Linux

python3 -m pip install pipx && pipx install git+https://github.com/ProxyHatCom/ipvet.git

Windows

pip install git+https://github.com/ProxyHatCom/ipvet.git

Docker

docker build -t ipvet .
docker run --rm ipvet check -i 1.2.3.4

After install the ipvet command is available globally — no venv needed.

Usage

Check specific IPs

ipvet check -i 1.2.3.4
ipvet check -i 1.2.3.4 -i 5.6.7.8 -i 9.10.11.12

Check a SOCKS5 proxy's exit IP

Pass --proxy / -p to connect through the proxy and check the exit IP that servers actually see:

ipvet check -p user:pass@gate.example.com:1080
ipvet check -p socks5://user:pass@proxy.example.com:1080

You can mix proxies and raw IPs in a single command:

ipvet check -p user:pass@gate.example.com:1080 -i 5.6.7.8

Check from a file

One IP or proxy string per line:

ipvet check -f ips.txt

Interactive mode

ipvet run

Paste IPs or proxy strings one per line. Enter a blank line to start checking.

Detailed output

Add -d to see which specific blacklists flagged each IP:

ipvet check -i 1.2.3.4 -d

Options

Flag Short Default Description
--ip -i IP address to check
--proxy -p SOCKS5 proxy — connects through it to find exit IP
--file -f File with IPs (one per line)
--detail -d off Show per-IP blacklist breakdown
--timeout 15s Per-request timeout
--output -o Export results to JSON file

Scoring

Each IP starts at 100 and loses points for risk factors:

Factor Penalty
Each blacklist hit -7 (max -70)
Datacenter IP -10
Known proxy/VPN -15

Grades:

Score Grade Meaning
80–100 A Clean — safe for production
60–79 B Fair — may face some blocks
40–59 C Poor — likely blocked on many sites
20–39 D Bad — heavily flagged
0–19 F Toxic — avoid

Blacklists checked

ipvet queries 12 DNS-based blacklists in parallel:

Spamhaus ZEN, Barracuda, SpamCop, SORBS, S5H, UCEProtect-1, DroneRL, InterServer, WPBL, PSBL, Mailspike, BlockList.de

JSON export

ipvet check -i 1.2.3.4 -o results.json
[
  {
    "ip": "1.2.3.4",
    "score": 93,
    "grade": "A",
    "type": "Residential",
    "country": "US",
    "isp": "Comcast Cable",
    "org": "Comcast Cable Communications",
    "asn": "AS7922",
    "is_datacenter": false,
    "is_proxy": false,
    "is_mobile": false,
    "blacklists_checked": 12,
    "blacklists_listed": 1,
    "blacklists": [
      {"name": "Spamhaus ZEN", "listed": true},
      {"name": "Barracuda", "listed": false}
    ]
  }
]

How it works

  1. Resolve — with --proxy, connects through the SOCKS5 proxy to discover the real exit IP. With --ip, resolves hostnames via DNS.
  2. Geo lookupip-api.com provides ISP, ASN, country, and datacenter/proxy/mobile classification
  3. DNSBL scan — 12 blacklists are queried in parallel via reverse-IP DNS lookups
  4. Score — penalties are applied based on blacklist hits and IP classification

No API keys required. All data sources are free.

Provider example

This tool is provider-agnostic. Here's an example checking IPs from ProxyHat:

ipvet check -p user:pass@gate.proxyhat.com:1080

Development

git clone https://github.com/ProxyHatCom/ipvet.git
cd ipvet
pip install -e ".[dev]"
pytest

License

MIT

About

Check proxy IP reputation before you burn requests. Blacklist scanning, datacenter/residential classification, and quality scoring — all from the CLI.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors