聊聊Mihomo的新功能Age Key(上)

来源: https://t.me/appshub_channel/276

首先,快速说下这是用来干嘛的,说白了就是用来加密(订阅)文件用的,使用了密钥对之后,只有当你有了Private key(下面统称为私钥)之后,才能打开由对应的Public key(一下统称为公钥)加密的(订阅)文件

事情的缘由大概是这样,某知名客户端CVR搞了一套叫CVD的东西出来,美其名曰: 环境恶劣,保护订阅,对抗封锁,以wwq为首的Mihomo内核组在看过方案之后对比嗤之以鼻,认为其方案不仅实现非常一般并且会导致用户失去了选择权,同时有泄露用户隐私或(硬件ID)被精准定位的风险等,具体细节请参见相关公开讨论,这里不开CVR吐槽大会,只看事情本身,篇幅原因也不做过多评价,了解即可

在上述事情的催化下,Mihomo在1.19.26版本发布还不满一周的情况下,火速更新到了1.19.27正式版并顺势推出了Age key功能,如果站在机场主的角度,订阅在国内平台传播被肆意抓取显然不是一件好事情,结合前面的介绍可以得出一个结论,Age Key(能)解决的最大的事情,还是订阅被公开抓取或者滥用的问题(以及个人可以使用Gist),因为订阅文件被强制加密,只有你手里有私钥才能解开

(我认为的)常见的理想中的情况1 : 机场使用公钥对订阅文件进行加密,后台面板应有对应的一键复制私钥(再次小科普一下,公+私是一对,所以叫做密钥对),流程: 用户首先导入Url订阅,但是只有填写(复制后台面板的)正确的私钥后,订阅文件才能被正常解析打开。
另外一种情况2 ,则是由用户自己生成密钥对,把公钥填入机场后台面板后,然后再由机场加密下发,依然是只有填写(自己生成的)正确的私钥后,订阅文件才能被正常解析打开。
补充:情况3 ,用户自己生成密钥对,可以在导入订阅文件时,在header里主动带上请求头X-Age-Public-Key(公钥),机场后端收到后,然后再(使用公钥)下发加密订阅,大致流程其实和情况2 一致,这种方式可以免去用户再去机场面板后台操作,也更加适用于自己写配置添加Providers规则

相关内容:

来源: https://t.me/appshub_channel/277

聊聊Mihomo的新功能Age Key(下)

接上文,看到这里,想必大部分是应该都能清楚这具体是什么功能了,准确的说它的目的不是用于反审查,也无法阻止相关人员获取真实节点信息,但是,在开源生态里,同时在保证用户隐私的情况下,可以让机场主们通过此功能来更好地解决最常见的国内订阅泄露问题,对于用户,则可以解决恶心的阅后即焚导致的不能更新流量信息的问题 ,这也算是一大进步。我认为wwq应在这个事情上再做一步顺便推广一下新标准,在询问之后本人表示并无这个想法,于是,我便献丑从简单科普的角度发文来介绍一下

讲真,本人对这个功能原本并不是很感冒(无它,只是自己确实用不到),另外,虽然已被多为大佬/频道推荐,但Bettbox当前仍然属于非知名客户端,推动力有限,但Readme上标榜为Another Better Mihomo GUI,不能只嘴上说说,对内核该做的适配是一定要做的,截至发文前,Bettbox当前v1.18.0正式版多平台已全面支持Age加密订阅格式,以及本地密钥对生成(X25519)功能

最后,说了这么多,为了大家都别白忙活和标准落地(折腾嘛就要与时俱进),同时做为首个多平台率先支持Age Key的Mihomo客户端,我们打算额外加点有意思的玩法,具体如下: 首个支持Age加密(满2年且无明显公开劣迹)的机场,可以免费获得Bettbox首个公开(Github以及群组/频道)推荐席位!有想法的老板们可以行动咯

(PS: Bettbox当前用户数量以日thousands增长,虽然目前和几十K Star的项目还比不了,但咱好歹也已经拒绝过好几个机场广告投放了,嘿嘿)

个人点评:

想写的有很多一时组织不起来改天吧

亲自购买,亲自签发,亲自抓取,亲自拉清单,怎么防 :melting_face: