• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 22 Hlas(ů) - 2.91 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Playlist O2TV.CZ addon - verze od Pavuucek
Takže bych si to dovolil shrnout:
  • primární problém je třeba hledat na straně O2TV, kde používají pro různé služby O2TV různé autentizační postupy navázané primárně na hlavní user/password daného účtu,
  • není to tedy tak, že by se změnil proces autentizace pouze došlo k přidání/změně jednoho postupu, který se pravděpodobně nepovedl a nabořil jim systém uživatelských účtů,
  • proto to zpočátku nefungovalo vůbec, jak se to snažili opravit, tak se něco povedlo, něco ne, někomu to chodilo, někomu ne, záviselo to, kromě jiného, na mixu služeb, které kdo používal,
  • co bylo ještě horší, že se to všechno měnilo, a stále ještě mění, v čase. Co jste jeden den zkusili a nefungovalo, to začalo fungovat druhý den a naopak
  • dnes je tedy možné použít minimálně dva postupy autentizace, jeden původní, který je dosud používán v addon i skript, který ale nemusí fungovat všem, a jeden nový, který popsal @cromac *) v http://www.xbmc-kodi.cz/prispevek-playlist-o2tv-cz-addon?pid=53045#pid53045. Komu všemu a jek dlouho bude fungovat, je samozřejmě otázka, v tomto případě záleží hlavně na O2TV.
*) Tady je na místě poděkovat @cromac za jeho tvrdošíjnost. Přiznám se, že jsme byl k němu zpočátku skeptický, ale ukázalo se, že měl namířeno správným směrem. Ostatně, on i původní addon vznikl odchycením komunikace aplikace na Androidu. Good job!

Teď pár slov k jednotlivým addons/script, jejich funkci a vztahu k autentizaci - tedy video addon video.O2TVGO, service addon playlist.o2tv a skript playlist.o2tv. Myslím, že je vhodné se o tom krátce zmínit, protože to dost věcí vysvětlí:

Addon video.O2TVGO:
  • po spuštění bez parametrů, se autentizuje pomocí user/password, pokud je úspěšná, získá acces token, který si uloží a z O2TV si stáhne si seznam kanálů zaplacené služby i s parametry (stream, logo, ...)
  • pokud se autentizace nezdaří, skončí s chybou
  • je-li autentizace úspěšná, zobrazí seznam kanálů v GUI Kodi, při výběru kanálu předá parametry příslušného streamu playeru Kodi
  • po spuštění s parametrem, kterým je identifikace kanálu, si stáhne z O2TV parametry kanálu, pro autentizaci použije uložený acces token, tzn. že v tomto případě již neprobíhá autentizace přes user/password
Service addon playlist.O2TV:
  • po spuštění nedělá nic, čeká na čas stažení playlistu podle nastavení
  • přijde-li čas ke stažení, autentizuje se pomocí user/password, acces token si nikam neukládá a pokud je autentizace úspěšná, stáhne a uloží playlist
  • pokud se autentizace nezdaří, nahlásí se chyba a čeká se na čas dalšího stažení
Script playlist.O2TV:
  • po spuštění se autentizuje pomocí user/password, acces token si nikam neukládá a pokud je autentizace úspěšná, stáhne a uloží playlist
  • pokud se autentizace nezdaří, skončí s chybou
Protože já už čas na to, abych se addon i skriptu věnoval moc nemám a navíc nejsem programátor, je myslím správná chvíle, aby se toho ujal někdo jiný. Již se k tomu hlásil @pavuucek.

Mělo by se začít tím, že se addon i script uloží to na github a zapracuje to, co prozkoumal @cromac. Protože čas běží, lidé mají zaplaceno a neměli bychom je nechat dlouho čekat, takže by to mělo být hned. Tak co, kdo se toho ujme?

@helperkodi No, na tebe jsme tu opravdu čekali. 1 Takové rady jsou opravdu skvělé. To jsme opravdu netušili, že "Získání playlistu je opravdu složitější a chce to více parametru." Co si asi myslíš, že jsme dělali doposud a co se při tom odposlechu snaží lidé zjistit? Příště se zamysli, než něco takového vyplodíš!
 
