v2ray/geoip

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

IceCodeNew opened this issue · 7 comments

引用 **运营商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 commented

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

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

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

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

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

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

kslr commented

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

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

感谢各位的解答,谢谢!