explaingit

xykt/ipquality

8,412ShellAudience · ops devopsComplexity · 1/5Setup · easy

TLDR

IPQuality is a shell script that checks an IP address's reputation by querying multiple online databases and prints a report covering location, risk scores, blacklist status, and streaming service access.

Mindmap

mindmap
  root((ipquality))
    What it checks
      IP location info
      IP type detection
      Risk scores
      Blacklist databases
    Service tests
      Streaming services
      Email providers
      AI platforms
    Output options
      Formatted report
      JSON output
      Save to file
    Setup
      Single curl command
      Docker on Windows
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Check whether a VPN or server IP is on any blacklist before using it for sending email.

USE CASE 2

Test whether a given IP address can access streaming services like Netflix, Disney Plus, or YouTube.

USE CASE 3

Get risk scores from multiple databases to determine if an IP is residential, a data center host, or a proxy.

USE CASE 4

Run an automated IP reputation check in a shell script and save the output as JSON for further processing.

Tech stack

ShellcurlDocker

Getting it running

Difficulty · easy Time to first run · 5min

Some risk score checks require API keys for third-party services, those sections may show incomplete data without them.

In plain English

IPQuality is a shell script that checks the reputation and characteristics of an IP address from the command line. You run it on a Linux or macOS machine, it contacts several online databases, and it prints a formatted report covering where the IP is located, what type it is, what risk scores have been assigned to it, and whether it can access various streaming services. The report is organized into six sections. The first covers basic information such as the IP's country, region, and autonomous system. The second shows the IP type, distinguishing residential addresses from data center or proxy addresses. The third and fourth sections pull risk scores and risk factors from a collection of services including AbuseIPDB, IPinfo, ipregistry, IP2Location, IPQS, DB-IP, and Scamalytics. The fifth section tests whether the IP can unlock streaming services and AI platforms including Netflix, Disney Plus, TikTok, YouTube, Amazon Prime Video, Reddit, and ChatGPT. The sixth section tests whether the IP can send email through providers such as Gmail, Outlook, Yahoo, and Apple. The script also checks over 400 IP blacklist databases to see if the address appears on any of them. Running it is a single command: you pipe a curl request to bash, and it downloads and executes the script. There is also a Docker image available for Windows users or anyone who prefers not to run the script directly. Command-line flags let you check only IPv4 or only IPv6, target a specific network interface, route requests through a proxy, output results as JSON, save the report to a file, or enable a privacy mode that skips generating a shareable online report. The README is primarily in Chinese, with an English version linked separately. The project is actively maintained, with a changelog showing updates through early 2026.

Copy-paste prompts

Prompt 1
Run IPQuality on my server's IP address and save the full report as a JSON file I can parse in a script.
Prompt 2
I'm setting up email infrastructure and need to check if my outbound IP appears on any of the 400+ blacklist databases IPQuality checks. How do I run that scan?
Prompt 3
How do I route IPQuality's requests through a specific proxy so I can check the reputation of an IP other than my own server's address?
Prompt 4
Show me the IPQuality command-line flag to check only IPv4 addresses so I can use it in a shell script loop over a list of IPs.
Open on GitHub → Explain another repo

← xykt on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.