From 2948fa923398a93195a418ab9e0a16c760f743c0 Mon Sep 17 00:00:00 2001 From: Norsze <66540317+Norsze@users.noreply.github.com> Date: Tue, 30 Jul 2024 09:27:08 +0200 Subject: [PATCH] Remove ReadManga.at (#4327) --- src/ja/readmangaat/build.gradle | 8 - .../res/mipmap-hdpi/ic_launcher.png | Bin 4709 -> 0 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 2308 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 6409 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 12635 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 19547 -> 0 bytes .../tachiyomi/extension/ja/readmangaat/Dto.kt | 22 -- .../extension/ja/readmangaat/ReadMangaAt.kt | 323 ------------------ 8 files changed, 353 deletions(-) delete mode 100644 src/ja/readmangaat/build.gradle delete mode 100644 src/ja/readmangaat/res/mipmap-hdpi/ic_launcher.png delete mode 100644 src/ja/readmangaat/res/mipmap-mdpi/ic_launcher.png delete mode 100644 src/ja/readmangaat/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 src/ja/readmangaat/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 src/ja/readmangaat/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 src/ja/readmangaat/src/eu/kanade/tachiyomi/extension/ja/readmangaat/Dto.kt delete mode 100644 src/ja/readmangaat/src/eu/kanade/tachiyomi/extension/ja/readmangaat/ReadMangaAt.kt diff --git a/src/ja/readmangaat/build.gradle b/src/ja/readmangaat/build.gradle deleted file mode 100644 index 371c98889..000000000 --- a/src/ja/readmangaat/build.gradle +++ /dev/null @@ -1,8 +0,0 @@ -ext { - extName = 'ReadManga.at' - extClass = '.ReadMangaAt' - extVersionCode = 1 - isNsfw = true -} - -apply from: "$rootDir/common.gradle" diff --git a/src/ja/readmangaat/res/mipmap-hdpi/ic_launcher.png b/src/ja/readmangaat/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index ac31cb683d491b400eca4218e44582a5955d5bc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4709 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 XWJ63O^p4(i00000NkvXXu0mjfh%X{| diff --git a/src/ja/readmangaat/res/mipmap-xxhdpi/ic_launcher.png b/src/ja/readmangaat/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 4e3498edc6a495adef8aec54b582533b8dbbbd63..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12635 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 diff --git a/src/ja/readmangaat/src/eu/kanade/tachiyomi/extension/ja/readmangaat/Dto.kt b/src/ja/readmangaat/src/eu/kanade/tachiyomi/extension/ja/readmangaat/Dto.kt deleted file mode 100644 index 01adde907..000000000 --- a/src/ja/readmangaat/src/eu/kanade/tachiyomi/extension/ja/readmangaat/Dto.kt +++ /dev/null @@ -1,22 +0,0 @@ -package eu.kanade.tachiyomi.extension.ja.readmangaat - -import kotlinx.serialization.SerialName -import kotlinx.serialization.Serializable - -@Serializable -class LatestDto( - val mes: String, - val going: String, -) - -@Serializable -class InfoDto( - val mes: String, -) - -@Serializable -class ImageResponseDto( - val mes: String, - val going: Int, - @SerialName("img_index") val imgIndex: Int, -) diff --git a/src/ja/readmangaat/src/eu/kanade/tachiyomi/extension/ja/readmangaat/ReadMangaAt.kt b/src/ja/readmangaat/src/eu/kanade/tachiyomi/extension/ja/readmangaat/ReadMangaAt.kt deleted file mode 100644 index 450c98c74..000000000 --- a/src/ja/readmangaat/src/eu/kanade/tachiyomi/extension/ja/readmangaat/ReadMangaAt.kt +++ /dev/null @@ -1,323 +0,0 @@ -package eu.kanade.tachiyomi.extension.ja.readmangaat - -import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.network.POST -import eu.kanade.tachiyomi.network.interceptor.rateLimit -import eu.kanade.tachiyomi.source.model.Filter -import eu.kanade.tachiyomi.source.model.FilterList -import eu.kanade.tachiyomi.source.model.MangasPage -import eu.kanade.tachiyomi.source.model.Page -import eu.kanade.tachiyomi.source.model.SChapter -import eu.kanade.tachiyomi.source.model.SManga -import eu.kanade.tachiyomi.source.online.ParsedHttpSource -import kotlinx.serialization.json.Json -import kotlinx.serialization.json.decodeFromStream -import okhttp3.FormBody -import okhttp3.HttpUrl.Companion.toHttpUrl -import okhttp3.Request -import okhttp3.Response -import org.jsoup.Jsoup -import org.jsoup.nodes.Document -import org.jsoup.nodes.Element -import uy.kohesive.injekt.injectLazy -import java.text.ParseException -import java.text.SimpleDateFormat -import java.util.Locale - -class ReadMangaAt : ParsedHttpSource() { - - override val name = "ReadManga.at" - - override val baseUrl = "https://readmanga.at" - - override val lang = "ja" - - override val supportsLatest = true - - override val client = network.cloudflareClient.newBuilder() - .rateLimit(2) - .build() - - override fun headersBuilder() = super.headersBuilder() - .add("Referer", "$baseUrl/") - - private val ajaxUrl = "$baseUrl/wp-admin/admin-ajax.php" - - private val apiHeaders by lazy { apiHeadersBuilder().build() } - - private fun apiHeadersBuilder() = headersBuilder().apply { - add("Accept", "application/json, text/javascript, */*; q=0.01") - add("Host", baseUrl.toHttpUrl().host) - add("Origin", baseUrl) - add("X-Requested-With", "XMLHttpRequest") - } - - private val json: Json by injectLazy() - - private val dateFormat = SimpleDateFormat("M月 d, yyyy", Locale.JAPANESE) - - private val chapterRegex = Regex("""\bp:\s*(\d+)""") - - // ============================== Popular =============================== - - override fun popularMangaRequest(page: Int): Request = GET(baseUrl, headers) - - override fun popularMangaSelector(): String = "div:has(>div:contains(Popular)) > div > div[class~=entry]" - - override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply { - with(element.selectFirst("h4 > a")!!) { - setUrlWithoutDomain(attr("abs:href")) - title = text() - } - } - - override fun popularMangaNextPageSelector(): String? = null - - // =============================== Latest =============================== - - override fun latestUpdatesRequest(page: Int): Request { - return if (page > 1) { - val apiBody = FormBody.Builder().apply { - add("action", "z_do_ajax") - add("_action", "loadmore") - add("p", page.toString()) - }.build() - - POST(ajaxUrl, apiHeaders, apiBody) - } else { - GET(baseUrl, headers) - } - } - - override fun latestUpdatesSelector(): String = "div.row > div.col-sm-6" - - override fun latestUpdatesFromElement(element: Element): SManga = SManga.create().apply { - with(element.selectFirst("a:has(img)")!!) { - thumbnail_url = selectFirst("img")!!.attr("abs:src") - setUrlWithoutDomain(attr("abs:href")) - title = attr("title") - } - } - - override fun latestUpdatesNextPageSelector(): String = ".text-center > a:contains(Load More)" - - override fun latestUpdatesParse(response: Response): MangasPage { - if (response.request.method == "GET") { - return super.latestUpdatesParse(response) - } - - val data = response.parseAs() - val mangaList = Jsoup.parseBodyFragment(data.mes) - .select("div.col-sm-6") - .map(::latestUpdatesFromElement) - val hasNextPage = data.going == "yes" - - return MangasPage(mangaList, hasNextPage) - } - - // =============================== Search =============================== - - override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { - val url = baseUrl.toHttpUrl().newBuilder().apply { - val genreFilter = filters.filterIsInstance().first() - - if (query.isNotBlank()) { - addQueryParameter("s", query) - } else { - addPathSegment("genres") - addEncodedPathSegment(genreFilter.toUriPart()) - } - - addPathSegment("") - if (page > 1) { - addPathSegment("page") - addPathSegment(page.toString()) - addPathSegment("") - } - }.build() - - return GET(url, headers) - } - - override fun searchMangaSelector(): String = ".row > .col-6 > .entry-ma" - - override fun searchMangaFromElement(element: Element): SManga = - latestUpdatesFromElement(element) - - override fun searchMangaNextPageSelector(): String = ".pagination > span.current + a" - - // =============================== Filters ============================== - - override fun getFilterList(): FilterList = FilterList( - Filter.Header("Note: ignored when using text search"), - Filter.Separator(), - GenreFilter(), - ) - - open class UriPartFilter(displayName: String, val vals: Array>) : - Filter.Select(displayName, vals.map { it.first }.toTypedArray()) { - fun toUriPart() = vals[state].second - } - - class GenreFilter : UriPartFilter( - "Genre", - arrayOf( - Pair("Ecchi", "ecchi"), - Pair("SF.ファンタジー", "sf-%e3%83%95%e3%82%a1%e3%83%b3%e3%82%bf%e3%82%b8%e3%83%bc"), - Pair("お嬢様・令嬢", "%e3%81%8a%e5%ac%a2%e6%a7%98%e3%83%bb%e4%bb%a4%e5%ac%a2"), - Pair("アドベンチャ", "%e3%82%a2%e3%83%89%e3%83%99%e3%83%b3%e3%83%81%e3%83%a3"), - Pair("ゲーム", "%e3%82%b2%e3%83%bc%e3%83%a0"), - Pair("サブカル・個性派", "%e3%82%b5%e3%83%96%e3%82%ab%e3%83%ab%e3%83%bb%e5%80%8b%e6%80%a7%e6%b4%be"), - Pair("ショタコン", "%e3%82%b7%e3%83%a7%e3%82%bf%e3%82%b3%e3%83%b3"), - Pair("バスケットボール", "%e3%83%90%e3%82%b9%e3%82%b1%e3%83%83%e3%83%88%e3%83%9c%e3%83%bc%e3%83%ab"), - Pair("バトル", "%e3%83%90%e3%83%88%e3%83%ab"), - Pair("バレーボール", "%e3%83%90%e3%83%ac%e3%83%bc%e3%83%9c%e3%83%bc%e3%83%ab"), - Pair("ピューター", "%e3%83%94%e3%83%a5%e3%83%bc%e3%82%bf%e3%83%bc"), - Pair("ミステリー・サスペンス", "%e3%83%9f%e3%82%b9%e3%83%86%e3%83%aa%e3%83%bc%e3%83%bb%e3%82%b5%e3%82%b9%e3%83%9a%e3%83%b3%e3%82%b9"), - Pair("ラブラブ・あまあま", "%e3%83%a9%e3%83%96%e3%83%a9%e3%83%96%e3%83%bb%e3%81%82%e3%81%be%e3%81%82%e3%81%be"), - Pair("三角関係", "%e4%b8%89%e8%a7%92%e9%96%a2%e4%bf%82"), - Pair("会社", "%e4%bc%9a%e7%a4%be"), - Pair("俺様・S彼", "%e4%bf%ba%e6%a7%98%e3%83%bbs%e5%bd%bc"), - Pair("兄弟", "%e5%85%84%e5%bc%9f"), - Pair("制服", "%e5%88%b6%e6%9c%8d"), - Pair("前世", "%e5%89%8d%e4%b8%96"), - Pair("天使・悪魔", "%e5%a4%a9%e4%bd%bf%e3%83%bb%e6%82%aa%e9%ad%94"), - Pair("妊婦", "%e5%a6%8a%e5%a9%a6"), - Pair("宗教", "%e5%ae%97%e6%95%99"), - Pair("悪役令嬢", "%e6%82%aa%e5%bd%b9%e4%bb%a4%e5%ac%a2"), - Pair("擬人化", "%e6%93%ac%e4%ba%ba%e5%8c%96"), - Pair("短編", "%e7%9f%ad%e7%b7%a8"), - Pair("職業・ビジネス", "%e8%81%b7%e6%a5%ad%e3%83%bb%e3%83%93%e3%82%b8%e3%83%8d%e3%82%b9"), - Pair("致命的な", "%e8%87%b4%e5%91%bd%e7%9a%84%e3%81%aa"), - Pair("萌え", "%e8%90%8c%e3%81%88"), - Pair("超能力日常", "%e8%b6%85%e8%83%bd%e5%8a%9b%e6%97%a5%e5%b8%b8"), - Pair("電子特典付き", "%e9%9b%bb%e5%ad%90%e7%89%b9%e5%85%b8%e4%bb%98%e3%81%8d"), - ), - ) - - // =========================== Manga Details ============================ - - override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply { - thumbnail_url = document.selectFirst(".main-thumb > img[src]")!!.attr("abs:src") - - with(document.selectFirst("div.row[class~=mb] > .col")!!) { - title = selectFirst(".name")!!.text() - status = selectFirst("span").parseStatus() - } - - val id = document.selectFirst("a[data-t]")!!.attr("data-t") - val apiHeaders = apiHeadersBuilder().apply { - set("Referer", document.location()) - }.build() - - // Genres - val genresBody = FormBody.Builder().apply { - add("action", "z_do_ajax") - add("_action", "load_all_genres") - add("t", id) - }.build() - - val genreDto = client.newCall( - POST(ajaxUrl, apiHeaders, genresBody), - ).execute().parseAs() - genre = Jsoup.parseBodyFragment(genreDto.mes) - .select("a") - .joinToString { it.text() } - - // Desc - val descBody = FormBody.Builder().apply { - add("action", "z_do_ajax") - add("_action", "load_tag_desc") - add("t", id) - }.build() - description = client.newCall( - POST(ajaxUrl, apiHeaders, descBody), - ).execute().parseAs().mes - } - - private fun Element?.parseStatus(): Int = when (this?.text()?.lowercase()) { - "ongoing" -> SManga.ONGOING - "dropped" -> SManga.CANCELLED - "paused" -> SManga.ON_HIATUS - "completed" -> SManga.COMPLETED - else -> SManga.UNKNOWN - } - - // ============================== Chapters ============================== - - override fun chapterListSelector(): String = ".row > .col-sm-6 > .entry-chapter" - - override fun chapterFromElement(element: Element): SChapter = SChapter.create().apply { - date_upload = try { - element.selectFirst(".date")?.text()?.let { - dateFormat.parse(it)!!.time - } ?: 0L - } catch (_: ParseException) { - 0L - } - with(element.selectFirst("a")!!) { - name = text() - setUrlWithoutDomain(attr("abs:href")) - } - } - - // =============================== Pages ================================ - - override fun pageListParse(document: Document): List { - val script = document.selectFirst("script:containsData(decode_images)")?.data() - ?: throw Exception("Unable to find script") - val id = chapterRegex.find(script)?.groupValues?.get(1) - ?: throw Exception("Unable to get chapter id") - - var going = 1 - var imgIndex = 0 - val pageList = mutableListOf() - val apiHeaders = apiHeadersBuilder().apply { - set("Referer", document.location()) - }.build() - - while (going == 1) { - val pagesBody = FormBody.Builder().apply { - add("action", "z_do_ajax") - add("_action", "decode_images") - add("p", id) - add("img_index", imgIndex.toString()) - }.build() - - val data = client.newCall( - POST(ajaxUrl, apiHeaders, pagesBody), - ).execute().parseAs() - - imgIndex = data.imgIndex - going = if (data.mes.isNotBlank()) data.going else 0 - - Jsoup.parseBodyFragment(data.mes).select("img[src]").forEachIndexed { index, element -> - pageList.add(Page(imgIndex + index, imageUrl = element.attr("abs:src"))) - } - } - - return pageList - } - - override fun imageUrlParse(document: Document) = "" - - override fun imageRequest(page: Page): Request { - val imgHeaders = headersBuilder().apply { - add("Accept", "image/avif,image/webp,*/*") - add("Accept-Language", "en-US,en;q=0.5") - add("DNT", "1") - add("Host", page.imageUrl!!.substringAfter("://").substringBefore("/")) - add("Sec-Fetch-Dest", "image") - add("Sec-Fetch-Mode", "no-cors") - add("Sec-Fetch-Site", "cross-site") - }.build() - - return GET(page.imageUrl!!, imgHeaders) - } - - // ============================= Utilities ============================== - - private inline fun Response.parseAs(): T = use { - json.decodeFromStream(it.body.byteStream()) - } -}