From 22d1cc99dab9d1834dafe48714209504581c0e22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bas=20Magr=C3=A9?= Date: Thu, 8 Feb 2024 21:56:15 +0100 Subject: [PATCH] updates --- docker-compose.yaml | 9 +++ gen-website.sh | 21 +++---- kodi/images/hack-npo.jpeg | Bin 0 -> 121353 bytes kodi/kanalenlijst-hans.md | 16 +++++ kodi/npo.md | 112 +++++++++++++++++++++++++++++++++++ kodi/rtlxl.md | 25 ++++++++ website-template/navbar.html | 17 +++++- 7 files changed, 187 insertions(+), 13 deletions(-) create mode 100644 docker-compose.yaml create mode 100644 kodi/images/hack-npo.jpeg create mode 100644 kodi/kanalenlijst-hans.md create mode 100644 kodi/npo.md create mode 100644 kodi/rtlxl.md diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..71019fc --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,9 @@ +version: "3" + +services: + client: + image: nginx + ports: + - 8000:80 + volumes: + - ../website:/usr/share/nginx/html \ No newline at end of file diff --git a/gen-website.sh b/gen-website.sh index f31a5f0..e9f2ee9 100755 --- a/gen-website.sh +++ b/gen-website.sh @@ -1,23 +1,24 @@ #!/usr/bin/env sh genHtml() { - echo "html for $1 with title $3 in template in dir $2" - pandoc $1.md -o $1.html --template ${2}website-template/template.html --include-in-header ${2}website-template/header.html --include-before-body ${2}website-template/navbar.html --include-after-body ${2}website-template/footer.html --standalone --mathjax --toc --toc-depth 2 --metadata title="$3" + echo "html for $1 with title $2" + pandoc $1.md -o $1.html --template website-template/template.html --include-in-header website-template/header.html --include-before-body website-template/navbar.html --include-after-body website-template/footer.html --standalone --mathjax --toc --toc-depth 2 --metadata title="$2" + sed -i -e 's/md">/html">/g' $1.html } -genHtml index "" "Home" +genHtml index "Home" -cd starfiveVisionFive2 +genHtml kodi/npo "Kodi - NPO Uitzendinggemist" +genHtml kodi/rtlxl "Kodi - RTLxl" +genHtml kodi/kanalenlijst-hans "Kodi - Kanalenlijst Hans" -genHtml FedoraATIRadeon5450 '../' "StarFive VisionFive 2 Fedora ATI Radeon 5450" -genHtml UbuntuATIRadeonR9_290 '../' "StarFive VisionFive 2 Ubuntu 22.04 ATI Radeon R9 290" -genHtml UbuntuATIRadeonR9_290_2023_11_20 '../' "StarFive VisionFive 2 23.10 Ubuntu ATI Radeon R9 290" +genHtml starfiveVisionFive2/FedoraATIRadeon5450 "StarFive VisionFive 2 Fedora ATI Radeon 5450" +genHtml starfiveVisionFive2/UbuntuATIRadeonR9_290 "StarFive VisionFive 2 Ubuntu 22.04 ATI Radeon R9 290" +genHtml starfiveVisionFive2/UbuntuATIRadeonR9_290_2023_11_20 "StarFive VisionFive 2 23.10 Ubuntu ATI Radeon R9 290" # TODO fix link .md to .html - -cd .. - rsync -a --prune-empty-dirs --include '*/' --include '*.html' --include '*.png' --include '*.jpeg' --exclude '*' ./ ../website rm *.html +rm kodi/*.html rm starfiveVisionFive2/*.html \ No newline at end of file diff --git a/kodi/images/hack-npo.jpeg b/kodi/images/hack-npo.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9debfd331bf82818a52bb19397053a2893a98045 GIT binary patch literal 121353 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%0D;g!2t~k9 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 s>CXoXpoXZnu)zXR1rsTN;tjWS(^I Tools > Options > Local Proxies” +Op een Android telefoon (emulator of echte), zet je de NPO App er op. +Zorg ervoor dat je telefoon via de proxy loop (Ga naar “advanced options” van je Wifi connection) of je emulator opstart met “-http-proxy http://xx.xxx.xx.xx:8080” +Klaar! Als je verkeer loopt nu via je pc, je ziet alle aanvragen van de app. Alles ging over http, hier kon je zien hoe de “API” werkte en deze “op de zelfde manier” toepassen in python. Je moest alleen even aansluiten om de “API” van Kodi en klaar. Dit klinkt natuurlijk makkelijker dan het is, maar daar komt het in het kort wel op neer. Dit alles is gemaakt november 2013 t/m januari 2014. De code aangeboden aan Kodi met een pull request en na wat kleine aanpassingen geaccepteerd! + +## Tegenslag / Stoppen publieke addon + +Maar helaas kwam daar na 5 jaar in eind november 2018 een einde aan. De NPO had namelijk de voorwaarden aangepast. Zover ik het nu kan lezen mag er geen publieke plugins/addons meer gemaakt worden. Gelukkig mag dit nog wel steeds voor eigen gebruik, er staat nergens dat dit niet mag! De app was ook “verbeterd”, je kan niet meer al het verkeer aftappen. Nu liep al het verkeer netjes via https, maar op Android Telefoons van versie 5 en lager, kan zelf “root” certificaten toevoegen. Dus we gingen naar “ZAP > Tools > Options > Dynamic SSL Certificates” en exporteerde het certificaat. We zette deze op de Android telefoon en al het verkeer was weer leesbaar. + +Wat je hier doet, is al je verkeer via je proxy laten lopen, op je pc ook “decoderen” en opnieuw “coderen” mijn jouw certificaat. Je kan namelijk niet het certificaat van NPO gebruiken, je hebt immers de “private-key/geheime sleutel” niet. Je doet letterlijk een man-in-the-middle attack. + +De Api was totaal veranderd, tevens de voorwaarden. Volgens de nieuwe voorwaarden mocht wat ik deed helaas niet meer. Netjes een verzoek gedaan bij Kodi om mijn addon “broken” te melden. + +Natuurlijk kon ik privé gewoon doorgaan met mijn addon. + +## DRM + +Alsof de tegenslag van november 2018 nog niet genoeg was, maart 2019 ging NPO over op DRM. Alles werkte nog, behalve de video-stream uitvragen. Dit moest ik dus weer uitzoeken. De app was nog beter beveiligt, ze doen nu aan “Certificate Pinning”, kortom je kan er niet tussen in gaan zitten met je eigen zap-ssl-certificaat. Dit was niet zo fijn. Uiteindelijk de Andoid App van de NPO moeten decompilen. Gelukkig kan dit online (hoef je de tools niet te instaleren). Helaas hadden ze gebruik gemaakt van “code obfuscation (niet leesbaar maken van code)”, maar dat weerhield mij niet. Het koste mij alleen wat meer tijd. Ik kwam er achter hoe de video’s nu werden opgevraagd, met deze informatie kon ik mijn addon weer aanpassen. + +Code uit de Android App + +```java + public NedforceCatalog(OkHttpClient okHttpClient, NpoPlayerConfig npoPlayerConfig) { + this._httpClient = okHttpClient; + this._config = npoPlayerConfig; + switch (this._config.getEnvironment()) { + case 1: + okHttpClient = "https://api.npobeta.nl"; + break; + case 2: + okHttpClient = "https://start-api.npo.nl"; + break; + default: + okHttpClient = "https://npo-api.staging.egeniq.com"; + break; + } + this._baseUrl = HttpUrl.parse(okHttpClient); + } +en + + public void getStreamForAsset(final String str, String str2, String str3, boolean z, boolean z2, int i, final CatalogCallback catalogCallback) { + HttpUrl build = this._baseUrl.newBuilder().addPathSegment("media").addPathSegment(str).addPathSegment("stream").build(); + JSONObject jSONObject = new JSONObject(); + JSONObject jSONObject2 = new JSONObject(); + try { + jSONObject.put(Scopes.PROFILE, str2); + str2 = true; + if (z) { + jSONObject2.put("startOver", true); + } + jSONObject.put("options", jSONObject2); + if (!TextUtils.isEmpty(str3)) { + jSONObject.put("ageRestriction", str3); + } + if (z2) { + if (this._config == null || this._config.getPlayerOptions() == null || TextUtils.isEmpty(this._config.getPlayerOptions().getEncryptionType()) != null) { + GlobalLogger.m6738a().m6749b(TAG, "skipCatalog = true requires to provide a DRM type!"); + } else { + jSONObject.put("skipCatalog", true); + jSONObject.put("useEncryption", this._config.getPlayerOptions().getEncryptionType()); + } + } + jSONObject.put("hasSubscription", i != 0); + str3 = "hasPremiumSubscription"; + if (2 != i) { + str2 = null; + } + jSONObject.put(str3, str2); + jSONObject.put("platform", 2 == i ? Plan.PREMIUM : "npo"); + this._httpClient.newCall(new Builder().url(build).post(RequestBody.create(HttpClient.f5884b, jSONObject.toString())).build()).enqueue(new Callback() { + public void onFailure(Call call, IOException iOException) { +``` + +Gelukkig was Kodi 18 net uit en daar kon je streams met DRM bekijken! Dus een paar avonden uitzoeken hoe je dat moest aanroepen en we konden weer video’s opstarten. + +## Security BUG (2019-2023) + +Toen ik bezig was met uitzoeken hoe de “API’s” nu werkte. Ja API’s want de lijst met programma’s en afleveringen staat helemaal los van de uitvraag van de video-streams. Hierin zit dus ook een beveiligingsprobleem. de uitvraag voor de video-stream heeft geen kennis van de “API” van de NPO. Ook niet of je nu wel of geen “Premium” account hebt. (Lees NPO-plus). Kortom, je kan dus ZONDER dat je NPO-Plus account hebt WEL een NPO-Plus video opvragen. Vrij makkelijk zelfs, je past even een switch aan van “false” naar “true” in je bericht en klaar. Natuurlijk heb ik dit eerst netjes gemeld bij de NPO helemaal niks meer gehoord. Een direct gericht via Twitter, geen response en publiek bericht via twitter, geen reactie. Een bericht via Facebook, een hele korte reactie van “We zullen het doorgeven…” Toen kwam ik deze pagina tegen bij de NPO [link](https://over.npo.nl/organisatie/privacy-en-security/responsible-disclosure). Hier wilde ik wel in komen te staan!, een mail naar de NPO dan maar in maart, april en in mei…, allemaal niks meer van gehoord. + +Dus hier het beveiliging lek, ik vraag hier een video-stream op van “De Luizenmoeder”. Welke ik netjes terug krijg. Ook al mijn andere uitvragen komen nu met een 720p-stream terug i.p.v. een SD-stream. +![hack NPO](images/hack-npo.jpeg) + +Voor de netheid de “bug” niet doorgevoerd in mijn addon, maar dat is met 2 regels aanpassen wel te doen :) + +Update: uiteindelijk november 2019 is de bug herkend en zijn er excuses gemaakt dat er zo traag gereageert was! alleen is de bug nooit opgelost. 1 december 2023 heeft de NPO een totaal andere API genomen, hierdoor werkt de "hack" niet meer. + +## Update december 2023 + +Ze hebben in december 2023 de hele api vervangen, ik heb de hele addon opnieuw mogen schrijven. Helaas geen "gratis" NPO-plus meer, maar nog steeds uitzending gemist op Kodi. diff --git a/kodi/rtlxl.md b/kodi/rtlxl.md new file mode 100644 index 0000000..aa2bfb3 --- /dev/null +++ b/kodi/rtlxl.md @@ -0,0 +1,25 @@ +--- +date: 2013-2024 +author: Bas Magré +--- +# Uitzendinggemist (NPO) + +Een stukje uitleg over het hoe en waarom van de addon [plugin.video.rtlxl](https://github.com/Opvolger/plugin.video.rtlxl) voor Kodi. + +Helaas werkt deze niet meer omdat begin 2024 er geen nieuwe video's meer geplaatst worden, ze zijn nu overgestapt naar videoland. + +## Waarom + +Zie [Uitzendinggemist (NPO)](npo.md) + +## Oplossing + +Zie [Uitzendinggemist (NPO)](npo.md) + +## Uitwerking + +Zie [Uitzendinggemist (NPO)](npo.md) + +## Tegenslag / Stoppen publieke addon + +Ergens +/- december 2016 kreeg ik tegengas van RTL(xl) en heb ik helaas mijn code offline moeten halen. Deze werkte met een kleine aanpassing wel weer (ze hielden letterlijk aanvragen vanuit de addon tegen), maar de boodschap was duidelijk. Stop met de addon of we gaan stappen ondernemen. De repo stond toen nog op bitbucket (hg), het deze nog overgezet naar github, maar is altijd een prive-repo geweest. Maar hij is sinds 2024-02-08 weer op publiek gezet. Het maakt allemaal niet meer uit. RTLxl bestaan niet meer. diff --git a/website-template/navbar.html b/website-template/navbar.html index 656e9b1..1633a50 100644 --- a/website-template/navbar.html +++ b/website-template/navbar.html @@ -1,5 +1,5 @@