Ip2region 是一个离线的 IP 数据管理框架和定位库,同时支持 IPv4 和 IPv6,支持亿级别的 IP 断管理,10 微秒级别的查询性能,提供了很多主流编程语言的 xdb 数据格式的生成和查询实现。
ip2region 官方社区已正式上线旨提强化 IP 相关的工具链和数据服务,目前提供了稳定的 商用离线数据、在线查询测试、xdb 使用 / 技术文档。
Ip2region 3.0.0 版本相信更新如下:
1,XDB存储引擎提供了对 IPv6 的支持,同时仓库的 data/ 下提供一份 1.8G+ 的 ipv6_source.txt 和一份生成好的 ip2region_v6.xdb 文件。
2,Golang maker 提供了对 IPv6 xdb 的生成支持,使用方式如下:
# ipv4
./xdb_maker gen --src=../../data/ipv4_source.txt --dst=./ip2region_v4.xdb --version=ipv4
# ipv6
./xdb_maker gen --src=../../data/ipv6_source.txt --dst=./ip2region_v6.xdb --version=ipv6
3,Golang binding 提供了对 IPv6 查询的支持,具体使用文档请参考 Golang binding,测试方式如下:
➜golang git:(master) ✗ ./xdb_searcher search --db=../../data/ip2region_v6.xdb
ip2region xdb searcher test program
source xdb: ../../data/ip2region_v6.xdb (IPv6, vectorIndex)
type 'quit' to exit
ip2region>> 240e:87c:892:ffff:ffff:ffff:ffff:ffff
{region: 中国|广东省|深圳市|专线用户, ioCount: 12, took: 130.294µs}
ip2region>>
4,IPv4 数据定位信息格式调整为 "国家|省份|城市|ISP",去掉了之前为 0 的区域字段,便于和 IPv6 的数据格式保持一致,使用开源版本的 IPv4 数据的小伙伴记得调整获取字段的小标。
其他语言 binding 对 IPv6 的查询将在后续逐步提供支持,敬请关注。
Ip2region 3.0.0 版本下载地址:
1,Gitee:https://gitee.com/lionsoul/ip2region/tree/v3.0.0-release/
2,Github:https://github.com/lionsoul2014/ip2region/releases/tag/v3.0.0-release