项目地址
GitHub 地址:https://github.com/sjzar/ips
使用文档
文档地址:https://github.com/sjzar/ips/blob/main/docs/usage.md
使用案例
一些基础用法可以参考上面的项目和文档地址,下面讲些这项目能够做啥好玩的。
压缩数据库体积
目前商业 IP 数据库通常包含大量详细信息,例如某家数据库文件大小超过 600MB ,在分发和使用时造成不便;
可以通过 ips 选取字段后 重新打包 IP 数据库,在保留国内城市运营商、海外国家粒度信息的情况下,减少 98% 的体积。
具体命令请参考这篇文档。
制作自定义数据库
各类分流工具依赖 IP 归属地做分流策略,可以使用 ips 轻松重新打包 mmdb 文件 ,例如:
$ ips pack -i GeoLite2-City.mmdb -f 'country|country=!中国:country=' -o geoip2-cn.mmdb --output-option "select_languages=-"
$ ll
-rw-r--r-- 1 sarv staff 68M 10 20 12:43 GeoLite2-City.mmdb
-rw-r--r-- 1 sarv staff 323K 11 15 14:20 geoip2-cn.mmdb
多地域域名解析
近期新增的一个功能,可以分析域名在不同地区的解析结果差异,拿 B 站的一个 CDN 域名举例:
ips mdns i0.hdslb.com
+--------------------+-------------------------------------------------+-------------------------------------------------+
| GEOISP | CNAME | IP |
+--------------------+-------------------------------------------------+-------------------------------------------------+
| 27.224.0.0 | i0.hdslb.com.04f6a54d.c.cdnhwc1.com [华为] | 60.165.116.47 [中国 甘肃 兰州 电信] |
| [中国 甘肃 电信] | hcdnw.biliv6.c.cdnhwc2.com [华为] | 60.165.116.48 [中国 甘肃 兰州 电信] |
+--------------------+-------------------------------------------------+-------------------------------------------------+
| 36.133.72.0 | i0.hdslb.com.w.kunlunno.com [阿里] | 221.181.64.184 [中国 上海 上海 移动] |
| [中国 上海 移动] | | 221.181.64.148 [中国 上海 上海 移动] |
+--------------------+-------------------------------------------------+-------------------------------------------------+
| 36.133.108.0 | i0.hdslb.com.04f6a54d.c.cdnhwc1.com [华为] | 39.136.138.59 [中国 重庆 重庆 移动] |
| [中国 重庆 移动] | hcdnw.biliv6.d.cdn.chinamobile.com [移动] | 39.136.138.58 [中国 重庆 重庆 移动] |
+--------------------+-------------------------------------------------+-------------------------------------------------+
| 1.56.0.0 | i0.hdslb.com.04f6a54d.c.cdnhwc1.com [华为] | 218.10.185.43 [中国 黑龙江 鹤岗 联通] |
| [中国 黑龙江 联通] | hcdnw.biliv6.c.cdnhwc2.com [华为] | 218.60.101.84 [中国 辽宁 大连 联通] |
+--------------------+-------------------------------------------------+-------------------------------------------------+
| 42.202.0.0 | i0.hdslb.com.download.ks-cdn.com [金山] | 123.184.57.130 [中国 辽宁 沈阳 电信] |
| [中国 辽宁 电信] | k1-ipv6.gslb.ksyuncdn.com [金山] | 123.184.57.129 [中国 辽宁 沈阳 电信] |
+--------------------+-------------------------------------------------+-------------------------------------------------+
| TOTAL | 11 | 730 |
+--------------------+-------------------------------------------------+-------------------------------------------------+
帖子长度有限,这里省略了中间的大量数据,大家可以自己试一下。
这个功能可以比较直观看到 B 站这个 CDN 域名用了多家 CDN 服务,已经 IP 的本地覆盖情况。
希望大家能够玩一下,帮忙找找问题,欢迎提 issue 。