xchacha20-poly1305:Husi 不默认调用第三方 IP 数据库,倾向本地库与可配置脚本

xchacha20-poly1305 说明 Husi 的 IP 归属地功能不希望默认请求第三方数据库,以免暴露用户使用代理的习惯并形成供应商锁定;短期考虑本地 IP 库,长期希望等待 sing-box 脚本能力后开放用户自定义解析脚本,同时指出目标地址不一定等于出口地址。

作者原文

做可以,但没法做到像别的软件实现的那种体验。

别的软件的做法有两派

不文明的会:

请求知名 IP 数据库的 API 地址,针对其返回格式提取归属地信息。

这种方法每次查询这个 IP 数据提供商,使得存在根据 app 请求特征,分析出用户使用代理习惯的可能。这就有泄露用户使用习惯的风险。

文明一点的则是:

请求一个可信大厂的 IP 查看地址(如 Cloudflare)获取 IP 地址,然后使用本地 IP 数据库检查归属地。

虽然不是向小厂家报告,但向大厂报告使用习惯并不见得好到哪里去。

况且两种做法都多多少少有供应商锁定,绑死内定几个查 IP 服务。

最好的解法是开放脚本给用户配置。我很早以前就想加脚本控制 IP 解析——只消等到 sing-box 添加脚本功能之后,复用其脚本引擎即可。可是 sing-box 之前做好了又不加,说好 1.14 加变量系统、组系统什么的也搁置了,脚本不知道要等到猴年马月才加。短期内这条路行不通。


那换一种形式呢?解析服务器地址并用本地 IP 库查询呢?

可以,但鉴于机场不是用中转就是套 CDN,单纯对连接的目标地址检测与检测出口地址得到的结果相差甚远。也不好决定把这个功能放哪:是放到配置页面的卡片上,还是单独做成一个工具,都不好定。