Kako blokirati Youtube reklame na Android TV-u?

0

Ako imate Android TV (tj. sada je Google TV) sigurno znate koliko Youtube reklame umeju da budu frustrirajuće. Pustite neku opuštajuću muziku koja traje sat vremena i za to vreme vas iznenada prepadne brdo reklama. Ili pustite neki „uradi sam“ video i taman kod najbitnijeg dela pojavi se reklama. Ovo ne bi bio problem na računaru jer možemo da kliknemo „skip“ ili šta već, ali na TV-u to nije moguće nekada.

Podržavam da kreatori trebaju da zarade, ali ovde je problem pohlepni Google zbog kojeg korisnici ne mogu da uživaju u sadržaju. Zato i podržavam Patreon i slične servise.

Elem, na računaru reklame možemo lako blokirati pomoću raznih dodataka i programa, ali na TV-u to nije tako lako. Pre nego što pređemo na uputstvo, prvo mali uvod.

Zašto je teško blokirati Youtube reklame na TV-u?

Na računaru, pogotovo u veb pregledaču, možemo instalirati program/dodatak koji filtrira reklame upotrebom „proxy“ metode. To je moguće jer takvi programi imaju mogućnost (dozvolu) presretanja saobraćaja i izmene kodova na samom sajtu. Naravno, ti alati imaju tehničku dozvolu od sistema, a vi im dajete dozvolu tako što imate poverenje u developera.

Međutim, na Android TV-u (i Android sistemu generalno) nije lako blokirati Youtube reklame jer aplikacije nemaju taj nivo dozvole od sistema (barem ne bez root pristupa – što je slučaj kod većine). Zato je jedina metoda blokiranje na nivou DNS-a. Ova metoda prosto presreće DNS zahteve i ako aplikacija naiđe na zahtev upućen ka nekom linku koji servira reklame, prosto ga blokira.

Problem sa ovom metodom je taj što mi moramo znati svaki mogući link (URL) koji Google koristi da bi servirao reklame u Youtube aplikaciji. Ovo nije moguće znati jer su linkovi različiti, menjaju se često, a i koriste glavni domen koji inače služi za serviranje samih video snimaka. U prevodu: ako blokiramo linkove od reklama, blokiraćemo i linkove do samih video klipova – što nije dobro. Više o tome kasnije.

Rešenje? SmartTubeNext aplikacija

Budući da DNS metoda za blokiranje nije rešenje, jedino nam preostaje da nekako blokiramo reklame u samoj aplikaciji. Pošto Google to ne dozvoljava, razni developeri prave svoja rešenja. Jedno takvo (i najbolje) rešenje je STN (SmartTubeNext) aplikacija.

smartyoutubetv
Izvor: smartyoutubetv

Ovo je aplikacija otvorenog koda (što znači da svako može videti njen kod) i kreirana je specijalno za Android TV operativni sistem kao zamena za zvaničnu Youtube aplikaciju.

Aplikacija je pisana od nule (dakle nije prerađena zvanična aplikacija kao što je slučaj sa Vanced) i kodirana je tako da bude brza, ima gomilu dodatnih opcija, blokira reklame i ima ugrađen SponsorBlock.

Potrebno je samo da instalirate ovu aplikaciju prateći zvanično uputstvo i koristite je umesto zvanične Youtube aplikacije.

Prednosti i mane u odnosu na zvaničnu Youtube aplikaciju

Budući da je ovo nezvanična aplikacija ona ima nekoliko mana, ali zato i dosta prednosti. Evo koje su to.

Prednosti

  • Uklanja sve reklame (iz videa, oko videa…)
  • Integracija sa SponsorBlock
  • Mogućnost biranja veće rezolucije nego što vam Youtube inače dozvoljava (recimo 4K)
  • Mogućnost biranja 60 FPS-a
  • HDR opcija (za uređaje koji to podržavaju)
  • Biranje brzine videa
  • Biranje kodeka (AV1, VP9, AVC)
  • Ne koristi Google servise (sem ako se prijavite na nalog)
  • Podržava Android TV, Nvidia Shield, Android TV Box uređaje, Amazon FireTV
  • …i još mnogo toga kroz gomilu podešavanja

