Generate OUTLINE client compatible ACCESSKEY
OUTLINE is a great project, the OUTLINE client is cross platform. We know OUTLINE server base on SHADOWSOCKS protocol, so what if we could use SHADOWSOCKS server with the Outline client?
Different with SS-Client, OUTLINE client use the ACCESSKEY which like ss://access-key. It is not the server address, password, encryption method, etc. we used to use. Let me explain How is this access-key generated.
After reviewing, the SS configuration can also be shared by QRCODE, and the SS official also defines a standard. Is this standard the access-key generation method we are looking for?
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
According to the above steps, first we need to splicing the configuration together.
ss://method:password@hostname:port
E.g
ss://aes-256-cfb:[email protected]:10088
Then the content behind ss:// is BASE64 transcoded.
ss://YWVzLTI1Ni1jZmI6eW91ZG9udGtub3dubWVAMTE1LjIxMi4zMy4xOTQ6MTAwODg=
Fill in OUTLINE, if it show up "Connected", congratulations! But sometimes it will prompt "Incorrect". Please just transcode the first part. The server and port parts do not need to be transcoded. The formula is as follows:
ss://base64(method:passwod)@server-address:port
E.g
ss://[email protected]:10088
Tested in MacOS/ iOS/ Android/ Windows.
Reference:
https://shadowsocks.org/en/config/quick-guide.html
Want a SS server?