Citovat
cromac,JiRo,smekam,jste borci
 
Citovat
@cromac: dobře ty. DOBŘE TY!!! Takhle by to _mohlo_ fungovat. K https://ottmediator.o2tv.cz:4443/ottmediator-war/login jsem se taky dopracoval, jenže bohužel se stále pohybujeme na úrovni zmatků na straně O2 a jedinýho co jsem se od tý stránky dočkal byla chyba 401 :-( . Já jsem na tom pořád tak, že přihlášení přes androidí appku funguje jen přes mobilní síť (JEN přihlášení) a přes prohlížeč ani win10 appku nefunguje vůbec nic, takže mám prozatím smůlu.
A jak to tak vypadá, tak si budu muset přestat sedět na vlastních úpravách a pustit repozitář s doplňkem na github, ať už mi to funguje, nebo ne...
Server: i5-950, 16GB RAM, 1x120GB SSD, 1x 320GB + 4x 2TB HDD, Ubuntu 18.04, SW: TvHeadend, Plex Media Server (a jiné).
Klienti: Wetek Play 2 + Samsung 107cm TV, ASRock ION 330 + LG 82cm TV, záložní RPI3, SW: LibreELEC 8.2.5 / Kodi 17.6, PlexKodiConnect
 
Citovat
Tak než si tvorbu pluginu převezmou následovníci, přidal jsem do prvního příspěvku Playlist O2TV addon verzi 0.0.4 o kterou se zasloužil @croma, kterému tímto ještě jednou děkuji.  Měla by vyřešit problémy s autentizací.

Prosím o zpětnou vazbu. Já patřím k těm, který, funguje i předchozí verze, takže jistotu, že vše bude všem fungovat 100% nemám.

@pavuucek Pusť to na github, rád pomůžu. 1
 
Citovat
JiRo: funguje to! Díky oběma :)
 
Citovat
Potvrzuju ze jak tento addon tak i ostatni ktere jsou k o2tv tak funguji. Dobra prace !
 
Citovat
Musíte počkat na potvrzení inženýra helperkodi
 
Citovat
@JiRo
Hoši,hoši - děkuji. Streamy aplikací Playlist O2TV  staženy, mohu přehrávat v externích přehrávačích. Pokud jde o vlastní addon O2TV GO , tak ten stále nefunguje - neplatné přihlášení.
ThinkPad T530 : Lubuntu 20.04 + Kodi 19.4 

        
 
Citovat
(20.10.2018, 11:08)cromac Napsal(a): Ahoj,

tak po změně hesla se mi mobilní aplikace rozjela. Bohužel addon byl stále nefunkční. Tak sem si tu komunikaci na mobilu sniffnul a autentizační proces je teď jiný. Udělal sem změny ve funkci "refresh_access_token", která je v o2tvgo.py a doplněk je funkční. 

Tímto bych poprosil někoho kdo se v pythonu opravdu vyzná zda by to nepřepsal do nějaké rozumné podoby a dal na github, aby se vydal update.

Změny ve funkci aplikujete na vlastní nebezpečí. Žádný support z mé strany k tomu nebude poskytován. Nerozumím tomu natolik abych si na to troufnul.

Díky


Cromac


