Supported services
The following methods are used to periodically collect the IP ranges:
- atlassian - get and parse https://ip-ranges.atlassian.com/
- amazon web services (aws) - get and parse https://ip-ranges.amazonaws.com/ip-ranges.json
- azure - get and parse from https://docs.microsoft.com/en-us/azure/virtual-network/service-tags-overview#service-tags-on-premises
- betteruptime - get https://betteruptime.com/ips.txt
- circle ci - dns lookup of records https://circleci.com/docs/ip-ranges
- cloudflare - get https://www.cloudflare.com/ips-v4 (+6)
- datadog - get and parse https://ip-ranges.datadoghq.com/
- digital ocean (do) - asn lookup (AS14061)
- facebook - asn lookup (AS32934)
- fastly - get and parse https://api.fastly.com/public-ip-list
- github - get and parse https://api.github.com/meta
- google cloud project (gcp) - get and parse https://www.gstatic.com/ipranges/cloud.json
- hetrixtools - dns lookup of records https://docs.hetrixtools.com/uptime-monitoring-ip-addresses/
- hetzner - asn lookup (AS24940)
- linode - asn lookup (AS63949)
- nodeping - get and parse https://nodeping.com/content/txt/pinghosts.txt
- oracle - get and parse https://docs.oracle.com/en-us/iaas/tools/public_ip_ranges.json
- panopta - get and parse https://api.panopta.com/metadata/getMonitoringLocationIPList
- pingdom - get and parse https://my.pingdom.com/probes/ipv4 (+6)
- terraform - use api as described https://www.terraform.io/cloud-docs/api-docs/ip-ranges
- tor - exit nodes from https://check.torproject.org/torbulkexitlist
- travis ci - dns lookup of records https://docs.travis-ci.com/user/ip-addresses/
- uptimerobot - get and parse https://uptimerobot.com/inc/files/ips/IPv4.txt (+6)
- vultr - asn lookup (AS20473)
Usage
Typically you would use this tool from the command line, in a script, in cron or directly in a tool. All results are cached for hours, so there no point requesting it more than a few times a day. Rate limiting might trigger a 429 error. For now regions are mostly not supported.
Example to get both ipv4 and ipv6 for fastly from command line:
curl "https://iplists.shl8.com/list?service=fastly&ipversion=10&optimise=yes&output=plain"The optimise option will try to merge ranges into bigger blocks if possible.
Headers may indicate issues:
- x-iplists-outdated - True if the returned list has not been updated for several days.
- x-iplists-[service]-age - Seconds since list for given service was updated.
- x-iplists-length - The number of subnets.