Kodi-vStream / venom-xbmc-addons

Addon de Streaming français pour Xbmc
GNU General Public License v3.0
495 stars 275 forks source link

Dialog info #2368

Closed LordVenom closed 5 years ago

LordVenom commented 5 years ago

image

TmpName commented 5 years ago

Par contre c'est propre a Vstream ou theme dependant ?

LordVenom commented 5 years ago

Comme dab propre a vstream faut surement fixe les polices juste peux être jamais fait gaffe.

Note : pas sur la beta encore je fini 2 ou 3 truc avant.

TmpName commented 5 years ago

Moi j'aime bien, peut etre agrandir la fentre avec les infos, elle ne fait que 25% de l'image.

LordVenom commented 5 years ago

Par la suite tu pourras agrandir le synopsys pour le lire entièrement et bien XD, et y auras le retour des autre info surtout le casting, les similaires extt... mais pas dans la fenêtre principale.

ghost commented 5 years ago

sur kodi 16.1 (et confluence bien sur) ont ne voit rien a cause du fanart il n'y a pas en bas une bordure noire elle est en haut et le dialog ne s'ouvre pas sur le synopsis qui est a droite tout petit

screenshot008

ghost commented 5 years ago

comment faire pour afficher le résumé directement sans cliqué comme avant ? les autres infos ne m'intéresse pas vraiment screenshot001 edit: sur kodi 18 le clic crée un bug le texte se deplace ex le genre se retrouve au dessus du réalisateur distribution au dessus du synopsis screenshot003

TmpName commented 5 years ago

J'ai pas trouve non plus, si tu veux pas te prendre la tete (dans config.py)

wd = XMLDialog('DialogInfo.xml', path , 'default', '720p')

C'est une vielle version (moins design) mais y a le resume sur 20% de l'ecran au moins.

Apres y a self.setFocusId(36) qui affiche le resume, mais ca reste pas, des que tu bouges la souris, ca part, apres avec la telecommande (sans pointeur) ca suffit.

Pour le bug, ca le fait que sur kodi 18 et pas 17 (meme avec un autre theme ) ? C'est un bug de superposition ? En fait le script ne fait que afficher/cacher des tabs.

ghost commented 5 years ago

perso je préférai la version précédente avec le résumé en principal

TmpName commented 5 years ago

Moi pareil, rajoutes self.setFocusId(36) dans la partie init, ca va afficher le resume direct, et tant que tu touches pas a la telecommande ca restera.

Si ca te va comme bidouille, on peut la passer en off, sauf si quelqu'un prefere les infos.

ghost commented 5 years ago

ça fonctionne je vais mettre une option dans settings pour afficher le synopsis par défaut

edit : et pour le bug d'affichage sur clic ça le fait avec les 2 theme confluence ou estuary

TmpName commented 5 years ago

Moi je me prendrais pas la tete, si quelqu'un le demande on mettra l'option , mais je pense que au moins 95% des personnes qui vont voir les infos, y vont pour le resume, donc je le mettrais direct, et il suffit de bouger la telecommande pour avoir le reste.

ghost commented 5 years ago

je l'ai modif maintenant il affiche direct le synopsis

ghost commented 5 years ago

rien a voir mais tu as deja eu affaire avec un token type bearer jwt >json token je pense dans le header j'ai besoin de authorization : Bearer GvXtznl/cBypzEEJl57O2nV6r8/BYN9WLoZF2vmkekEZLSV+21mSS4RX7n+jKrWJyH0eWqzxpF8H/7sRO23CY42qBhSvQwVNSrkwR0MhrQl6JLNP4M3wt872saytC05lEZ0Ew+Ew7lss0qQ3csbq8NqNnveSRx8Hu0HeLb/WFjw=' mais je le trouve pas sur le site ni dans les js ,code html ou header et si il est encodé pas trouvé le code pour le décodé

TmpName commented 5 years ago

C'est quoi le site pour tester ? C'est vraiment indispensable ? En fait le token a renvoyer est normalement transmit en clair, dans un simple JSON. Y a pas un lien ou tu t'authentifi ? en POST ? et c'est lui qui te renverrait le token.

Rien a voir avec ce que je connais, mais comme tu parlais de JWT > https://jwt.io/introduction/

ghost commented 5 years ago

je connais le site je suis arrivé la j'ai testé mais le token n'est pas commun du coup je cherche

TmpName commented 5 years ago

Et c'est quoi le site ou tu cherches le token ?

ghost commented 5 years ago

va sur ad kami fairy tail 291 c'est sur la redirection adn j'arrive a play la video mais il faut le token pour avoir les liens finaux

avec http fox le liens qui a le bearer == 'ht tps://xxx.network.fr/index.php?option=com_vodvideo&task=player videos&format=raw&fulllinks=1&free=1&video='

Arias800 commented 5 years ago

Adn est un hébergeur légal donc c'est pas une bonne idée d'essayer de l'ajouter a Vstream ^^

ghost commented 5 years ago

pourquoi you tube up tobox 1 fichier sont legal et on play sur vstream je vois pas le soucis on play que les video gratuite sur adn

Arias800 commented 5 years ago

ADN ne propose que certaine vidéo gratuite tout les reste du catalogue est payant . C'est comme si tu ajoute Netflix a Vstream . up tobox 1 fichier ne sont absolument pas légal puisque pour qu'un service comme ça soit légal il doit avoir les droits du contenu qu'il propose chose qui n'est pas le cas pour up tobox 1 fichier . Mais adn eux contactent les ayant droits japonais et négocier la diffusion en achetant les droit ^^

ghost commented 5 years ago

bah il y a deja un plugin net flix waka nim et crun chy roll perso je play que les videos free (voir pour ceux qui ont un compte on verra possible de s'auth) sur vstream au lieu d'aller sur le site c'est a ça que vstream sert a la base

Arias800 commented 5 years ago

Mais l'addon Netflix a eu des probleme car Netflix n'a pas approuver la création de l'addon donc c'est pas un bonne exemple de prendre exemple sur lui (tout comme l'addon de Crunchyroll d'ailleurs). Ensuite les vidéo qui sont gratuite affiche des publicité pendants la lecture puisque cette argent sert a au site (acquisition de nouvelle licence , hébergement) et au ayant droits japonais. Ensuite Vstream ne sert a pas a détourner les protection mise en œuvre par les ayants droits (c'est d’ailleurs pour ça qu'aux yeux de la Hadopi nous somme dans la légalité)

ghost commented 5 years ago

les utilisateurs de vstream sont (légal) uniquement parce que tu stream les vidéos tous ceux qui vont sur ZT et qui dl sur upto box ou 1 fichier non hein ^^ ou ceux qui play des chaines payante >> sur iptv pareil

Arias800 commented 5 years ago

Du point de vue de la Hadopi l'addon est dans les légalité car "Ces extensions ne sont donc pas destinées à contourner directement des mesures techniques de protection afin d’accéder illégalement à des plateformes de vidéo à la demande licites ou à des flux télévisés originaux " . Et la différence entre les site comme adn et tout le reste des hébergeur disponible sur Vstream c'est que l'on passe nous même les protection mise en place par les ayants-droits.

ghost commented 5 years ago

@TmpName c'est plus compliquer que prevu mais youtube dl rg3 c'est faire je vais voir de ce coté la

TmpName commented 5 years ago

Ben j'ai trouve anim edigitalnetw ork.fr/index.php?option=com_vodvideo&task=player.publicKey&format=raw

Cette cle RSA est envoye a du code JS, et le header apparait 2 requetes apres celle la, par contre j'ai plus le "deobfuscator JS" dans firefox vu que je'ai craque et mit a jour, et pour retrouver le bout de code dans les fichiers JS c'est pas coton.

Yep je viens de voir le fichier chez youtubedl, mais apparement dans certains cas ils ont des prbs de decodage de sous titre, mais ca a l'air de tourner

ghost commented 5 years ago

pour firefox j'ai gardé les deux version 54 en install et 64 en version portable pour les sous titres sur la video que je teste ils sont intégré donc..... peut etre les ep's premium

ghost commented 5 years ago

@TmpName ça fonctionne avec le plugin pour kodi youtube dl ici

edit mais pour l'instant jai plus de soustitre ( a voir)

TmpName commented 5 years ago

Ya le code ici github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/adn.py

ghost commented 5 years ago

le code ne fonctionne plus pour l'instant tu as la video mais pas les sous titres j'ai regardé le code js mais je trouve pas le pourquoi du comment :)

