Closed Ston3s closed 8 years ago
Wenn wir auf den neuen Release von url resolver warten, dann könnte dieses Plugin vervollständigt werden, die haben nämlich ein reCaptcha script includiert, evtl. könnte man das direkt ansprechen.
Edit: Oder das reCaptcha.py direkt in den resource\lib ordner kopieren, dann könnte das Problem direkt angegangen werden. @Viper2k4
meinen sourcen sind durch nen Update leider weg :'(
Du hast dir meine Version nicht zufällig gezogen?
Schau mal in die Branch backup und in den Ordner sites...
Ich hab die selbe Version, wie @StoneOffStones in dem Backup branch. Hab zwar schon was dran gearbeitet, aber das ist so unsauber, da bist du besser dran, wenn es selber versuchst.
Aber es muss zusätzlich ein teil von hier übernommen werden
Deshalb würde ich euch bitten halbfertige Entwicklungen in Zukunft einfach im Branch abzulegen. Für den Fall, dass man mal irgendwann dran weiter arbeiten möchte bzw. kann!
Also, wenn ich die Seite anime-loadz.org öffnen möchte, dann komme ich auf eine T-Online Navigationshilfe-Seite :P
geht perfekt
Oh, doch. Also ich muss sagen die Seite mach einen Recht schönen Eindruck. :)
Finde die Seite auch echt klasse, vor allem weil noch es sich hierbei um etwas Handelt was bisher nicht so richtig im Addon verfügbar ist. Dementsprechend interessantes Portfolio!!!
Für diese Seite müsste aber zuerst das Problem mit dem reCaptcha bzw. die integration des neuen URLResolvers bzw. die integration des reCaptcha.py direkt in xStream gelöst werden. Deshalb setzte ich hier den Milestone mal etwas in weitere Ferne :)
Hab grad mal ein bisschen rumgespielt. Ersten Tests nach, brauch man den reCaptcha blödsinn überhaupt nicht...
Dann schlau mich auf und ich gucke weiter :)
Hab hier einen kleinen JS Code (ich denke ja mal, das umsetzten kriegste hin :P )
Einzige sache wo ich mir noch nicht 100% sicher bin, auf der Seite steht das man am Tag max. 30 Streams ohne Captcha gucken kann. Hab meine Methode jetzt über 30 mal probiert, aber nicht an 30 verschiedenen Links. Müsste noch überprüft werden.
Enc ist das was in 'data-enc=""' steht.
ja an einem Link könnte es Probleme mit dem Cache geben ;)
aber denk an 30 verschiedenen kann man das auch testen ;)
@seberoth danke schonmal dafür :) @sraedler fallst grade Zeit hast kannst mal kurz gucken? Mache grade "Gute-Filme" fertig
Ja, versuch es mal zu integrieren, denn manuell im browser ist das blöd zu testen (aber es hat schonmal geklappt)
@Viper2k4 Da freue ich mich aber :D
@Viper2k4 Ich komm einfach nicht weiter, im Browser geht es und in dem Python Script nicht, kannst du mir helfen?
evtl. weiß @seberoth was ich falsch mach.
Mir ist klar, dass die success Funktion fehlt, aber der Response dafür ist schon ein HTTP 200 aber mit inhalt error. Hab sogar mit Wireshark versucht das mitzusniffen, aber finde nicht warum es nicht geht.
So. Habs grad mal in Python nachgebaut. Leider war es etwas komplexer als ich gedacht habe... Werd es noch vereinfachen und dann hier posten.
EDIT 1: Ok. Nach 30 mal ist schluss... Jedoch sollten diese 30 ja für die meisten schon ausrreichen. Die anderen müssen dann halt doch Captchas lösen
Ich komme wohl leider erst Mittwoch da zu mir das Site-Plugin weiter anzugucken :/
Aber ich denke auch das 30 erstmal ausreichen sollte (besser als nichts ^^). Man müsste mal prüfen auf welcher Basis dieser sperre funktioniert. Vermutlich IP-Basiert oder?
Aber ich denke falls wir das nicht umgehen können und wir dem Anwender ne Meldung ausgeben das das Limit erreicht ist sollte das ok sein. Dann kann der Anwender ja selbst reagieren z.b mit nem reconnect (falls Sperre IP-Bassiert ist und der Anwender DSL hat).
Aber schon mal danke für die tatkräftige Untersützung bei meinen Problem :)
Kann man bestimmt noch optimieren und fehlerbehandlungen einbauen, aber es funktioniert (hab auch gleich den Captcha code mit eingebunden, der funktinieren sollte wenn man die urlresolver version von tvaddons hat)
https://gist.github.com/seberoth/58fa5c08283e27aa11e1
EDIT1: Wenn ich clever gewesen wäre, hätte ich statt >=31 überprüft, ob ne error Meldung zurück kommt... EDIT2: So, nachgebessert...
https://gist.github.com/sraedler/4ab3c8e8b33357a9b32e
Hab es versucht zu integrieren, bei mir geht es mit dem was du als allgemeingültig beschreibst nicht und das was ich als regex und aus der html mit math.floor gezogen hab geht es auch nicht.
Fehler: {u'message': u'Der Antwort Parameter ist ung\xfcltig oder fehlerhaft.', u'code': u'error'}
Ich freu mich schon richtig auf Mittwoch das alles anzugucken :). Und echt doof das ich grade nichts beitragen kann :/
Aber echt richtig schön das wir doch irgendwie vorran kommen!
https://gist.github.com/seberoth/58fa5c08283e27aa11e1
Ok. War mein fehler. Hab es nur manuel mit einem Anime getestet (nicht über Kodi) und eine ud ist immer für einen Anime gültig. Deswegen ist mir der fehler nicht direkt aufgefallen.
Aber das mit dem Regex sollte klappen, so hab ich es jetzt auch angepasst und probiert in Kodi. Den quatch mit cb und random kannste weglassen.
Wer ist jetzt eigtl. für das Plugin verantwortlich?
Randnotiz: Anime-Loads hat wohl ein "bisschen" geklaut... (http://www.animenati.com)
Ich habe das Addon vom Prinzip ja verbockt. Bin ja nur mit dem Captcha nicht weiter gekommen :/
Wenn das ganze jetzt funktioniert. Werde ich das alles umbauen und in schön mit Auswahl des Releases und co. Das habe ich nur alles nicht gemacht weil es ja nicht weiter ging ^^
@animenati.com das sieht fast so aus als ob das die selben entwickler sind. Nur einmal mit und einmal ohne streams :)
@seberoth es geht bei mir leider trotzdem nicht.
https://gist.github.com/sraedler/4ab3c8e8b33357a9b32e
allerdings wieder {"code":"error","message":"noadblock"} aber weiß nichtmal wenn ich den noadblock cookie hinzufüg geht es^
Auch deine doEnc ging bei mir nicht zum ausführen
Dann weiß ich leider auch nicht weiter. Hab es grad nochmal getestet und bei mir läufts.
Hab es hiermit getestet:
oParams = ParameterHandler() oParams.addParams({'sUrl': 'http://www.anime-loads.org/media/gin-no-saji-2014-silver-spoon-2'}) oGui.addFolder(cGuiElement('Debug', SITE_IDENTIFIER, 'showEntries'), oParams)
mit was für einem kodi hast du das versuch ?
ich seh grad du hast nicht oRequestHandler.setRequestType(1) hinzugefügt um das ganze als post anstatt get zu senden, was mit dem javascript auch nicht geht.
aber sehe auch im Requesthandler nicht, wo die post variable ausgelesen wird...
oRequestHandler.setRequestType(1) ist auch nicht nötig, da urllib2/mechanize automatisch einen POST draus macht, sobald data gesetzt wurde.
Habs jetzt auch auf einem 2ten Rechner getestet und es läuft.
EInmal WIn7 mit Jarvis und einmal Win10 mit Jarvis.
kannst du deine komplette Datei einmal als gist oder zip bereitstellen, damit ich das testen kann?
https://gist.github.com/seberoth/58fa5c08283e27aa11e1 ist aktuell
Das bisher beste an der ganzen Seite ist, das man die 10-15 Sekunden wartezeit bevor man den Link kriegt (bzw. zum Hoster weitergeleitet wird) nicht überspringen kann...
geht bei mir leider nicht :cry:
Kann das jemand anders mal testen, ob es an meinem Kodi liegt?
Heute Abend :)
Sooo erst mal zieh ich meinen hut vor dir seberoth. Klasse Leistung :)
Ich musste es noch etwas umbauen damit Kodi damit klar kommt. Aber dir eigentlich Arbeit war mit deinem gist schon gemacht.
Waren die Header eigentlich nur zum testen? Weil wirklich nötig sind sie ja nicht.
Jetzt müssen wir nur noch das Leave-Script überlisten. Die 15sec nerven etwas :/
EDIT
Das man die Bilder auswählen muss geht ja leider nichts anders :'(. Aber besser als nichts :)
EDIT2
Wo hast den Site-Key eigentlich her? Kann ich den evtl. irgend wo auslesen (damit wir dynamisch bleiben)
Da bin ich ja froh das es doch läuft. Müssen wir mal gucken was bei sraedler schief läuft :/
Bzgl. des Headers: Bei mir lief es mit dem standard python Header nicht, hab nur noadblock (scheint bei dennen die fehlermeldung für alles zu sein) als Fehler zurück bekommen.
Und für die Wartezeit hab ich leider keine lösung gefunden...
Also ich habe mal alle Header rausgenommen (so nimmt er ja den stein alten von xStream) und das funktioniert wunderbar.
Mal gucken was die Anwender dazusagen wenn sie nen captcha lösen müssen ^^ (ist ja glaube das erste Plugin wo sowas drin ist)
Sobald @Viper2k4 das gepusht hat werde ich es testen, evtl. war es mein Fehler!
Ja, @seberoth das ist echt eine abartige Leistung !!!
Ich freu mich auf meinen ersten Captcha :laughing:
@Viper2k4 wenn du mir eine lauffähige Version gibst, dann mach ich das mit den 15 Sekunden, hab voraussichtlich etwas gefunden :+1:
Das dauert aber noch etwas. Da ich es erstmal Funktional bauen weil. Damit es funktioniert (auch mit den 15sec^^)
Btw. habt ihr auf der Seite ne Serien mit mehreren Staffeln gesehen?
Ich finde immer nur releases. So das bei "Pokemon" z.b einfach stumpf alle ~300 folgen aufgelistet werden.
Daher wollte ich das jetzt so aufbauen.
Eintrag => Release-Auswahl => Liste der Einträge
Sprich keinen Staffel auswahl (da nicht existent)
EDIT
Habe grade mal die Sprache vom capacha auf "de" gestellt und musst dann keines lösen ^^
Wenn du nur an den 15 sec hängst, dann kannst mir ein gist zukommen lassen, aber lass dir ruhig zeit ;)
Ich würde auch behaupten es gibt keine Staffeln...
Jetzt habe ich komischweiese plötzlichprobleme mit der Leave-Seite:
"Seite abgelaufen. Die von dir angeforderte Seite ist nicht mehr verfügbar, bitte versuche es nochmal!"
lösch mal dein cache oder stell ihn auf 1 sekunde
Habe mir nen Handler gebaut ohne caching und mit neustem Chrome-Useragent und damit ist er zufreiden ^^
https://gist.github.com/Viper2k4/04e1e30f621dbe04da5930b20e64d87d
@sraedler Das funktioniert perfekt. Aber bitte benutz nur den Test-Link. An dem anderen (Sprich Releaseauswahl arbeite ich dann) @seberoth Habe das ganze mal etwas umstrukturiert und etwas kommentiert damit ich es verstehe. Bitte korrigier mich wenn kommentare keinen Sinn ergeben ^^
Heute hab ich leider nichts mehr herausgefunden, mein verdacht hat sich nicht bewahrheitet.
Aber ich glaub nun, dass es eine Serverseitige Validierung ist, denn wenn man im Browser den leavepage Balken durchlaufen lässt reicht es die Seite neuzuladen, man benötigt also nicht zwangsläufig den finalen Url. Lädt man die Seite zwischen drin jedoch neu, so wird die Wartezeit wieder zurück gesetzt.
Ich weiß es gab bei einigen OCH's die Möglichkeit einen Manipulierten Header zu schicken mit falschen Zeitstempeln und dann ging es. Aber das hab ich bisher nicht prüfen können bzw. hat nicht funktioniert.
threading ist auch ein bisschen ein Problem, denn sobald ein neuer link angefragt wird, ist die "alte" Zeit nicht mehr gültig, das heißt es ist immer nur der letzte angefragte link aufgelöst und die anderen sind anime-load*...
Wir können das ganze noch etwas optimieren (mache ich denke ich morgen).
Und zwar ist es jetzt so das die Links direkt resolved werden. Was dazu führt das bei 3 Hostern (auch wenn nur 2 supportet werden) der Resolve ausgeführt wird. Was damit quasi 3x15sek sind.
Man könnte aber beim Hoster auch nicht direkt den resolve durchführen sondern nur den Link übergeben und dann nach der Auswahl den Resolve durchführen.
Das würde die Wartezeite wenigstens auf 15sek senken.
Das wir den Leave irgendwie austrickesen können wäre natürlich das Optimum :)
Man kann aber auch alle 3 per threading gleichzeitig auslösen.
Das Problem was sraedler hat, ist das du pro Leave-Link ein Cookie gesetzt wird. Da der RequestHandler diese jedoch bei einem Request überschreibt, funktioniert immer nur der letzte (ist ne vermutung, aber im Browser kann ich alle gleichzeitg aufrufen).
Ich bin dabei den RequestHandler entsprechend anzupassen und es dann zu probieren.
Aber wieso sollte man denn alle 3 Auflösen wenn es garnicht nötig ist?
Im JSon wird ja wir für jeder Hoster "link" übergeben. Denn man dann ans Leave übergibt. Wieso nicht in "_decryptLink" nur "item['link']" ans Hosterarray koppel und dann in der funktion "getHosterUrl" mit dem Link der ja übergeben wurde den Resolve durchführen.
So erscheint für den Anweder die Liste der Hoster direkt (dann auch nur 2 der 3) und erst beim Auswahl des Hoster wird der Link des jeweiligen Hoster resolved.
Das hört sich für mich wesentlich sauber and und hat weniger overhead.
Imprinzip hast du recht.
Es gibt aber einen Fall, wo die Wartezeit durch diese methode wieder steigt und zwar, wenn der entsprechende Hosterlink ungültig ist (Datei gelöscht usw.) In dem Fall müsste der Benutzer dann wieder 15 Sekunden warten. (Und ja, es gibt einige, vorallem ältere Animes wo das der fall ist)
Wenn nun der Link an die Liste übergeben wird, dann laufen die 15 Sekunden doch Schon los?
das heißt wenn der Benutzer 5 Sekunden benötigt um einen Hoster anzuklicken sind nur noch 10 über.
Wenn das mit den Cookies funktioniert, dann kann man diese auch speichern und durch eine Loop die jede Sekunde prüft die Zeit minimiert werden.
oder nicht?
Die Zeit beginnt mit dem ersten Aufruf des Leave-Links (_resolveLeaveLink) nicht vorher.
Man könnte natürlich beim erstellen der Liste alle Leave-Links 1x aufrufen (womit der Zähler beginnt). Dann dem Anwender die Liste zeigen und dann wie sraedler mit ner schleife solange warten bis man ein Link bekommt der nicht von Anime-Loads kommt.
Falls dann ein Link nicht geht und der Anwender (oder die Automatische Hosterauswahl) einen anderen wählt sollte die Zeit der anderen ja abgelaufen sein.
Am besten wäre immer noch den Mist zu umgehen (und ich dachte der capacha wäre unser einziges problem^^)
EDIT
Guckt mal hier:
https://github.com/adsbypasser/adsbypasser/issues/849
Es wurde zwar abgelehnt. Aber dieses Projekt hat einige Skiper eingebaut:
https://github.com/adsbypasser/adsbypasser/tree/master/src/sites/link
Evtl. funktioniert ja irgend was davon hier.
Site-Icon minimal überarbeitet damit es auch in breiten Kacheln sauber dargestellt wird.
Hallo zusammen,
möchte an dieser Stelle ebenfalls auf die mögliche Integration der Webseite anime-loadz.org hinweisen. Diese wurde bereits von viper2k4 auf einen vorzeigbaren Arbeitsstand gebracht. Jedoch bereitet zum aktuellen Zeitpunkt noch die Verwendung des reCaptcha-Features noch größere Probleme. Falls ich etwas vergessen oder nicht richtig dargestellt habe bitte ich um Korrektur!
Werbe kräftig für Mithilfe...