ip2region 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
ip2region 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
ip2region 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
ip2region 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
ip2region 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发常用工具包
开源组织
地区 国产
提 交 者 狮子的魂
适用人群 未知
收录时间 2015-11-02

软件简介

ip2region——准确率 99.9% 的 ip 地址定位库,0.0x 毫秒级查询,数据库文件大小只有 1.5M,提供了 java、php、c、python、node.js、golang 查询绑定和 Binary、B 树、内存三种查询算法,妈妈再也不用担心我的 ip 地址定位!

1. 99.9%准确率,定时更新:

数据聚合了一些知名 ip 到地名查询提供商的数据,这些是他们官方的的准确率,经测试着实比纯真啥的准确多了。

每次聚合一下数据需要 1-2 天,会不定时更新。 

2. 标准化的数据格式:

每条 ip 数据段都固定了格式:城市Id|国家|区域|省份|城市|ISP

只有中国的数据精确到了城市,其他国家只能定位到国家,后前的选项全部是0,已经包含了全部你能查到的大大小小的国家。

(请忽略前面的城市 Id,个人项目需求) 

3. 体积小:

生成的数据库文件 ip2region.db 只有 1.5M (1.2 版本前 3.5M) 

4. 多查询客户端的支持,0.0x 毫秒级别的查询

已经集成的客户端有:java, php, c,python,php扩展,nodejs,golang。

提供了两种查询算法,响应时间如下:
客户端/binary算法/b-tree算法/Memory算法:
java/0.x毫秒/0.x毫秒/0.1x毫秒 (使用RandomAccessFile)
php/0.x毫秒/0.1x毫秒/0.1x毫秒 (php扩展将有更快的速度)
c/0.0x毫秒/0.0x毫秒/0.00x毫秒(b-tree算法基本稳定在0.02x毫秒级别)
python/0.x毫秒/0.1x毫秒/0.1x毫秒

任何客户端b-tree都比binary算法快

5. 测试程序:

    java:

	cd binding/java
	ant all
	java -jar ip2region-{version}.jar ./data/ip2region.db

php:

    php binding/php/testSearch ./data/ip2region.db

c:

cd binding/c/
    gcc -g -O2 testSearch.c ip2region.c
    ./a.out ../../data/ip2region.db

均会看到如下界面:

initializing  B-tree ... 
+----------------------------------+
| ip2region test script            |
| Author: chenxin619315@gmail.com  |
| Type 'quit' to exit program      |
+----------------------------------+
ip2region>>

输入ip地址开始测试,第一次会稍微有点慢,在运行命令后面接入binary,memory来尝试对应算法,建议使用b-tree算法,有速度和并发追求的使用memory算法。具体集成请参考不同客户端的测试源码。 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (17)

加载中
有.Net core版本吗?
2019/01/07 09:32
回复
举报
能否精确到坐标
2019/01/02 14:30
回复
举报
是不是快更新到ipv6的数据了,ipv6的地址库比ipv4少吧
2018/11/27 11:20
回复
举报
用了你的 #ip2region#中的ip数据,很方便。
2018/01/17 17:44
回复
举报
狮子的魂软件作者
#ip2region# 1.3版本忘记把binding内的各种语言实现的header bytes调整了,已经调整同步了代码,请下载最新版本的v1.3-release分之
2017/10/21 12:54
回复
举报
没有MAVEN和gradle吗?
2017/06/10 15:46
回复
举报
发现一个问题哈,80.82.78.38这个ip在百度和纯真上面解析得到是荷兰 阿姆斯特丹Ecatel公司,在以前的版本中解析得到是荷兰,在最新版本中是得到塞舌尔,哥,你能说说怎么回事吗?
2017/06/07 16:36
回复
举报
请问乱码如何解决
2017/05/23 15:43
回复
举报
打分: 力荐
http://blog.csdn.net/sinat_24820331/article/details/68969558 写了一个类似的大家可以参考一下
2017/04/28 21:24
回复
举报
请问下,由ngx_lua版吗?
2017/04/13 12:44
回复
举报
更多评论
2020/11/06 09:26

开源 IP 地址定位库 ip2region 2020-10-31 发布

Ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,提供了 Java、PHP、C、Python、Node.js、Golang、C#、Rust、Lua的查询绑定和 Binary、B树、内存三种查询算法,妈妈再也不同担心我的 IP 地址定位! ip2region-2020-10-31版本更新如下:| 1、增加C#实现的db生成程序:https://github.com/lionsoul2014/ip2re...

9
60
2020/06/15 09:29