Kód:
    def refresh_access_token(self):
        _COMMON_HEADERS0 = {
            'X-Nangu-Device-Name': self.device_id,
            'X-Nangu-App-Version': 'Android',
            'User-Agent': 'okhttp/3.10.0',
            'Accept-Encoding': 'gzip',
            'Connection': 'Keep-Alive',
            'Content-Type': 'application/x-www-form-urlencoded',
            }
        headers0 = _COMMON_HEADERS0
        data0 = {'username': self.username,
                 'password': self.password}
        req0 = \
            requests.post('https://ottmediator.o2tv.cz:4443/ottmediator-war/login'
                          , data=data0, headers=headers0, verify=False)
        j = req0.json()
        service_id = str(j['services'][0]['service_id'])
        remote_access_token = str(j['remote_access_token'])

        datax = {'service_id': service_id,
                 'remote_access_token': remote_access_token}
        reqx = \
            requests.post('https://ottmediator.o2tv.cz:4443/ottmediator-war/loginChoiceService'
                          , data=datax, headers=headers0, verify=False)

        _COMMON_HEADERS1 = \
            {'Content-Type': 'application/x-www-form-urlencoded',
             'Connection': 'Keep-Alive'}
        headers1 = _COMMON_HEADERS1
        data1 = {
            'client_id': 'tef-web-portal-etnetera',
            'client_secret': '2b16ac9984cd60dd0154f779ef200679',
            'platform_id': '231a7d6678d00c65f6f3b2aaa699a0d0',
            'language': 'cs',
            'grant_type': 'remote_access_token',
            'remote_access_token': remote_access_token,
            'authority': 'tef-sso',
            'isp_id': '1',
            }
        req1 = requests.post('https://oauth.o2tv.cz/oauth/token',
                             data=data1, headers=headers1, verify=False)

        j = req1.json()
        self.access_token = j['access_token']
        self.expires_in = j['expires_in']
        return self.access_token

Diky mocccc, vyborna prace 2 
po uprave o2tvgo.py v doplnku O2tv Go, opet funkcni
 
Citovat
@JiRo,cromac a všichni ostatni díky,smekám.vše funkcní...
RPI 3 Libreelec 9.0 TVH,Tanix TX3 Coreelec 9.0.xx ,X96mini Coreelec 9.0.xx, KI pro Coreelec 9.0.xx
 
Citovat
Moc všechny zdravím, především pak cromaca, smekám, skvělá práce, moc Ti děkuji!
Touto cestou poztvrzuji, že cromacův update přihlašování funguje PARÁDNĚ!

Zdraví,
Martin

P.S. JiRo omlouvám se, SZ jsem si zpanul a díky za podporu ;)
 
Citovat
Ahoj, mohl by mi někdo prosím poradit, jak znovu rozchodit O2TV? Mám stejný problém, jako ostatní, že mi nedávno přestal doplněk chodit. Zkusil jsem tedy po pročtení diskuze nainstalovat Playlist 0.0.4, ale nějak bez úspěchu. Po instalaci mi mi to vyhodí hlášku "Neúspěšné nastavení služby". A jestli chci nastavit parametry služby, dám ano. Ale po vyplnění přihlašovacích údajů a potvrzení mi tato hláška vyskočí znova. A tahle to jde pořád. Neměl někdo podobný problém?

Tak už jsem to rozběhal, pomohlo přeinstalování celého pluginu verzi plugin.video.o2tvgo-1.1.8.a.zip. Díky všem, kdo to tak rychle vyřešil.
 
Citovat
(21.10.2018, 10:43)jim_h Napsal(a): Ahoj, mohl by mi někdo prosím poradit, jak znovu rozchodit O2TV?  Mám stejný problém, jako ostatní, že mi nedávno přestal doplněk chodit. Zkusil jsem tedy po pročtení diskuze nainstalovat Playlist 0.0.4, ale nějak bez úspěchu. Po instalaci mi mi to vyhodí hlášku "Neúspěšné nastavení služby". A jestli chci nastavit parametry služby, dám ano. Ale po vyplnění přihlašovacích údajů a potvrzení mi tato hláška vyskočí znova. A tahle to jde pořád. Neměl někdo podobný problém?

Tak už jsem to rozběhal, pomohlo přeinstalování celého pluginu verzi  plugin.video.o2tvgo-1.1.8.a.zip. Díky všem, kdo to tak rychle vyřešil.
 
