Skip to content

xiaosahuogui/Country-IP-Blocks

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Latest country IP ranges in CIDR notation updates everyday

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%