From 8a802ed9831893abe6d9c65b5f6b82bd43915db0 Mon Sep 17 00:00:00 2001 From: LuftVerbot <97435834+LuftVerbot@users.noreply.github.com> Date: Thu, 13 Oct 2022 19:03:59 +0200 Subject: [PATCH] add german extension: Moviedream (#927) --- src/de/moviedream/AndroidManifest.xml | 2 + src/de/moviedream/build.gradle | 16 + .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2457 bytes .../mipmap-hdpi/ic_launcher_adaptive_back.png | Bin 0 -> 3606 bytes .../mipmap-hdpi/ic_launcher_adaptive_fore.png | Bin 0 -> 4203 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1455 bytes .../mipmap-mdpi/ic_launcher_adaptive_back.png | Bin 0 -> 2032 bytes .../mipmap-mdpi/ic_launcher_adaptive_fore.png | Bin 0 -> 2245 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 3566 bytes .../ic_launcher_adaptive_back.png | Bin 0 -> 5689 bytes .../ic_launcher_adaptive_fore.png | Bin 0 -> 6647 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 6111 bytes .../ic_launcher_adaptive_back.png | Bin 0 -> 9151 bytes .../ic_launcher_adaptive_fore.png | Bin 0 -> 11021 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 9309 bytes .../ic_launcher_adaptive_back.png | Bin 0 -> 13485 bytes .../ic_launcher_adaptive_fore.png | Bin 0 -> 17309 bytes .../de/moviedream/Linkdecoder.kt | 756 ++++++++++++++++++ .../de/moviedream/Moviedream.kt | 212 +++++ .../extractors/StreamTapeExtractor.kt | 18 + .../de/moviedream/extractors/VoeExtractor.kt | 17 + 21 files changed, 1021 insertions(+) create mode 100644 src/de/moviedream/AndroidManifest.xml create mode 100644 src/de/moviedream/build.gradle create mode 100644 src/de/moviedream/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/de/moviedream/res/mipmap-hdpi/ic_launcher_adaptive_back.png create mode 100644 src/de/moviedream/res/mipmap-hdpi/ic_launcher_adaptive_fore.png create mode 100644 src/de/moviedream/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/de/moviedream/res/mipmap-mdpi/ic_launcher_adaptive_back.png create mode 100644 src/de/moviedream/res/mipmap-mdpi/ic_launcher_adaptive_fore.png create mode 100644 src/de/moviedream/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/de/moviedream/res/mipmap-xhdpi/ic_launcher_adaptive_back.png create mode 100644 src/de/moviedream/res/mipmap-xhdpi/ic_launcher_adaptive_fore.png create mode 100644 src/de/moviedream/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/de/moviedream/res/mipmap-xxhdpi/ic_launcher_adaptive_back.png create mode 100644 src/de/moviedream/res/mipmap-xxhdpi/ic_launcher_adaptive_fore.png create mode 100644 src/de/moviedream/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/de/moviedream/res/mipmap-xxxhdpi/ic_launcher_adaptive_back.png create mode 100644 src/de/moviedream/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png create mode 100644 src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/Linkdecoder.kt create mode 100644 src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/Moviedream.kt create mode 100644 src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/extractors/StreamTapeExtractor.kt create mode 100644 src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/extractors/VoeExtractor.kt diff --git a/src/de/moviedream/AndroidManifest.xml b/src/de/moviedream/AndroidManifest.xml new file mode 100644 index 000000000..acb4de356 --- /dev/null +++ b/src/de/moviedream/AndroidManifest.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/de/moviedream/build.gradle b/src/de/moviedream/build.gradle new file mode 100644 index 000000000..383519f48 --- /dev/null +++ b/src/de/moviedream/build.gradle @@ -0,0 +1,16 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' + +ext { + extName = 'Moviedream' + pkgNameSuffix = 'de.moviedream' + extClass = '.Moviedream' + extVersionCode = 1 + libVersion = '13' +} + +dependencies { + implementation(project(':lib-dood-extractor')) +} + +apply from: "$rootDir/common.gradle" diff --git a/src/de/moviedream/res/mipmap-hdpi/ic_launcher.png b/src/de/moviedream/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..bc197b5b816e7d9354ef2cf5f8267530575a4b44 GIT binary patch literal 2457 zcmV;K31;?*P)G|@tbMv~4eGeRoj)Ic8c5>s!jhp7?=6;i$oZRTc zhYx}EK7RaIpfj##jl!>8H0t+#NZH(!l$5JH{@?!M7gztlN9f>GfRby~s#U&3i4rs3 zym|9II)4BDJ>@sp_2;1W@)P#TMCqFWQIR4=sCe<>zcQn7-0t7t95jPrfS{Zr4I4I` z|NQy$?_RxnC2fQm;CC*H5#C@`byerX#+#a&N~KGe-hK7z)q!D^Q1ct(tZ1+O@g-{X0Kb3j>r|r%s*hM~@zjjSaG4e@8XI2B1x!<;s;? zaQE)rpSb_mc|rTLa1;b6g-fN?u3bC(>C>k_`UOb8IN>K_-FRXO$OcOOy6j@V+`oSx zfL@vcO3wrIg9?Ug2s*GF0$P*@=tX2ee*2gxZl+^+Jj#T@EL*m$9iS&qo_tb}j*`9v zI9KXHJI(>=0tiz=JX8|3O=o~qZWeW=Gc`L>;<&Cfzo54cA>b ztN`)vFf8+*0WwjF2^>=;xhn4rkjlkWFjVJte&d;{M+c%cAe~iAWxVRV>$sxpUMS}j zke`ZF#+#luRf#QJCxCRpn8Jt>n04I7qzwNSi@s5;S+iz=ARV+>w1s10l<9^wOqI?7 z=>%(+uxwpORo@AqAQ$rk;S!Fns&vcwDajg;-zpXa=1ake0wk!8b3p%fz}5}yx)7ZJ zGIcRqC8^?u7o>F|gq5=bRK0q2qg5NllwJrL?p(I&|m|Rj5#bTD59L@7}$mg9i^1X9}or;lgz3(j}?arcE2-)CyIu zT$zp^KQ3jFazPSu*REYsmb0C5;8n3=McTZ1Gi}s8%K{Gm3FNG zd8=5TK7DA-nl&_a>Qov0$&)AP$dMy7bLLE1v}h5bL(Zc~r-u(8re3{zQO}+|Y3|&) z)TBuhIp48kN18Kd4y{@qh7TW3oVlgfuV0IT@Pd&OCr*^3fB*ipXU`s) z5WL^IbxRc2sZ%H7w3GmR`0yc}K7E=-jvPtdyLXpyo;h=d`u6QBlXBt01?hL|)~&RC z`*z|~7Io{^jrdB1J3s)@wQE-~i~}3-E}IrFUQ9J=)F7mDXUv#EqeqVxU=t=x5Riig z4H6g_%C~xHGTT{MSu}q9crk)Ao8m&4>CT-y)4Fx*#IP=1y3pjwlWEneRg{^T zNv&JArktD{8asBZ^wqm}Zzlocv0F~xpJk9aoDh7GD$;*43RpVIu}La z`zu$j(7=I6sFFP(Trh)CJ9g}lK|s<_Pew+DK$tggo(ypB-n{~$dGqEpWy%ye5eU%8mje*Mzz`@0hIxRX4xDS-wyh{( z(xgf94%dM?F}6mH8qtCU3#4DbLmQYd#4?n}7#cKaAY)s&aG^b*YSpS`!^IF2AWh8r z_3PKgXaE~AVg!vEHR_YB@wrEj9-;;S!>TlN=ul$FbnMtMfr~*RMsZ4;X3d&KJ9q9B zRq=u#aU?xGo$A)DOB*+C6lmyU!-fsg9u%~1-#*&5ZJW3l;K041OvJeT`}Y$k0VNi4 z%1ZhMuxZn#(SQL1Xzkjyv~1ZjachjnT0tHlB>E9(5s(pM5GxP}5rbd^&H)Ns1^^L5 zuo3|Rl)`sX$jl>v!!Xpr3*})LUQiz51nMGYq0IdG^J)6@>0&TqAObT2EnH{!?%fjO zP#)(weN21>R3;Ab46z8RYSE&Fj2m$W3kKpKAY(F|01CP$9kf|feebvIBZfh3kpH-G zv-Qqg`D(I)4u0C6@W+m(xbZD3sNgVH#qJe-5{lAsyU zQIx5Rsp6H1I&{jif~Ig9>sKyo^f(lrI4sWj@Ya_Fw|t!JbJi??ct>cX{}+Ruk&A680Z4&10Vn~;&inoW X?_Ejm5WFgt00000NkvXXu0mjf#lVsd literal 0 HcmV?d00001 diff --git a/src/de/moviedream/res/mipmap-hdpi/ic_launcher_adaptive_back.png b/src/de/moviedream/res/mipmap-hdpi/ic_launcher_adaptive_back.png new file mode 100644 index 0000000000000000000000000000000000000000..8dc560dd4c3eafeace30800eebc07fbac0f38b18 GIT binary patch literal 3606 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 JPDHLkV1nDtoc;g+ literal 0 HcmV?d00001 diff --git a/src/de/moviedream/res/mipmap-mdpi/ic_launcher_adaptive_back.png b/src/de/moviedream/res/mipmap-mdpi/ic_launcher_adaptive_back.png new file mode 100644 index 0000000000000000000000000000000000000000..f8feb6e59dc460e7262c5c6c92bf0b2190e17343 GIT binary patch literal 2032 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 literal 0 HcmV?d00001 diff --git a/src/de/moviedream/res/mipmap-xhdpi/ic_launcher_adaptive_back.png b/src/de/moviedream/res/mipmap-xhdpi/ic_launcher_adaptive_back.png new file mode 100644 index 0000000000000000000000000000000000000000..1b560124d3a972c9fcebffd72a5f78b50a3234c6 GIT binary patch literal 5689 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 literal 0 HcmV?d00001 diff --git a/src/de/moviedream/res/mipmap-xxhdpi/ic_launcher.png b/src/de/moviedream/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..cfd006240c21a23738c3cfbf0c6686246fca89ec GIT binary patch literal 6111 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 F|1ZTm0|)>B literal 0 HcmV?d00001 diff --git a/src/de/moviedream/res/mipmap-xxxhdpi/ic_launcher.png b/src/de/moviedream/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..2265cf51980734c16865c92adb57edac9663202a GIT binary patch literal 9309 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 Kxcm_^;Qs*=Kfy}? literal 0 HcmV?d00001 diff --git a/src/de/moviedream/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png b/src/de/moviedream/res/mipmap-xxxhdpi/ic_launcher_adaptive_fore.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3bbdbf49c3f0b293a5702ce397002bd6d41f76 GIT binary patch literal 17309 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 ALjV8( literal 0 HcmV?d00001 diff --git a/src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/Linkdecoder.kt b/src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/Linkdecoder.kt new file mode 100644 index 000000000..1431c4994 --- /dev/null +++ b/src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/Linkdecoder.kt @@ -0,0 +1,756 @@ +package eu.kanade.tachiyomi.animeextension.de.moviedream + +import app.cash.quickjs.QuickJs + +fun getLink(parameters: String): String { + val quickJs = QuickJs.create() + val link = quickJs.evaluate(decodeScript(parameters)).toString() + quickJs.close() + return link +} + +private fun decodeScript(parameters: String) = """ + /* +CryptoJS v3.1.2 +code.google.com/p/crypto-js +(c) 2009-2013 by Jeff Mott. All rights reserved. +code.google.com/p/crypto-js/wiki/License +*/ +var CryptoJS = CryptoJS || function(u, p) { + var d = {}, + l = d.lib = {}, + s = function() {}, + t = l.Base = { + extend: function(a) { + s.prototype = this; + var c = new s; + a && c.mixIn(a); + c.hasOwnProperty("init") || (c.init = function() { + c.${'$'}super.init.apply(this, arguments) + }); + c.init.prototype = c; + c.${'$'}super = this; + return c + }, + create: function() { + var a = this.extend(); + a.init.apply(a, arguments); + return a + }, + init: function() {}, + mixIn: function(a) { + for (var c in a) a.hasOwnProperty(c) && (this[c] = a[c]); + a.hasOwnProperty("toString") && (this.toString = a.toString) + }, + clone: function() { + return this.init.prototype.extend(this) + } + }, + r = l.WordArray = t.extend({ + init: function(a, c) { + a = this.words = a || []; + this.sigBytes = c != p ? c : 4 * a.length + }, + toString: function(a) { + return (a || v).stringify(this) + }, + concat: function(a) { + var c = this.words, + e = a.words, + j = this.sigBytes; + a = a.sigBytes; + this.clamp(); + if (j % 4) + for (var k = 0; k < a; k++) c[j + k >>> 2] |= (e[k >>> 2] >>> 24 - 8 * (k % 4) & 255) << 24 - 8 * ((j + k) % 4); + else if (65535 < e.length) + for (k = 0; k < a; k += 4) c[j + k >>> 2] = e[k >>> 2]; + else c.push.apply(c, e); + this.sigBytes += a; + return this + }, + clamp: function() { + var a = this.words, + c = this.sigBytes; + a[c >>> 2] &= 4294967295 << + 32 - 8 * (c % 4); + a.length = u.ceil(c / 4) + }, + clone: function() { + var a = t.clone.call(this); + a.words = this.words.slice(0); + return a + }, + random: function(a) { + for (var c = [], e = 0; e < a; e += 4) c.push(4294967296 * u.random() | 0); + return new r.init(c, a) + } + }), + w = d.enc = {}, + v = w.Hex = { + stringify: function(a) { + var c = a.words; + a = a.sigBytes; + for (var e = [], j = 0; j < a; j++) { + var k = c[j >>> 2] >>> 24 - 8 * (j % 4) & 255; + e.push((k >>> 4).toString(16)); + e.push((k & 15).toString(16)) + } + return e.join("") + }, + parse: function(a) { + for (var c = a.length, e = [], j = 0; j < c; j += 2) e[j >>> 3] |= parseInt(a.substr(j, + 2), 16) << 24 - 4 * (j % 8); + return new r.init(e, c / 2) + } + }, + b = w.Latin1 = { + stringify: function(a) { + var c = a.words; + a = a.sigBytes; + for (var e = [], j = 0; j < a; j++) e.push(String.fromCharCode(c[j >>> 2] >>> 24 - 8 * (j % 4) & 255)); + return e.join("") + }, + parse: function(a) { + for (var c = a.length, e = [], j = 0; j < c; j++) e[j >>> 2] |= (a.charCodeAt(j) & 255) << 24 - 8 * (j % 4); + return new r.init(e, c) + } + }, + x = w.Utf8 = { + stringify: function(a) { + try { + return decodeURIComponent(escape(b.stringify(a))) + } catch (c) { + throw Error("Malformed UTF-8 data"); + } + }, + parse: function(a) { + return b.parse(unescape(encodeURIComponent(a))) + } + }, + q = l.BufferedBlockAlgorithm = t.extend({ + reset: function() { + this._data = new r.init; + this._nDataBytes = 0 + }, + _append: function(a) { + "string" == typeof a && (a = x.parse(a)); + this._data.concat(a); + this._nDataBytes += a.sigBytes + }, + _process: function(a) { + var c = this._data, + e = c.words, + j = c.sigBytes, + k = this.blockSize, + b = j / (4 * k), + b = a ? u.ceil(b) : u.max((b | 0) - this._minBufferSize, 0); + a = b * k; + j = u.min(4 * a, j); + if (a) { + for (var q = 0; q < a; q += k) this._doProcessBlock(e, q); + q = e.splice(0, a); + c.sigBytes -= j + } + return new r.init(q, j) + }, + clone: function() { + var a = t.clone.call(this); + a._data = this._data.clone(); + return a + }, + _minBufferSize: 0 + }); + l.Hasher = q.extend({ + cfg: t.extend(), + init: function(a) { + this.cfg = this.cfg.extend(a); + this.reset() + }, + reset: function() { + q.reset.call(this); + this._doReset() + }, + update: function(a) { + this._append(a); + this._process(); + return this + }, + finalize: function(a) { + a && this._append(a); + return this._doFinalize() + }, + blockSize: 16, + _createHelper: function(a) { + return function(b, e) { + return (new a.init(e)).finalize(b) + } + }, + _createHmacHelper: function(a) { + return function(b, e) { + return (new n.HMAC.init(a, + e)).finalize(b) + } + } + }); + var n = d.algo = {}; + return d +}(Math); +(function() { + var u = CryptoJS, + p = u.lib.WordArray; + u.enc.Base64 = { + stringify: function(d) { + var l = d.words, + p = d.sigBytes, + t = this._map; + d.clamp(); + d = []; + for (var r = 0; r < p; r += 3) + for (var w = (l[r >>> 2] >>> 24 - 8 * (r % 4) & 255) << 16 | (l[r + 1 >>> 2] >>> 24 - 8 * ((r + 1) % 4) & 255) << 8 | l[r + 2 >>> 2] >>> 24 - 8 * ((r + 2) % 4) & 255, v = 0; 4 > v && r + 0.75 * v < p; v++) d.push(t.charAt(w >>> 6 * (3 - v) & 63)); + if (l = t.charAt(64)) + for (; d.length % 4;) d.push(l); + return d.join("") + }, + parse: function(d) { + var l = d.length, + s = this._map, + t = s.charAt(64); + t && (t = d.indexOf(t), -1 != t && (l = t)); + for (var t = [], r = 0, w = 0; w < + l; w++) + if (w % 4) { + var v = s.indexOf(d.charAt(w - 1)) << 2 * (w % 4), + b = s.indexOf(d.charAt(w)) >>> 6 - 2 * (w % 4); + t[r >>> 2] |= (v | b) << 24 - 8 * (r % 4); + r++ + } return p.create(t, r) + }, + _map: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" + } +})(); +(function(u) { + function p(b, n, a, c, e, j, k) { + b = b + (n & a | ~n & c) + e + k; + return (b << j | b >>> 32 - j) + n + } + + function d(b, n, a, c, e, j, k) { + b = b + (n & c | a & ~c) + e + k; + return (b << j | b >>> 32 - j) + n + } + + function l(b, n, a, c, e, j, k) { + b = b + (n ^ a ^ c) + e + k; + return (b << j | b >>> 32 - j) + n + } + + function s(b, n, a, c, e, j, k) { + b = b + (a ^ (n | ~c)) + e + k; + return (b << j | b >>> 32 - j) + n + } + for (var t = CryptoJS, r = t.lib, w = r.WordArray, v = r.Hasher, r = t.algo, b = [], x = 0; 64 > x; x++) b[x] = 4294967296 * u.abs(u.sin(x + 1)) | 0; + r = r.MD5 = v.extend({ + _doReset: function() { + this._hash = new w.init([1732584193, 4023233417, 2562383102, 271733878]) + }, + _doProcessBlock: function(q, n) { + for (var a = 0; 16 > a; a++) { + var c = n + a, + e = q[c]; + q[c] = (e << 8 | e >>> 24) & 16711935 | (e << 24 | e >>> 8) & 4278255360 + } + var a = this._hash.words, + c = q[n + 0], + e = q[n + 1], + j = q[n + 2], + k = q[n + 3], + z = q[n + 4], + r = q[n + 5], + t = q[n + 6], + w = q[n + 7], + v = q[n + 8], + A = q[n + 9], + B = q[n + 10], + C = q[n + 11], + u = q[n + 12], + D = q[n + 13], + E = q[n + 14], + x = q[n + 15], + f = a[0], + m = a[1], + g = a[2], + h = a[3], + f = p(f, m, g, h, c, 7, b[0]), + h = p(h, f, m, g, e, 12, b[1]), + g = p(g, h, f, m, j, 17, b[2]), + m = p(m, g, h, f, k, 22, b[3]), + f = p(f, m, g, h, z, 7, b[4]), + h = p(h, f, m, g, r, 12, b[5]), + g = p(g, h, f, m, t, 17, b[6]), + m = p(m, g, h, f, w, 22, b[7]), + f = p(f, m, g, h, v, 7, b[8]), + h = p(h, f, m, g, A, 12, b[9]), + g = p(g, h, f, m, B, 17, b[10]), + m = p(m, g, h, f, C, 22, b[11]), + f = p(f, m, g, h, u, 7, b[12]), + h = p(h, f, m, g, D, 12, b[13]), + g = p(g, h, f, m, E, 17, b[14]), + m = p(m, g, h, f, x, 22, b[15]), + f = d(f, m, g, h, e, 5, b[16]), + h = d(h, f, m, g, t, 9, b[17]), + g = d(g, h, f, m, C, 14, b[18]), + m = d(m, g, h, f, c, 20, b[19]), + f = d(f, m, g, h, r, 5, b[20]), + h = d(h, f, m, g, B, 9, b[21]), + g = d(g, h, f, m, x, 14, b[22]), + m = d(m, g, h, f, z, 20, b[23]), + f = d(f, m, g, h, A, 5, b[24]), + h = d(h, f, m, g, E, 9, b[25]), + g = d(g, h, f, m, k, 14, b[26]), + m = d(m, g, h, f, v, 20, b[27]), + f = d(f, m, g, h, D, 5, b[28]), + h = d(h, f, + m, g, j, 9, b[29]), + g = d(g, h, f, m, w, 14, b[30]), + m = d(m, g, h, f, u, 20, b[31]), + f = l(f, m, g, h, r, 4, b[32]), + h = l(h, f, m, g, v, 11, b[33]), + g = l(g, h, f, m, C, 16, b[34]), + m = l(m, g, h, f, E, 23, b[35]), + f = l(f, m, g, h, e, 4, b[36]), + h = l(h, f, m, g, z, 11, b[37]), + g = l(g, h, f, m, w, 16, b[38]), + m = l(m, g, h, f, B, 23, b[39]), + f = l(f, m, g, h, D, 4, b[40]), + h = l(h, f, m, g, c, 11, b[41]), + g = l(g, h, f, m, k, 16, b[42]), + m = l(m, g, h, f, t, 23, b[43]), + f = l(f, m, g, h, A, 4, b[44]), + h = l(h, f, m, g, u, 11, b[45]), + g = l(g, h, f, m, x, 16, b[46]), + m = l(m, g, h, f, j, 23, b[47]), + f = s(f, m, g, h, c, 6, b[48]), + h = s(h, f, m, g, w, 10, b[49]), + g = s(g, h, f, m, + E, 15, b[50]), + m = s(m, g, h, f, r, 21, b[51]), + f = s(f, m, g, h, u, 6, b[52]), + h = s(h, f, m, g, k, 10, b[53]), + g = s(g, h, f, m, B, 15, b[54]), + m = s(m, g, h, f, e, 21, b[55]), + f = s(f, m, g, h, v, 6, b[56]), + h = s(h, f, m, g, x, 10, b[57]), + g = s(g, h, f, m, t, 15, b[58]), + m = s(m, g, h, f, D, 21, b[59]), + f = s(f, m, g, h, z, 6, b[60]), + h = s(h, f, m, g, C, 10, b[61]), + g = s(g, h, f, m, j, 15, b[62]), + m = s(m, g, h, f, A, 21, b[63]); + a[0] = a[0] + f | 0; + a[1] = a[1] + m | 0; + a[2] = a[2] + g | 0; + a[3] = a[3] + h | 0 + }, + _doFinalize: function() { + var b = this._data, + n = b.words, + a = 8 * this._nDataBytes, + c = 8 * b.sigBytes; + n[c >>> 5] |= 128 << 24 - c % 32; + var e = u.floor(a / + 4294967296); + n[(c + 64 >>> 9 << 4) + 15] = (e << 8 | e >>> 24) & 16711935 | (e << 24 | e >>> 8) & 4278255360; + n[(c + 64 >>> 9 << 4) + 14] = (a << 8 | a >>> 24) & 16711935 | (a << 24 | a >>> 8) & 4278255360; + b.sigBytes = 4 * (n.length + 1); + this._process(); + b = this._hash; + n = b.words; + for (a = 0; 4 > a; a++) c = n[a], n[a] = (c << 8 | c >>> 24) & 16711935 | (c << 24 | c >>> 8) & 4278255360; + return b + }, + clone: function() { + var b = v.clone.call(this); + b._hash = this._hash.clone(); + return b + } + }); + t.MD5 = v._createHelper(r); + t.HmacMD5 = v._createHmacHelper(r) +})(Math); +(function() { + var u = CryptoJS, + p = u.lib, + d = p.Base, + l = p.WordArray, + p = u.algo, + s = p.EvpKDF = d.extend({ + cfg: d.extend({ + keySize: 4, + hasher: p.MD5, + iterations: 1 + }), + init: function(d) { + this.cfg = this.cfg.extend(d) + }, + compute: function(d, r) { + for (var p = this.cfg, s = p.hasher.create(), b = l.create(), u = b.words, q = p.keySize, p = p.iterations; u.length < q;) { + n && s.update(n); + var n = s.update(d).finalize(r); + s.reset(); + for (var a = 1; a < p; a++) n = s.finalize(n), s.reset(); + b.concat(n) + } + b.sigBytes = 4 * q; + return b + } + }); + u.EvpKDF = function(d, l, p) { + return s.create(p).compute(d, + l) + } +})(); +CryptoJS.lib.Cipher || function(u) { + var p = CryptoJS, + d = p.lib, + l = d.Base, + s = d.WordArray, + t = d.BufferedBlockAlgorithm, + r = p.enc.Base64, + w = p.algo.EvpKDF, + v = d.Cipher = t.extend({ + cfg: l.extend(), + createEncryptor: function(e, a) { + return this.create(this._ENC_XFORM_MODE, e, a) + }, + createDecryptor: function(e, a) { + return this.create(this._DEC_XFORM_MODE, e, a) + }, + init: function(e, a, b) { + this.cfg = this.cfg.extend(b); + this._xformMode = e; + this._key = a; + this.reset() + }, + reset: function() { + t.reset.call(this); + this._doReset() + }, + process: function(e) { + this._append(e); + return this._process() + }, + finalize: function(e) { + e && this._append(e); + return this._doFinalize() + }, + keySize: 4, + ivSize: 4, + _ENC_XFORM_MODE: 1, + _DEC_XFORM_MODE: 2, + _createHelper: function(e) { + return { + encrypt: function(b, k, d) { + return ("string" == typeof k ? c : a).encrypt(e, b, k, d) + }, + decrypt: function(b, k, d) { + return ("string" == typeof k ? c : a).decrypt(e, b, k, d) + } + } + } + }); + d.StreamCipher = v.extend({ + _doFinalize: function() { + return this._process(!0) + }, + blockSize: 1 + }); + var b = p.mode = {}, + x = function(e, a, b) { + var c = this._iv; + c ? this._iv = u : c = this._prevBlock; + for (var d = 0; d < b; d++) e[a + d] ^= + c[d] + }, + q = (d.BlockCipherMode = l.extend({ + createEncryptor: function(e, a) { + return this.Encryptor.create(e, a) + }, + createDecryptor: function(e, a) { + return this.Decryptor.create(e, a) + }, + init: function(e, a) { + this._cipher = e; + this._iv = a + } + })).extend(); + q.Encryptor = q.extend({ + processBlock: function(e, a) { + var b = this._cipher, + c = b.blockSize; + x.call(this, e, a, c); + b.encryptBlock(e, a); + this._prevBlock = e.slice(a, a + c) + } + }); + q.Decryptor = q.extend({ + processBlock: function(e, a) { + var b = this._cipher, + c = b.blockSize, + d = e.slice(a, a + c); + b.decryptBlock(e, a); + x.call(this, + e, a, c); + this._prevBlock = d + } + }); + b = b.CBC = q; + q = (p.pad = {}).Pkcs7 = { + pad: function(a, b) { + for (var c = 4 * b, c = c - a.sigBytes % c, d = c << 24 | c << 16 | c << 8 | c, l = [], n = 0; n < c; n += 4) l.push(d); + c = s.create(l, c); + a.concat(c) + }, + unpad: function(a) { + a.sigBytes -= a.words[a.sigBytes - 1 >>> 2] & 255 + } + }; + d.BlockCipher = v.extend({ + cfg: v.cfg.extend({ + mode: b, + padding: q + }), + reset: function() { + v.reset.call(this); + var a = this.cfg, + b = a.iv, + a = a.mode; + if (this._xformMode == this._ENC_XFORM_MODE) var c = a.createEncryptor; + else c = a.createDecryptor, this._minBufferSize = 1; + this._mode = c.call(a, + this, b && b.words) + }, + _doProcessBlock: function(a, b) { + this._mode.processBlock(a, b) + }, + _doFinalize: function() { + var a = this.cfg.padding; + if (this._xformMode == this._ENC_XFORM_MODE) { + a.pad(this._data, this.blockSize); + var b = this._process(!0) + } else b = this._process(!0), a.unpad(b); + return b + }, + blockSize: 4 + }); + var n = d.CipherParams = l.extend({ + init: function(a) { + this.mixIn(a) + }, + toString: function(a) { + return (a || this.formatter).stringify(this) + } + }), + b = (p.format = {}).OpenSSL = { + stringify: function(a) { + var b = a.ciphertext; + a = a.salt; + return (a ? s.create([1398893684, + 1701076831 + ]).concat(a).concat(b) : b).toString(r) + }, + parse: function(a) { + a = r.parse(a); + var b = a.words; + if (1398893684 == b[0] && 1701076831 == b[1]) { + var c = s.create(b.slice(2, 4)); + b.splice(0, 4); + a.sigBytes -= 16 + } + return n.create({ + ciphertext: a, + salt: c + }) + } + }, + a = d.SerializableCipher = l.extend({ + cfg: l.extend({ + format: b + }), + encrypt: function(a, b, c, d) { + d = this.cfg.extend(d); + var l = a.createEncryptor(c, d); + b = l.finalize(b); + l = l.cfg; + return n.create({ + ciphertext: b, + key: c, + iv: l.iv, + algorithm: a, + mode: l.mode, + padding: l.padding, + blockSize: a.blockSize, + formatter: d.format + }) + }, + decrypt: function(a, b, c, d) { + d = this.cfg.extend(d); + b = this._parse(b, d.format); + return a.createDecryptor(c, d).finalize(b.ciphertext) + }, + _parse: function(a, b) { + return "string" == typeof a ? b.parse(a, this) : a + } + }), + p = (p.kdf = {}).OpenSSL = { + execute: function(a, b, c, d) { + d || (d = s.random(8)); + a = w.create({ + keySize: b + c + }).compute(a, d); + c = s.create(a.words.slice(b), 4 * c); + a.sigBytes = 4 * b; + return n.create({ + key: a, + iv: c, + salt: d + }) + } + }, + c = d.PasswordBasedCipher = a.extend({ + cfg: a.cfg.extend({ + kdf: p + }), + encrypt: function(b, c, d, l) { + l = this.cfg.extend(l); + d = l.kdf.execute(d, + b.keySize, b.ivSize); + l.iv = d.iv; + b = a.encrypt.call(this, b, c, d.key, l); + b.mixIn(d); + return b + }, + decrypt: function(b, c, d, l) { + l = this.cfg.extend(l); + c = this._parse(c, l.format); + d = l.kdf.execute(d, b.keySize, b.ivSize, c.salt); + l.iv = d.iv; + return a.decrypt.call(this, b, c, d.key, l) + } + }) +}(); +(function() { + for (var u = CryptoJS, p = u.lib.BlockCipher, d = u.algo, l = [], s = [], t = [], r = [], w = [], v = [], b = [], x = [], q = [], n = [], a = [], c = 0; 256 > c; c++) a[c] = 128 > c ? c << 1 : c << 1 ^ 283; + for (var e = 0, j = 0, c = 0; 256 > c; c++) { + var k = j ^ j << 1 ^ j << 2 ^ j << 3 ^ j << 4, + k = k >>> 8 ^ k & 255 ^ 99; + l[e] = k; + s[k] = e; + var z = a[e], + F = a[z], + G = a[F], + y = 257 * a[k] ^ 16843008 * k; + t[e] = y << 24 | y >>> 8; + r[e] = y << 16 | y >>> 16; + w[e] = y << 8 | y >>> 24; + v[e] = y; + y = 16843009 * G ^ 65537 * F ^ 257 * z ^ 16843008 * e; + b[k] = y << 24 | y >>> 8; + x[k] = y << 16 | y >>> 16; + q[k] = y << 8 | y >>> 24; + n[k] = y; + e ? (e = z ^ a[a[a[G ^ z]]], j ^= a[a[j]]) : e = j = 1 + } + var H = [0, 1, 2, 4, 8, + 16, 32, 64, 128, 27, 54 + ], + d = d.AES = p.extend({ + _doReset: function() { + for (var a = this._key, c = a.words, d = a.sigBytes / 4, a = 4 * ((this._nRounds = d + 6) + 1), e = this._keySchedule = [], j = 0; j < a; j++) + if (j < d) e[j] = c[j]; + else { + var k = e[j - 1]; + j % d ? 6 < d && 4 == j % d && (k = l[k >>> 24] << 24 | l[k >>> 16 & 255] << 16 | l[k >>> 8 & 255] << 8 | l[k & 255]) : (k = k << 8 | k >>> 24, k = l[k >>> 24] << 24 | l[k >>> 16 & 255] << 16 | l[k >>> 8 & 255] << 8 | l[k & 255], k ^= H[j / d | 0] << 24); + e[j] = e[j - d] ^ k + } c = this._invKeySchedule = []; + for (d = 0; d < a; d++) j = a - d, k = d % 4 ? e[j] : e[j - 4], c[d] = 4 > d || 4 >= j ? k : b[l[k >>> 24]] ^ x[l[k >>> 16 & 255]] ^ q[l[k >>> + 8 & 255]] ^ n[l[k & 255]] + }, + encryptBlock: function(a, b) { + this._doCryptBlock(a, b, this._keySchedule, t, r, w, v, l) + }, + decryptBlock: function(a, c) { + var d = a[c + 1]; + a[c + 1] = a[c + 3]; + a[c + 3] = d; + this._doCryptBlock(a, c, this._invKeySchedule, b, x, q, n, s); + d = a[c + 1]; + a[c + 1] = a[c + 3]; + a[c + 3] = d + }, + _doCryptBlock: function(a, b, c, d, e, j, l, f) { + for (var m = this._nRounds, g = a[b] ^ c[0], h = a[b + 1] ^ c[1], k = a[b + 2] ^ c[2], n = a[b + 3] ^ c[3], p = 4, r = 1; r < m; r++) var q = d[g >>> 24] ^ e[h >>> 16 & 255] ^ j[k >>> 8 & 255] ^ l[n & 255] ^ c[p++], + s = d[h >>> 24] ^ e[k >>> 16 & 255] ^ j[n >>> 8 & 255] ^ l[g & 255] ^ c[p++], + t = + d[k >>> 24] ^ e[n >>> 16 & 255] ^ j[g >>> 8 & 255] ^ l[h & 255] ^ c[p++], + n = d[n >>> 24] ^ e[g >>> 16 & 255] ^ j[h >>> 8 & 255] ^ l[k & 255] ^ c[p++], + g = q, + h = s, + k = t; + q = (f[g >>> 24] << 24 | f[h >>> 16 & 255] << 16 | f[k >>> 8 & 255] << 8 | f[n & 255]) ^ c[p++]; + s = (f[h >>> 24] << 24 | f[k >>> 16 & 255] << 16 | f[n >>> 8 & 255] << 8 | f[g & 255]) ^ c[p++]; + t = (f[k >>> 24] << 24 | f[n >>> 16 & 255] << 16 | f[g >>> 8 & 255] << 8 | f[h & 255]) ^ c[p++]; + n = (f[n >>> 24] << 24 | f[g >>> 16 & 255] << 16 | f[h >>> 8 & 255] << 8 | f[k & 255]) ^ c[p++]; + a[b] = q; + a[b + 1] = s; + a[b + 2] = t; + a[b + 3] = n + }, + keySize: 8 + }); + u.AES = p._createHelper(d) +})(); + var CryptoJSAesJson = { + /** + * Encrypt any value + * @param {*} value + * @param {string} password + * @return {string} + */ + 'encrypt': function (value, password) { + return CryptoJS.AES.encrypt(JSON.stringify(value), password, { format: CryptoJSAesJson }).toString() + }, + /** + * Decrypt a previously encrypted value + * @param {string} jsonStr + * @param {string} password + * @return {*} + */ + 'decrypt': function (jsonStr, password) { + return JSON.parse(CryptoJS.AES.decrypt(jsonStr, password, { format: CryptoJSAesJson }).toString(CryptoJS.enc.Utf8)) + }, + /** + * Stringify cryptojs data + * @param {Object} cipherParams + * @return {string} + */ + 'stringify': function (cipherParams) { + var j = { ct: cipherParams.ciphertext.toString(CryptoJS.enc.Base64) } + if (cipherParams.iv) j.iv = cipherParams.iv.toString() + if (cipherParams.salt) j.s = cipherParams.salt.toString() + return JSON.stringify(j).replace(/\s/g, '') + }, + /** + * Parse cryptojs data + * @param {string} jsonStr + * @return {*} + */ + 'parse': function (jsonStr) { + var j = JSON.parse(jsonStr) + var cipherParams = CryptoJS.lib.CipherParams.create({ ciphertext: CryptoJS.enc.Base64.parse(j.ct) }) + if (j.iv) cipherParams.iv = CryptoJS.enc.Hex.parse(j.iv) + if (j.s) cipherParams.salt = CryptoJS.enc.Hex.parse(j.s) + return cipherParams + } +}; +CryptoJSAesJson.decrypt($parameters); +""" diff --git a/src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/Moviedream.kt b/src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/Moviedream.kt new file mode 100644 index 000000000..0dbe3b804 --- /dev/null +++ b/src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/Moviedream.kt @@ -0,0 +1,212 @@ +package eu.kanade.tachiyomi.animeextension.de.moviedream + +import android.app.Application +import android.content.SharedPreferences +import androidx.preference.ListPreference +import androidx.preference.MultiSelectListPreference +import androidx.preference.PreferenceScreen +import eu.kanade.tachiyomi.animeextension.de.moviedream.extractors.StreamTapeExtractor +import eu.kanade.tachiyomi.animeextension.de.moviedream.extractors.VoeExtractor +import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource +import eu.kanade.tachiyomi.animesource.model.AnimeFilterList +import eu.kanade.tachiyomi.animesource.model.SAnime +import eu.kanade.tachiyomi.animesource.model.SEpisode +import eu.kanade.tachiyomi.animesource.model.Video +import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource +import eu.kanade.tachiyomi.lib.doodextractor.DoodExtractor +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.util.asJsoup +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.Response +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import uy.kohesive.injekt.Injekt +import uy.kohesive.injekt.api.get +import kotlin.Exception + +class Moviedream : ConfigurableAnimeSource, ParsedAnimeHttpSource() { + + override val name = "Moviedream" + + override val baseUrl = "https://moviedream.co" + + override val lang = "de" + + override val supportsLatest = false + + override val client: OkHttpClient = network.cloudflareClient + + private val preferences: SharedPreferences by lazy { + Injekt.get().getSharedPreferences("source_$id", 0x0000) + } + + // Popular Anime + + override fun popularAnimeSelector(): String = "div.boxshow a.linkto" + + override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/beliebtefilme?p=$page") + + override fun popularAnimeFromElement(element: Element): SAnime { + val anime = SAnime.create() + anime.setUrlWithoutDomain("/" + element.attr("href")) + anime.title = element.select("div.imgboxwiths").text() + anime.thumbnail_url = "$baseUrl/" + element.select("div.imgboxwiths img").attr("src") + return anime + } + + override fun popularAnimeNextPageSelector(): String = "a.righter" + + // Episodes + + override fun episodeListSelector() = throw Exception("not used") + + override fun episodeListParse(response: Response): List { + val document = response.asJsoup() + val episodeList = mutableListOf() + val episode = SEpisode.create() + episode.name = document.select("div.filmboxsmall p").toString() + .substringAfter("Originaltitel: ").substringBefore("
") + episode.episode_number = 1F + episode.setUrlWithoutDomain(response.request.url.toString()) + episodeList.add(episode) + return episodeList + } + + override fun episodeFromElement(element: Element): SEpisode = throw Exception("not Used") + + // Video urls + + override fun videoListSelector(): String = throw Exception("not Used") + + override fun videoListParse(response: Response): List
").substringBefore("
") + anime.genre = document.select("div.filmboxsmall p").toString() + .substringAfter("Genre: ").substringBefore("
") + anime.status = SAnime.COMPLETED + anime.author = document.select("div.filmboxsmall p").toString() + .substringAfter("Regisseur: ").substringBefore("
") + anime.description = document.select("div.filmboxsmall p[style]").text() + return anime + } + + // Latest + + override fun latestUpdatesNextPageSelector(): String = throw Exception("Not used") + + override fun latestUpdatesFromElement(element: Element): SAnime = throw Exception("Not used") + + override fun latestUpdatesRequest(page: Int): Request = throw Exception("Not used") + + override fun latestUpdatesSelector(): String = throw Exception("Not used") + + // settings + + override fun setupPreferenceScreen(screen: PreferenceScreen) { + val hosterPref = ListPreference(screen.context).apply { + key = "preferred_hoster" + title = "Standard-Hoster" + entries = arrayOf("Streamtape", "Doodstream", "Voe") + entryValues = arrayOf("https://streamtape.com", "https://dood", "https://voe.sx") + setDefaultValue("https://streamtape.com") + summary = "%s" + + setOnPreferenceChangeListener { _, newValue -> + val selected = newValue as String + val index = findIndexOfValue(selected) + val entry = entryValues[index] as String + preferences.edit().putString(key, entry).commit() + } + } + val subSelection = MultiSelectListPreference(screen.context).apply { + key = "hoster_selection" + title = "Hoster auswählen" + entries = arrayOf("Streamtape", "Doodstream", "Voe") + entryValues = arrayOf("stape", "dood", "voe") + setDefaultValue(setOf("stape", "dood", "voe")) + + setOnPreferenceChangeListener { _, newValue -> + preferences.edit().putStringSet(key, newValue as Set).commit() + } + } + screen.addPreference(hosterPref) + screen.addPreference(subSelection) + } +} diff --git a/src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/extractors/StreamTapeExtractor.kt b/src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/extractors/StreamTapeExtractor.kt new file mode 100644 index 000000000..54e379acc --- /dev/null +++ b/src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/extractors/StreamTapeExtractor.kt @@ -0,0 +1,18 @@ +package eu.kanade.tachiyomi.animeextension.de.moviedream.extractors + +import eu.kanade.tachiyomi.animesource.model.Video +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.util.asJsoup +import okhttp3.OkHttpClient + +class StreamTapeExtractor(private val client: OkHttpClient) { + fun videoFromUrl(url: String, quality: String): Video? { + val document = client.newCall(GET(url)).execute().asJsoup() + val script = document.select("script:containsData(document.getElementById('norobotlink'))") + .firstOrNull()?.data()?.substringAfter("document.getElementById('norobotlink').innerHTML = '") + ?: return null + val videoUrl = "https:" + script.substringBefore("'") + + script.substringAfter("+ ('xcd").substringBefore("'") + return Video(url, quality, videoUrl) + } +} diff --git a/src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/extractors/VoeExtractor.kt b/src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/extractors/VoeExtractor.kt new file mode 100644 index 000000000..6a4514884 --- /dev/null +++ b/src/de/moviedream/src/eu/kanade/tachiyomi/animeextension/de/moviedream/extractors/VoeExtractor.kt @@ -0,0 +1,17 @@ +package eu.kanade.tachiyomi.animeextension.de.moviedream.extractors + +import eu.kanade.tachiyomi.animesource.model.Video +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.util.asJsoup +import okhttp3.OkHttpClient + +class VoeExtractor(private val client: OkHttpClient) { + + fun videoFromUrl(url: String, quality: String): Video? { + val document = client.newCall(GET(url)).execute().asJsoup() + val script = document.select("script:containsData(function d04ad2e48229ae25a282e15c7c2f69a2(dea04c5949242bfd216e35def894b930))") + .firstOrNull()?.data()?.substringAfter("\"hls\": \"") ?: return null + val videoUrl = script.substringAfter("\"hls\": \"").substringBefore("\",") + return Video(url, quality, videoUrl) + } +}