From bb0db200aa5807d0c2d9e8ac903e6ee0c27b2332 Mon Sep 17 00:00:00 2001 From: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> Date: Wed, 10 Apr 2024 22:42:28 +0500 Subject: [PATCH] add Manhuakey (#2317) * add ManhuaKey (th) * newline * remove log --- src/th/manhuakey/build.gradle | 14 +++ .../manhuakey/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3966 bytes .../manhuakey/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2077 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 5298 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 10279 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 14372 bytes .../extension/th/manhuakey/ManhuaKey.kt | 108 ++++++++++++++++++ 7 files changed, 122 insertions(+) create mode 100644 src/th/manhuakey/build.gradle create mode 100644 src/th/manhuakey/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/th/manhuakey/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/th/manhuakey/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/th/manhuakey/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/th/manhuakey/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/th/manhuakey/src/eu/kanade/tachiyomi/extension/th/manhuakey/ManhuaKey.kt diff --git a/src/th/manhuakey/build.gradle b/src/th/manhuakey/build.gradle new file mode 100644 index 000000000..82a208e60 --- /dev/null +++ b/src/th/manhuakey/build.gradle @@ -0,0 +1,14 @@ +ext { + extName = 'ManhuaKey' + extClass = '.ManhuaKey' + themePkg = 'madara' + baseUrl = 'https://www.manhuakey.com' + overrideVersionCode = 0 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" + +dependencies { + implementation(project(":lib:unpacker")) +} diff --git a/src/th/manhuakey/res/mipmap-hdpi/ic_launcher.png b/src/th/manhuakey/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..af7a858fcd62395a22e30a95d95e98bfdfebff50 GIT binary patch literal 3966 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 YFZ%3A?rq-7DgXcg07*qoM6N<$f=ym>YXATM literal 0 HcmV?d00001 diff --git a/src/th/manhuakey/res/mipmap-mdpi/ic_launcher.png b/src/th/manhuakey/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..3c33684bbd7cd27b216fdfd2478cb9a90c0612f7 GIT binary patch literal 2077 zcmV+&2;%pNP)iT!!7;{}&dfJEeCPXlp7(j) z?|k1m_}~h^e6Dc(_?tj~E9gl9UjoPOv)}%_x@qz*XK}+JNgy^h*4Wk6^+s!J>*Vh4 zZW9%*qxe^uHX9olaLs{pVLzRW*wlND=Uhii%opv)N`|E`WU@6C518uD-sW zVd@Z)5EEd32M!!Ku-tC9hh1vK`vO!hXc~>CvAw3=mUQC>z6mO4cQq!f^gT7XWA*0v6G zQL?K6q*MjIoniuJvzb#si3(BI48-D$`FLf12CC~Cy%Gox)FETqC@flY7){M>UfZ*P z@Ig^Uz?%X-K0crUv0-H0asoM-ODOXr@ys)maklb2N=nPQWkLujJk)@j zhM1ANXd=#4H)6J>2*a+AKzNt|Yd-#tg5lkMiV1{;g}DewSt&Yd2zGAXfbht{u-4W< zPlT+M6)=XGQMkDfZ|1D!015jpoc1q_{pSs6u(jbTlL0Mlc9=o}P}k6c2`_I(b*;^- zo%%#TXeD7z#NBZ_K3J6rQ{>esKU0B)3tz>p!-pg5-3^?z#CGu4YVgvec9f%<2`qGZ&PtLZP9d9u?rh#f==nkuVd97pG3g&b@~vJuM{u(7iWe z`Mhx)_$dpvhwC8bwhTsiU5N zHwE}`$BlH5sH|zkw3HbHu)+n91HUv8p+-HDy?_@-zfS~c=ch^mo@6}PDSr(q!AML` z;Ycv>c?6!>CYd}hjJ#6s3)(4DKuExo0#Z-v_&XViY%V9#)8-*#YCJ*-JWJRTvW*(h z5^a?c2nq^PrGQ&bkP-!}m!h-gOVrm@6Zjq6QYi&qB_VYL#L*W6l~RD!4KN2{ljU(3 z^ctjQA3~+ohBKAbu-iLjS12W?KI*KDfYE65s(>tbK4G1<$y&Ao0Xl!A%uGe;ALr01 z@sLxZf|I#A0#XXdsi5`KVDvwt>1iA1^t{71cg2lFVeUKl{aiH)3i463?*Pu%_Uu|! zfM-pW5eN(nlvQ9v%pkm$@^AQQ=G&>Gg!Y@1DD{ zwO}3m1A?$>T`r1t??6&g67Ib_4*ohFIy&q~oxcFz9Qg^&Ep2W#b5*D%AXZ?+ut8Y= z`lEDsvEz7Y6->0ljEx?Ei>>YCcP%&1kzXqCY}(dd3G3_Yi_eR;AvR_hG+G^O%{H=? z7RAR-pt-4mtMBUe!PChv;ArtN8n46k3=x1=u7JT{kW^sb`pGaFba?jvTTynl9vWXC zSmumD!hJV!^PH_}K*ID*Xlu9k0>A=6d4(Si?nLA@QSc!`8}m0IGt;pJx&5}`*#6-< z{C1`aiAhi5LQ{(fx9d-37GeaX{D1KMDKtqP{`=Za*NDDEVi_YbYAC)qQif@Zc5_Ed z{^G}>w+h(3r2z3GhU3F6yI`?oqEe6xhe;tuZ2V(S(w6%Y2?PWLNGfn>;}q0fxQM6b zZlTqr=K$hMr?aeiV>u;Km+ixzFHX5Bkn-a5Se!Nso3`yiro}>$?@44oKRq!d^*<9<9o?iTF$>;%$Re%5O<784zT9q&v+`r8Mvb^mcU1=8lu z!rU4E!Tk>ATBJUkYwa`UhvXC-PH++M)(<0-R{Ua#+^08fV5<;_{6 zG4X*IY-c10EPwB|p^@0K{0Rqv0}cYhAn*jnj8DQ($4|lD*#%~+jcZn5Lc&<&=6{5& z>}*N+cc|9m6T{-nJjXPFt4Q4{3*=(oJ}7AnqL@xNDILgIu+IPlp7zS1-Jz7r7JiFtnMY$8EQ@E40{TF!p# zI&@NU9cN=qe<2xfESLkmG1S#&?S}W2L|&bR{Qdo96%g7fY0NFo^}idxme=B|AOCQ( zj@U{G;~vCyg9gA?|lnA@WKTg00000NkvXX Hu0mjf`?v5S literal 0 HcmV?d00001 diff --git a/src/th/manhuakey/res/mipmap-xhdpi/ic_launcher.png b/src/th/manhuakey/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..0028005717a931cf8f14beeec97ba836c674c0c1 GIT binary patch literal 5298 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 H { + launchIO { countViews(document) } + val location = document.location() + + return document.select(pageListParseSelector).mapIndexed { idx, element -> + if (element.tagName().equals("img")) { + Page(idx, location, imageFromElement(element)) + } else { + val unpackedScript = Unpacker.unpack(element.data()) + val blockWidth = blockWidthRegex.find(unpackedScript)!!.groupValues[1].toInt() + val blockHeight = blockHeightRegex.find(unpackedScript)!!.groupValues[1].toInt() + val matrix = unpackedScript.substringAfter("[") + .substringBefore("];") + .let { "[$it]" } + val scrambledImageUrl = unpackedScript.substringAfter("url(") + .substringBefore(");") + + val data = ScramblingData( + blockWidth = blockWidth, + blockHeight = blockHeight, + matrix = json.decodeFromString(matrix), + ) + + Page(idx, location, "$scrambledImageUrl#${json.encodeToString(data)}") + } + } + } + + private val blockWidthRegex = Regex("""width:\s*"?\s*\+?\s*(\d+)\s*\+?\s*"?px;""") + private val blockHeightRegex = Regex("""height:\s*"?\s*\+?\s*(\d+)\s*\+?\s*"?px;""") + + @Serializable + class ScramblingData( + val blockWidth: Int, + val blockHeight: Int, + val matrix: List>, + ) + + private fun imageDescrambler(chain: Interceptor.Chain): Response { + val request = chain.request() + val response = chain.proceed(request) + + if (request.url.fragment.isNullOrEmpty()) { + return response + } + + val scramblingData = json.decodeFromString(request.url.fragment!!) + + val scrambledImg = BitmapFactory.decodeStream(response.body.byteStream()) + val descrambledImg = Bitmap.createBitmap(scrambledImg.width, scrambledImg.height, Bitmap.Config.ARGB_8888) + val canvas = Canvas(descrambledImg) + + for (pos in scramblingData.matrix) { + val srcRect = Rect( + pos[2].toInt(), + pos[3].toInt(), + pos[2].toInt() + scramblingData.blockWidth, + pos[3].toInt() + scramblingData.blockHeight, + ) + val destRect = Rect( + pos[0].toInt(), + pos[1].toInt(), + pos[0].toInt() + scramblingData.blockWidth, + pos[1].toInt() + scramblingData.blockHeight, + ) + canvas.drawBitmap(scrambledImg, srcRect, destRect, null) + } + + val output = ByteArrayOutputStream() + descrambledImg.compress(Bitmap.CompressFormat.JPEG, 90, output) + + val image = output.toByteArray() + val body = image.toResponseBody("image/jpeg".toMediaType()) + + return response.newBuilder() + .body(body) + .build() + } +}