Country-IP-Blocks icon indicating copy to clipboard operation
Country-IP-Blocks copied to clipboard

Latest country IP ranges in CIDR notation updates everyday ->

Country-IP-Blocks

GitHub CI pages-build-deployment

Generate the latest country IP ranges in CIDR notation

How it works

The shell script generate.sh will download the latest RIR statistics files (RIR statistics exchange format) from the following five Regional Internet Registries (RIRs).

rir-map.svg

URLs:

https://ftp.apnic.net/stats/apnic/delegated-apnic-latest
https://ftp.arin.net/pub/stats/arin/delegated-arin-extended-latest
https://ftp.ripe.net/ripe/stats/delegated-ripencc-latest
https://ftp.afrinic.net/pub/stats/afrinic/delegated-afrinic-latest
https://ftp.lacnic.net/pub/stats/lacnic/delegated-lacnic-latest

It then grabs entries from the files above. Generate country_code.txt. Convert IP ranges to CIDR notation. Generate IP files for each country.

Example

Generate Japan IPv4 ranges from APNIC and save them to JP_IPv4.txt.

curl -sL https://ftp.apnic.net/stats/apnic/delegated-apnic-latest | \
grep "apnic|JP|ipv4" | \
awk -F '|' '{ printf("%s/%d\n", $4, 32-log($5)/log(2)) }' | \
tee JP_IPv4.txt

Usage

This will generate all countries and save IP files to your current directory.

curl -sL https://github.com/HackingGate/Country-IP-Blocks/raw/master/generate.sh | sh

The country code is under ISO 3166-2 standard.

GitHub Pages

The following files are hosted on GitHub Pages.

  • Mirror files of delegated-*-latest
  • country_code.txt
  • Country IP Block files

Available at https://hackinggate.github.io/Country-IP-Blocks/

and auto-updates by GitHub Workflows.

IP change history

Since this project uses git.

You can view IP changes from gh-pages branch.

Such as comparing files between git commits to see when and what entries are added or deleted.