3.6 KiB
Cloudfish
Cloudfish (aims to be) a selfhosted Cloudflare replacement.
Right now, it only features an IP abuse MMDB database builder. You give it an IP and it will expose 3 optional values: is_proxy, is_hosting and is_tor.
To use the database, you can use this PHP code:
<?php
require "geoip2.phar";
use MaxMind\Db\Reader as MmdbReader;
$cf = new MmdbReader("cloudfish.mmdb");
$cf_lookup = $reader_abuse->get("45.80.201.66");
print_r($cf_lookup); // ["is_hosting" => true]
Warning: Any field may be missing. Fields that are set are always set to true.
Data sources
Proxy detection (firehol)
- firehol_anonymous
- spamhaus_drop
- dshield_30d
- greensnow
- blocklist_de
- bruteforceblocker
- ciarmy
- myip
- vxvault
- blocklist_net_ua
- botscout_30d
- cybercure
- cybercrime
VPN providers (inserted in db as "is_proxy")
- Tunnelbear (source)
- ProtonVPN (source)
- Windscribe (source)
- pia/proton/apple/mullvad ipv4, ipv6 (source)
Hosting detection
Tor detection
Recommendation
I recommend these additional MMDB databases to complement Cloudfish.
ASN detection
Country/city detection
Try it
I wrote a simple IP lookup script. It's available at ip.lolcat.ca, ip4.lolcat.ca and ip6.lolcat.ca.
Disclaimer
I transpiled MMDBWriter.php from it's original Go implementation using Claude. I'll make my own when I have more time, no idea if the filesize could be reduced.
License
AGPLv3, make sure to credit all blocklists used, they all have their own fuckass licenses.