Skip to content

Instantly share code, notes, and snippets.

@eesheesh
Created January 24, 2021 17:51
Show Gist options
  • Select an option

  • Save eesheesh/e2da0e61a85e50ebf23651eb1921517f to your computer and use it in GitHub Desktop.

Select an option

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.

@eesheesh

Copy link
Copy Markdown
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://Z2h6JKdfdFdR34eYdh5E=@1.2.3.4:25683/?outline=1

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

@ghajar77

ghajar77 commented Oct 27, 2023

Copy link
Copy Markdown

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
Copy Markdown

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

@slavinskiyboris

Copy link
Copy Markdown

Hey. Thanks. It works on Mi TV stick

@ryudkin777

Copy link
Copy Markdown

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

nickwe3 commented Dec 19, 2023

Copy link
Copy Markdown

Amazing, thanks for the tuto.

Works great with Google Chromecast TV

@ghajar77

Copy link
Copy Markdown

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
Copy Markdown

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
Copy Markdown
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://Z2h6JKdfdFdR34eYdh5E=@1.2.3.4:25683/?outline=1, the local_port is 25683. For the password, follow steps 3-4 in the guide above.

@SkMAIL13

Copy link
Copy Markdown

Thanks. Work-well 🤝

@Bansher

Bansher commented Aug 22, 2024

Copy link
Copy Markdown

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

@eesheesh

Copy link
Copy Markdown
Author

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

@Bansher

Bansher commented Aug 23, 2024

Copy link
Copy Markdown

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

agolyud commented Aug 23, 2024

Copy link
Copy Markdown

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

Bansher commented Aug 26, 2024

Copy link
Copy Markdown

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

agolyud commented Aug 26, 2024

Copy link
Copy Markdown

@Bansher

Bansher commented Aug 26, 2024

Copy link
Copy Markdown

@alar1

alar1 commented Sep 5, 2024

Copy link
Copy Markdown

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
Copy Markdown

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

Спасибо!

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

@maxim5050

Copy link
Copy Markdown

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

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

@Bansher

Bansher commented Sep 11, 2024

Copy link
Copy Markdown

@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
Copy Markdown

@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
Copy Markdown

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

agolyud commented Sep 16, 2024

Copy link
Copy Markdown

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://

@Bansher

Bansher commented Dec 3, 2024

Copy link
Copy Markdown

Hi, all.
Instead of this hard method use VPN4TV.

@guru1900

Copy link
Copy Markdown

Всем привет, я настроил shadowsocks на Android TV ( версия android 9 ). При заходе на ютуб включаю видео, оно прогружается, идет где то 2 секунды и после этого начинает бесконечно начинаться заново. В чем может быть проблема?

@hooddy

hooddy commented Dec 22, 2024

Copy link
Copy Markdown

Всем привет, я настроил shadowsocks на Android TV ( версия android 9 ). При заходе на ютуб включаю видео, оно прогружается, идет где то 2 секунды и после этого начинает бесконечно начинаться заново. В чем может быть проблема?

Поставь nekobox из fdroida (ну или отсюда с гита, тоже самое (но не из гугла плея, там угнанный аккаунт) удобнее настраивать. Плеер оригинальный работает всегда без проблем при установлении соединения. Смарттьюб геморнее, но если хочется без рекламы, то он.

@Staroffsky

Copy link
Copy Markdown

@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" : Соблазнительный+Энштейн } Всё остальное по инструкции. У меня проблема была именно с конфиг файлом т.к. в инструкции в шапке он с ошибками.

best of the best, man
thx you !

@mtr1151

mtr1151 commented Feb 7, 2025

Copy link
Copy Markdown

So after an hour of struggle I managed to make it work.
IP after @ goes to the first line "server"
port after IP and : goes to "server_port"
"local_port" stays the same 1080
password and method – steps 3 and 4

@AkhtamarCodingSolutions

Copy link
Copy Markdown

I have created a simple yet comfortable website for online key conversion to JSON: https://akhtamarcodingsolutions.github.io/ss-json-converter/


Я создал простой и удобный онлайн способ преобразования ключей Outline в JSON format для импорта в shadowsocks: https://akhtamarcodingsolutions.github.io/ss-json-converter/

enjoy.

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