Citovat
Při včerejší překotné práci jsem zapomněl ošetřit stav neplatné autentizace. Tedy stav, kdy je zadáno špatné nebo neexistující jméno a heslo. Zapomněl, ačkoliv mě na to @croma upozorňoval. Omlouvám se za to.  Provedl jsme rychlou opravu toho a nyní je v prvním příspěvku Playlist O2TV addon k dispozici nová verze 0.0.5. Její stažení není bezpodmínečně nutné, ale doporučuji ho. Pokrývá definovaným způsobem i ty stavy, kdy dojde ke změně na straně autentizačního procesu O2TV a autentizace neproběhne z těchto důvodů.

@pavuucek & @cromac Doplnil jsem do modulu o2tvgo základní ošetření výjimky při neplatné autentizaci. Bohužel současný stav je takový, že O2TV nevrací v případě neúspěchu v jakékoliv fázi autentizace žádnou odpověď. Takže vše je pokryto jednou společnou výjimkou, která se z modulu vrací přes AuthenticationError. Nevím, zda je to ze strany O2TV finání řešení. Pokud O2TV doplní návratové kódy, bylo by vhodné to vrátit minimálně na stejnou úroveň, jako to bylo v předchozí verzi autentizace. Tam se to při chybě při autentizaci odlišovalo návratem přes AuthenticationError nebo přes obecnou Exception s parametrem chybového kódu.
 
Citovat
Ahoj, chtěl bych poprosit o pomoc s instalací a spuštěním tohoto addonu. Jsem uplný nováček s kodi. nějak jsem prostudoval forum, ale moc mi to nepomohlo. Addon samotný se mi nainstalovat podařilo, i přihlásit se a ukázavo mi to, že se kanály stahují.  Ale nezobrazují se mi v nabídce kodi. Díky za rady, budu moc vděčný za jakoukoliv pomoc. 


Díky už jsem to vyřešil. Měl jsem špatně nastavenou cestu k m3u8.
 
Citovat
Tu chybu z Androidu (mam verziu 7) uz teda opravovat nebudete?

OSError: (1, 'Operation not permitted', '/storage/emulated/0/Android/data/org.xbmc.kodi/files/.kodi/userdata/addon_data/service.playlist.o2tv/streamer.sh')

Pravdepodobne nema pravo zapisovat niekde, ci?
 
Citovat
Dobrá práce pánové, Díky!!!
RaspberryPi 3B, LibreELEC 9.0.1
 
Citovat
Jelikož mě to už taky skoro všechno nějak funguje, takže myslím že můžu v klidu vypustit do širého světa co jsem zatim spáchal:
Račte navštívit https://github.com/Pavuucek/O2TVKodi a užívati dle libosti.
případný nedostatky, co jsem zatim neobjevil budu nejspíš řešit až mě pustěji z hospitalu...
Server: i5-950, 16GB RAM, 1x120GB SSD, 1x 320GB + 4x 2TB HDD, Ubuntu 18.04, SW: TvHeadend, Plex Media Server (a jiné).
Klienti: Wetek Play 2 + Samsung 107cm TV, ASRock ION 330 + LG 82cm TV, záložní RPI3, SW: LibreELEC 8.2.5 / Kodi 17.6, PlexKodiConnect
 
Citovat
Asi blbá otázka, ale kam se stahuje ten playlist ze service addonu? Nemohu ho na kartě nikde najít (NOOBS, Libreelec Raspberry), ani nevidím žádnou možnost nastavení cesty...Díky za nakopnutí.
 
Citovat
@tomino2: pravděpodpbně v /storage/.kodi/userdata/addon_data/service.playlist.o2tv. když se na malinu připojíš přes síť (smb) tak bys měl adresář userdata normálně vidět.
Server: i5-950, 16GB RAM, 1x120GB SSD, 1x 320GB + 4x 2TB HDD, Ubuntu 18.04, SW: TvHeadend, Plex Media Server (a jiné).
Klienti: Wetek Play 2 + Samsung 107cm TV, ASRock ION 330 + LG 82cm TV, záložní RPI3, SW: LibreELEC 8.2.5 / Kodi 17.6, PlexKodiConnect
 
Citovat
  


Přejít na fórum:


Prochází: 1 host(ů)