Dzisiejsze telewizory są coraz bardziej „smart”, już dawno przestały być tylko telewizorami. Pełnią funkcję domowego centrum multimedialnego. Dzięki podłączeniu do internetu możemy na nich oglądać filmy, seriale czy słuchać muzyki poprzez serwisy steamingowe czy nawet przeglądać internet dzięki setkom aplikacji dostępnych w sklepach danych producentów telewizorów. W parze z tymi możliwościami idą też sztuczne ograniczenia i zagrożenia, głównie dla naszej prywatności.
Spis treści
Orwell miał rację?
Co wiedzą o nas nasze telewizory? Jak się okazuje całkiem sporo. Jeżeli ktokolwiek przed zaakceptowaniem wczytuje się w wyświetlaną podczas pierwszego uruchomienia telewizora licencję użytkowania i w dodatku nie boi się prawniczego języka zapewne mógłby znaleźć w niej niepokojące zapisy. Ale ktoś to w ogóle czyta? Ze wspomnianych zapisów można zazwyczaj wywnioskować, że stosowana jest tzw. telemetria, czyli innymi słowy producent zbiera informacje o tym jak używamy telewizora, aby „ulepszyć swój produkt i zapewnić nam jak najlepsze wrażenia podczas użytkowania”. Raczej mało kto z nas czytając te mgliście brzmiące zapisy spodziewa się, że wszystko co oglądamy na naszym telewizorze może być przekazywane na serwery producenta. Czytając artykuł, kolejny artykuł, i jeszcze kolejny artykuł możemy doznać flashbacków rodem z powieści Orwella „1984”. Współczesne telewizory obserwują nas, i to dosłownie. Udokumentowane zostało, że telewizory od Samsunga robią dwa zrzuty ekranu na sekundę i wysyłają je na swoje serwery. To i tak nic w porównaniu do LG który robi 100 (słownie STO) zrzutów ekranu na sekundę! dla porównania przeciętny oglądany przez nas film wyświetla treść w 23kl/s, a gry działające z prędkością 60kl/s uznaje się za płynne. Skąd zatem taka zachłanność? Przecież tak dużej ilości przesyłanych danych nie da się ukryć. Na to pytanie ciężko mi odpowiedzieć. Niedawno wylała się na Microsoft spora fala krytyki w odpowiedzi na zapowiedź i wprowadzenie funkcji Recall w Windows 11. Tutaj mamy taką różnicę, że producenci telewizorów wcale nie zapowiadali ani nie ujawnili zasad działania wprowadzonej funkcji ACR (Automatic Content Recognition) będącej odpowiednikiem Recall od MS. Dopiero niezależni ciekawscy badacze ujawnili działania Samsunga i LG, gigantów z branży TV. Co możemy z tym zrobić? Nie podłączać telewizora do internetu 😀
Najbardziej bulwersującą część mamy już za sobą. No dobra, ale może poza szpiegowaniem nasze telewizory nie są takie złe? Przecież zapewniają nam wygodę użytkowania – wszystkie możliwości jesteśmy w stanie wykorzystać używając tylko kilku przycisków na naszym pilocie. Jeśli Wam to odpowiada, to możecie rozważyć czy używanie telewizora jest warte poświęcenia naszej prywatności. Jeśli jednak pośród tego co zapewnia Wam producent brakuje kluczowych dla Was możliwości, to nie ma nad czym się zastanawiać, zapraszam do dalszej części wpisu.
Uwolnienie przez obejście
Niestety trochę wbrew tytułowi w tym wpisie nie będziemy uwalniać naszego telewizora (poza drobnymi wyjątkami). Dlaczego? Ponieważ prawie każdy producent stosuje swoje własne zamknięte oprogramowanie. Co prawda coraz popularniejsze stają się Android TV / Google TV, jednak odblokowanie takowego to zabawa w kotka i myszkę – moderzy hakują firmware a producent je łata. Przede wszystkim nie odblokujemy w nim bootloadera i nie wgramy alternatywnego oprogramowania jak ma to miejsce w przypadku smartfonów. W tym wpisie zajmiemy się raczej obejściem problemu jakim jest dla nas oprogramowanie producenta. Innymi słowy podłączymy zewnętrzne urządzenie, które przejmie na siebie odpowiedzialność za bycie „smart”.
Zanim jednak przejdę do tematu właściwego, muszę wspomnieć o możliwości jailbreaku (odblokowania) starszych telewizorów, głównie LG pracujących pod kontrolą systemu WebOS. W skrócie: wchodzimy na stronę cani.rootmy.tv, Wpisujemy model swojego TV i dostajemy informację czy nasz telewizor jest podatny na uzyskanie uprawnień roota – jeśli tak to podane są instrukcje jak wykonać taką operację. Polega ona na wejściu przez wbudowaną przeglądarkę na specjalnie spreparowaną stronę internetową lub przygotowaniu pendrive na który wgrywamy pobrane wcześniej narzędzia do jailbreaku wykorzystujące podatność naszego firmware. Całość jest bajecznie łatwa i wymaga ewentualnie pendrive. Telewizor po takiej operacji zyskuje dostęp do WebOSbrew, czyli repozytorium typu HomeBrew z aplikacjami napisanymi na daną platformę. dla przykładu możemy zainstalować zmodyfikowany YouTube bez reklam, KODI czy nawet windowsową grę Pinball 😉