avec une bidouille 'recup le bearer de firefox' ou récup par ytdl j'arrive a avoir la video avec sous titres mais que pour le 360p pas le 480p (limite du free) pourtant les deux urls sont données en meme temps (mobile ,sd)

TmpName commented 5 years ago

J'ai vu un truc sur le forum, en fait il faut decoder les sous titres, et le code est un code JS dynamique (comme celui de openload), mais apparement c'est plus galere que ca en l'air.

Par contre j'ai pas compris, toi tu arrives a avoir les sous titres sous kodi avec le beaver de firefox ? Donc ce serait leur beaver le prb ?

Tu as un fichier beta ?

ghost commented 5 years ago

non les sub sont automatiquement dispo sur la qualité "mobile" 360p c'est pour ça la le soucis c'est la clef a changé je pense ligne du coup le décodage plante ligne 63 (ils sont au courant mais personne ce bouge) et je la trouve pas et n'arrive pas pour l'instant executé le js meme en déobfuscant

TmpName commented 5 years ago

Bon j'ai commence mais y a du taff. Le code a l'air de changer souvent, donc faut vraiment le reperer efficacement, leur regex ne marche deja plus. Pour le reperer efficacement je pense qu'on a pas le choix, faut nettoyer. Du coup j'ai commence avec ca https://pastebin.com/pY2V5cMr En python3

Par contre, mon sHtmlContent.decode('unicode_escape') est un peu trop bourrin, ca me provoque des bugs a niveaux des " et ', et du coup j'ai des erreurs de syntaxe quand je repasse le code a JSnice.

TmpName commented 5 years ago

Une version qui fonctionne > https://pastebin.com/DqWY1GjV Ca nettoye le code qui passe ensuite dans jsnice.

Par contre 1 - je suspecte un decallage dans le tableau, ce qui fait que mes remplacements ne sont pas bon 2 - J'ai pas trouve la partie gerant les sous titre encore .

C'est bon, trouve

   * @return {undefined}
   */
  var readInputStream = function() {
    var _0xc819f2;
    /** @type {!Array} */
    var self = [_0xc819f2 = 22940, _0xc819f2 = _0xc819f2 + 55390, _0xc819f2 = _0xc819f2 + 48153, _0xc819f2 = _0xc819f2 + -25131];
    /** @type {number} */
    self[2] = self[3] ^ self[1];
    /** @type {number} */
    self[3] = self[0] * self[1];
    /** @type {number} */
    var content = 1;
    for (; content < 19; content++) {
      self[2] += content;
    }
    /** @type {number} */
    self[0] = 101709 * self[0] % (2 << 16);
    /** @type {number} */
    self[0] = 121942 * self[0] % (2 << 16);
    _0x1859f7(self["vjs-meta-summary"](function(canCreateDiscussions) {
      return ("vjs-meta-rating" + canCreateDiscussions["registerComponent"](16))["end"](-4);
    })["load"](""));
  };

Rien de mechant, il passera dans JSparser, mais je confirme, je suis sur qu'il y a un prb avec mon remplacement. Put1 que le JSDeobfuscator me manque.

ghost commented 5 years ago

j'en suis au meme point que toi sauf que le fichier sub est encodé on le récup via une url et on doit le décodé avec le random (k) de la requete precedente + la clef fichier hoster ici fichier qui sert de test en local ici il faut remplacer lol4 par le contenu de la page sub

edit: je viens de modif le code hoster pour les sub

TmpName commented 5 years ago

Avec mon code j'arrive a la cle : 094831fababd5e58

    var _0xc819f2;
    var self = [_0xc819f2 = 22940, _0xc819f2 = _0xc819f2 + 55390, _0xc819f2 = _0xc819f2 + 48153, _0xc819f2 = _0xc819f2 + -25131];
    self[2] = self[3] ^ self[1];
    self[3] = self[0] * self[1];
    var content = 1;
    for (; content < 19; content++) {
      self[2] += content;
    }
    self[0] = 101709 * self[0] % (2 << 16);
    self[0] = 121942 * self[0] % (2 << 16);
        window.alert(self.map(function(_0xc819f2) {
            return ("0000" + _0xc819f2.toString(16)).substr(-4)
        }).join(""))

