本文最后更新于 37 天前,其中的信息可能已经有所发展或是发生改变。
Github仓库地址:Xe-iu/dn42-geoip — Github
起因
偶然乘兴,在群聊内与别人交谈,然后谈到了geoip这玩意。
虽然现在有解析PTR记录的缓解方案,但是缓解终究是缓解,治标不治本。
一拍脑袋就发起了这么一个项目
从确立数据结构开始
说俗话,geoip大抵可以理解为ip属地信息。
查找阅读部分资料后,最终确定根据 maxmind-geoip 使用同款的.mmdb和数据结构。
那么数据库有了,怎么往里边录数据呢。
又有了根据dn42的git仓库确立了如何添加geoip数据,使用toml文件存储数据方便删改,使用git进行管理。
又写了个小程序把toml转化为生成mmdb数据库文件准备的csv文件。
后面数据结构和生成逻辑又有几次大大小小的优化,就不再赘述了。
具体的数据结构可以前往 Xe-iu/dn42-geoip — Github 查看。
也欢迎提交您的geoip数据到仓库里边。
从一个新提交的PR继续
我在做完上述工作后本以为就告一段落了
然后看到了一个增加从dn42的git仓库里获取geofeed的pr提交。
我欣喜若狂,果断合并。在随后的测试中发现了问题,我就试着自己把问题修了,事后也联系了这位pr提交者。
后面这位pr提交者又提交了增加简易api功能的pr,我审阅后合并了。
这位提交者自己维护了一个 geo-asn 项目和一个查询网站 myip.launchpadx.dn42
数据量?
截至到目前(2025/8/23 22:46 UTC+8)共有20个IP地址段的geoip数据(10个ipv4地址段和10个ipv6地址段)。
反正很冷清就对了。
鸣谢
感谢github用户 iu_yang1 和 LaunchPad 的帮助和贡献。
感谢所有提供geoip数据和geofeed的DN42 Player。