开源 IP 地址定位库 ip2region 2.2.0 发布

Ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,提供了 Java、PHP、C、Python、Node.js、Golang、C#、Rust、Lua的查询绑定和 Binary、B树、内存三种查询算法,妈妈再也不同担心我的 IP 地址定位! ip2region 2.2.0更新如下: 优化数据升级的算法,将数据升级的时间从原来的两周+降低到3天左右。 升级数据至...

19
123
发表于服务端专区
2019/10/28 09:49

开源 IP 地址定位库 ip2region 2.0.0 发布

ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,提供了 Java、PHP、C、Python、Node.js、Golang、C#、Rust、Lua的查询绑定和 Binary、B树、内存三种查询算法,妈妈再也不同担心我的 IP 地址定位! ip2region 2.0.0更新如下: 数据升级至2019/10/27版本。 增加Nginx的查询插件,感谢 @Cherisher 的贡献 (h...

6
135
2019/05/05 10:22

开源 IP 地址定位库 ip2region 1.9.0 发布

ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,提供了 Java、PHP、C、Python、Node.js、Golang、C#、Rust、Lua的查询绑定和 Binary、B树、内存三种查询算法,妈妈再也不同担心我的 IP 地址定位! ip2region 1.9更新如下: 1、数据升级至2019/05/02的版本,国外的数据增加了大量城市级别的数据,ip2region...

18
243
发表于大前端专区
2019/01/02 11:37

开源 IP 地址定位库 ip2region 1.8 发布

ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,数据库文件大小只有 3.3M,提供了 Java、PHP、C、Python、Node.js、Golang、C#、Rust、Lua的查询绑定和 Binary、B树、内存三种查询算法,妈妈再也不同担心我的 IP 地址定位! ip2region 1.8.0更新如下: 1,数据升级至2018/12/31的版本,国外的也增加了大量...

10
268
发表于大前端专区
2018/07/31 16:13

开源 IP 地址定位库 ip2region 1.7 发布,新增 rust 支持

ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,数据库文件大小只有 3.3M,提供了 Java、PHP、C、Python、Node.js、Golang、C#、Rust的查询绑定和 Binary、B树、内存三种查询算法,妈妈再也不同担心我的 IP 地址定位! ip2region 1.7.0更新如下: 1,数据升级至最新的2018/07/26版本,数据精度也提高了,国...

12
106
2018/06/19 17:50

ip2region 1.6.1 发布,修复数据生成的 bug

ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,数据库文件大小只有 3.3M,提供了 Java、PHP、C、Python、Node.js、Golang、C#的查询绑定和 Binary、B树、内存三种查询算法,妈妈再也不同担心我的 IP 地址定位! ip2region 1.6.1版本更新: 1,运行了数据修正程序,ip.merge.txt的数据增加了“省、市”等后...

3
24
发表于大前端专区
2018/03/27 14:50

开源 IP 地址定位库 ip2region 1.6 发布,增加 C# 支持

ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,数据库文件大小只有 3.3M,提供了 Java、PHP、C、Python、Node.js、Golang、C#的查询绑定和 Binary、B树、内存三种查询算法,妈妈再也不同担心我的 IP 地址定位! ip2region 1.6更新如下: 1,增加了C#的binding并且上线,感谢 https://gitee.com/rocherko...

29
147
2018/01/16 15:19

开源 IP 地址定位库 ip2region 1.5 发布,升级数据

ip2region 是准确率 99.9% 的 IP 地址定位库,0.0x毫秒级查询,数据库文件大小只有 2.7M,提供了 Java、PHP、C、Python、Node.js、Golang 的查询绑定和 Binary、B树、内存三种查询算法,妈妈再也不同担心我的 IP 地址定位! ip2region 1.5 更新如下: 数据升级至 2018/01/12 的版本,包括 ip.merge.txt 和 ip2region.db...

17
139
发表了资讯
2017/10/23 15:40

ip2region 1.4 发布,已上传到 Maven 中央仓库

ip2region是准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有2.7M,提供了java, php, c, python,nodejs,golang查询绑定和Binary,B树,内存三种查询算法,妈妈再也不同担心我的ip地址定位! ip2region 1.4更新如下: 1,调整了java/php/python/c/golang等各binding的header适合最新版本的数据,1.3版本因为...

14
117
发表了资讯
2017/10/20 12:24

ip2region 1.3 发布,开源 IP 地址定位库

ip2region是准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有2.7M,提供了java, php, c, python,nodejs,golang查询绑定和Binary,B树,内存三种查询算法,妈妈再也不同担心我的ip地址定位! ip2region 1.3更新如下: 1,数据升级到2017/10/09版本 2,部分国外地址增加了详细定位数据,例如: 4.16.152.0|4...

