Total Pageviews

Thursday, 24 May 2018

通过SS/SSR的链接,解析出配置信息

SS(R)系列配置一般有几种方式,手动输入、二维码识别、文件导入、配置链接导入,除了手动输入外,其他方式都大大方便了分享和配置。其他的方式很容易理解,就不展开了,这里主要记录一下链接方式:其实是经过一次或多次Base64编码的字符,看起来杂乱无章,好处则是传递和张贴时不直接暴露信息,不至于那么容易被扫描。解码也不难,网上就有各种在线解码的工具。

为什么要解析?从用户的角度,部分版本不支持链接导入配置,比如我用的SSX-NG 1.4.3-R8,支持生成配置链接,却不支持链接导入。还有一些App也不支持。如果你拿到的是链接,解析后就可以手动输入,如果可以,选择二维码和配置文件更简便。从学习角度来说,了解多一点东西肯定是有好处的。

SS/SSR的链接Base64编码类型都是URL Safe类型,就是将标准Base64中的+和/分别改成了-和_,方便在URL中直接传递。此外还有一点,它们Base64编码都没有Padding(就是不在末尾填充=号)。以下提及的配置链接是通用的版本/原版,对于各种自定义或者魔改的版本,不一定适用。

SS的链接格式是

SSbase64 = ss://method:password@ip:port
   
SSbase64 = ss://method:password@ip:port

ss://为前缀,后面的部分进行Base64编码。

SSR的链接格式是

#协议参数、混淆参数、备注及Group对应的参数值
Param_base64 = obfsparam=obfsparam_base64&protoparam=protoparam_base64&remarks=remarks_base64&group=group_base64

#密码/?参数
SSRPWDbase64 = password_base64/?Param_base64

#最终链接
SSRbase64 = ssr://ip:port:SSRprotocol:method:SSRobfs:SSRPWDbase64
   
#协议参数、混淆参数、备注及Group对应的参数值
Param_base64 = obfsparam=obfsparam_base64&protoparam=protoparam_base64&remarks=remarks_base64&group=group_base64

#密码/?参数
SSRPWDbase64 = password_base64/?Param_base64

#最终链接
SSRbase64 = ssr://ip:port:SSRprotocol:method:SSRobfs:SSRPWDbase64

ssr://为前缀,后面部分进行Base64编码,其中SSRPWDbase64为经过Base64的密码和经过Base64的各种参数、备注用“/?”连接。要解码SSR的链接,第一次解码出ip、端口、协议、加密方式、混淆方式,然后分别对密码、各种参数、备注等进行二次解码.

No comments:

Post a Comment