Jednak takie modyfikacja to tylko półśrodki, czas wypłynąć na głębokie wody. Z obowiązku muszę napisać, że to co będę poruszał w niniejszym artykule – podobnie jak i w poprzednich – wymaga trochę czasu, zaangażowania i szczyptę uporu, w końcu to my sami będziemy tworzyć swoje domowe centrum multimedialne – będziemy użytkownikiem, administratorem, helpdeskiem i serwisem. A to wszystko w jednej osobie 😉 Poza tym będziemy musieli kupić/odkurzyć sprzęt, na którym zainstalujemy nasz system.
LibreELEC

Od technicznej strony LibreELEC – bo o nim będzie mowa – to system operacyjny oparty na jądrze Linuxa którego głównym zadaniem jest uruchomić aplikację/centrum multimedialne KODI. Można powiedzieć, że jest to taka lekka dystrybucja Linuxa służąca wyłącznie do obsługi multimediów. Jak głosi hasło twórców LibreELEC: „Just enough OS for KODI”. Jednak to nie tytułowy LibreELEC, a KODI jest bohaterem dzisiejszego wpisu – LibreELEC jest „tylko” systemem obudowującym nasz kombajn multimedialny – nie umniejszając twórcom ich ciężkiej pracy. Niech Was jednak nie zwiedzie pozorne ograniczenie naszej dystrybucji, mimo bycia ” tylko odtwarzaczem” multimediów potrafi bardzo wiele, w końcu bazuje na tym samym jądrze, które gości na naszych pecetach czy serwerach. W niniejszym artykule zaprezentuję jedynie drobny ułamek jego możliwości.
Instalacja LibreELEC
LibreELEC możemy zainstalować na prawie każdym urządzeniu, wystarczy że posiada ono wyjście HDMI lub inne wyjścia wideo/audio. Możemy do tego użyć stary komputer czy laptop, który kurzy się nam w szafie, kupić jakiś poleasingowy terminal lub zbudować sobie samemu HTPC. Jednak największą efektywność możemy osiągnąć instalując go na komputerkach jednopłytkowych, zazwyczaj w architekturze procesora ARM, czyli takiej samej jaka gości w naszych smartfonach. Dzięki temu zużycie prądu jest śmiesznie niskie a mimo tego jesteśmy w stanie odtwarzać treści wideo w rozdzielczości 4k przy odświeżaniu ekranu 60hz. W tym artykule użyję chyba najpopularniejszej płytki dostępnej na rynku, czyli Raspberry Pi 5, jednak omawiany LibreELEC możemy zainstalować również na wielu innych mini komputerkach.
Rozpoczynamy instalację na RPi5
- Wchodzimy na stronę LibreELEC.tv
- Jeśli mamy zainstalowany system Windows, pobieramy LibreELEC USB-SD Creator, otwieramy program i postępujemy zgodnie z instrukcjami, program pobierze i wrzuci na kartę obraz LibreELEC,
- Jeśli używamy dystrybucji Linuxa to pobieramy bezpośrednio obraz LibreELEC, otwieramy terminal w katalogu z pobranym obrazem i rozpakowujemy:
gzip -d LibreELEC-RPi5.aarch64-12.0.2.img.gz
- Następnie wgrywamy rozpakowany obraz na kartę pamięci:
sudo dd if=LibreELEC-RPi5.aarch64-12.0.2.img of=/dev/mmcblk0 bs=4M
, zakładając że /dev/mmcblk0 jest naszą kartą pamięci podpiętą do peceta. Punkt montowania swojej karty możemy sprawdzić poleceniemfdisk -l
.- Można też użyć programu Balena Etcher dostępnego w repo naszych dystrybucji, ale po co? 😉
- Po zakończonym procesie wgrywania obrazu wkładamy kartę pamięci do czytnika RPi5,
- Podłączamy przewód HDMI i zasilanie do Maliny a instalacja rozpoczyna się samodzielnie,
- Po zakończonej instalacji naszym oczom ukaże się interfejs KODI i pojawi się prosty konfigurator który zapyta nas o język, połączenie z internetem, Sambę i SSH (polecam włączyć oba przełączniki, będą potrzebne w dalszej części poradnika)
Dzięki obsłudze HDMI CEC w LibreELEC nie potrzebujemy dodatkowej klawiatury, możemy operować używając pilota do telewizora.
Tak u mnie wygląda skonfigurowany KODI:
Jak widać na screenach interfejs we wszystkich wtyczkach jest spójny. Nie musimy przyzwyczajać się do innego wyglądu każdej wtyczki z osobna, wymuszonych zmian od producentów itp. Wystarczy że przywykniemy do interfejsu oferowanego przez twórców KODI.
Dodatki
KODI samo z siebie jest podstawą naszego centrum multimedialnego, swoją siłę ujawnia dopiero po zainstalowaniu wtyczek. Dostępne są wtyczki obsługujące prawie wszystkie popularne serwisy streamingowe wideo jak Netflix, Max (HBO), Amazon Prime, CDA oraz wtyczki streamingowe audio jak Tidal czy Spotify. W tym rozdziale opiszę instalację kilku popularnych dodatków
Oficjalne repozytorium
Jeśli szukamy interesującego nas dodatku, warto w pierwszej kolejności zerknąć do oficjalnego repozytorium, jest tam mnóstwo dodatków, które mogą nas zainteresować, np. Spotify (Librespot), Syncthing, Napiprojektpl, Napisy24.pl, Opensubtitles.com, Subtitles Mangler i wiele innych (cztery ostatnie wymienione wtyczki przydadzą się po zainstalowaniu qBittorrent 😉 )
Jeśli jednak nie znajdziemy interesującego nas dodatku, możemy znaleźć niezależne repozytoria utrzymywane przez danych autorów dodatków, np:
YouTube
Dodatek YouTube pozwoli nam na oglądanie treści bez reklam, jednak wymagane jest darmowe utworzenie własnych kluczy API od Google.
Instrukcja konfiguracji API i logowania.
Netflix
Dzięki dodatkowi Netflix możemy oglądać filmy i seriale na naszym telewizorze bez potwierdzania adresu domowego. Przydatne jeśli ktoś dzieli konto ze znajomymi. Rozdzielczość treści ograniczona jest do 1080p.
Instrukcja logowania.
Max
W repozytorium znajdziemy dodatek do oglądania filmów w Max (HBO) oraz wiele innych. Wadą tego rozwiązania jest możliwość oglądania treści w rozdzielczości maksymalnie w 720p.
Tidal
Dodatek Tidal pozwoli nam słuchać utworów w maksymalnej dostępnej jakości.
Instrukcja konfiguracji i logowania.
Pobrane repozytoria kopiujemy np. do folderu downloads w LibreELEC, następnie wchodzimy w Dodatki -> zainstaluj z pliku zip, wskazujemy na skopiowany plik i zatwierdzamy. Mamy już zainstalowane repozytoria, teraz wystarczy wejść w Dodatki -> zainstaluj z repozytorium, wybrać dane repo, np. Tidal2 Addons -> wtyczki muzyki -> Tidal2.
Docker
W LibreELEC istnieje możliwość instalowania kontenerów w Dockerze. Dla niewtajemniczonych wyjaśnię że Docker daje nam możliwość instalowania programów jako modułów na serwerze. W tym wypadku LibreELEC staje się naszym lokalnym serwerem i możemy zainstalować np. qBittorrent i pobierać sobie dystrybucje Linuxa 😉 Program będziemy obsługiwać przez przeglądarkę z ekranu naszego peceta lub smartfona podłączonych do naszej sieci lokalnej.
Instalacja dockera:
- W menu głównym otwieramy Dodatki -> zainstaluj z repozytorium,
- wybieramy LibreELEC Add-ons -> Usługi,
- Wybieramy Docker i klikamy Zainstaluj,
- Wracamy do listy kategorii, wchodzimy do Repozytorium dodatków,
- Wybieramy LinuxServer.io’s Docker Add-ons i klikamy Zainstaluj,
- Następnie wracamy do menu repozytoriów i tym razem wybieramy repo LinuxServer.io’s Docker Add-ons – Usługi,
- Wyświetli nam się lista kontenerów, znajdziemy tu m. in. Nextcloud, AdGuardHome i wiele innych,
- Warto zainstalować Docker Image Updater aby kontenery aktualizowały nam się automatycznie,
- Restartujemy LibreELEC
Instalujemy qBittorrent
Jako że niestety na liście nie znajdziemy potrzebnego nam qBittorrent, to musimy zainstalować go ręcznie:
- Otwieramy na naszym pececie terminal
- łączymy się z LibreELEC poprzez SSH:
ssh root@192.168.1.101
(zakładam że LibreELEC w naszej sieci ma końcówkę adresu .101, aby sprawdzić swój adres wchodzimy w Ustawienia -> O systemie -> Sieć),- domyślne hasło to libreelec
- Instalujemy potrzebny nam docker compose w trzech poleceniach:
mkdir -p "$HOME/.docker/cli-plugins" && \
curl -sL "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o "$HOME/.docker/cli-plugins/docker-compose" && \
chmod +x $HOME/.docker/cli-plugins/docker-compose
- Instalujemy qBittorrent:
- pobieramy qbittorrent.yml
- Nasz LibreELEC ma wstępnie skonfigurowaną Sambę, więc powinien być domyślnie widoczny w udziałach sieciowych. Jeśli jednak go nie widzimy, to w pasku adresu wpisujemy: smb://192.168.1.101
- kopiujemy pobrany plik qbittorrent.yml np. do folderu ~/downloads w LibreELEC
- w otwartym terminalu wpisujemy:
docker compose -f ~/downloads/qbittorrent.yml up -d
- Kontener powinien się nam pobrać i zainstalować,
- Otwieramy przeglądarkę i wpisujemy adres naszego LibreELEC i dodajemy po nim port, czyli 8000. Adres powinien wyglądać tak:
- 192.168.1.101:8000
- login: admin
- aby uzyskać hasło musimy zajrzeć do logów dockera, wpisujemy w terminal/SSH:
docker ps
, wyświetli nam CONTAINER ID:- wpisujemy komendę: docker logs [id], w naszym przypadku będzie to:
docker logs 5f4da25c8e81
, w logu znajdziemy hasło: - Po wpisaniu loginu i hasła powinien ukazać nam się ekran programu:

- Pozostaje nam już tylko zmienić domyślne hasło i jesteśmy w domu! 😀
- Dodatkowo dla wygody w ustawieniach możemy wyłączyć monit logowania w sieci lokalnej,
- W przypadku smartfona warto zainstalować qBitController z F-Droid, korzystanie z niego będzie dużo wygodniejsze niż z webowej wersja interfejsu, dodatkowo potrafi automatycznie otwierać pobierane pliki .torrent czy .magnet.
- Aktualizujemy kontener poprzez komendy:
docker pull lscr.io/linuxserver/qbittorrent:latest
docker stop qbittorrent
docker rm qbittorrent
docker compose -f ~/downloads/qbittorrent.yml up -d
- Aktualizacja polega na usunięciu i ponownym zainstalowaniu najnowszej wersji, jednak ustawienia pozostają zachowane.
Podsumowanie
Chcąc mieć swoje własne centrum multimedialne jesteśmy zmuszeni złożyć i skonfigurować je samodzielnie. Nikt nie zrobi tego za nas, nie kupimy gotowego produktu w sklepie działającego out of the box. Za to jeśli poświęcimy trochę czasu i energii, otrzymamy sprzęt o ogromnych możliwościach, bez inwigilacji, bez reklam, bez sztucznych ograniczeń który po wstępnej konfiguracji nie wymaga prawie utrzymania. Możemy go zostawić włączonego, będzie się sam aktualizował i co najważniejsze zużywa 3,3W energii na luzie. Jeśli macie jakieś pytania lub są nieścisłości, to zapraszam do dyskusji.
Do następnego!