14
278
发表了资讯
2017/04/10 16:08

ip2region 1.2.4 发布,开源 IP 地址定位库

ip2region是准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有1.6M,提供了java, php, c, python,nodejs,golang查询绑定和Binary,B树,内存三种查询算法,妈妈再也不同担心我的ip地址定位! ip2region 1.2.4 更新如下: 1、花了近两周的时间重写了数据的升级算法,再次提高准确率,升级过程如下(此处应该有...

32
309
发表了资讯
2016/12/22 10:09

ip2region 1.2.3 发布,数据同步至2016/12/14版本

ip2region是准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有1.6M,提供了java, php, c, python,nodejs,golang查询绑定和Binary,B树,内存三种查询算法,妈妈再也不同担心我的ip地址定位! ip2region 1.2.3版本更新如下: 1,优化升级算法,进行更深度的分裂,可以使准确率再度提高(同时数据的更新也花费...

13
120
发表了资讯
2016/11/07 00:00

ip2region 1.2.2发布,新增 golang 查询客户端

ip2region 1.2.2发布了。准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有1.5M,提供了java, php, c, python,nodejs,golang查询绑定和Binary,B树,内存三种查询算法,妈妈再也不同担心我的ip地址定位! ip2region 1.2.2版本更新如下: ip数据文件更新至2016/11/02版本。 增加ip2region.db数据库文件的jav...

34
57
发表了资讯
2016/08/03 00:00

ip2region 更新,增加 nodejs 客户端

ip2region 更新了。ip2region 是准确率99.9%的ip到地名的映射库,0.0x毫秒级查询,数据库文件大小只有1.5M,提供了java、php、c、python、nodejs、php扩展查询客户端。 更新内容: nodejs客户端 数据库文件更新(2016/07/21) 仓库地址:https://github.com/lionsoul2014/ip2region...

11
81
发表了资讯
2016/07/14 00:00

ip2region 1.2.1 发布,新增 Python 内存查询

ip2region 1.2.1 发布了,新增 Python 内存查询+数据文件更新。 准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有1.5M,提供了java, php, c, python, nodejs查询绑定和Binary,B树,内存三种查询算法,妈妈再也不用担心我的ip地址定位! 1.2.1更新内容如下: 1,python查询客户端增加内存查询模式。 2,数据...

5
46
发表了资讯
2016/07/01 00:00

ip2region 1.2 发布,C/PHP/JAVA 内存查询算法更新

ip2region 1.2 发布了。 准确率99.9%的ip地址定位库,0.0x毫秒级查询,数据库文件大小只有1.5M,提供了java, php, c, python查询绑定和Binary,B树,内存三种查询算法,妈妈再也不同担心我的ip地址定位! 1.2版本更新内容: 新增分列式升级算法,大大的增加了数据的准确率,基本避免之前各大网友反馈的些许ip定位错误! 数...

11
118
发表了资讯
2016/06/17 00:00

ip2region 更新,php 扩展支持 php7

准确率99.9%的ip到地名的映射库,0.0x毫秒级查询,数据库文件大小只有3.5M,提供了java, php, c, python, php扩展查询绑定。 更新内容: php扩展支持php7 数据库文件更新 仓库地址: https://github.com/lionsoul2016/ip2region http://git.oschina.net/lionsoul/ip2region...

21
116
发表了资讯
2016/04/26 00:00

ip2region 数据库文件更新至 2016/04/21 版本

ip2region是一个准确率达99.9%的ip到地名的映射库,0.0x毫秒级查询,数据库文件大小只有3.5M,提供了java,php,c,python查询绑定。妈妈再也不用担心我的ip地址定位! 更新内容: 数据库文件更新至2016/04/21最新ip数据!

2
11
发表了资讯
2016/04/11 00:00

ip2region-ip 数据库文件更新

ip2region是一个准确率达99.9%的ip到地名的映射库,0.0x毫秒级查询,数据库文件大小只有3.5M,提供了java,php,c,python查询绑定。妈妈再也不用担心我的ip地址定位! 更新内容: 数据库文件更新,2016/04/10最新ip数据 详情点击此处

18
169
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
发表了问答
2017/04/13 21:53

ip2region db文件如何去重 减小文件体积呀

@狮子的魂 你好,想跟你请教个问题: ip2region 的db文件如何根据ip.merge去重减小文件体积呀,能教下思路么,谢谢

1
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
17 评论
693 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部