Looking for an accurate list of datacenter IP address ranges? After 3+ years of inactivity, 'ipcat' has been updated to sync with the published public IP ranges of major cloud providers. The list of datacenter IP ranges is available in CSV format, updated automatically on a daily basis, making it easy to integrate with your applications.
There are many situations where applications need to determine if a request came from an IP address that belongs to a server in a known datacenter, like a public cloud provider such as Amazon Web Services. Applications may want to only process requests from actual users by filtering those from servers, which likely represent bots, scrapers and other non-human programs.
One such situation is counting podcast downloads using request logs. Both the IAB and Open Downloads podcast measurement specifications dictate that requests from datacenter IP addresses should be discarded.
When Open Downloads (oDL) was originally released, it used the client9/ipcat project for its datacenter IP list. However, like oDL, that project has gone stale. Its datacenter IP list hasn't been updated in 4 years... and the internet has changed a lot since then!
An updated version of 'ipcat'
As part of updating oDL, I've been working on bringing the 'ipcat' list up to date.
This updated version of 'ipcat' is now available as a fork on Github:
With this fork, the datacenter IP list has been brought up to date after 3+ years of inactivity. This includes adding support for syncing with the latest published IP ranges of the most prevalent hosting providers, such as AWS and Azure. To keep the list current going forward, it uses Github Actions to automatically regenerate once per day.
The datacenter IP list is provided in CSV format. Each row represents an IP address range (start IP address - end IP address). IP ranges are non-overlapping and in sorted order.
There is also a summary of the total number of IP addresses for each of the providers included in the datacenter IP list.
Additional updates in this release include:
- Sync with the published public IP address ranges of the following providers:
- Amazon Web Services (AWS)
- Microsoft Azure
- Google Cloud
- Update to Go 1.19
- Use Github Actions to auto-generate latest IP list once per day
- When building the IP list, handle proper subset ranges by skipping them (instead of throwing error)
- Support for Docker