CLI Bash tool that provides a quick reputation snapshot for IPs, hosts, and domains by aggregating signals from:
- DNSBLs (Spamhaus + various others)
- SenderScore (scraped public report)
- AbuseIPDB (API)
- VirusTotal (API)
In short: One command ⇒ aggregated reputation check per IP + domain checks + MX chain.
- A-records, rDNS, MX lookups, and DNSBL checks (IPv4; IPv6 skipped since most DNSBLs lack IPv6 coverage)
- Parallel lookups from SenderScore, AbuseIPDB, VirusTotal
- “Extended” DNSBL set toggle
- Nicely formatted terminal output
- Linux/macOS shell
dig,curl,jq(jq optional; script falls back toawk)- API keys:
- AbuseIPDB (optional, recommended)
- VirusTotal (optional)
Clone the repository and make the script executable:
git clone https://github.com/lulzkiller666/Reputation360.git
cd Reputation360
chmod +x rp360.sh(Optional) Move it into your $PATH so you can call it from anywhere:
sudo mv rp360.sh /usr/local/bin/reputation360Now you can run it with reputation360 <domain|ip>.
- Add API keys (either edit variables at the top of the script or export them as environment variables in your shell):
export ABUSEIPDB_KEY="..."
export ABUSEIPDB_MAX_AGE=90
export VT_API_KEY="..."- Run:
./rp360.sh example.com
./rp360.sh 203.0.113.10
./rp360.sh --file targets.txt # one IP per lineUsage: ./rp360.sh domain.tld [--file list.txt] <ip|host|domain> [...]
Optional env: RP360_RESOLVER='@1.1.1.1' RP360_SENDER_SCORE=0/1 RP360_EXTENDED_DNSBLS=0/1
Flags
--file <path>Load targets from file (one per line;#= comment).-h | --helpShow help.
Environment variables
RP360_RESOLVER='@IP'Use custom resolver (e.g.,@1.1.1.1).RP360_SENDER_SCORE=0|1Disable/enable SenderScore (default 1).RP360_EXTENDED_DNSBLS=0|1Disable/enable extended DNSBL set (can also be toggled via--extended).
Note: IPv6 DNSBL checks are skipped (most providers don’t support IPv6 DNSBL).
❯ ./rp360.sh example.com
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Reputation360 — multi-source reputation snapshot
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Notes: Best-effort aggregation — scraped sites may change.
Resolver: system resolver
IPv6: not tested (most providers don’t support IPv6 DNSBL).
AbuseIPDB: API mode (90d window)
VirusTotal: enabled
Extended DNSBLs: enabled
┌────────────────────────────────────────────────────────
│ example.com
└────────────────────────────────────────────────────────
✅ Resolved:
│ 192.0.2.10
ℹ️ DNSBLs for example.com
│ ✅ SURBL multi (domain): not listed
│ ✅ SEM URI (domain): not listed
│ ✅ SEM Fresh15 (domain): not listed
│ ✅ SURBL JP (domain): not listed
│ ✅ SURBL MW (domain): not listed
│ ✅ JustSpam URI (domain): not listed
│ ✅ SURBL CR (domain): not listed
✅ MX hosts for example.com (checking their IP reputation)
│ Note: MXes are typically inbound; outbound/smarthosts may differ.
│ MX: mail.example.com
┌────────────────────────────────────────────────────────
│ 198.51.100.25
└────────────────────────────────────────────────────────
✅ rDNS: mail.example.com
ℹ️ DNSBLs for 198.51.100.25
│ ✅ Spamhaus ZEN (direct): not listed
│ ✅ SpamCop: not listed
│ ✅ PSBL: not listed
│ ✅ UCEPROTECTL1: not listed
│ ✅ Barracuda: not listed
│ ✅ UCEPROTECTL2: not listed
│ ✅ UCEPROTECTL3: not listed
│ ✅ Mailspike BL: not listed
│ ✅ Mailspike Z: not listed
│ ✅ SPFBL: not listed
│ ✅ HostKarma Black: not listed
│ ✅ Backscatterer: not listed
│ ✅ SpamRBL: not listed
│ ✅ DroneBL: not listed
│ ✅ MSRBL Spam: not listed
│ ✅ MSRBL Phishing: not listed
│ ✅ RBL.JP all: not listed
│ ✅ S5h.net: not listed
│ ✅ Spamhaus SBL: not listed
│ ✅ CBL: not listed
│ ✅ Spamhaus XBL: not listed
│ ✅ Spamhaus CSS: not listed
│ ✅ Spamhaus PBL: not listed
│ ✅ Invaluement ivmSIP: not listed
│ ✅ Invaluement ivmSIP24: not listed
│ ✅ TornevallNET: not listed
│ ✅ WPBL: not listed
│ ✅ SEM BL: not listed
│ ✅ JustSpam: not listed
│ ✅ EFnet RBL: not listed
│ ✅ NordSpam: not listed
│ ✅ 0spam: not listed
│ ✅ MegaRBL: not listed
│ ✅ BlockList.de: not listed
│ ⚠️ Spamhaus ZEN (fallback): unavailable (resolver blocked/policy)
│ ✅ RATS Dyna: not listed
│ ✅ RATS Spam: not listed
│ ✅ RATS NoPtr: not listed
│ ✅ NIXSPAM: not listed
│ ✅ Proofpoint: not listed
┌────────────────────────────────────────────────────────
│ 192.0.2.10
└────────────────────────────────────────────────────────
✅ rDNS: web.example.com
ℹ️ DNSBLs for 192.0.2.10
│ ✅ Spamhaus ZEN (direct): not listed
│ ✅ SpamCop: not listed
│ ✅ PSBL: not listed
│ ✅ UCEPROTECTL1: not listed
│ ✅ Barracuda: not listed
│ ✅ UCEPROTECTL2: not listed
│ ✅ UCEPROTECTL3: not listed
│ ✅ Mailspike Z: not listed
│ ✅ SPFBL: not listed
│ ✅ Mailspike BL: not listed
│ ✅ HostKarma Black: not listed
│ ✅ SpamRBL: not listed
│ ✅ Backscatterer: not listed
│ ✅ RBL.JP all: not listed
│ ✅ MSRBL Phishing: not listed
│ ✅ DroneBL: not listed
│ ✅ MSRBL Spam: not listed
│ ✅ CBL: not listed
│ ✅ S5h.net: not listed
│ ✅ Spamhaus SBL: not listed
│ ✅ Spamhaus XBL: not listed
│ ✅ Spamhaus PBL: not listed
│ ✅ Spamhaus CSS: not listed
│ ✅ Invaluement ivmSIP24: not listed
│ ✅ Invaluement ivmSIP: not listed
│ ✅ TornevallNET: not listed
│ ✅ WPBL: not listed
│ ✅ SEM BL: not listed
│ ✅ JustSpam: not listed
│ ✅ EFnet RBL: not listed
│ ✅ 0spam: not listed
│ ✅ MegaRBL: not listed
│ ✅ NordSpam: not listed
│ ✅ BlockList.de: not listed
│ ⚠️ Spamhaus ZEN (fallback): unavailable (resolver blocked/policy)
│ ✅ RATS Dyna: not listed
│ ✅ RATS NoPtr: not listed
│ ✅ RATS Spam: not listed
│ ✅ NIXSPAM: not listed
│ ✅ Proofpoint: not listed
┌────────────────────────────────────────────────────────
│ SenderScore (per IP)
└────────────────────────────────────────────────────────
IP Score Rating Tier
───────────────────────────────────────────────────────────────────
ℹ️ 198.51.100.25 – INSUFFICIENT DATA INSUFFICIENT
································································
ℹ️ 192.0.2.10 – INSUFFICIENT DATA INSUFFICIENT
┌────────────────────────────────────────────────────────
│ AbuseIPDB (per IP)
└────────────────────────────────────────────────────────
IP Reports Confidence Last
─────────────────────────────────────────────────────────────
✅ 198.51.100.25 0 0% -
················································
✅ 192.0.2.10 0 0% -
┌────────────────────────────────────────────────────────
│ VirusTotal (per IP)
└────────────────────────────────────────────────────────
IP Malicious Suspicious Harmless Last Analysis
────────────────────────────────────────────────────────────────────────
ℹ️ 198.51.100.25 0 0 0 2025-08-24T11:34:02Z
················································
ℹ️ 192.0.2.10 0 0 0 2024-10-04T23:37:41Z
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- SenderScore: Retrieved via HTML scraping; DOM changes may break it.
- Spamhaus ZEN: Queried via both “direct” (system resolver) and “fallback” resolvers. Some resolvers block policy queries.
- AbuseIPDB/VirusTotal: Official APIs used; subject to rate limits.
- Output may reveal rDNS/MX topology. Run locally; only share what’s necessary.
- “
curl not available” → installcurl. - “
dig not available” → installbind-tools/dnsutils. - Empty SenderScore/VT/AbuseIPDB panels → missing keys, rate-limits, or temporary outage.
- Many
UNAVAILABLEin DNSBL → resolver or zone blocks queries. TryRP360_RESOLVER='@1.1.1.1'.
MIT