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.

@lethalarm
Copy link

Guys, is there a video that can explain all this, I'm not familiar with decoding and would like to use the outline app on my TV !
Thanks a lot in advance

@eesheesh
Copy link
Author

@viktorbek I deleted your comment because you posted your key - you should never do it, it's private.

@viktorbek
Copy link

@viktorbekЯ удалил ваш комментарий, потому что вы опубликовали свой ключ — никогда не делайте этого, это конфиденциально.

You shouldn't have, I changed it in some places, it was for an example

@viktorbek
Copy link

@viktorbekЯ удалил ваш комментарий, потому что вы опубликовали свой ключ — никогда не делайте этого, это конфиденциально.

So can you help? My key doesn't have @

@ghajar77
Copy link

ghajar77 commented Oct 27, 2023

thanks it work ..
who can i convert oder lines like v2ray vless or vmess file to .json ?

@ghajar77
Copy link

I made a shadowsocks line and wanted to convert it to a .json file, and I did, but I didn't know what to put the port.
I made it in the Marzban panel. It was connected to the TV in the Shadowsocks program, but it didn't work. I think the problem is with the port.

@eesheesh
Copy link
Author

@viktorbek was the key created by Outline?

The structure of a key is:

ss://<base64>@<ip>:<port>/?outline=1

For example (fake data):

ss://[email protected]:25683/?outline=1

If your key is structured differently, maybe it's some other type of key?

@ghajar77
Copy link

ghajar77 commented Oct 27, 2023

How can I convert Shadowsocks line for Android TV?
or other lines such as vless or vmess
outline has no ip limit.
That's why I want to try to convert other protocols like vless or vmess.

@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.

@roerashov
Copy link

Hi! Thks for you manual. Please tell me what needs to be entered in the "local_port" and "password" fields? And how do I find out which port I have?

@eesheesh
Copy link
Author

Hi! Thks for you manual. Please tell me what needs to be entered in the "local_port" and "password" fields? And how do I find out which port I have?

For example, if your key is ss://[email protected]:25683/?outline=1, the local_port is 25683. For the password, follow steps 3-4 in the guide above.

@SkMAIL13
Copy link

Thanks. Work-well 🤝

@Bansher
Copy link

Bansher commented Aug 22, 2024

I also have "Libsslocal exists too fast (exit code: 78)" on Android TV. How fix it?

@eesheesh
Copy link
Author

@Bansher, based on shadowsocks/shadowsocks-android#2995, it sounds like maybe your key isn't valid base64. I'm not sure, though.

@Bansher
Copy link

Bansher commented Aug 23, 2024

I also have "Libsslocal exists too fast (exit code: 78)" on Android TV. How fix it?

The problem was in the incorrect json config. And good way fix it in sockshadow app. Or remove the quotation marks from the second part of the pair in json config.

@agolyud
Copy link

agolyud commented Aug 23, 2024

Guys, I made a simple client for TV Outline, everything works for me. If anyone has any edits, please send PR
https://github.com/agolyud/VPN_Outline_TV

@Bansher
Copy link

Bansher commented Aug 26, 2024

Guys, I made a simple client for TV Outline, everything works for me. If anyone has any edits, please send PR https://github.com/agolyud/VPN_Outline_TV
Алексей, я так и не понял откуда APKшку скачивать. Где страница релиза?

@agolyud
Copy link

agolyud commented Aug 26, 2024

@Bansher
Copy link

Bansher commented Aug 26, 2024

@alar1
Copy link

alar1 commented Sep 5, 2024

Guys, I made a simple client for TV Outline, everything works for me. If anyone has any edits, please send PR https://github.com/agolyud/VPN_Outline_TV

thanks!

@maxim5050
Copy link

Ребята, я сделал простой клиент для TV Outline, у меня все работает. Если у кого-то есть правки, напишите пиар https://github.com/agolyud/VPN_Outline_TV

Спасибо!

Добрый день, не подскажите как вставить ключ , что-то не получается. Заранее спасибо

@maxim5050
Copy link

@Bansher here: https://github.com/agolyud/VPN_Outline_TV/releases

Добрый день, не подскажите как вставить ключ , что-то не получается. Заранее спасибо

@Bansher
Copy link

Bansher commented Sep 11, 2024

@Bansher here: https://github.com/agolyud/VPN_Outline_TV/releases

Добрый день, не подскажите как вставить ключ , что-то не получается. Заранее спасибо

Создайте файл с расширением json со следующим содержимым:
{
"server" : mail.swishadelfa.cfd ,
"server_port" : 48402 ,
"local_port" : 1080 ,
"password" : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ,
"method" : chacha20-ietf-poly1305 ,
"remarks" : Соблазнительный+Энштейн
}
Всё остальное по инструкции. У меня проблема была именно с конфиг файлом т.к. в инструкции в шапке он с ошибками.

@maxim5050
Copy link

@Bansherздесь: https://github.com/agolyud/VPN_Outline_TV/releases

Добрый день, не подскажите как вставить ключ, что-то не получается. Заранее спасибо

создать файл с расширением json со следующим содержимым: { "server": mail.swishadelfa.cfd, "server_port": 48402, "local_port": 1080, "password": XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX, "method": chacha20-ietf-poly1305, замечания " : Соблазнительный+Энштейн } Всё остальное по инструкции. У меня проблема была именно с конфиг-файлом т.к. в инструкции в шапке он с ошибками.

Спасибо

@Sergey9694
Copy link

Hello, in what format should the outline key be entered? The key is entered, I press connect and after a second it automatically disconnects? I am talking about the android tv app https://github.com/agolyud/VPN_Outline_TV

@agolyud
Copy link

agolyud commented Sep 16, 2024

Hello, in what format should the outline key be entered? The key is entered, I press connect and after a second it automatically disconnects? I am talking about the android tv app https://github.com/agolyud/VPN_Outline_TV

Hi. format ss:// and ssconf://

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