Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save SiavashB/3d94535c85f9e8ed88e59fac3fd1d458 to your computer and use it in GitHub Desktop.
Save SiavashB/3d94535c85f9e8ed88e59fac3fd1d458 to your computer and use it in GitHub Desktop.

(I forked this and made a slight modification from the original to clarify a part that had me confused)

There's a workaround that might be useful for some people - use the Shadowsocks app for Android TV. Because that app only accepts a JSON configuration file, you need to convert the Outline key to JSON.

  1. Take the following JSON file template:
    {
        "server":"YOUR-SERVER-IP",
        "server_port":12345,
        "local_port":1080,
        "password":"YOUR-PASSWORD",
        "method":"chacha20-ietf-poly1305",
        "remarks": "Outline Server"
    }
  2. From the Outline key (ss://...), take the server IP address (the numeric portion xx.xx.xx.xx) and port (the number after the column) and put them in place of YOUR-SERVER_IP and 12345 (respectively).
  • the ip address is after the @ and before the :
  1. Take the base64 part of the Outline key (everything after ss:// and before @) and decode it using a base64 decoder.
  2. The resulting string is the method and password, separated by a colon (e.g. chacha20-ietf-poly1305:56gsef6zr5). Take the password and put it in place of YOUR-PASSWORD in the JSON file. If the method isn't chacha20-ietf-poly1305, update it in the JSON "method" field.
  3. Install the Shadowsocks app for Android TV on your Android TV / Google TV device.
  4. Copy the JSON file to your device. If you don't have a way to do that, there are many file managers available for Android TV. If you already have Kodi installed, it has a built-in file manager in Settings, that can be used to copy from network shares as well.
  5. Open the Shadowsocks app on your device and select "Replace from file".
    • If you get a "No application can handle this action" error, you also need to install a file manager that can handle selecting a file from the file system. Not all file managers can do this. On Chromecast with Google TV, I found that it works after installing this app.
  6. You should now be able to connect to your Outline server from the app.

References: Outline Linux docs, Shadowsocks configuration format.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment