生成 OUTLINE客户端兼容 accesskey
English Version for this article
OUTLINE作为跨平台的安全上网客户端,稳定快速,老爹是 Google,无论那一点都非常好。虽然大家都知道 OUTLINE 底层技术是 Shadowsocks,但是在 OUTLINE 添加服务端的时候要填写的是 ss://access-key,不是我们以前一直用的服务器地址、密码、加密方式等,那是不是一定要安装 OUTLINE 服务器才能使用 OUTLINE 客户端呢?这个 access-key又是怎么生成的呢?
经过查阅,SS 的配置还能通过 QRCODE 分享,而且 SS 官方也 定义了一个标准,那么这个标准是否就是我们要找的access-key 生成方法呢?
我们来看
URI and QR code
Shadowsocks for Android / iOS also accepts BASE64 encoded URI format configs:
ss://BASE64-ENCODED-STRING-WITHOUT-PADDING#TAG
Where the plain URI should be:
ss://method:password@hostname:port
Note that the above URI doesn't follow RFC3986. It means the password here should be plain text, not percent-encoded.
For example, we have a server at 192.168.100.1:8888 using bf-cfb encryption method and password test/!@#:. Then, with the plain URI ss://bf-cfb:test/!@#:@192.168.100.1:8888, we can generate the BASE64 encoded URI:
ss://YmYtY2ZiOnRlc3RAMTkyLjE2OC4xMDAuMTo4ODg4Cg
To help organize and identify these URIs, you can append a tag after the BASE64 encoded string:
ss://YmYtY2ZiOnRlc3RAMTkyLjE2OC4xMDAuMTo4ODg4Cg#example-server
根据上面的步骤,首先我们需要把配置内容拼接在一起
ss://method:password@hostname:port
例如
ss://aes-256-cfb:[email protected]:10088
然后将 ss://后面的内容 进行BASE64转码,
ss://YWVzLTI1Ni1jZmI6eW91ZG9udGtub3dubWVAMTE1LjIxMi4zMy4xOTQ6MTAwODg=
填写进 OUTLINE,提示不正确。再查阅了一些 OUTLINE 现有的access-key样例,发现只需要小小的调整即可。就是服务器和端口部分不用转码,公式如下:
ss://base64(method:passwod)@server-address:port
例如
ss://[email protected]:10088
So easy! 最后补充一下,一定要是支持 TCP+UDP 的 SS 服务端才能被 OUTLINE 使用。
@2019, 最新版的OUTLINE客户端,服务端UDP支持已经不是必须的了。
参考:
https://shadowsocks.org/en/config/quick-guide.html
没服务器?点这里
[...]http://howboring.us/index.php/archives/outline-accesskey-compatiblie-all-server.html[...]
[...]参考:http://howboring.us/archives/outline-accesskey-compatiblie-all-server.html[...]