Si ca change a chaque video, faut qu'on se mette d'accord pour chercher sur la meme.

Pour lol4 tu le recuperes via navigateur, ou tu as deja un code python ? C'est ca htt ps://animedigitalnetwork.fr/index.php?option=com_vodapi&task=subtitles.getJSON&format=json&id=98&token=HTQsfeWxwpcab25d968c3af ?

ghost commented 5 years ago

oui bonne url le code sub lol4 est dans le sHmlcontent4 en bas sur le fichier hoster et a mon avis la clef change tous le temps moi j'ai return ("5820" + a.toString(16)).substr(-4)

TmpName commented 5 years ago

Effectivement, elle a encore changée, bon j'ai tout integré dans vstream me reste plus qu'a decoder la cle de maniere auto.

Petite question je vois que tu arrives deja a un truc decodé > ("5820" + a.toString(16)).substr(-4). Tu as fais ca a la main, ou tu as une fonction ? car moi j'ai une fonction mais j'ai un decalage dans le remplacement.

ghost commented 5 years ago

ah non je me suis gouré de ligne code j'ai ça en faite return ("5820" + intval["toString"](16))[_0x5b81("0xff")](-4); l'autre c'est l'ancienne version du décodage dans l'issue sinon j'ai utilisé ddecode_com jsnice et jsbeautifier et codebeautify

5820 c'était hier ou avant hier >> je pense que chaque jour ça change comme le bearer il est valable 1 journée

edit : j'ai essayé de bidouille le m3u8 >> changé la qualité a l'interieur vu que la version mobile de la video a les sub auto mais ça fonctionne pas c'est l'url qui donne la qualité

TmpName commented 5 years ago

Bon j'ai du mieux, j'arrive a extraire le code, et le rendre compatible https://pastebin.com/VM5vTShY

Par contre jsparser ne gere pas la commande "map", donc soit faut adapter soit ameliorer la lib.

ghost commented 5 years ago

c'est du python 3 ? c = chr(int(string[(i+2):(i+6)],16)) chr() arg not in range(256) ASCIIDecode ça plante sur un \u

TmpName commented 5 years ago

Oui j'ai misere avec les version de python ca marche pas du tout pareil. Du coup j'ai refait le code pour python2 et ca fonctionne, ca donne le code (j'ai mit a jour le parser sur mon github) https://pastebin.com/qZ6UEyaT

Dans ton cas faut chr en python3 mais unichr en python2

ghost commented 5 years ago

la c'est ok sur kodi reste a test le decode des sub tout a l'heure

TmpName commented 5 years ago

https://pastebin.com/96i5PQRG Fichier hosters, bon y a pas de message d'erreur, mais ca marche pas.

Et y a encore un soucis avec le JSparser il rajoute un "L" a certain moment dans les variables, du coup dans certains cas le code n'est plus bon, suis desssus la, ce sera vite corrige.

Edit: Parser remit a jours.

ghost commented 5 years ago

fonctionne pas chez moi pour l'instant par contre il faut laisser la premiere requete indispensable il faut l'url avec le titre complet sinon rien ne fonctionne sur ad kami les url sont des embeded >> redirection

edit fonctionne apres avoir remis la 1ere requete

TmpName commented 5 years ago

Et si je dis pas de connerie, on peut se servir du fichier GKDecrypter.py pour ne pas avoir a refaire le code de decryptage aes.

ghost commented 5 years ago

la je test enregistrer les sub au format srt les sub c'est obligatoirement une url ou un fichier txt? kodi ne gere pas les bytes.io c'est con on aurait le srt en ram enfin du moin j'ai test il y a lgt avec des morceau .ts ça fonctionné pas

TmpName commented 5 years ago

Non, je pense pas, j'ai reverifié mais j'ai vu que 2 modes, fichier local et fichier distant.

ghost commented 5 years ago

la je suis au moment de donner le path du fichier sub

ghost commented 5 years ago

il restera a nettoyer faire un truc propre et normalement c'est bon