接到部分用户反馈关于在代理协议中使用空密码的问询,为此对该问题进行一定说明:
1. “空密码”可以指代密码不存在(即为 null),或者是一个空字符串(即 '/0')。目前对应的 Surge 配置语法为,不配置 password 字段,或者 password=""。
2. 除了少数特例,绝大多数加密协议都不支持 null 密码,但是几乎所有协议都支持空字符串密码(因为密钥派生允许空字符串输入)。但是即使使用空字符串密码,也不会略过加密流程,性能与使用其他密码一致,等同于一个弱安全性密码。
3. 大部分协议都没有对这种情况进行特别注明。且在 UI 进行编辑时,并没有办法区分这两种情况。
因此,Surge 将在后续版本中统一关于空密码的处理行为,仅在部分明确不使用加密的协议中支持 null 密码(如 SS 的 none 模式),不再支持空字符串密码,请注意。