Mane

  • Nema Live Chat opcije
  • Pretraga glasom možda neće raditi kako treba
  • Kastovanje (Casting) neće raditi kako treba (postoji rešenje)
  • Interfejs nije baš najbolji
  • Ne podržava Samsung Tizen, Apple TV, LG WebOS
smartyoutubetv
Izvor: smartyoutubetv

Dakle, kao što vidite, ova zamena ima dosta prednosti ali i nekoliko mana. Ipak, ovo je najbolja aplikacija ove vrste koja je dostupna za Android TV operativni sistem.

Kako radi SmartTubeNext?

Kao što sam napisao, aplikacija je pisana od nule, dakle nije prerada. Ova aplikacija koristi Google API za prikaz i upravljanje sadržajem. Zbog toga ima one mane koje sam naveo iznad, ali joj to omogućava da ima mnogo više opcija nego zvanična aplikacija.

Što se tiče prijavljivanja u aplikaciju, to je moguće i možete imati više profila. Proces povezivanja se odvija preko zvaničnog Youtube API-ja i nakon toga možete lajkovati klipove, prijaviti se, pogledati svoje liste… itd.

Dakle, sve se odvija preko zvaničnog API-ja i skrejpovanja sadržaja, aplikacija ne koristi nijednu konekciju ka nekom drugom serveru.

smartyoutubetv
Izvor: smartyoutubetv

Da li je SmartTubeNext bezbedan? Analiza

E sad, najduži deo ovog članka. Verujem da su mnogi zabrinuti za bezbednost i privatnost kada se radi o ovoj aplikaciji, i zato ću ovde izneti svoje istraživanje na tu temu.

Otvoren kod (open-source)

Ova aplikacija je, kao što sam napomenuo, otvorenog koda. To konkretno znači da ceo njen kod, šta radi, koje servere kontaktira… može svako na svetu videti (ovde). Ovo zapravo nije slučaj sa recimo zvaničnom Youtube aplikacijom (kao nijednom Google aplikacijom) pa je STN ovde u prednosti.

Kada instalirate recimo Youtube aplikaciju, vi time u potpunosti verujete developeru (Google-u) da je ta aplikacija čista, da ne prikuplja vaše podatke, nema malver itd. jer nemate pristup izvornom kodu te aplikacije. Ali, u slučaju STN aplikacije vi ne morate da verujete developeru, možete da se uverite sopstvenim očima kakva je aplikacija i šta se u njoj nalazi. Da li je onda bolje slepo verovati kompaniji Google ili sopstvenim očima?

Prednost je još i što drugi developeri mogu pogledati kod aplikacije i eventualno upozoriti na neke nedostatke, pomoći u unapređenju, razvijanju… itd.

Developer

Ovu aplikaciju je kodirao Yurii Lyskov, iskusni developer iz Ukrajine. On nije neki anonimni korisnik koji se krije iza alijasa, već ozbiljan developer koji ima posao, aktivan je u Android zajednici, ima nekoliko svojih projekata, pomaže drugima oko kodiranja…

Budući da ne krije svoj identitet, bio sam slobodan pa ga malo istražio. Ovo su njegovi profili:

Analiza aplikacije

Da bih video šta aplikacija radi u pozadini, ispitao sam oko 200 fajlova na Github-u u potrazi za funkcijama koje pozivaju eksterne servise, kao i linkovi koji se pozivaju.

Lokacije:
- https://github.com/yuliskov/SmartTubeNext/blob/933ff834f64a51c91ac7eb8013a8645eb36220c7/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/utils/Utils.java#L54
Izlazni linkovi:
- https://api.qrserver.com/v1/create-qr-code/?data=%s

Lokacije:
- https://github.com/yuliskov/SmartTubeNext/blob/ebe8ede90cf863c37ae0c75e6151ff8830bc4bbe/common/src/stbeta/res/values/update_urls.xml
- https://github.com/yuliskov/SmartTubeNext/releases/download/latest/smarttube_beta.json
Izlazni linkovi:
- https://drive.google.com/uc?id=174NUD7rr_v-NVG6H2rTmd6JDzlJNL2i7

Lokacije:
- https://github.com/yuliskov/SmartTubeNext/blob/8d036b1c8ce1624323ab60f53c97c93464b32f2a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/dialogs/AmazonBridgePresenter.java#L9
Izlazni linkovi:
- https://github.com/yuliskov/SmartTubeNext/releases/download/latest/Amazon_SYTV_Bridge.apk

