Every few months I'd find myself doing the same thing: downloading AWS's ip ranges.json, Azure's ServiceTags JSON, Google cloud.json, then writing a script to convert them to whatever firewall format I needed that week, then doing it again when the ranges changed
I automated the whole thing,a GitHub Actions workflow runs daily at midnight UTC, pulls from all 22 providers official endpoints, and generates:
- TXT/JSON/CSV/SQL for each provider
- Nginx allow/deny configs you can include directly
- Apache Require ip / Deny from directives
- iptables/ip6tables shell scripts
- nftables table definitions
- UFW allow/deny scripts
- HAProxy ACL files
- Caddy remote_ip matchers
- Merged CIDRs — collapsed to the smallest possible list
Perservice and per-region breakdowns for providers that support it (e.g., AWS EC2 us-east-1 only, or just GitHub Actions IPs)
Also includes AI bot ranges (GPTBot, PerplexityBot, Amazonbot, etc.) for those who care about that, the whole thing is public domain (CC0)
The data currently covers 419K CIDRs / ~333M IPv4 addresses, theres a lookup.py script if you need to check "which cloud owns this IP?" and a CHANGELOG.md tracking daily diffs
Curious if folks have firewall platforms or providers I should add??
rezmoss•1h ago
I automated the whole thing,a GitHub Actions workflow runs daily at midnight UTC, pulls from all 22 providers official endpoints, and generates:
- TXT/JSON/CSV/SQL for each provider - Nginx allow/deny configs you can include directly - Apache Require ip / Deny from directives - iptables/ip6tables shell scripts - nftables table definitions - UFW allow/deny scripts - HAProxy ACL files - Caddy remote_ip matchers - Merged CIDRs — collapsed to the smallest possible list
Perservice and per-region breakdowns for providers that support it (e.g., AWS EC2 us-east-1 only, or just GitHub Actions IPs)
Also includes AI bot ranges (GPTBot, PerplexityBot, Amazonbot, etc.) for those who care about that, the whole thing is public domain (CC0)
The data currently covers 419K CIDRs / ~333M IPv4 addresses, theres a lookup.py script if you need to check "which cloud owns this IP?" and a CHANGELOG.md tracking daily diffs
Curious if folks have firewall platforms or providers I should add??