總的來說要做的就是從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樓 IP114.254.*.*的嘉賓说道: 半年前
3樓 IP222.128.*.*的嘉賓说道: 5个月前