Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[建议] 改用 BGP/ASN 数据建立 geoip #20

Closed
IceCodeNew opened this issue Apr 1, 2020 · 7 comments
Closed

[建议] 改用 BGP/ASN 数据建立 geoip #20

IceCodeNew opened this issue Apr 1, 2020 · 7 comments

Comments

@IceCodeNew
Copy link

引用 中国运营商IP地址库 里高大的话:

在国内,BGP/ASN数据分析的商业服务只有一个ipip.net,是目前运营商IP库准确度最高的服务商,我认为没有之一。
…………
但是,目前国内绝大多数IP库都由WHOIS数据库作为基础数据来源。WHOIS数据仅表示某个IP被哪个机构注册,但无从知晓该IP被用在何处,这就导致许多非运营商自己注册的IP地址无法被正确分类。ipip.net是最早开始做BGP/ASN数据分析的公司之一,数据准确性甩其它库几条街。

我自己也在做和 geoip 项目类似的事,上上周无聊检查了一下我用 MaxMind 免费数据库产生的 ipv6 规则的质量,结果抽了 5 条拿去 ipip 检查,3 条 ip 的归属地都显示香港。
我知道这并不一定代表 ipip 对了 MaxMind 错了,但是从原理上来讲确实从 BGP/ASN 数据建立的 geoip 会让我心里舒坦很多。

也许可以考虑把数据来源换成 GitHub 上许多非常成熟的 BGP 数据,例如:

另外我本人最近试着把 ipip 的免费公开数据和高大的数据合并,所以也许也可以考虑用我这里生成的规则:

@kslr
Copy link
Contributor

kslr commented Apr 2, 2020

但是MaxMind这样的公司信任度更高,也能保证持续不断的更新维护。

@IceCodeNew
Copy link
Author

这点确实是如此,不过同样的也有不方便的地方。
你想 MaxMind 前段时间才修改了免费 ip 数据库的使用协议,导致贵项目停止更新了很久。未来这样的改变也许还是会在某一刻发生吧
——我想就这点来说,论持续更新 MaxMind 免费数据库可能还不如通过 GitHub action 每日自动更新的项目 @china-operator-ip 呢。

@rikkix
Copy link

rikkix commented Apr 2, 2020

这点确实是如此,不过同样的也有不方便的地方。
你想 MaxMind 前段时间才修改了免费 ip 数据库的使用协议,导致贵项目停止更新了很久。未来这样的改变也许还是会在某一刻发生吧
——我想就这点来说,论持续更新 MaxMind 免费数据库可能还不如通过 GitHub action 每日自动更新的项目 @china-operator-ip 呢。

此仓库目的并不仅仅是区分中国和其他国家的IP,而是所有的地区

@IceCodeNew
Copy link
Author

嗯,我明白了。
也许可以等以后有空了学学 golang 看能不能自己 fork 一个项目下来专门对 geoip:cn 部分做特殊处理吧。

不然这个问题确实不是换一下数据源就可以解决的问题,坑好大啊。

@kslr
Copy link
Contributor

kslr commented Apr 2, 2020

你可以单独做一份也很简单,替换掉CN部分重新打包

@Loyalsoldier
Copy link
Contributor

Loyalsoldier commented Apr 2, 2020

@IceCodeNew
替换掉了 CN 的 IPv4 CIDR 项目:https://github.com/Loyalsoldier/geoip

@IceCodeNew
Copy link
Author

感谢各位的解答,谢谢!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants