总的来说要做的就是从https://github.com/Bill0412/ss-link-decoder上面把那个.py文件下载下来,然后运行那个文件来解析链接。
以下面这个ss链接为例,
ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpyVkJ6WVJIZ3ZRTzc=@某ip地址:33333/?outline=1
先把后面那个后缀/?outline=1去掉(/?后面部分其实是无用的注释),变成
ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpyVkJ6WVJIZ3ZRTzc=@某ip地址:33333
然后运行
$ git clone https://github.com/Bill0412/ss-link-decoder.git $ cd ss-link-decoder $ python ssdecode.py ss://Y2hhY2iiyjAtaWV56AF203s984TpyVkJ6Wa5TZ3z8Tzc=@某ip地址:12320
运行结果如下:
上面花括号里面的东西分别是你需要的服务器IP地址、端口号、密码和加密方式从加密链接中解密出来的明文。可以尝试一下,解析出来的信息跟直接导入信息得到的结果是一样的。
听说你上不了github啦?
特释放py文件源码如下, 请保存:
# -*- coding: utf-8 -*- import base64 import json import sys def base64decode(s): # transtab = str.maketrans('-_', '+/') # s = s.translate(transtab) if len(s) % 4 != 0: s = s + (4 - len(s) % 4)*'=' return base64.urlsafe_b64decode(s.encode()) def decode_ss(ss): code_base64 = ss[5:ss.find('@')] method_pwd = base64decode(code_base64) method_b, pwd_b = method_pwd.split(b':', 1) server = ss[ss.find('@')+1:ss.rfind(':')] if ss.find('#') == -1: port = ss[ss.rfind(':')+1:] else: port = ss[ss.rfind(':')+1:ss.find('#')] ss_conf = {'server': server, 'server_port': int(port), 'password': pwd_b.decode(), 'method': method_b.decode()} print(json.dumps(ss_conf, indent=4)) pwd_base64 = base64.urlsafe_b64encode(pwd_b) ssr = [server, port, 'origin', method_b.decode(), 'plain', pwd_base64.decode()] ssrlink = ':'.join(ssr) + '/?obfsparam=&protoparam=&remarks=' ssrlink_base64 = base64.urlsafe_b64encode(ssrlink.encode()) ssrlink_output = 'ssr://' + ssrlink_base64.decode() print(ssrlink_output) def decode_ssr(ssr): first_b = base64decode(ssr[6:]) ssr_conf = {'server': '', 'server_port': ''} print(first_b.decode()) def main(s): is_ss = s.find('ss://') is_ssr = s.find('ssr://') if is_ss != -1: ss = s[is_ss:].strip() decode_ss(ss) elif is_ssr != -1: ssr = s[is_ssr:].strip() decode_ssr(ssr) else: print('链接格式不正确!') if __name__ == '__main__': if len(sys.argv) != 2: print('参数不正确!') else: main(sys.argv[1])
2 樓 IP 114.254.***.129 的嘉賓 说道 : 很久前
3 樓 IP 222.128.***.254 的嘉賓 说道 : 很久前