{"id":51579336,"url":"https://github.com/ipverse/geo-ip-blocks","last_synced_at":"2026-07-11T04:02:53.374Z","repository":{"id":334285200,"uuid":"1140516619","full_name":"ipverse/geo-ip-blocks","owner":"ipverse","description":"Download country IP block lists - detailed, daily updated","archived":false,"fork":false,"pushed_at":"2026-07-08T01:54:31.000Z","size":16900,"stargazers_count":30,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-07-08T03:26:21.694Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ipverse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-23T11:38:34.000Z","updated_at":"2026-07-08T01:54:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ipverse/geo-ip-blocks","commit_stats":null,"previous_names":["ipverse/geo-ip-blocks"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ipverse/geo-ip-blocks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipverse%2Fgeo-ip-blocks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipverse%2Fgeo-ip-blocks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipverse%2Fgeo-ip-blocks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipverse%2Fgeo-ip-blocks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ipverse","download_url":"https://codeload.github.com/ipverse/geo-ip-blocks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipverse%2Fgeo-ip-blocks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35350133,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-11T02:00:05.354Z","response_time":104,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-07-11T04:02:52.875Z","updated_at":"2026-07-11T04:02:53.369Z","avatar_url":"https://github.com/ipverse.png","language":null,"funding_links":[],"categories":["Others"],"sub_categories":[],"readme":"# geo-ip-blocks\n\n## 🔍 Try it online\n\nLook up any IP address or prefix at **[Lens by ipverse](https://lens.ipverse.net)** to see its country and AS information.\n\n## Overview\n\n\u003e **New repo alert:** Don't let the star count fool you - the prefixes are here, the stars are just still propagating. Being freshly launched, there may be a few bugs crawling around. If you spot one, please report it in the [feedback repo](https://github.com/ipverse/feedback).\n\nDaily-updated IPv4 and IPv6 prefixes by country, derived from network registration data.\n\nThis dataset reflects the country codes in actual network registration records - capturing sub-allocations and reassignments (SWIP) that RIR delegation files miss. Keep in mind this is where operators *registered* their blocks, which doesn't always match where traffic actually originates.\n\nPrefixes are aggregated (adjacent and overlapping CIDR blocks are merged where possible) and filtered by size (IPv4 ≤ /28, IPv6 ≤ /56). If these lists are too large for your use case, check out [country-ip-blocks](https://github.com/ipverse/country-ip-blocks) which uses RIR delegation information and produces smaller lists.\n\n## Update notes\n\n- **2026-01-27**: Improved proxy record detection to filter placeholder entries that RIRs maintain for IP ranges belonging to other registries\n\n## Available formats\n\nJSON and plaintext\n\n**JSON format**:\n```json\n{\n  \"country\": \"Marshall Islands\",\n  \"countryCode\": \"MH\",\n  \"exportMode\": \"aggregated\",\n  \"prefixes\": {\n    \"ipv4\": [\n      \"23.181.56.0/24\",\n      \"64.86.23.0/24\",\n      \"103.202.148.0/22\"\n    ],\n    \"ipv6\": [\n      \"2001:4b28:4c00::/40\",\n      \"2405:400::/32\"\n    ]\n  }\n}\n```\n\n**Plaintext format** (Marshall Islands IPv4):\n```\n# Country: Marshall Islands (MH)\n# Address family: IPv4\n# Export mode: Aggregated\n#\n23.181.56.0/24\n64.86.23.0/24\n103.202.148.0/22\n```\n\n**Plaintext format** (Marshall Islands IPv6):\n```\n# Country: Marshall Islands (MH)\n# Address family: IPv6\n# Export mode: Aggregated\n#\n2001:4b28:4c00::/40\n2405:400::/32\n```\n\n## How to use\n\nDownload the prefixes for a specific country (Marshall Islands in these examples):\n\n**Marshall Islands in JSON format:**\n```bash\ncurl https://raw.githubusercontent.com/ipverse/geo-ip-blocks/master/country/mh/mh.json\n```\n\n**Marshall Islands IPv4 addresses:**\n```bash\ncurl https://raw.githubusercontent.com/ipverse/geo-ip-blocks/master/country/mh/mh-ipv4.txt\n```\n\n**Marshall Islands IPv6 addresses:**\n```bash\ncurl https://raw.githubusercontent.com/ipverse/geo-ip-blocks/master/country/mh/mh-ipv6.txt\n```\n\n### Firewall integration\n\nIf you plan to use this data for firewalling purposes, have a look at:\n\n- [nftables-blacklist](https://github.com/trick77/nftables-blacklist) - nftables based Bash script\n- [ipverse-tools-crowdsec](https://github.com/ipverse/tools/blob/main/crowdsec/README.md) - Ban prefixes using Crowdsec's `cscli` command\n\n## Use cases\n- Geo-based access control and traffic routing\n- Block traffic by country at the firewall\n- Network research and statistical analysis\n- Threat hunting and security research\n- Compliance-based IP filtering\n- Pretty much anything where you need to map country codes to IP prefixes\n\n## Related projects\n\n- **[country-ip-blocks](https://github.com/ipverse/country-ip-blocks)**: Country-level IP blocks from RIR delegation files (less granular, but authoritative)\n- **[as-ip-blocks](https://github.com/ipverse/as-ip-blocks)**: IP blocks by autonomous system number (ASN) from BGP routing data\n\n## Questions or issues?\n\nHead over to the [feedback repository](https://github.com/ipverse/feedback) if you have questions, issues, or suggestions.\n\n## License\n\nThis data is released under [CC0 1.0 Universal](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipverse%2Fgeo-ip-blocks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fipverse%2Fgeo-ip-blocks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipverse%2Fgeo-ip-blocks/lists"}