fancyss
fancyss copied to clipboard
对2022-blake3-aes-*加密ss节点的连接密码解析错误(已附上解决方案代码)
如果机场中的ss节点采用2022-blake3-aes-*加密方式,并且密码是[节点密码Base64]:[节点密码Base64]格式时(Shadowsocks针对单端口多用户的新设计),fancyss获取到该ss节点配置后,仅解析到了前半部分(节点密码Base64部分)作为节点连接密码。
2022-blake3-aes-*加密方式的节点密码可能为YWJjZDg4ODg4ODg4ODg4OA==形式,也可能是YWJjZDg4ODg4ODg4ODg4OA==:YWJjZDg4ODg4ODg4ODg4OA==形式(中间有冒号分隔,前半部分是节点密码Base64,后半部分是用户密码Base64)
导致问题的代码部分:
https://github.com/hq450/fancyss/blob/9101cc4299f2f5bbaee3cfdf559e8fd536f1aa57/fancyss/scripts/ss_online_update.sh#L661
其中的password=$(echo "${decrypt_info}" | sed 's/@/|/g;s/:/|/g;s/?/|/g;s/#/|/g' | awk -F'|' '{print $2}'),可以修改成:
password=$(echo "${decrypt_info}" | awk -F'@' '{print substr($1, index($1, ":")+1)}')
表示截取从第一个冒号到@符号之间的内容。
怪不得换了这种加密方式的机场我都连不上了。。。希望官方下个版本能修好。。。