Lokacije:
- https://github.com/yuliskov/SmartTubeNext/blob/8d036b1c8ce1624323ab60f53c97c93464b32f2a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/presenters/dialogs/ATVBridgePresenter.java#L9
Izlazni linkovi:
- https://github.com/yuliskov/SmartTubeNext/releases/download/latest/ATV_SYTV_Bridge.apk

Lokacije:
- https://github.com/yuliskov/SmartTubeNext/blob/be5791dc1b40033e180371a519483da7892c10c6/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/prefs/ContentBlockData.java#L14
Izlazni linkovi:
- https://sponsor.ajay.app

Kao što vidite, pronašao sam tek nekoliko fajlova koji upućuju na linkove a da nisu vezani za Google ni Youtube.

Objašnjenje za svaki link:

  • api.qrserver.com: koristi se za generisanje QR kodova
  • github.com: povlače se nove verzije radi ažuriranja aplikacije
  • drive.google.com: takođe se koristi za ažuriranje (rezervna opcija)
  • Amazon_SYTV_Bridge.apk: potrebno za Amazon uređaje
  • ATV_SYTV_Bridge.apk: potrebno za ATV uređaje
  • sponsor.ajay.app: koristi se za povlačenje SponsorBlock baze (to je zvanični sajt)

Analiza saobraćaja

Međutim, rudarenje po fajlovima nije dovoljno da me ubedi da li je aplikacija bezbedna pa sam je pustio da radi i snimao njen saobraćaj.

Uključio sam aplikacija koja presreće sav saobraćaj ove aplikacije kako bih saznao koje sve eksterne servise kontaktira. Zatim, ušao sam u aplikaciju i pustio video, povezao svoj profil, lajkovao nešto, pretplatio se na kanal… itd.

Sledi lista domena koji su kontaktirani preko ove aplikacije:

Da pojasnim svaki domen:

  • *.google.com: domen u Google vlasništvu
  • github.com: domen u Github vlasništvu
  • *.githubusercontent.com: domen u Github vlasništvu
  • *.ytimg.com: domen u Google vlasništvu
  • *.googlevideo.com: domen u Google vlasništvu
  • *ajay.app: domen za SponsorBlock
  • *.youtube.com domen u Google vlasništvu
  • *.ggpht.com: domen u Google vlasništvu

Kao što vidite, nema domena koji nisu sa one moje liste koju sam izrudario iz fajlova. Naravno, ima nekoliko novih domena čiji je vlasnik Google (npr. ggpht.com i ytimg.com) ali sadržaj sa tih domena učitava youtube.com sajt jer mora, a ne aplikacija.

Prijavljivanje na nalog – da ili ne?

Aplikacija je upotrebljiva bez naloga i radiće bez problema, ali nećete moći da lajkujete klipove, pogledate svoje liste, pretplatite se na kanal, vidite personalizovane sadržaje, itd.

Ako se odlučite da povežete svoj nalog, prijatno ćete se iznenaditi jer aplikacija koristi Youtube povezivanje umesto klasične prijave na nalog.

Dakle, aplikacija se povezuje preko youtube.com/activate linka sa vašim nalogom u par poteza i nikada neće sačuvati vaše podatke (jer im ni nema pristup). U suštini, vi se zapravo povezujete sa zvaničnim Youtube TV servisom, a ne ovom aplikacijom – što je prikazano na slici ispod.

Nakon što odobrite povezivanje, možete na svom nalogu proveriti aplikaciju kojoj ste dali pristup:

Kao što vidite na slikama, vi ste dali dozvolu zvaničnom Google servisu (Youtube za TV), a ne aplikaciji, i taj pristup možete bilo kada ukloniti klikom na „Uklonite pristup“.

Zaključak

Kao što vidite aplikacija je „čista“, ispitao sam je lično, a to je uradilo još mnogo drugih developera jer je aplikacija otvorenog koda.

Ipak, ja se ograđujem od nje budući da nisam developer i ne smem da garantujem za nju, pa zato predlažem da je sami proverite ovde i instalirate na sopstvenu odgovornost.

Možda ću u budućnosti napraviti i uputstvo kako se instalira aplikacija ako bude bilo potrebe.

Povezano
Napiši komentar

Email adresa neće biti javno prikazana!