@jkdask: kannst du bitte sagen was gemacht werden muss damit es mit libcurl funktioniert?
Funktioniert es bei dir mit Milhouse builds (also ohne rbuehlmas patches)?
[Eingestellt] Zattoo PVR Client für Kodi 17
-
jojo -
7. Februar 2016 um 13:33 -
Geschlossen -
Erledigt
-
-
@jkdask: kannst du bitte sagen was gemacht werden muss damit es mit libcurl funktioniert?
Funktioniert es bei dir mit Milhouse builds (also ohne rbuehlmas patches)?
Die Methode für die HTTP(S)-Requests mit libcurl bauen.Nein, ohne die Patches würde es nicht funktionieren.
-
-
Die Methode für die HTTP(S)-Requests mit libcurl bauen.
Sorry die Frage, aber wie genau?
Würde PKG_DEPENDS_TARGET="curl toolchain kodi-platform tinyxml2 yajl" reichen? -
Ich glaube nicht, dass er es so unglücklich gemeint hat...Ich verstand es als Mega-Kompliment an die Macher und als Herzenswunsch..
Es ist weder als Kritik noch als Forderung zu verstehen, sondern eher als Hilferuf und Kompliment! Ich habe selten ein stabileres und auch über WLAN funktionierendes Plugin gesehen wie den ZATTOO PVR deshalb bitte ich darum es wieder gangbar zu machen. Es ist aus meiner Sicht alternativlos.
-
-
Mit stunnel könnt ihr das Addon aktuell weiter verwenden:
die <ip von zattoo.com> muss jeder selbst auflösen da sie vermutlich abhängig vom Standort ist.Danach in /etc/hosts:
<ip von stunnel> ist 127.0.0.1 falls stunnel auf dem selben Host wie Kodi läuft.
Wichtig: Den Eintrag in /etc/hosts muss wieder gelöscht werden sobald das Addon auch HTTPS kann. Und mit dem Eintrag werden wohl aktuell funktionierende Zattoo-Addons nicht mehr funktionieren.
Wie genau stunnel unter euren Umgebungen installiert werden soll, weiss ich nicht.
-
Wie genau stunnel unter euren Umgebungen installiert werden soll, weiss ich nicht.
nun ja, damit wird Librelec nix anfangen können.
-
-
Habe auf Fritzbox Freetz und könnte deshalb stunnel installieren/konfigureren.
Gäbe es so ebenfalls die Chance, analog das PVR Addon mit Raspi und Openelec zu nutzen?Nachtrag: wenn es einer wie Voody hinbekommen hat, bitte mal eine komplette Info, was alles nötig ist.
(bitte auch Hinweis ob https theoretisch für andere Seiten dadurch irgendwie in Mitleidenschaft gezogen werden könnte)
Hatte Freetz bisher nur, um tr069 auszukonfigurieren, endlich mal was neues... -
Habe auf Freetzbox Freetz und könnte deshalb stunnel installieren/konfigureren.
Gäbe es so ebenfalls die Chance, analog das PVR Addon mit Raspi und Openelec zu nutzen?Auf der Maschine wo stunnel drauf laufen soll, darf der Port 80 nicht belegt sein, also z.B. bei der Fritzbox geht es nicht, weil der Port schon vom Webinterface belegt ist.
Ich habe bei meiner NAS den Port 80 umgemogelt, aber stunnel stürtzt nach kurzer Zeit ab:Spoiler anzeigen
[admin@NAS212P ~]$ stunnel /etc/config/stunnel.conf
2017.04.24 14:04:02 LOG5[621:0]: Reading configuration from file /etc/config/stunnel.conf
2017.04.24 14:04:02 LOG7[621:0]: RAND_status claims sufficient entropy for the PRNG
2017.04.24 14:04:02 LOG7[621:0]: PRNG seeded successfully
2017.04.24 14:04:02 LOG7[621:0]: SSL context initialized for service squid
2017.04.24 14:04:02 LOG5[621:0]: Configuration successful
2017.04.24 14:04:02 LOG5[621:0]: No limit detected for the number of clients
2017.04.24 14:04:02 LOG7[621:0]: FD=3 in non-blocking mode
2017.04.24 14:04:02 LOG7[621:0]: FD=4 in non-blocking mode
2017.04.24 14:04:02 LOG7[621:0]: FD=5 in non-blocking mode
2017.04.24 14:04:02 LOG7[621:0]: Option SO_REUSEADDR set on accept socket
2017.04.24 14:04:02 LOG7[621:0]: Service squid bound to 0.0.0.0:80
2017.04.24 14:04:02 LOG7[621:0]: Service squid opened FD=5
2017.04.24 14:04:02 LOG7[621:0]: Created pid file /tmp/stunnel.pid
2017.04.24 14:04:02 LOG5[621:0]: stunnel 4.32 on arm-none-linux-gnueabi with OpenSSL 1.0.1u 22 Sep 2016
2017.04.24 14:04:02 LOG5[621:0]: Threading:FORK SSL:ENGINE Sockets:POLL,IPv6
2017.04.24 14:04:04 LOG7[621:0]: Service squid accepted FD=6 from 192.168.1.10:5135
2017.04.24 14:04:04 LOG7[638:0]: Service squid started
2017.04.24 14:04:04 LOG7[638:0]: FD=6 in non-blocking mode
2017.04.24 14:04:04 LOG5[638:0]: Service squid accepted connection from 192.168.1.10:5135
2017.04.24 14:04:04 LOG7[638:0]: FD=5 in non-blocking mode
2017.04.24 14:04:04 LOG6[638:0]: connect_blocking: connecting 91.123.100.211:443
2017.04.24 14:04:04 LOG7[638:0]: connect_blocking: s_poll_wait 91.123.100.211:443: waiting 10 seconds
2017.04.24 14:04:04 LOG5[638:0]: connect_blocking: connected 91.123.100.211:443
2017.04.24 14:04:04 LOG5[638:0]: Service squid connected remote server from 192.168.1.3:37385
2017.04.24 14:04:04 LOG7[638:0]: Remote FD=5 initialized
2017.04.24 14:04:04 LOG7[638:0]: SSL state (connect): before/connect initialization
2017.04.24 14:04:04 LOG7[638:0]: SSL state (connect): SSLv3 write client hello A
2017.04.24 14:04:04 LOG7[638:0]: SSL alert (read): fatal: handshake failure
2017.04.24 14:04:04 LOG3[638:0]: SSL_connect: 14094410: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
2017.04.24 14:04:04 LOG5[638:0]: Connection reset: 0 bytes sent to SSL, 0 bytes sent to socket
2017.04.24 14:04:04 LOG7[621:0]: Cleaning up the signal pipe
2017.04.24 14:04:04 LOG7[621:0]: Process 638 finished with code 0 (0 left)
2017.04.24 14:04:04 LOG7[621:0]: Signal pipe is empty
KilledIch werde das die Tage noch mal mit einem RP1 versuchen, den habe ich noch irgendwo rumliegen.
Am einfachsten wäre es, wenn jemand stunnel für Libreelec kompilieren könnte, also als Addon. -
-
Hallo V00dy.
Das Webinterface der Fritzbox kann aber auch mit https:\\ aufgerufen werden.
Firefox will dann zwar erstmalig eine Ausahmeregel für selbst erstelltes Zertifikat (AVM), aber danach scheint er auch komplett in https:\ zu bleiben.
Ändert das was an der Situation für stunnel unter Freetz?Käme man nicht mehr an die Fritzbox Box kann man ja recovery machen.
...wenn allerdings auf Port 80 der Webfrontend Dienst dazwischen funkt ist das bestimmt ungünstig, aber vielleicht kann man durch Beenden des Dienstes webcfg sogar das per Freetz lösen.
(nach Reboot startet der vermutlich wieder undist dann wieder unter https nutzbar) -
Habe nun versucht das addon gegen libcurl zu bauen, jedoch wird gemäss [definition='1','0']log[/definition] nicht die static library gewählt.
Es steht doch "set(ADDONS_PREFER_STATIC_LIBS ON)"@jkdask ist das bei dir auch so?
Scheint auch mit libcurl immer noch nicht zu funktionieren.
Code-- Checking to see if CXX compiler accepts flag -flto - yes -- Found Yajl: /home/ijr/temp/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/armv7ve-libreelec-linux-gnueabi/sysroot/usr/lib/libyajl.a (found suitable version "2.1.0", minimum required is "2.0.0") -- Found CURL: /home/ijr/temp/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/armv7ve-libreelec-linux-gnueabi/sysroot/usr/lib/libcurl.so (found version "7.53.1") -- ZATTOO_VERSION=0.2.5 -- Configuring done -- Generating done
-
-
Habe nun versucht das addon gegen libcurl zu bauen, jedoch wird gemäss [definition='1','0']log[/definition] nicht die static library gewählt.
Es steht doch "set(ADDONS_PREFER_STATIC_LIBS ON)"@jkdask ist das bei dir auch so?
Scheint auch mit libcurl immer noch nicht zu funktionieren.
Code-- Checking to see if CXX compiler accepts flag -flto - yes -- Found Yajl: /home/ijr/temp/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/armv7ve-libreelec-linux-gnueabi/sysroot/usr/lib/libyajl.a (found suitable version "2.1.0", minimum required is "2.0.0") -- Found CURL: /home/ijr/temp/LibreELEC.tv/build.LibreELEC-RPi2.arm-9.0-devel/toolchain/armv7ve-libreelec-linux-gnueabi/sysroot/usr/lib/libcurl.so (found version "7.53.1") -- ZATTOO_VERSION=0.2.5 -- Configuring done -- Generating done
Ich habe das dynamisch gelinkt. Hast du das in CMakeList.txt eingetragen oder wo genau?
-
@jkdask Ja auch, siehe hier
Hast du den Port in HTTPSocket.cpp auch von 80 auf 443 geändert?Es geht trotzdem nicht.
Code
Alles anzeigen13:16:01.915 T:140543262664448 DEBUG: AddOnLog: Zattoo PVR Client: LoadEITCategories: Add name [Standup] for category 00 13:16:01.916 T:140543262664448 DEBUG: AddOnLog: Zattoo PVR Client: Zat created 13:16:01.917 T:140543262664448 DEBUG: AddOnLog: Zattoo PVR Client: Http-Request: https://zattoo.com. 13:16:01.917 T:140543262664448 DEBUG: AddOnLog: Zattoo PVR Client: BuildRequestString: method=GET | path=//zattoo.com | host=https | port= 443 13:16:01.917 T:140543262664448 DEBUG: AddOnLog: Zattoo PVR Client: BuildRequestString: request=GET //zattoo.com HTTP/1.0^M Host: https:443^M Accept: */*^M Cookie: ^M User-Agent: Mozilla/5.0 (QtEmbedded; U; Linux; C) AppleWebKit/533.3 (KHTML, like Gecko) MAG200 s tbapp ver: 2 rev: 250 Safari/533.3^M Connection-Timeout: 5 13:16:05.527 T:140544774604480 INFO: Python, unloading python shared library because no scripts are running anymore 13:16:05.536 T:140544774604480 DEBUG: UnloadExtensionLibs, clearing python extension libraries 13:16:06.957 T:140543262664448 ERROR: AddOnLog: Zattoo PVR Client: Execute: failed to connect 13:16:06.957 T:140543262664448 DEBUG: AddOnLog: Zattoo PVR Client: Http request failed 13:16:06.957 T:140543262664448 ERROR: AddOnLog: Zattoo PVR Client: Error getting app token 13:16:06.957 T:140543262664448 ERROR: AddOnLog: Zattoo PVR Client: Could not get an app id. 13:16:06.957 T:140543262664448 DEBUG: CAddonCallbacksAddon - QueueNotification - Zattoo PVR Client - Error Message : '' 13:16:06.957 T:140543262664448 DEBUG: Calling TransferSettings for: Zattoo PVR Client 13:16:06.964 T:140544774604480 DEBUG: ------ Window Init (DialogNotification.xml) ------ 13:16:06.971 T:140543275300608 DEBUG: Thread PVRManager start, auto delete: false 13:16:06.971 T:140543275300608 DEBUG: PVRManager - Load - active clients found. continue to start 13:16:06.972 T:140543262664448 DEBUG: CAddonMgr: enabled pvr.zattoo
-
-
Hallo V00dy.
Das Webinterface der Fritzbox kann aber auch mit https:\\ aufgerufen werden.
Firefox will dann zwar erstmalig eine Ausahmeregel für selbst erstelltes Zertifikat (AVM), aber danach scheint er auch komplett in https:\ zu bleiben.
Ändert das was an der Situation für stunnel unter Freetz?Käme man nicht mehr an die Fritzbox Box kann man ja recovery machen.
...wenn allerdings auf Port 80 der Webfrontend Dienst dazwischen funkt ist das bestimmt ungünstig, aber vielleicht kann man durch Beenden des Dienstes webcfg sogar das per Freetz lösen.
(nach Reboot startet der vermutlich wieder undist dann wieder unter https nutzbar)Hallo, das hatte ich bei meiner QNAP NAS auch erst probiert, das Webinterface nur auf https zu stellen. Aber der Port 80 war trotzdem noch belegt.
Erst nachdem ich in der apache.conf den Port auf 81 geändert und den Dienst neugestartet habe, ließ sich stunnel starten. Aber stunnel ist nach einiger Zeit wieder abgeschmiert, warum auch immer... ich denke mal es fehlen evtl. irgendwelche Abhängigkeiten oder so was, ist ja alles sehr minimal gebaut.Also probier es am besten selber aus, versuch macht klug.
Das würde ich anfangs in der stunnel config auch noch rein schreiben, zum testen:
foreground = yes
[definition=12,8]debug[/definition] = 7
pid = /tmp/stunnel.pidMorgen kann ich es bei meiner Freundin auf einem RP1 mit Raspbian versuchen. Da klappt es hoffentlich.
-
Die neue Version des Addon verwendet nun Curl. Für mich mit Ubuntu funktioniert das so. Ob es auch unter anderen Umgebungen compiliert und dann auch läuft muss sonst jemand testen. Ich vermute dass es Probleme gibt, da curl dynamisch gelinked ist. Aber statisch habe ich es nicht hinbekommen. Dafür müsste man wohl sicherstellen, dass die gleich curl/openssl version wie Kodi verwendet wird.
Mein Repo (für Linux, x86_64) hat die aktualisierte Version. -
-
Die neue Version des Addon verwendet nun Curl. Für mich mit Ubuntu funktioniert das so. Ob es auch unter anderen Umgebungen compiliert und dann auch läuft muss sonst jemand testen. Ich vermute dass es Probleme gibt, da curl dynamisch gelinked ist. Aber statisch habe ich es nicht hinbekommen. Dafür müsste man wohl sicherstellen, dass die gleich curl/openssl version wie Kodi verwendet wird.
Mein Repo (für Linux, x86_64) hat die aktualisierte Version.Code
Alles anzeigensize_t CurlWrite_CallbackFunc_StdString(void *contents, size_t size, size_t nmemb, std::string *s) { size_t newLength = size*nmemb; size_t oldLength = s->size(); try { s->resize(oldLength + newLength); } catch(std::bad_alloc &e) { //handle memory problem return 0; } std::copy((char*)contents,(char*)contents+newLength,s->begin()+oldLength); return size*nmemb; } string ZatData::HttpPost(string url, string postData, bool isInit) { CURL *curl = curl_easy_init(); std::string s; curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, CurlWrite_CallbackFunc_StdString); curl_easy_setopt(curl, CURLOPT_WRITEDATA, &s); curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); curl_easy_setopt(curl, CURLOPT_COOKIEFILE, ""); curl_easy_setopt(curl, CURLOPT_COOKIE, cookie.c_str()); if (!postData.empty()) { curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postData.c_str()); } else { curl_easy_setopt(curl, CURLOPT_HTTPGET, 1L); } CURLcode res = curl_easy_perform(curl); if(res != CURLE_OK) { XBMC->Log(LOG_DEBUG, "Http request failed %s", curl_easy_strerror(res)); return ""; } long response_code; curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response_code); if (response_code == 403L && !isInit) { XBMC->Log(LOG_DEBUG, "Open URL failed. Try to re-init session."); if (!initSession()) { XBMC->Log(LOG_ERROR, "Re-init of session. Failed."); return ""; } curl_easy_setopt(curl, CURLOPT_COOKIE, cookie.c_str()); res = curl_easy_perform(curl); if(res != CURLE_OK) { XBMC->Log(LOG_DEBUG, "Http request failed2 %s", curl_easy_strerror(res)); return ""; } curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response_code); } struct curl_slist *cookies; struct curl_slist *nc; res = curl_easy_getinfo(curl, CURLINFO_COOKIELIST, &cookies); if(res != CURLE_OK) { return ""; } nc = cookies; while(nc) { std::vector<std::string> tokens; std::istringstream iss(nc->data); std::string token; while(std::getline(iss, token, '\t')) tokens.push_back(token); if (tokens.size() == 7) { cookie = tokens[5] + "=" + tokens[6] + "; "; } nc = nc->next; } curl_slist_free_all(cookies); if (response_code != 200L) { XBMC->Log(LOG_DEBUG, "HTTP failed with status code %d.", response_code); return ""; } curl_easy_cleanup(curl); return s; }
-
Die neue Version des Addon verwendet nun Curl
Hi @rbuehlma tiptop, geht wieder!!
Habe meine Repo aktualisiert.
-
-
Hi @rbuehlma tiptop, geht wieder!!
Habe meine Repo aktualisiert.
Super Sache, habe deine 2.6.1 installiert - funktioniert wunderbar mit schnellen Umschaltzeiten!
Danke an alle, die dies ermöglicht haben -
Hat es Jemand für Windows schon gemacht?
-
-
Danke für eure Bemühungen...
Nach dem DVB-T-Abschaltung war es das Addon, dass mich zum Umstieg auf Zattoo bewegt hat. -
Hi @rbuehlma tiptop, geht wieder!!
Habe meine Repo aktualisiert.Leider bei mir nicht auf einem Raspi2/openelec/Krypton. PVR startet, EPG funktioniert, Wiedergabe geht leider nicht.
Gruss, oliaros -
-
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!