Skip to content

Instantly share code, notes, and snippets.

@eesheesh
Created January 24, 2021 17:51
Show Gist options
  • Save eesheesh/e2da0e61a85e50ebf23651eb1921517f to your computer and use it in GitHub Desktop.
Save eesheesh/e2da0e61a85e50ebf23651eb1921517f to your computer and use it in GitHub Desktop.

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",
        "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 name/IP and port and put them in place of YOUR-SERVER and 12345 (respectively).
  3. Take the base64 part of the Outline key (everything after ss:// and before @) and decode it using a base64 decoder.
  4. 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.
  5. Install the Shadowsocks app for Android TV on your Android TV / Google TV device.
  6. 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.
  7. 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.
  8. You should now be able to connect to your Outline server from the app.

References: Outline Linux docs, Shadowsocks configuration format.

@ghajar77
Copy link

problem was in port .
sloved/
now how can i convert vless or vmess to .json ?

@slavinskiyboris
Copy link

Hey. Thanks. It works on Mi TV stick

@ryudkin777
Copy link

I am getting Libsslocal exist too fast(Exit code:78) on Chromecast for Google TV while trying to connect to Outline VPN server after importing json config in Shadowsocks app. Any ideas?

@nickwe3
Copy link

nickwe3 commented Dec 19, 2023

Amazing, thanks for the tuto.

Works great with Google Chromecast TV

@ghajar77
Copy link

I used this method to convert the outline configuration for the shadowsocks program and it worked. But now, due to severe filtering in my country, I can only use other accounts such as vless along with Fragment.
Is there a way to import Json file with Vless configuration in shadowsocks program? Because the program only accepts the file in the format you described and the configuration is no longer entered into the program.

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