From 9dc5d2ca839b8747febbd915e2fa8f32a9ee76da Mon Sep 17 00:00:00 2001 From: Mike <51273546+SnakeDoc83@users.noreply.github.com> Date: Wed, 19 Aug 2020 03:24:56 -0400 Subject: [PATCH] MMRCMS - add Op-VF and FR Scan (#4161) --- src/all/mmrcms/build.gradle | 2 +- .../extension/all/mmrcms/GeneratedSources.kt | 14 ++++++++------ .../tachiyomi/extension/all/mmrcms/Generator.kt | 2 ++ .../extension/all/mmrcms/MyMangaReaderCMSSource.kt | 2 +- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/all/mmrcms/build.gradle b/src/all/mmrcms/build.gradle index 887858595..9b75dfa52 100644 --- a/src/all/mmrcms/build.gradle +++ b/src/all/mmrcms/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'My Manga Reader CMS (Many sources)' pkgNameSuffix = 'all.mmrcms' extClass = '.MyMangaReaderCMSSources' - extVersionCode = 49 + extVersionCode = 50 libVersion = '1.2' containsNsfw = true } diff --git a/src/all/mmrcms/src/eu/kanade/tachiyomi/extension/all/mmrcms/GeneratedSources.kt b/src/all/mmrcms/src/eu/kanade/tachiyomi/extension/all/mmrcms/GeneratedSources.kt index 420fc09c7..ca54c3887 100644 --- a/src/all/mmrcms/src/eu/kanade/tachiyomi/extension/all/mmrcms/GeneratedSources.kt +++ b/src/all/mmrcms/src/eu/kanade/tachiyomi/extension/all/mmrcms/GeneratedSources.kt @@ -1,9 +1,9 @@ package eu.kanade.tachiyomi.extension.all.mmrcms // GENERATED FILE, DO NOT MODIFY! -// Generated Mon, 17 Aug 2020 14:07:10 -0400 +// Generated Wed, 19 Aug 2020 00:55:40 -0400 -private const val MMRSOURCE_1 = """{"language":"ar","name":"مانجا اون لاين","base_url":"https://onma.me","supports_latest":false,"isNsfw":false,"item_url":"\u003c!doctype html\u003e\n\u003chtml lang\u003d\"en-US\"\u003e\n \u003chead\u003e \n \u003cmeta charset\u003d\"UTF-8\"\u003e \n \u003cmeta http-equiv\u003d\"Content-Type\" content\u003d\"text/html; charset\u003dUTF-8\"\u003e \n \u003cmeta http-equiv\u003d\"X-UA-Compatible\" content\u003d\"IE\u003dEdge,chrome\u003d1\"\u003e \n \u003cmeta name\u003d\"robots\" content\u003d\"noindex, nofollow\"\u003e \n \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width,initial-scale\u003d1\"\u003e \n \u003cmeta http-equiv\u003d\"refresh\" content\u003d\"12\"\u003e \n \u003ctitle\u003eJust a moment...\u003c/title\u003e \n \u003cstyle type\u003d\"text/css\"\u003e\n html, body {width: 100%; height: 100%; margin: 0; padding: 0;}\n body {background-color: #ffffff; color: #000000; font-family:-apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, \"Helvetica Neue\",Arial, sans-serif; font-size: 16px; line-height: 1.7em;-webkit-font-smoothing: antialiased;}\n h1 { text-align: center; font-weight:700; margin: 16px 0; font-size: 32px; color:#000000; line-height: 1.25;}\n p {font-size: 20px; font-weight: 400; margin: 8px 0;}\n p, .attribution, {text-align: center;}\n #spinner {margin: 0 auto 30px auto; display: block;}\n .attribution {margin-top: 32px;}\n @keyframes fader { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} }\n @-webkit-keyframes fader { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} }\n #cf-bubbles \u003e .bubbles { animation: fader 1.6s infinite;}\n #cf-bubbles \u003e .bubbles:nth-child(2) { animation-delay: .2s;}\n #cf-bubbles \u003e .bubbles:nth-child(3) { animation-delay: .4s;}\n .bubbles { background-color: #f58220; width:20px; height: 20px; margin:2px; border-radius:100%; display:inline-block; }\n a { color: #2c7cb0; text-decoration: none; -moz-transition: color 0.15s ease; -o-transition: color 0.15s ease; -webkit-transition: color 0.15s ease; transition: color 0.15s ease; }\n a:hover{color: #f4a15d}\n .attribution{font-size: 16px; line-height: 1.5;}\n .ray_id{display: block; margin-top: 8px;}\n #cf-wrapper #challenge-form { padding-top:25px; padding-bottom:25px; }\n #cf-hcaptcha-container { text-align:center;}\n #cf-hcaptcha-container iframe { display: inline-block;}\n \u003c/style\u003e \n \u003cscript type\u003d\"text/javascript\"\u003e\n //\u003c![CDATA[\n (function(){\n \n window._cf_chl_opt\u003d{\n cvId: \"1\",\n cType: \"non-interactive\",\n cNounce: \"22468\",\n cRay: \"5c45555e1e8307e2\",\n cHash: \"0c8ff789b625d65\",\n cRq: {\n d: \"gaYcCcN3g7CGpQT0pu3u1JQIP29jrhIPDmeJG1eqtQQ6rFr5nAYIJpxjBy/wDtgsCurHNpC50rtnOmQ5w/qt44J2MQo+4A8+05Cazi8yALfBXi+XewnCnR5XlH688i/ZmyslkP6FHKPmG326No2g7FfQbBqWCOyQAIDYXM56XtqMoKhwqzBHJ0TdlE5l7K1LqwV9zoUu5a9/ro2TqSyzMR36n3B/iFmJzkF8rB+eAB7nbrOglCnuS1mJKcyuYMCYFpMN102MoJQiDIB5WaKHItA7tUyXR1YBiTvueAnI4XWV+9ffTN/+z06LJ0e3wbrweditryZXBUvt0a6R22VgvV1m3TfZaUr+pM2K5grUCxEUX8Ofs1lrhuwzdy8nuveYSvSt058LtPO5+KnHWzwv+A\u003d\u003d\",\n t: \"MTU5NzY4NzYzMy42MTkwMDA\u003d\",\n m: \"DBThgqkJg4cSR092q5otXUGRdPqpI2yXtJ3Z9gOrVns\u003d\",\n i1: \"s1Rb1bTH0B3hKjH603n2fQ\u003d\u003d\",\n i2: \"BhiIJabDQtL5j/D+f36qFw\u003d\u003d\",\n }\n }\n window._cf_chl_enter \u003d function(){window._cf_chl_opt.p\u003d1};\n \n var a \u003d function() {try{return !!window.addEventListener} catch(e) {return !1} },\n b \u003d function(b, c) {a() ? document.addEventListener(\"DOMContentLoaded\", b, c) : document.attachEvent(\"onreadystatechange\", b)};\n b(function(){\n var cookiesEnabled\u003d(navigator.cookieEnabled)? true : false;\n var cookieSupportInfix\u003dcookiesEnabled?\u0027/nocookie\u0027:\u0027/cookie\u0027;\n var a \u003d document.getElementById(\u0027cf-content\u0027);a.style.display \u003d \u0027block\u0027;\n var isIE \u003d /(MSIE|Trident\\/|Edge\\/)/i.test(window.navigator.userAgent);\n var trkjs \u003d isIE ? new Image() : document.createElement(\u0027img\u0027);\n trkjs.setAttribute(\"src\", \"/cdn-cgi/images/trace/jschal/js\"+cookieSupportInfix+\"/transparent.gif?ray\u003d5c45555e1e8307e2\");\n trkjs.id \u003d \"trk_jschal_js\";\n trkjs.setAttribute(\"alt\", \"\");\n document.body.appendChild(trkjs);\n \n document.body.appendChild(trkjs);\n var cpo \u003d document.createElement(\u0027script\u0027);\n cpo.type \u003d \u0027text/javascript\u0027;\n cpo.src \u003d \"/cdn-cgi/challenge-platform/orchestrate/jsch/v1\";\n var done \u003d false;\n cpo.onload \u003d cpo.onreadystatechange \u003d function() {\n if (!done \u0026\u0026 (!this.readyState || this.readyState \u003d\u003d\u003d \"loaded\" || this.readyState \u003d\u003d\u003d \"complete\")) {\n done \u003d true;\n cpo.onload \u003d cpo.onreadystatechange \u003d null;\n window._cf_chl_enter()\n }\n };\n document.getElementsByTagName(\u0027head\u0027)[0].appendChild(cpo);\n \n }, false);\n })();\n //]]\u003e\n\u003c/script\u003e \n \u003c/head\u003e \n \u003cbody\u003e \n \u003ctable width\u003d\"100%\" height\u003d\"100%\" cellpadding\u003d\"20\"\u003e \n \u003ctbody\u003e\n \u003ctr\u003e \n \u003ctd align\u003d\"center\" valign\u003d\"middle\"\u003e \n \u003cdiv class\u003d\"cf-browser-verification cf-im-under-attack\"\u003e \n \u003cnoscript\u003e \n \u003ch1 data-translate\u003d\"turn_on_js\" style\u003d\"color:#bd2426;\"\u003ePlease turn JavaScript on and reload the page.\u003c/h1\u003e \n \u003c/noscript\u003e \n \u003cdiv id\u003d\"cf-content\" style\u003d\"display:none\"\u003e \n \u003cdiv id\u003d\"cf-bubbles\"\u003e \n \u003cdiv class\u003d\"bubbles\"\u003e\u003c/div\u003e \n \u003cdiv class\u003d\"bubbles\"\u003e\u003c/div\u003e \n \u003cdiv class\u003d\"bubbles\"\u003e\u003c/div\u003e \n \u003c/div\u003e \n \u003ch1\u003e\u003cspan data-translate\u003d\"checking_browser\"\u003eChecking your browser before accessing\u003c/span\u003e onma.me.\u003c/h1\u003e \n \u003cdiv style\u003d\"position: absolute; top: -250px; left: -250px;\"\u003e\n \u003ca href\u003d\"https://robinsonsdrlg.com/direct.php?tag\u003d7\"\u003etable\u003c/a\u003e\n \u003c/div\u003e \n \u003cdiv id\u003d\"no-cookie-warning\" data-translate\u003d\"turn_on_cookies\" style\u003d\"display:none\"\u003e \n \u003cp data-translate\u003d\"turn_on_cookies\" style\u003d\"color:#bd2426;\"\u003ePlease enable Cookies and reload the page.\u003c/p\u003e \n \u003c/div\u003e \n \u003cp data-translate\u003d\"process_is_automatic\"\u003eThis process is automatic. Your browser will redirect to your requested content shortly.\u003c/p\u003e \n \u003cp data-translate\u003d\"allow_5_secs\"\u003ePlease allow up to 5 seconds…\u003c/p\u003e \n \u003c/div\u003e \n \u003cform class\u003d\"challenge-form\" id\u003d\"challenge-form\" action\u003d\"/?__cf_chl_jschl_tk__\u003d25afebc89452484727b8acf92aecfb45e4bb31d1-1597687633-0-AePUKGMdQV_PJeChmpcglz4HXDXYehyOA32C4YRsEF_RDHai676arlbiQghKTdbOFO5lRnR4DhX-UKvrXqjTMJiHufpoF5Rz6z9cOh0XmE1U_4p8-XVQ96NoDJMgKCC4YeLkvwKBQwwamoUQj1uw_87wxngjkFJQXymN1uhfLxIVBkdQODs9knjxqopNO52ZAM5LHWKyFrJaOTjJUOBAUz3Bx4IJQnoktqXCAcMGYbWRqmQutTVW0Md16dZn1QstqW8yYU_W-ptaphx4FHTN2xE\" method\u003d\"POST\" enctype\u003d\"application/x-www-form-urlencoded\"\u003e \n \u003cinput type\u003d\"hidden\" name\u003d\"r\" value\u003d\"f53e45fb3f31fc4bfd72df46fbb88e912aa76fcf-1597687633-0-AVXN8es+W2XKStiijuBQ4YLXGR5oxsC6rk+q4KSmbkiIulQx+xYmyMMcW9PfpYA6QCzvhBcVDA6iMGaV/D3uPIR40PxJ5uLF8f4GTDIOCg2WOLYlcq0G2fPR4YbsSuUHocTYyHoQdvjR+tpRoGfMuDlHZhMgqAxF9SKq0onMnq141pNUfxfr6qDdQyH0EK4OmM8UjwSz2W3nRUZHquHYRh7wf8/ZKCszfsAdOyvnTg724qJATDnyzWBLLtFhAvkBdxd7pI4dZ2367CH0imwQCWGQoLz6lv4PS4GXKlYxhizjAxhpr8NmF2DNtYzizqbjMXuR8plmwAXjre/sOI34248+rxukee71ybTufwXl2bDJSowYHeiJDGR0pbNq0vLJnaMApa66bAPvnKxKpLIl1MOuDePPeiI6R//3PvcSqrUbiPCd2xWW5oeFIypDyR1osWqX7aqd548sdcExL00FIwz/LF5LAuYcRaKJifB888B3MnZ+0LX/I5NllRdEfUejs1enGoKNRiDgGm6bSXkqCw3ScX5hsn+24yNWPp4Iz86s217j46dfJGMFxpfqxFYgtHzHBcT6eT5YgEQ2crZjLeByZIb+kW2x5Ku5h8F9BOJ1364KXzLCFeDUEK9bysd4N9KUjrfQksXnC7trMFo1/6ptQujoRgQvPMPJM8lCFjwkEV57EhfO4w5c7Y95dls6zT/Au+MJzpkHOoPu6jb0dxARnUVh8iW5tKB82U+awY7Hufy8RoTPLZNylaTf+14RXSbQKgOSWbZDDPeLGu7CoN+WbA63diEqon6TZxTmfHG7mitdAn0vNglJUTOtaYiXZPaWTZMP1eeLCb4uYTguu5JxSzW73p+a7y5E2/LUTvGbMT30k8ElidZhN4vlqJqMg6mCSMRRVvpBwYeEWkUWFJWYbra2WT8GHEtBZjPCxBAF6QJQmd+w78tlD+OAgqMkof+714OruqN+czLBoLhTxib5XDR035RkOvh3Q0qJ3Y7lXNo6MBkVjeNcX1F1H91GcCoSI+AJ9SQUQz+Up1ssDLlF+CFvsTVdSaEAWu4k44dGI/KzRN1EtmSFd8xU4nFwqVbpJU/Kvoz+b+wpjy2+bLkAfWOaiFF+zAbljeczhaS1FwTU41y9slucJecdYtlxeQ\u003d\u003d\"\u003e \n \u003cinput type\u003d\"hidden\" value\u003d\"cbe33cb36da7c17e869c7f3836e089ad\" id\u003d\"jschl-vc\" name\u003d\"jschl_vc\"\u003e \n \u003c!-- \u003cinput type\u003d\"hidden\" value\u003d\"\" id\u003d\"jschl-vc\" name\u003d\"jschl_vc\"/\u003e --\u003e \n \u003cinput type\u003d\"hidden\" name\u003d\"pass\" value\u003d\"1597687637.619-OPDXraqtHF\"\u003e \n \u003cinput type\u003d\"hidden\" id\u003d\"jschl-answer\" name\u003d\"jschl_answer\"\u003e \n \u003c/form\u003e \n \u003cdiv id\u003d\"trk_jschal_nojs\" style\u003d\"background-image:url(\u0027/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray\u003d5c45555e1e8307e2\u0027)\"\u003e \n \u003c/div\u003e \n \u003c/div\u003e \n \u003cdiv class\u003d\"attribution\"\u003e\n DDoS protection by \n \u003ca href\u003d\"https://www.cloudflare.com/5xx-error-landing?utm_source\u003diuam\" target\u003d\"_blank\"\u003eCloudflare\u003c/a\u003e \n \u003cbr\u003e \n \u003cspan class\u003d\"ray_id\"\u003eRay ID: \u003ccode\u003e5c45555e1e8307e2\u003c/code\u003e\u003c/span\u003e \n \u003c/div\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003c/tbody\u003e\n \u003c/table\u003e \n \u003c/body\u003e\n\u003c/html\u003e/","categories":[],"tags":"null"}""" +private const val MMRSOURCE_1 = """{"language":"ar","name":"مانجا اون لاين","base_url":"https://onma.me","supports_latest":false,"isNsfw":false,"item_url":"\u003c!doctype html\u003e\n\u003chtml lang\u003d\"en-US\"\u003e\n \u003chead\u003e \n \u003cmeta charset\u003d\"UTF-8\"\u003e \n \u003cmeta http-equiv\u003d\"Content-Type\" content\u003d\"text/html; charset\u003dUTF-8\"\u003e \n \u003cmeta http-equiv\u003d\"X-UA-Compatible\" content\u003d\"IE\u003dEdge,chrome\u003d1\"\u003e \n \u003cmeta name\u003d\"robots\" content\u003d\"noindex, nofollow\"\u003e \n \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width,initial-scale\u003d1\"\u003e \n \u003cmeta http-equiv\u003d\"refresh\" content\u003d\"12\"\u003e \n \u003ctitle\u003eJust a moment...\u003c/title\u003e \n \u003cstyle type\u003d\"text/css\"\u003e\n html, body {width: 100%; height: 100%; margin: 0; padding: 0;}\n body {background-color: #ffffff; color: #000000; font-family:-apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, \"Helvetica Neue\",Arial, sans-serif; font-size: 16px; line-height: 1.7em;-webkit-font-smoothing: antialiased;}\n h1 { text-align: center; font-weight:700; margin: 16px 0; font-size: 32px; color:#000000; line-height: 1.25;}\n p {font-size: 20px; font-weight: 400; margin: 8px 0;}\n p, .attribution, {text-align: center;}\n #spinner {margin: 0 auto 30px auto; display: block;}\n .attribution {margin-top: 32px;}\n @keyframes fader { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} }\n @-webkit-keyframes fader { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} }\n #cf-bubbles \u003e .bubbles { animation: fader 1.6s infinite;}\n #cf-bubbles \u003e .bubbles:nth-child(2) { animation-delay: .2s;}\n #cf-bubbles \u003e .bubbles:nth-child(3) { animation-delay: .4s;}\n .bubbles { background-color: #f58220; width:20px; height: 20px; margin:2px; border-radius:100%; display:inline-block; }\n a { color: #2c7cb0; text-decoration: none; -moz-transition: color 0.15s ease; -o-transition: color 0.15s ease; -webkit-transition: color 0.15s ease; transition: color 0.15s ease; }\n a:hover{color: #f4a15d}\n .attribution{font-size: 16px; line-height: 1.5;}\n .ray_id{display: block; margin-top: 8px;}\n #cf-wrapper #challenge-form { padding-top:25px; padding-bottom:25px; }\n #cf-hcaptcha-container { text-align:center;}\n #cf-hcaptcha-container iframe { display: inline-block;}\n \u003c/style\u003e \n \u003cscript type\u003d\"text/javascript\"\u003e\n //\u003c![CDATA[\n (function(){\n \n window._cf_chl_opt\u003d{\n cvId: \"1\",\n cType: \"non-interactive\",\n cNounce: \"27266\",\n cRay: \"5c5148b2aa9a741d\",\n cHash: \"22934b696b71c0f\",\n cRq: {\n d: \"U/ooq0oekkdh8GFXZJ2ANrvSrTUVHsbYRD2fP0Izbj0qtKEl7svzbsEy+QVJqReUOR7QDeUokISlwC4SfgAlHnD71v6YVksnusY5mjyNFpMTJZdolqn6vAte6g4tsXLKBLUMh9M5+IOLGP7S+shnPA6lVXHunWPS29c6ihLCtSvf5lA9EVyaNne9Oh2TrsoarDNd9k0VY+HD3t5liMUvpr7XRafQd9oUdZmc1jeFUltLyTJse+WQsQQZO8lfBovEa9Ck4PU1hrj6tHTcNvfahTazhgnSAqYp7wkIpi3Qnt1XtLcqQ5BlBmlOTOp0vIa7AkgcO9FJ/ZhiXySKUyUfPz12wWfbk4eitAhaCb61moenJFj80TYvyR/6JtEnfuJU2jctNUOIQXKOit0wpjXjuQ\u003d\u003d\",\n t: \"MTU5NzgxMjk0My43OTIwMDA\u003d\",\n m: \"gmc6usNZgNNE0Ka7n7At58p1NKiHx7+HWAI6XbSGTF8\u003d\",\n i1: \"c7feL0KuhzPTaNVONVALtg\u003d\u003d\",\n i2: \"0o+QHTsC+62ZUfjhzEu1cA\u003d\u003d\",\n }\n }\n window._cf_chl_enter \u003d function(){window._cf_chl_opt.p\u003d1};\n \n var a \u003d function() {try{return !!window.addEventListener} catch(e) {return !1} },\n b \u003d function(b, c) {a() ? document.addEventListener(\"DOMContentLoaded\", b, c) : document.attachEvent(\"onreadystatechange\", b)};\n b(function(){\n var cookiesEnabled\u003d(navigator.cookieEnabled)? true : false;\n var cookieSupportInfix\u003dcookiesEnabled?\u0027/nocookie\u0027:\u0027/cookie\u0027;\n var a \u003d document.getElementById(\u0027cf-content\u0027);a.style.display \u003d \u0027block\u0027;\n var isIE \u003d /(MSIE|Trident\\/|Edge\\/)/i.test(window.navigator.userAgent);\n var trkjs \u003d isIE ? new Image() : document.createElement(\u0027img\u0027);\n trkjs.setAttribute(\"src\", \"/cdn-cgi/images/trace/jschal/js\"+cookieSupportInfix+\"/transparent.gif?ray\u003d5c5148b2aa9a741d\");\n trkjs.id \u003d \"trk_jschal_js\";\n trkjs.setAttribute(\"alt\", \"\");\n document.body.appendChild(trkjs);\n \n document.body.appendChild(trkjs);\n var cpo \u003d document.createElement(\u0027script\u0027);\n cpo.type \u003d \u0027text/javascript\u0027;\n cpo.src \u003d \"/cdn-cgi/challenge-platform/orchestrate/jsch/v1\";\n var done \u003d false;\n cpo.onload \u003d cpo.onreadystatechange \u003d function() {\n if (!done \u0026\u0026 (!this.readyState || this.readyState \u003d\u003d\u003d \"loaded\" || this.readyState \u003d\u003d\u003d \"complete\")) {\n done \u003d true;\n cpo.onload \u003d cpo.onreadystatechange \u003d null;\n window._cf_chl_enter()\n }\n };\n document.getElementsByTagName(\u0027head\u0027)[0].appendChild(cpo);\n \n }, false);\n })();\n //]]\u003e\n\u003c/script\u003e \n \u003c/head\u003e \n \u003cbody\u003e \n \u003ctable width\u003d\"100%\" height\u003d\"100%\" cellpadding\u003d\"20\"\u003e \n \u003ctbody\u003e\n \u003ctr\u003e \n \u003ctd align\u003d\"center\" valign\u003d\"middle\"\u003e \n \u003cdiv class\u003d\"cf-browser-verification cf-im-under-attack\"\u003e \n \u003cnoscript\u003e \n \u003ch1 data-translate\u003d\"turn_on_js\" style\u003d\"color:#bd2426;\"\u003ePlease turn JavaScript on and reload the page.\u003c/h1\u003e \n \u003c/noscript\u003e \n \u003cdiv id\u003d\"cf-content\" style\u003d\"display:none\"\u003e \n \u003cdiv id\u003d\"cf-bubbles\"\u003e \n \u003cdiv class\u003d\"bubbles\"\u003e\u003c/div\u003e \n \u003cdiv class\u003d\"bubbles\"\u003e\u003c/div\u003e \n \u003cdiv class\u003d\"bubbles\"\u003e\u003c/div\u003e \n \u003c/div\u003e \n \u003ch1\u003e\u003cspan data-translate\u003d\"checking_browser\"\u003eChecking your browser before accessing\u003c/span\u003e onma.me.\u003c/h1\u003e \n \u003cdiv id\u003d\"no-cookie-warning\" data-translate\u003d\"turn_on_cookies\" style\u003d\"display:none\"\u003e \n \u003cp data-translate\u003d\"turn_on_cookies\" style\u003d\"color:#bd2426;\"\u003ePlease enable Cookies and reload the page.\u003c/p\u003e \n \u003c/div\u003e \n \u003cp data-translate\u003d\"process_is_automatic\"\u003eThis process is automatic. Your browser will redirect to your requested content shortly.\u003c/p\u003e \n \u003cp data-translate\u003d\"allow_5_secs\"\u003ePlease allow up to 5 seconds…\u003c/p\u003e \n \u003c/div\u003e \n \u003cform class\u003d\"challenge-form\" id\u003d\"challenge-form\" action\u003d\"/?__cf_chl_jschl_tk__\u003d9a33cb5b4e88000caf6b2022e0a2766eec8928aa-1597812943-0-AZiYFPUiw2yy1MlWtwnsXm2ImZdKbLsh6mOicXy_9fTwGAH_yNpBN8pHF08dUTj8P2jxN_PE8DidQGP1LQuHsvhhTmXttMjM8Yem2nIN-bpRxRGiGw-sifmFqk4KXVwKwj-8FZcsd2Sc9QCodXWwd1rpxuMAjK49Cff3jYymd5wJ1W80lDLd-zyckXIziUWYZNdyreSwDYFXj7MnTlnPyIlLVeXJgcH9JWvDT-TiNhLFerDm8aWqlL2jRETxQwIwCz5EJtkYMBdLLJVGCknor7k\" method\u003d\"POST\" enctype\u003d\"application/x-www-form-urlencoded\"\u003e \n \u003cinput type\u003d\"hidden\" name\u003d\"r\" value\u003d\"120fd8478c139c87e289ca5af44af1253b0ffd53-1597812943-0-AdjP8FgktnrEFVeaQYhGAW+vEopepaW92IZmI7TS7z4GpFe2eQPHirZuMVpTzYb6rXflGaPVBndLhIS505VEga+vGt8KludTsYHwPWr3zNPMiD4BjaVEE4HXUxyJzvomdp58qdaOEvMSi0z9u/6i2m8KqMmiB/3cUIbon3av0ogE1ZtzcjglQ+pvrzLN3HGhey+b4oGMxz8Xn61syN5DOmgalSmkQgaKmeGfJq7BDms2dpqXfAggqqUvWpOy0yN+IGdn9q0f1/4QCk8EfRtou48veQhCMh7tqCW+nSaDXgi3laia/xgRbegl44LSr8orYQ988cgJV/IsMuavYnKpAFKJQY/aQQDUsBtq+4w3cFdiw1GS+vhlah2vFazUeukGIwBHLPF6R6n43eWsO3XLmCHi4Yt9emDOXoEPDWZaanidyTUObgkM6xTYHkhNgiIsw5Hj7YmJ6EMF0UdMHerbXjYOxjjshgmtAbDSIgaNiK9Q2SQ+Wyv2RlQjSDFiNZGCDfgYiLTcCYxg39Le6+R12utXCkwJZJA1kOs3OkrXt8JqGpM0wpcCTYvxOk7OjWYItkO7U82/EW44Ehk/WjCDjKwLeigsI/XUAvJkp36Bg8wr2T2yjKuU+DNC6Bi7Xj98G8UEcyKFlmKuyiGW7UaV9OXguRBBDR82Av13w3vVniOoKj54tMOPMwuOEh8JfynUqhN1GZtWNbBiE6uC3IgDYOqXJEWnEKSGM4AcQFus5uXoab8aix9BPJe4wcD/UmIGd2tt2KR+XZILWCBJdm/MWHjNBlsw/DdXkB54I1/U7Oox5OTs2EJiR0l8zhi5LHJVufhhcTZ0mRFp0gUvVunCoM1/tXq23V5XLhq5dxqoNXIxYyOskBvdxVO5WawPYeEmNyFGcBwILR5plWzJdTzsJ/uIzT3wr+VqAbYuKHvmSZZuzdR+YDHhByf9yxjHWtnJcuoRQj6awqu/fH7zsunVebKHGC5SPGjk5v3zmAspt3Byry65xA33eRdktm12LuuPtqVNmX3noeOWnzcR2EOYckXR8aU4o+XdTvUg1600OhIkJy8dbYbyf/L1MI1sMztNd1vkKCEJfHEotN2Ddx9bifiTWt7IjaHwcJyhVXtjnBmTyFfnB79sIKDv4ff1nuxkfQ\u003d\u003d\"\u003e \n \u003cinput type\u003d\"hidden\" value\u003d\"7d60f750de6bee022065b5e1f4fd8151\" id\u003d\"jschl-vc\" name\u003d\"jschl_vc\"\u003e \n \u003c!-- \u003cinput type\u003d\"hidden\" value\u003d\"\" id\u003d\"jschl-vc\" name\u003d\"jschl_vc\"/\u003e --\u003e \n \u003cinput type\u003d\"hidden\" name\u003d\"pass\" value\u003d\"1597812947.792-h+Bh1cSKzL\"\u003e \n \u003cinput type\u003d\"hidden\" id\u003d\"jschl-answer\" name\u003d\"jschl_answer\"\u003e \n \u003c/form\u003e \n \u003cdiv id\u003d\"trk_jschal_nojs\" style\u003d\"background-image:url(\u0027/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray\u003d5c5148b2aa9a741d\u0027)\"\u003e \n \u003c/div\u003e \n \u003c/div\u003e \u003ca href\u003d\"https://robinsonsdrlg.com/direct.php?tag\u003d7\"\u003e\u003cspan style\u003d\"display: none;\"\u003etable\u003c/span\u003e\u003c/a\u003e \n \u003cdiv class\u003d\"attribution\"\u003e\n DDoS protection by \n \u003ca href\u003d\"https://www.cloudflare.com/5xx-error-landing?utm_source\u003diuam\" target\u003d\"_blank\"\u003eCloudflare\u003c/a\u003e \n \u003cbr\u003e \n \u003cspan class\u003d\"ray_id\"\u003eRay ID: \u003ccode\u003e5c5148b2aa9a741d\u003c/code\u003e\u003c/span\u003e \n \u003c/div\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003c/tbody\u003e\n \u003c/table\u003e \n \u003c/body\u003e\n\u003c/html\u003e/","categories":[],"tags":"null"}""" private const val MMRSOURCE_2 = """{"language":"en","name":"Read Comics Online","base_url":"https://readcomicsonline.ru","supports_latest":true,"isNsfw":false,"item_url":"https://readcomicsonline.ru/comic/","categories":[{"id":"1","name":"One Shots \u0026 TPBs"},{"id":"2","name":"DC Comics"},{"id":"3","name":"Marvel Comics"},{"id":"4","name":"Boom Studios"},{"id":"5","name":"Dynamite"},{"id":"6","name":"Rebellion"},{"id":"7","name":"Dark Horse"},{"id":"8","name":"IDW"},{"id":"9","name":"Archie"},{"id":"10","name":"Graphic India"},{"id":"11","name":"Darby Pop"},{"id":"12","name":"Oni Press"},{"id":"13","name":"Icon Comics"},{"id":"14","name":"United Plankton"},{"id":"15","name":"Udon"},{"id":"16","name":"Image Comics"},{"id":"17","name":"Valiant"},{"id":"18","name":"Vertigo"},{"id":"19","name":"Devils Due"},{"id":"20","name":"Aftershock Comics"},{"id":"21","name":"Antartic Press"},{"id":"22","name":"Action Lab"},{"id":"23","name":"American Mythology"},{"id":"24","name":"Zenescope"},{"id":"25","name":"Top Cow"},{"id":"26","name":"Hermes Press"},{"id":"27","name":"451"},{"id":"28","name":"Black Mask"},{"id":"29","name":"Chapterhouse Comics"},{"id":"30","name":"Red 5"},{"id":"31","name":"Heavy Metal"},{"id":"32","name":"Bongo"},{"id":"33","name":"Top Shelf"},{"id":"34","name":"Bubble"},{"id":"35","name":"Boundless"},{"id":"36","name":"Avatar Press"},{"id":"37","name":"Space Goat Productions"},{"id":"38","name":"BroadSword Comics"},{"id":"39","name":"AAM-Markosia"},{"id":"40","name":"Fantagraphics"},{"id":"41","name":"Aspen"},{"id":"42","name":"American Gothic Press"},{"id":"43","name":"Vault"},{"id":"44","name":"215 Ink"},{"id":"45","name":"Abstract Studio"},{"id":"46","name":"Albatross"},{"id":"47","name":"ARH Comix"},{"id":"48","name":"Legendary Comics"},{"id":"49","name":"Monkeybrain"},{"id":"50","name":"Joe Books"},{"id":"51","name":"MAD"},{"id":"52","name":"Comics Experience"},{"id":"53","name":"Alterna Comics"},{"id":"54","name":"Lion Forge"},{"id":"55","name":"Benitez"},{"id":"56","name":"Storm King"},{"id":"57","name":"Sucker"},{"id":"58","name":"Amryl Entertainment"},{"id":"59","name":"Ahoy Comics"},{"id":"60","name":"Mad Cave"},{"id":"61","name":"Coffin Comics"},{"id":"62","name":"Magnetic Press"},{"id":"63","name":"Ablaze"},{"id":"64","name":"Europe Comics"},{"id":"65","name":"Humanoids"},{"id":"66","name":"TKO"},{"id":"67","name":"Soleil"},{"id":"68","name":"SAF Comics"},{"id":"69","name":"Scholastic"},{"id":"70","name":"Upshot"},{"id":"71","name":"Stranger Comics"},{"id":"72","name":"Inverse"},{"id":"73","name":"Virus"}],"tags":"null"}""" private const val MMRSOURCE_3 = """{"language":"en","name":"Biamam Scans","base_url":"https://biamam.com","supports_latest":true,"isNsfw":false,"item_url":"http://biamam.com/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"},{"id":"33","name":"4-Koma"},{"id":"34","name":"Cooking"},{"id":"35","name":"Isekai"}],"tags":"null"}""" private const val MMRSOURCE_4 = """{"language":"en","name":"Fallen Angels","base_url":"https://manga.fascans.com","supports_latest":true,"isNsfw":false,"item_url":"https://manga.fascans.com/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"},{"id":"33","name":"4-Koma"},{"id":"34","name":"Cooking"}],"tags":"null"}""" @@ -33,13 +33,15 @@ private const val MMRSOURCE_27 = """{"language":"fr","name":"Scan-1","base_url": private const val MMRSOURCE_28 = """{"language":"fr","name":"Lelscan-VF","base_url":"https://www.lelscan-vf.com","supports_latest":true,"isNsfw":false,"item_url":"https://www.lelscan-vf.com/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"}],"tags":"null"}""" private const val MMRSOURCE_29 = """{"language":"id","name":"MangaSusu","base_url":"https://www.mangasusu.site","supports_latest":true,"isNsfw":false,"item_url":"https://www.mangasusu.website/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"},{"id":"33","name":"Adult"},{"id":"34","name":"Isekai"},{"id":"35","name":"Webtoons"}],"tags":"null"}""" private const val MMRSOURCE_30 = """{"language":"id","name":"Komik Manga","base_url":"https://adm.komikmanga.com","supports_latest":true,"isNsfw":false,"item_url":"https://adm.komikmanga.com/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"},{"id":"33","name":"Adult"},{"id":"34","name":"Isekai"}],"tags":"null"}""" -private const val MMRSOURCE_31 = """{"language":"ko","name":"Mangazuki Raws","base_url":"https://raws.mangazuki.co","supports_latest":false,"isNsfw":false,"item_url":"\u003c!doctype html\u003e\n\u003chtml lang\u003d\"en-US\"\u003e\n \u003chead\u003e \n \u003cmeta charset\u003d\"UTF-8\"\u003e \n \u003cmeta http-equiv\u003d\"Content-Type\" content\u003d\"text/html; charset\u003dUTF-8\"\u003e \n \u003cmeta http-equiv\u003d\"X-UA-Compatible\" content\u003d\"IE\u003dEdge,chrome\u003d1\"\u003e \n \u003cmeta name\u003d\"robots\" content\u003d\"noindex, nofollow\"\u003e \n \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width,initial-scale\u003d1\"\u003e \n \u003cmeta http-equiv\u003d\"refresh\" content\u003d\"12\"\u003e \n \u003ctitle\u003eJust a moment...\u003c/title\u003e \n \u003cstyle type\u003d\"text/css\"\u003e\n html, body {width: 100%; height: 100%; margin: 0; padding: 0;}\n body {background-color: #ffffff; color: #000000; font-family:-apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, \"Helvetica Neue\",Arial, sans-serif; font-size: 16px; line-height: 1.7em;-webkit-font-smoothing: antialiased;}\n h1 { text-align: center; font-weight:700; margin: 16px 0; font-size: 32px; color:#000000; line-height: 1.25;}\n p {font-size: 20px; font-weight: 400; margin: 8px 0;}\n p, .attribution, {text-align: center;}\n #spinner {margin: 0 auto 30px auto; display: block;}\n .attribution {margin-top: 32px;}\n @keyframes fader { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} }\n @-webkit-keyframes fader { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} }\n #cf-bubbles \u003e .bubbles { animation: fader 1.6s infinite;}\n #cf-bubbles \u003e .bubbles:nth-child(2) { animation-delay: .2s;}\n #cf-bubbles \u003e .bubbles:nth-child(3) { animation-delay: .4s;}\n .bubbles { background-color: #f58220; width:20px; height: 20px; margin:2px; border-radius:100%; display:inline-block; }\n a { color: #2c7cb0; text-decoration: none; -moz-transition: color 0.15s ease; -o-transition: color 0.15s ease; -webkit-transition: color 0.15s ease; transition: color 0.15s ease; }\n a:hover{color: #f4a15d}\n .attribution{font-size: 16px; line-height: 1.5;}\n .ray_id{display: block; margin-top: 8px;}\n #cf-wrapper #challenge-form { padding-top:25px; padding-bottom:25px; }\n #cf-hcaptcha-container { text-align:center;}\n #cf-hcaptcha-container iframe { display: inline-block;}\n \u003c/style\u003e \n \u003cscript type\u003d\"text/javascript\"\u003e\n //\u003c![CDATA[\n (function(){\n \n window._cf_chl_opt\u003d{\n cvId: \"1\",\n cType: \"non-interactive\",\n cNounce: \"73948\",\n cRay: \"5c45580d1ba374c3\",\n cHash: \"5125f380b0770b9\",\n cRq: {\n d: \"XqTDhiqdSwvTJsZgBHUjVMJwNRYQFiH9mToxEdJ2hXP8GWGN40mIEIwlmGeWWrQZxg4Q05RQp7W40eZkaZg0ZPLNOkOrvjiU2Q5Ccb3TK76L9lldbvAgHWxugJ3EiuaPg69NtDjs8tmUKKVUgTDd9WlK7W9imKthYG4eO7UYqIOlQT/8xsnKzIuSdv0187nptUCjFNytGNVjhn4S9pjJRYid1GNfrsKwOmRngFiu2RLG4CPKX4AjahUmBd7iKwCnTtElDdGJHUnoad5GV1lR5tH9FluUgwQrIxViXFvXx5d5I7k5z+vpRkQ+f9zKslPCl7IGu3usiARHP5+6gW1tM13WvQSt1epAQqAxF7YdwhLFEKYWUvA6qRbs1WHMUlugoTxLHce8oSqgP/RHD8VXOw\u003d\u003d\",\n t: \"MTU5NzY4Nzc0My41NDUwMDA\u003d\",\n m: \"EIFlLhqDZV9qLpRFNGaZdLX5L2KsT2p/GwjMdfOp9SA\u003d\",\n i1: \"fYbyxY1oYMHZDyJWefhPSw\u003d\u003d\",\n i2: \"3d63ggahvEkKxEloXn/xAA\u003d\u003d\",\n }\n }\n window._cf_chl_enter \u003d function(){window._cf_chl_opt.p\u003d1};\n \n var a \u003d function() {try{return !!window.addEventListener} catch(e) {return !1} },\n b \u003d function(b, c) {a() ? document.addEventListener(\"DOMContentLoaded\", b, c) : document.attachEvent(\"onreadystatechange\", b)};\n b(function(){\n var cookiesEnabled\u003d(navigator.cookieEnabled)? true : false;\n var cookieSupportInfix\u003dcookiesEnabled?\u0027/nocookie\u0027:\u0027/cookie\u0027;\n var a \u003d document.getElementById(\u0027cf-content\u0027);a.style.display \u003d \u0027block\u0027;\n var isIE \u003d /(MSIE|Trident\\/|Edge\\/)/i.test(window.navigator.userAgent);\n var trkjs \u003d isIE ? new Image() : document.createElement(\u0027img\u0027);\n trkjs.setAttribute(\"src\", \"/cdn-cgi/images/trace/jschal/js\"+cookieSupportInfix+\"/transparent.gif?ray\u003d5c45580d1ba374c3\");\n trkjs.id \u003d \"trk_jschal_js\";\n trkjs.setAttribute(\"alt\", \"\");\n document.body.appendChild(trkjs);\n \n document.body.appendChild(trkjs);\n var cpo \u003d document.createElement(\u0027script\u0027);\n cpo.type \u003d \u0027text/javascript\u0027;\n cpo.src \u003d \"/cdn-cgi/challenge-platform/orchestrate/jsch/v1\";\n var done \u003d false;\n cpo.onload \u003d cpo.onreadystatechange \u003d function() {\n if (!done \u0026\u0026 (!this.readyState || this.readyState \u003d\u003d\u003d \"loaded\" || this.readyState \u003d\u003d\u003d \"complete\")) {\n done \u003d true;\n cpo.onload \u003d cpo.onreadystatechange \u003d null;\n window._cf_chl_enter()\n }\n };\n document.getElementsByTagName(\u0027head\u0027)[0].appendChild(cpo);\n \n }, false);\n })();\n //]]\u003e\n\u003c/script\u003e \n \u003c/head\u003e \n \u003cbody\u003e \n \u003ctable width\u003d\"100%\" height\u003d\"100%\" cellpadding\u003d\"20\"\u003e \n \u003ctbody\u003e\n \u003ctr\u003e \n \u003ctd align\u003d\"center\" valign\u003d\"middle\"\u003e \n \u003cdiv class\u003d\"cf-browser-verification cf-im-under-attack\"\u003e \n \u003cnoscript\u003e \n \u003ch1 data-translate\u003d\"turn_on_js\" style\u003d\"color:#bd2426;\"\u003ePlease turn JavaScript on and reload the page.\u003c/h1\u003e \n \u003c/noscript\u003e \n \u003cdiv id\u003d\"cf-content\" style\u003d\"display:none\"\u003e \n \u003cdiv id\u003d\"cf-bubbles\"\u003e \n \u003cdiv class\u003d\"bubbles\"\u003e\u003c/div\u003e \n \u003cdiv class\u003d\"bubbles\"\u003e\u003c/div\u003e \n \u003cdiv class\u003d\"bubbles\"\u003e\u003c/div\u003e \n \u003c/div\u003e \n \u003ch1\u003e\u003cspan data-translate\u003d\"checking_browser\"\u003eChecking your browser before accessing\u003c/span\u003e mangazuki.co.\u003c/h1\u003e \n \u003cdiv id\u003d\"no-cookie-warning\" data-translate\u003d\"turn_on_cookies\" style\u003d\"display:none\"\u003e \n \u003cp data-translate\u003d\"turn_on_cookies\" style\u003d\"color:#bd2426;\"\u003ePlease enable Cookies and reload the page.\u003c/p\u003e \n \u003c/div\u003e \n \u003cp data-translate\u003d\"process_is_automatic\"\u003eThis process is automatic. Your browser will redirect to your requested content shortly.\u003c/p\u003e \n \u003cp data-translate\u003d\"allow_5_secs\"\u003ePlease allow up to 5 seconds…\u003c/p\u003e \n \u003c/div\u003e \n \u003cform class\u003d\"challenge-form\" id\u003d\"challenge-form\" action\u003d\"/?__cf_chl_jschl_tk__\u003d1892a130acfd7678d39da92bce1ac0f7d7de8929-1597687743-0-AT0xVYLrbnila0BtbgYFGoK_YWhUNEB643b90j8Vnf6HE6NaqT5y5LQ6ZPBHNaARgu5CY3DyLI1ya93VHwJnIRYf5aQYoXxmeVR563GxCAK1Jfqt3P-3ufpkHo_XaPF5kCTEr9sjy3H8Zfj5I1XueEQxCpM5XeyecscB56IGwMtcYyUSZzE89zAZI8Z0NQf90QpU_Oo4DJfpxudFc-RvdpComNQl4QyEtk0eJzE5stJ7YdcuyCPft7xRWQPGR2gQZxyrB830R6I6dA3eVHuii_Q\" method\u003d\"POST\" enctype\u003d\"application/x-www-form-urlencoded\"\u003e \n \u003cinput type\u003d\"hidden\" name\u003d\"r\" value\u003d\"ad5445cc0c15af1715a5b0f3beaf2629020985fc-1597687743-0-AaNjAwdiSAUUABMbbOk6AZ5MA/4b3Tnr+q15cWkBjLwECLO7O6TgTNRfarylmu3s1viP2znIdpCdRJBkT34yu0l3wDW761dhdx/s1cTn4zmgrbiq6xCqh4XVeJy2S2l07cPa975874UrVxek0m/HZ3/Vsy1AKav4pe9htG3ntUt5GG9fJkfJi8q5V4gR77WCv/F8FATzYMwktlChlie0USQDZPtOeSWlD8wbqzeSKt6YqndyJWKY0DxTCRkpvcKVGxYvlMUswL+nxUyqgOWa29xeQO0JOHGAV5ZhSuETLIFVNTnKRFhj1Yj77Qri+qykVpuuiwhr9BBJnPHCdLhSB9H4KQwt+cqbT+DUgWy5p/LX8vunzSd1m6vrvgJHsH/SCXJnwe099o5SfJPVrYKOQPDmDR6eg4Awwxhe56eiEDsBwjePf9INR7ybtth/35dgibiZoPVLoOTPsE90pLi5Or3BnDdjYdjhOXF2EsDKz3qsh0t/MATzVvkZ8KHYZVTNNi2GM8oRupF6tPe2n8V53sguomR3xzFdfh3rK7afuKM4LzPva3M7cdzLG0bO6UDlk/Kv8eBtQoYnLXG26B+hvO8qiyTm9AycwqS13PC2Vn3FOuv60nigXQm6TM6Vh1Qqkwbt4XYqE5zbOdBRQyDjvGMWdoIcGW0j4XYarInCWtI91PXSWt/6LOj9nEyD5mPMCCaMCV4CyyDpvJaMS+47wsbXebt48DcGdzS8P6gKjQwIWJMzvgNA1ONM+h03RglnuXE45v07bLUDFwzeMzgzaJi1EFqdc/rTFGAq8sKuxL+YJLRCcP8jxa8f10gT9dJ825gfkX3ySOeKd3k/OjUaozTNpWo2i08ZQN0RjcHV8jZnS0RiqQdy1MQgdjTaILgQR0RmhhHmp0JA7OsaDMRD6eDkRGruZQwnSvMUMgz6kvod1QkEr/Go5nTjjWxZTzpsYynmyod2H3BMFPJbzp0yNEz0uiltjWdBc7oAfTAC2EP9r+hXTaU4nPBAFih9IY8t3Wy76JOfXadDfRPBY13Ta7dprwQZPVgguZ/PjHxlzGMbXOD56hISbaxErjZj63ZNy3V1r0r1npe9rN41ky+5rWctAxbnDtbaBBC9TUsgKngcjMaIhsspzl3dILOCFWrGPBdhNWBJVEYEhcWvN//AxP1PZjk6qUYP5xORbapxUQq/\"\u003e \n \u003cinput type\u003d\"hidden\" value\u003d\"125c2c34c9d394e3073cb4b8a82e1566\" id\u003d\"jschl-vc\" name\u003d\"jschl_vc\"\u003e \n \u003c!-- \u003cinput type\u003d\"hidden\" value\u003d\"\" id\u003d\"jschl-vc\" name\u003d\"jschl_vc\"/\u003e --\u003e \n \u003cinput type\u003d\"hidden\" name\u003d\"pass\" value\u003d\"1597687747.545-t7aWp5W1Vu\"\u003e \n \u003cinput type\u003d\"hidden\" id\u003d\"jschl-answer\" name\u003d\"jschl_answer\"\u003e \n \u003c/form\u003e \n \u003cdiv id\u003d\"trk_jschal_nojs\" style\u003d\"background-image:url(\u0027/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray\u003d5c45580d1ba374c3\u0027)\"\u003e \n \u003c/div\u003e \n \u003c/div\u003e \n \u003cdiv class\u003d\"attribution\"\u003e\n DDoS protection by \n \u003ca href\u003d\"https://www.cloudflare.com/5xx-error-landing?utm_source\u003diuam\" target\u003d\"_blank\"\u003eCloudflare\u003c/a\u003e \n \u003cbr\u003e \n \u003cspan class\u003d\"ray_id\"\u003eRay ID: \u003ccode\u003e5c45580d1ba374c3\u003c/code\u003e\u003c/span\u003e \n \u003c/div\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003c/tbody\u003e\n \u003c/table\u003e \n \u003c/body\u003e\n\u003c/html\u003e/","categories":[],"tags":"null"}""" +private const val MMRSOURCE_31 = """{"language":"ko","name":"Mangazuki Raws","base_url":"https://raws.mangazuki.co","supports_latest":false,"isNsfw":false,"item_url":"\u003c!doctype html\u003e\n\u003chtml lang\u003d\"en-US\"\u003e\n \u003chead\u003e \n \u003cmeta charset\u003d\"UTF-8\"\u003e \n \u003cmeta http-equiv\u003d\"Content-Type\" content\u003d\"text/html; charset\u003dUTF-8\"\u003e \n \u003cmeta http-equiv\u003d\"X-UA-Compatible\" content\u003d\"IE\u003dEdge,chrome\u003d1\"\u003e \n \u003cmeta name\u003d\"robots\" content\u003d\"noindex, nofollow\"\u003e \n \u003cmeta name\u003d\"viewport\" content\u003d\"width\u003ddevice-width,initial-scale\u003d1\"\u003e \n \u003cmeta http-equiv\u003d\"refresh\" content\u003d\"12\"\u003e \n \u003ctitle\u003eJust a moment...\u003c/title\u003e \n \u003cstyle type\u003d\"text/css\"\u003e\n html, body {width: 100%; height: 100%; margin: 0; padding: 0;}\n body {background-color: #ffffff; color: #000000; font-family:-apple-system, system-ui, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen, Ubuntu, \"Helvetica Neue\",Arial, sans-serif; font-size: 16px; line-height: 1.7em;-webkit-font-smoothing: antialiased;}\n h1 { text-align: center; font-weight:700; margin: 16px 0; font-size: 32px; color:#000000; line-height: 1.25;}\n p {font-size: 20px; font-weight: 400; margin: 8px 0;}\n p, .attribution, {text-align: center;}\n #spinner {margin: 0 auto 30px auto; display: block;}\n .attribution {margin-top: 32px;}\n @keyframes fader { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} }\n @-webkit-keyframes fader { 0% {opacity: 0.2;} 50% {opacity: 1.0;} 100% {opacity: 0.2;} }\n #cf-bubbles \u003e .bubbles { animation: fader 1.6s infinite;}\n #cf-bubbles \u003e .bubbles:nth-child(2) { animation-delay: .2s;}\n #cf-bubbles \u003e .bubbles:nth-child(3) { animation-delay: .4s;}\n .bubbles { background-color: #f58220; width:20px; height: 20px; margin:2px; border-radius:100%; display:inline-block; }\n a { color: #2c7cb0; text-decoration: none; -moz-transition: color 0.15s ease; -o-transition: color 0.15s ease; -webkit-transition: color 0.15s ease; transition: color 0.15s ease; }\n a:hover{color: #f4a15d}\n .attribution{font-size: 16px; line-height: 1.5;}\n .ray_id{display: block; margin-top: 8px;}\n #cf-wrapper #challenge-form { padding-top:25px; padding-bottom:25px; }\n #cf-hcaptcha-container { text-align:center;}\n #cf-hcaptcha-container iframe { display: inline-block;}\n \u003c/style\u003e \n \u003cscript type\u003d\"text/javascript\"\u003e\n //\u003c![CDATA[\n (function(){\n \n window._cf_chl_opt\u003d{\n cvId: \"1\",\n cType: \"non-interactive\",\n cNounce: \"86182\",\n cRay: \"5c514b3e6a130977\",\n cHash: \"89537a2fdb18d0b\",\n cRq: {\n d: \"T8Fkun+Kwey8wwLFqapyWw1ZBZq7AnmwEpOY8i8LQBlhmTr4yT+OZHtyHsNhlLUboORGgZ8El04azck36rOXnkHvAzkycyH+AHq6g58uiN+5cJOXHeECpsuLfNhQLZRy6l65ss3Fo0xvR37pp2PxCIrfAsPKPxoMpWYU9oqIMhM12mzXnEAFdOLvNf8V9bXMYo0LRXVU3iZt2Skd1paSt2i1LtVa6Ok9gUh9IPuUhL/HfrMpvwWwn09V8uezf5ccFg7v1FOWW5PKho1y/ju/YZ1P/n23Bj0Z+9LHsv8glQT3YZhEimX/TeVaEF0rVQovx9O5Gq6vRpUNIPj7FsvuAs6n9IpnoHJA0kjEdPiRWx219Qs6SHkGcB1rhB/skYB9nAoEWONmMeUlUcUC/6/aRg\u003d\u003d\",\n t: \"MTU5NzgxMzA0OC4wNjYwMDA\u003d\",\n m: \"CZ1i2xTYUH2M20onddJkd0NK7Garn12U1/9O01BgCeY\u003d\",\n i1: \"T2En+tos/fcLVonBPQ+gvQ\u003d\u003d\",\n i2: \"O3LuD/53dY6yxH0aSKtGZQ\u003d\u003d\",\n }\n }\n window._cf_chl_enter \u003d function(){window._cf_chl_opt.p\u003d1};\n \n var a \u003d function() {try{return !!window.addEventListener} catch(e) {return !1} },\n b \u003d function(b, c) {a() ? document.addEventListener(\"DOMContentLoaded\", b, c) : document.attachEvent(\"onreadystatechange\", b)};\n b(function(){\n var cookiesEnabled\u003d(navigator.cookieEnabled)? true : false;\n var cookieSupportInfix\u003dcookiesEnabled?\u0027/nocookie\u0027:\u0027/cookie\u0027;\n var a \u003d document.getElementById(\u0027cf-content\u0027);a.style.display \u003d \u0027block\u0027;\n var isIE \u003d /(MSIE|Trident\\/|Edge\\/)/i.test(window.navigator.userAgent);\n var trkjs \u003d isIE ? new Image() : document.createElement(\u0027img\u0027);\n trkjs.setAttribute(\"src\", \"/cdn-cgi/images/trace/jschal/js\"+cookieSupportInfix+\"/transparent.gif?ray\u003d5c514b3e6a130977\");\n trkjs.id \u003d \"trk_jschal_js\";\n trkjs.setAttribute(\"alt\", \"\");\n document.body.appendChild(trkjs);\n \n document.body.appendChild(trkjs);\n var cpo \u003d document.createElement(\u0027script\u0027);\n cpo.type \u003d \u0027text/javascript\u0027;\n cpo.src \u003d \"/cdn-cgi/challenge-platform/orchestrate/jsch/v1\";\n var done \u003d false;\n cpo.onload \u003d cpo.onreadystatechange \u003d function() {\n if (!done \u0026\u0026 (!this.readyState || this.readyState \u003d\u003d\u003d \"loaded\" || this.readyState \u003d\u003d\u003d \"complete\")) {\n done \u003d true;\n cpo.onload \u003d cpo.onreadystatechange \u003d null;\n window._cf_chl_enter()\n }\n };\n document.getElementsByTagName(\u0027head\u0027)[0].appendChild(cpo);\n \n }, false);\n })();\n //]]\u003e\n\u003c/script\u003e \n \u003c/head\u003e \n \u003cbody\u003e \n \u003ctable width\u003d\"100%\" height\u003d\"100%\" cellpadding\u003d\"20\"\u003e \n \u003ctbody\u003e\n \u003ctr\u003e \n \u003ctd align\u003d\"center\" valign\u003d\"middle\"\u003e \n \u003cdiv class\u003d\"cf-browser-verification cf-im-under-attack\"\u003e \n \u003cnoscript\u003e \n \u003ch1 data-translate\u003d\"turn_on_js\" style\u003d\"color:#bd2426;\"\u003ePlease turn JavaScript on and reload the page.\u003c/h1\u003e \n \u003c/noscript\u003e \n \u003cdiv id\u003d\"cf-content\" style\u003d\"display:none\"\u003e \n \u003cdiv id\u003d\"cf-bubbles\"\u003e \n \u003cdiv class\u003d\"bubbles\"\u003e\u003c/div\u003e \n \u003cdiv class\u003d\"bubbles\"\u003e\u003c/div\u003e \n \u003cdiv class\u003d\"bubbles\"\u003e\u003c/div\u003e \n \u003c/div\u003e \n \u003ch1\u003e\u003cspan data-translate\u003d\"checking_browser\"\u003eChecking your browser before accessing\u003c/span\u003e mangazuki.co.\u003c/h1\u003e \n \u003cdiv id\u003d\"no-cookie-warning\" data-translate\u003d\"turn_on_cookies\" style\u003d\"display:none\"\u003e \n \u003cp data-translate\u003d\"turn_on_cookies\" style\u003d\"color:#bd2426;\"\u003ePlease enable Cookies and reload the page.\u003c/p\u003e \n \u003c/div\u003e \n \u003cp data-translate\u003d\"process_is_automatic\"\u003eThis process is automatic. Your browser will redirect to your requested content shortly.\u003c/p\u003e \n \u003cp data-translate\u003d\"allow_5_secs\"\u003ePlease allow up to 5 seconds…\u003c/p\u003e \n \u003c/div\u003e \n \u003cform class\u003d\"challenge-form\" id\u003d\"challenge-form\" action\u003d\"/?__cf_chl_jschl_tk__\u003dc1b2e17c066b32c6010241ded2bd051748685da5-1597813048-0-AXnNDOpTn2c8lrDsE5L58_ntbEFNSfjjmt9DxneXKcXi-uI7frOo_dG-uSLvShk46QTtVLeItXi7FtsUm0U98YaUZ1fT5XlT5HJG1f1qNtQ74kN7_ww9JE9v_XPOgAaTl91cTpu_8OApasIjZ28BYclRcGOPQxg2-M3Hsxw39UhfHLxmpyMT-IiIqq7rPrRsZ3N_rWkdZuZtTvoT-qNjHYL0AEYdyOwD3ojf4hie1cDMp6NPUQN7WYzYR9-dMUO05tY-jTAvvkiZJhfzQMn9kwA\" method\u003d\"POST\" enctype\u003d\"application/x-www-form-urlencoded\"\u003e \n \u003cinput type\u003d\"hidden\" name\u003d\"r\" value\u003d\"de96632b016d308fbc82bd78d909e202965c1452-1597813048-0-AYhf+g0aGAHs/w3FgBlpWNL1Mf2K44pZjNpDtrfhquygo6qUQhNUGGGwtZzg7arhDHE6q0NQMn/N09tHr4WsaKpfvkPLNtvtVgmDhO7UIm7WJ3fM2afebZDDfYAWL8pEaL21NO/GnSwVjlTJDwhvVvnmDB89HCNmgXZL2kH0E0dkEAgRNwmT4pRhi7fd82Sd94gJt86zk7WW+jZy7kuoboqLXjMlOb85JTpe9krb9bSFq4WmiygjYS9t7ENYAMZSRy+wTzy7yokI9cHOYB46vcgld+wE375fNHejO0VS3sQerzwmMWdvVQPZowdCl3q3MJqrqqG5X6J32xgBBMjV5PfgwY6vgwtrqs2CAluXsD490qDYX3gP8Tergo8UGQSXobgKSEImV7+XP12DT9Vu6MgN4ZZG9g1e9ENkMI3LUmH1u2c+C9Up0DX0rdJnDxcmKdWKOVUXeFccrHQSS8ethFxqHXqHQyAoo6RY0usoP45F/e9bHzO7RjjsVerfTbDMId0bxGxsKChpruiR1PO4eiE6Qrj55wVHzX1DWAswE0f2eOdj/hpRJmqT5B4srhYnCsYZ1wKO2ioH0jSCZk34HVPStTnc0FnF6uF96SIO2z6Vz+P6ZQrbrl/NeyC3Tf0XeN+Mf1L2AJaRtumVM8rONmqAZY7Zj6IulVsfEVELRdgtp8WJXTN1GadxFPESuLyY8da7+ceFz6S/uydl2p95e8E9ucs9a9jC1mEDEMZrLAWCocreuD6MGsxJHTAfu3aLG9WoFWyOpYrqDMGUg1yCBF2HVCe+SzX4pVZlNKOLWIdLrBMK70Sap4nMFnBR2eWNZCPHegRYM3EjUOvm43SmuN1P6d4qLq2d+t+tBUWb3UMYu/JvqbX1koJ1V+/TYVu8aP/6/nk37Xqn72rIVqG6XBcSGiFjY/8nbpwXh8FXHyFfxG8LSQ8FnU1eugsIIgJWheNv1Tbcy2jAeBxzXSzg7TS6aIryuUyMvcBaLuJ0vFjFSuFVM4PMscQNruB7XLlmPQZqzu8zH0SCpP0IMPqhQ27mlE+tFMzEZlkfWmj3xwIsX65Y9S4ayezA6icES5iQcO8hEzfC+KPB5uVS6e7YHGMOE1PUITTj8rgV+nsOMS02ski7U9NPfBy3aDY20DnEbQ\u003d\u003d\"\u003e \n \u003cinput type\u003d\"hidden\" value\u003d\"2645ec452983e031e72c29ee7885b9ba\" id\u003d\"jschl-vc\" name\u003d\"jschl_vc\"\u003e \n \u003c!-- \u003cinput type\u003d\"hidden\" value\u003d\"\" id\u003d\"jschl-vc\" name\u003d\"jschl_vc\"/\u003e --\u003e \n \u003cinput type\u003d\"hidden\" name\u003d\"pass\" value\u003d\"1597813052.066-6oTOgL2JK5\"\u003e \n \u003cinput type\u003d\"hidden\" id\u003d\"jschl-answer\" name\u003d\"jschl_answer\"\u003e \n \u003c/form\u003e \n \u003cdiv id\u003d\"trk_jschal_nojs\" style\u003d\"background-image:url(\u0027/cdn-cgi/images/trace/jschal/nojs/transparent.gif?ray\u003d5c514b3e6a130977\u0027)\"\u003e \n \u003c/div\u003e \n \u003c/div\u003e \n \u003cdiv class\u003d\"attribution\"\u003e\n DDoS protection by \n \u003ca href\u003d\"https://www.cloudflare.com/5xx-error-landing?utm_source\u003diuam\" target\u003d\"_blank\"\u003eCloudflare\u003c/a\u003e \n \u003cbr\u003e \n \u003cspan class\u003d\"ray_id\"\u003eRay ID: \u003ccode\u003e5c514b3e6a130977\u003c/code\u003e\u003c/span\u003e \n \u003c/div\u003e \u003c/td\u003e \n \u003c/tr\u003e \n \u003c/tbody\u003e\n \u003c/table\u003e \n \u003c/body\u003e\n\u003c/html\u003e/","categories":[],"tags":"null"}""" private const val MMRSOURCE_32 = """{"language":"pt-BR","name":"Remangas","base_url":"https://remangas.top","supports_latest":true,"isNsfw":false,"item_url":"https://remangas.top/manga/","categories":[{"id":"1","name":"Ação"},{"id":"2","name":"Aventura"},{"id":"3","name":"Comédia"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasia"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Histórico"},{"id":"11","name":"Terror"},{"id":"12","name":"Josei"},{"id":"13","name":"Artes Marciais"},{"id":"14","name":"Adulto"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mistério"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psicológico"},{"id":"19","name":"Romance"},{"id":"20","name":"Vida escolar"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Esporte"},{"id":"29","name":"Sobrenatural"},{"id":"30","name":"Tragédia"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"},{"id":"33","name":"Isekai"},{"id":"34","name":"Guerra"},{"id":"35","name":"Sobrevivência"},{"id":"36","name":"Romance?"}],"tags":[{"id":"seinen","name":"seinen"},{"id":"ecchi","name":"ecchi"},{"id":"harem","name":"harem"},{"id":"isekai","name":"isekai"},{"id":"guerra","name":"guerra"},{"id":"shounen","name":"shounen"},{"id":"18","name":"+18"},{"id":"adulto","name":"Adulto"},{"id":"fantasia","name":"Fantasia"},{"id":"romance","name":"Romance"},{"id":"vida-escolar","name":"Vida Escolar"},{"id":"acao","name":"Ação"},{"id":"misterio","name":"mistério"},{"id":"terror","name":"Terror"},{"id":"detetive","name":"Detetive"},{"id":"misterios","name":"Mistérios"},{"id":"incesto","name":"Incesto"},{"id":"comedia-romantica","name":"Comédia Romantica"},{"id":"alquimia","name":"Alquimia"},{"id":"manhua","name":"Manhua"},{"id":"colorido","name":"Colorido"},{"id":"antologia","name":"Antologia"},{"id":"dragoes","name":"Dragões"},{"id":"briga-de-rua","name":"Briga de Rua"},{"id":"anti-heroi","name":"Anti Herói"},{"id":"zoera","name":"Zoera"},{"id":"protagonista-overpower","name":"Protagonista Overpower"},{"id":"psicologico","name":"Psicológico"},{"id":"protagonista-badass","name":"Protagonista Badass"},{"id":"battleroyale","name":"Battleroyale"},{"id":"apocalispe-zumbi","name":"Apocalispe Zumbi"},{"id":"mc-nao-virjao","name":"Mc Não Virjão"},{"id":"escola-de-magia","name":"Escola de Magia"},{"id":"tensei","name":"Tensei"},{"id":"shota-badass","name":"Shota Badass"},{"id":"isekai-vai-e-volta","name":"Isekai Vai e Volta"},{"id":"gore","name":"gore"},{"id":"garota-monstro","name":"Garota Monstro"},{"id":"maid","name":"Maid"},{"id":"gal","name":"Gal"}]}""" private const val MMRSOURCE_33 = """{"language":"pt-BR","name":"AnimaRegia","base_url":"https://animaregia.net","supports_latest":true,"isNsfw":false,"item_url":"http://animaregia.net/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"}],"tags":"null"}""" private const val MMRSOURCE_34 = """{"language":"tr","name":"NoxSubs","base_url":"https://noxsubs.com","supports_latest":true,"isNsfw":false,"item_url":"https://noxsubs.com/manga/","categories":[{"id":"1","name":"Harem"},{"id":"2","name":"Mecha"},{"id":"3","name":"Seinen"},{"id":"4","name":"Shounen"},{"id":"5","name":"Slice of Life"},{"id":"6","name":"Trajedi"},{"id":"7","name":"Doğaüstü"},{"id":"8","name":"Spor"},{"id":"9","name":"Bilim-Kurgu"},{"id":"10","name":"Okul Hayatı"},{"id":"11","name":"Romantizm"},{"id":"12","name":"Dövüş Sanatları"},{"id":"13","name":"Psikolojik"},{"id":"14","name":"Gizem"},{"id":"15","name":"Korku"},{"id":"16","name":"Dram"},{"id":"17","name":"Aksiyon"},{"id":"18","name":"Komedi"},{"id":"19","name":"Macera"},{"id":"20","name":"Tek Atımlık"},{"id":"21","name":"Tarihi"},{"id":"22","name":"Fantezi"},{"id":"23","name":"Askeri"},{"id":"24","name":"Büyü"}],"tags":[{"id":"tag","name":"괴물아기"},{"id":"canavar-cocuk","name":"Canavar Çocuk"},{"id":"monster-child","name":"Monster Child"},{"id":"abyss-rage","name":"Abyss Rage"},{"id":"diamond-no-ace-act-ii","name":"Diamond no Ace Act II"},{"id":"diamond-no-ace","name":"Diamond no Ace"},{"id":"soloist-of-prison","name":"Soloist of Prison"},{"id":"reincarnation-no-kaben","name":"Reincarnation no Kaben"},{"id":"youjo-senki","name":"Youjo Senki"},{"id":"devil-of-rhine","name":"Devil of Rhine"},{"id":"saga-of-tanya-the-evil","name":"Saga of Tanya the Evil"},{"id":"rikudou","name":"Rikudou"},{"id":"rikudo","name":"Rikudo"},{"id":"mf-ghost","name":"MF Ghost"},{"id":"komi-san","name":"Komi-san"},{"id":"komi-san-wa-komyushou-desu","name":"Komi-san wa Komyushou Desu"},{"id":"die-dai","name":"Die Dai"},{"id":"pounding","name":"Pounding"},{"id":"panda","name":"Panda"},{"id":"agrikesici","name":"Ağrıkesici"},{"id":"intikam","name":"İntikam"},{"id":"onepiece","name":"#OnePiece"},{"id":"oneshot","name":"#OneShot"},{"id":"tanya","name":"#Tanya"},{"id":"senryuushoujo","name":"#SenryuuShoujo"},{"id":"gorgon","name":"#Gorgon"},{"id":"theblueland","name":"#TheBlueLand"},{"id":"reenkarnasyon","name":"Reenkarnasyon"},{"id":"onepieceacademy","name":"#OnePieceAcademy"},{"id":"ev-erkegi","name":"EV ERKEĞİ"},{"id":"onepieceboichi","name":"#OnePieceBoichi"},{"id":"warlord","name":"#Warlord"},{"id":"sheriffevans","name":"#SheriffEvans"},{"id":"goh","name":"#GOH"},{"id":"godofhighschool","name":"#GodofHighschool"},{"id":"serifevans","name":"#ŞerifEvans"},{"id":"shy","name":"#SHY"},{"id":"ponko","name":"#Ponko"}]}""" -private const val MMRSOURCE_35 = """{"language":"id","name":"MangaYu","base_url":"https://mangayu.com","supports_latest":true,"isNsfw":false,"item_url":"https://mangayu.com/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"},{"id":"33","name":"Project"},{"id":"34","name":"Isekai"},{"id":"35","name":"Reincarnation"}],"tags":[{"id":"magic","name":"Magic"},{"id":"manhua","name":"Manhua"}]}""" +private const val MMRSOURCE_35 = """{"language":"id","name":"MangaYu","base_url":"https://mangayu.com","supports_latest":true,"isNsfw":false,"item_url":"https://mangayu.com/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"},{"id":"33","name":"Project"},{"id":"34","name":"Isekai"},{"id":"35","name":"Reincarnation"}],"tags":[{"id":"magic","name":"Magic"},{"id":"manhua","name":"Manhua"},{"id":"doujinshi","name":"Doujinshi"}]}""" private const val MMRSOURCE_36 = """{"language":"tr","name":"MangaVadisi","base_url":"http://manga-v2.mangavadisi.org","supports_latest":true,"isNsfw":false,"item_url":"http://manga-v2.mangavadisi.org/manga/","categories":[{"id":"1","name":"Aksiyon"},{"id":"2","name":"Macera"},{"id":"3","name":"Komedi"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantastik"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Tarihi"},{"id":"11","name":"Korku"},{"id":"12","name":"Josei"},{"id":"13","name":"Dövüş Sanatları"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Gizem"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psikolojik"},{"id":"19","name":"Romantizm"},{"id":"20","name":"Okul Hayatı"},{"id":"21","name":"Bilim Kurgu"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Günlük Yaşam"},{"id":"28","name":"Spor"},{"id":"29","name":"Doğaüstü"},{"id":"30","name":"Trajedi"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"}],"tags":"null"}""" private const val MMRSOURCE_37 = """{"language":"id","name":"MangaID","base_url":"https://mangaid.click","supports_latest":true,"isNsfw":false,"item_url":"https://mangaid.click/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"Psychological"},{"id":"18","name":"Romance"},{"id":"19","name":"School Life"},{"id":"20","name":"Sci-fi"},{"id":"21","name":"Seinen"},{"id":"22","name":"Shoujo"},{"id":"23","name":"Shoujo Ai"},{"id":"24","name":"Shounen"},{"id":"25","name":"Shounen Ai"},{"id":"26","name":"Slice of Life"},{"id":"27","name":"Sports"},{"id":"28","name":"Supernatural"},{"id":"29","name":"Tragedy"},{"id":"30","name":"Yaoi"},{"id":"31","name":"Yuri"},{"id":"32","name":"School"},{"id":"33","name":"Isekai"},{"id":"34","name":"Military"}],"tags":"null"}""" private const val MMRSOURCE_38 = """{"language":"fr","name":"Jpmangas","base_url":"https://www.jpmangas.com","supports_latest":true,"isNsfw":false,"item_url":"https://www.jpmangas.com/lecture-en-ligne/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"}],"tags":"null"}""" -private const val MMRSOURCE_39 = """{"language":"other","name":"HentaiShark","base_url":"https://www.hentaishark.com","supports_latest":true,"isNsfw":true,"item_url":"https://www.hentaishark.com/manga/","categories":[{"id":"1","name":"Doujinshi"},{"id":"2","name":"Manga"},{"id":"3","name":"Western"},{"id":"4","name":"non-h"},{"id":"5","name":"imageset"},{"id":"6","name":"artistcg"},{"id":"7","name":"misc"}],"tags":"null"}""" -val SOURCES: List get() = listOf(MMRSOURCE_1, MMRSOURCE_2, MMRSOURCE_3, MMRSOURCE_4, MMRSOURCE_5, MMRSOURCE_6, MMRSOURCE_7, MMRSOURCE_8, MMRSOURCE_9, MMRSOURCE_10, MMRSOURCE_11, MMRSOURCE_12, MMRSOURCE_13, MMRSOURCE_14, MMRSOURCE_15, MMRSOURCE_16, MMRSOURCE_17, MMRSOURCE_18, MMRSOURCE_19, MMRSOURCE_20, MMRSOURCE_21, MMRSOURCE_22, MMRSOURCE_23, MMRSOURCE_24, MMRSOURCE_25, MMRSOURCE_26, MMRSOURCE_27, MMRSOURCE_28, MMRSOURCE_29, MMRSOURCE_30, MMRSOURCE_31, MMRSOURCE_32, MMRSOURCE_33, MMRSOURCE_34, MMRSOURCE_35, MMRSOURCE_36, MMRSOURCE_37, MMRSOURCE_38, MMRSOURCE_39) +private const val MMRSOURCE_39 = """{"language":"fr","name":"Op-VF","base_url":"https://www.op-vf.com","supports_latest":true,"isNsfw":false,"item_url":"https://www.op-vf.com/manga/","categories":[],"tags":"null"}""" +private const val MMRSOURCE_40 = """{"language":"fr","name":"FR Scan","base_url":"https://www.frscan.me","supports_latest":true,"isNsfw":false,"item_url":"https://www.frscan.me/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"Vie Scolaire"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Tranche de vie"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedie"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"},{"id":"33","name":"Autre"},{"id":"34","name":"BD Occidentale"},{"id":"35","name":"Webtoon"}],"tags":"null"}""" +private const val MMRSOURCE_41 = """{"language":"other","name":"HentaiShark","base_url":"https://www.hentaishark.com","supports_latest":true,"isNsfw":true,"item_url":"https://www.hentaishark.com/manga/","categories":[{"id":"1","name":"Doujinshi"},{"id":"2","name":"Manga"},{"id":"3","name":"Western"},{"id":"4","name":"non-h"},{"id":"5","name":"imageset"},{"id":"6","name":"artistcg"},{"id":"7","name":"misc"}],"tags":"null"}""" +val SOURCES: List get() = listOf(MMRSOURCE_1, MMRSOURCE_2, MMRSOURCE_3, MMRSOURCE_4, MMRSOURCE_5, MMRSOURCE_6, MMRSOURCE_7, MMRSOURCE_8, MMRSOURCE_9, MMRSOURCE_10, MMRSOURCE_11, MMRSOURCE_12, MMRSOURCE_13, MMRSOURCE_14, MMRSOURCE_15, MMRSOURCE_16, MMRSOURCE_17, MMRSOURCE_18, MMRSOURCE_19, MMRSOURCE_20, MMRSOURCE_21, MMRSOURCE_22, MMRSOURCE_23, MMRSOURCE_24, MMRSOURCE_25, MMRSOURCE_26, MMRSOURCE_27, MMRSOURCE_28, MMRSOURCE_29, MMRSOURCE_30, MMRSOURCE_31, MMRSOURCE_32, MMRSOURCE_33, MMRSOURCE_34, MMRSOURCE_35, MMRSOURCE_36, MMRSOURCE_37, MMRSOURCE_38, MMRSOURCE_39, MMRSOURCE_40, MMRSOURCE_41) diff --git a/src/all/mmrcms/src/eu/kanade/tachiyomi/extension/all/mmrcms/Generator.kt b/src/all/mmrcms/src/eu/kanade/tachiyomi/extension/all/mmrcms/Generator.kt index 58e9e5b86..64e839d6d 100644 --- a/src/all/mmrcms/src/eu/kanade/tachiyomi/extension/all/mmrcms/Generator.kt +++ b/src/all/mmrcms/src/eu/kanade/tachiyomi/extension/all/mmrcms/Generator.kt @@ -269,6 +269,8 @@ class Generator { SourceData("tr", "MangaVadisi", "http://manga-v2.mangavadisi.org"), SourceData("id", "MangaID", "https://mangaid.click"), SourceData("fr", "Jpmangas", "https://www.jpmangas.com"), + SourceData("fr", "Op-VF", "https://www.op-vf.com"), + SourceData("fr", "FR Scan", "https://www.frscan.me"), // NOTE: THIS SOURCE CONTAINS A CUSTOM LANGUAGE SYSTEM (which will be ignored)! SourceData("other", "HentaiShark", "https://www.hentaishark.com", true)) // Changed CMS diff --git a/src/all/mmrcms/src/eu/kanade/tachiyomi/extension/all/mmrcms/MyMangaReaderCMSSource.kt b/src/all/mmrcms/src/eu/kanade/tachiyomi/extension/all/mmrcms/MyMangaReaderCMSSource.kt index dd453b2ef..8fcd5ca04 100644 --- a/src/all/mmrcms/src/eu/kanade/tachiyomi/extension/all/mmrcms/MyMangaReaderCMSSource.kt +++ b/src/all/mmrcms/src/eu/kanade/tachiyomi/extension/all/mmrcms/MyMangaReaderCMSSource.kt @@ -308,7 +308,7 @@ open class MyMangaReaderCMSSource( val chapter = SChapter.create() try { - val titleWrapper = element.select("[class^=chapter-title-rtl]").first() + val titleWrapper = if (name == "Mangas.pw") element.select("em a[alt]").first() else element.select("[class^=chapter-title-rtl]").first() // Some websites add characters after "..-rtl" thus the need of checking classes that starts with that val url = titleWrapper.getElementsByTag("a") .first { it.attr("href").contains(urlRegex) }