madara: remove some sources rate limiter dependencies (#7793)
* Delete additional.gradle.kts * Update FreeManga.kt * Update Hentai20.kt * Update Hentaidexy.kt * Delete additional.gradle.kts * Update MangaClash.kt * Update MangaForFreeFactory.kt * Update MangaKitsune.kt * Delete additional.gradle.kts * Update MangaKomi.kt * Update MangaPL.kt * Delete additional.gradle.kts * Update MangaTuli.kt * Update ManhuaPro.kt * Delete multisrc/overrides/madara/manwahentaime/res directory * Add files via upload * Update MadaraGenerator.kt * Delete additional.gradle.kts * Update YaoiManga.kt * bump versions * Update MangaOwl.kt * Update MangaOwl.kt * Update MangaOwl.kt * Update MangaOwl.kt * bump
|
@ -1,4 +0,0 @@
|
|||
|
||||
dependencies {
|
||||
implementation project(':lib-ratelimit')
|
||||
}
|
|
@ -8,12 +8,9 @@ import java.util.concurrent.TimeUnit
|
|||
|
||||
@Nsfw
|
||||
class FreeManga : Madara("Free Manga", "https://freemanga.me", "en") {
|
||||
private val rateLimitInterceptor = RateLimitInterceptor(1)
|
||||
|
||||
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
||||
.connectTimeout(10, TimeUnit.SECONDS)
|
||||
.readTimeout(30, TimeUnit.SECONDS)
|
||||
.addNetworkInterceptor(rateLimitInterceptor)
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
|
||||
.build()
|
||||
|
||||
override fun getGenreList() = listOf(
|
||||
|
|
|
@ -8,12 +8,9 @@ import java.util.concurrent.TimeUnit
|
|||
|
||||
@Nsfw
|
||||
class Hentai20 : Madara("Hentai20", "https://hentai20.com", "en") {
|
||||
private val rateLimitInterceptor = RateLimitInterceptor(1)
|
||||
|
||||
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
||||
.connectTimeout(10, TimeUnit.SECONDS)
|
||||
.readTimeout(30, TimeUnit.SECONDS)
|
||||
.addNetworkInterceptor(rateLimitInterceptor)
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
|
||||
.build()
|
||||
|
||||
override fun getGenreList() = listOf(
|
||||
|
|
|
@ -8,12 +8,9 @@ import java.util.concurrent.TimeUnit
|
|||
|
||||
@Nsfw
|
||||
class Hentaidexy : Madara("Hentaidexy", "https://hentaidexy.com", "en") {
|
||||
private val rateLimitInterceptor = RateLimitInterceptor(1)
|
||||
|
||||
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
||||
.connectTimeout(10, TimeUnit.SECONDS)
|
||||
.readTimeout(30, TimeUnit.SECONDS)
|
||||
.addNetworkInterceptor(rateLimitInterceptor)
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
|
||||
.build()
|
||||
|
||||
override fun getGenreList() = listOf(
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
|
||||
dependencies {
|
||||
implementation project(':lib-ratelimit')
|
||||
}
|
|
@ -13,11 +13,8 @@ class MangaClash : Madara(
|
|||
"en",
|
||||
dateFormat = SimpleDateFormat("MM/dd/yy", Locale.US)
|
||||
) {
|
||||
private val rateLimitInterceptor = RateLimitInterceptor(1)
|
||||
|
||||
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
||||
.connectTimeout(10, TimeUnit.SECONDS)
|
||||
.readTimeout(30, TimeUnit.SECONDS)
|
||||
.addNetworkInterceptor(rateLimitInterceptor)
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
|
||||
.build()
|
||||
}
|
||||
|
|
|
@ -29,12 +29,9 @@ abstract class MangaForFree(
|
|||
override val baseUrl: String,
|
||||
override val lang: String
|
||||
) : Madara(name, baseUrl, lang) {
|
||||
private val rateLimitInterceptor = RateLimitInterceptor(1)
|
||||
|
||||
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
||||
.connectTimeout(10, TimeUnit.SECONDS)
|
||||
.readTimeout(30, TimeUnit.SECONDS)
|
||||
.addNetworkInterceptor(rateLimitInterceptor)
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
|
||||
.build()
|
||||
|
||||
override fun getGenreList() = listOf(
|
||||
|
|
|
@ -10,12 +10,9 @@ import java.util.concurrent.TimeUnit
|
|||
|
||||
@Nsfw
|
||||
class MangaKitsune : Madara("MangaKitsune", "https://mangakitsune.com", "en", dateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US)) {
|
||||
private val rateLimitInterceptor = RateLimitInterceptor(1)
|
||||
|
||||
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
||||
.connectTimeout(10, TimeUnit.SECONDS)
|
||||
.readTimeout(30, TimeUnit.SECONDS)
|
||||
.addNetworkInterceptor(rateLimitInterceptor)
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
|
||||
.build()
|
||||
|
||||
override val pageListParseSelector = ".reading-content div.text-left :has(>img)"
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
|
||||
dependencies {
|
||||
implementation project(':lib-ratelimit')
|
||||
}
|
|
@ -12,11 +12,8 @@ class MangaKomi : Madara(
|
|||
"https://mangakomi.com",
|
||||
"en"
|
||||
) {
|
||||
private val rateLimitInterceptor = RateLimitInterceptor(1)
|
||||
|
||||
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
||||
.connectTimeout(10, TimeUnit.SECONDS)
|
||||
.readTimeout(30, TimeUnit.SECONDS)
|
||||
.addNetworkInterceptor(rateLimitInterceptor)
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
|
||||
.build()
|
||||
}
|
||||
|
|
|
@ -8,12 +8,9 @@ import java.util.concurrent.TimeUnit
|
|||
|
||||
@Nsfw
|
||||
class MangaPL : Madara("MangaPL", "https://mangapl.com", "en") {
|
||||
private val rateLimitInterceptor = RateLimitInterceptor(1)
|
||||
|
||||
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
||||
.connectTimeout(10, TimeUnit.SECONDS)
|
||||
.readTimeout(30, TimeUnit.SECONDS)
|
||||
.addNetworkInterceptor(rateLimitInterceptor)
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
|
||||
.build()
|
||||
|
||||
override fun getGenreList() = listOf(
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
|
||||
dependencies {
|
||||
implementation project(':lib-ratelimit')
|
||||
}
|
|
@ -8,12 +8,9 @@ import java.util.concurrent.TimeUnit
|
|||
|
||||
@Nsfw
|
||||
class MangaTuli : Madara("MangaTuli", "https://mangatuli.com", "en") {
|
||||
private val rateLimitInterceptor = RateLimitInterceptor(1)
|
||||
|
||||
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
||||
.connectTimeout(10, TimeUnit.SECONDS)
|
||||
.readTimeout(30, TimeUnit.SECONDS)
|
||||
.addNetworkInterceptor(rateLimitInterceptor)
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
|
||||
.build()
|
||||
|
||||
override fun getGenreList() = listOf(
|
||||
|
|
|
@ -12,11 +12,8 @@ class ManhuaPro : Madara(
|
|||
"https://manhuapro.com",
|
||||
"en"
|
||||
) {
|
||||
private val rateLimitInterceptor = RateLimitInterceptor(1)
|
||||
|
||||
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
||||
.connectTimeout(10, TimeUnit.SECONDS)
|
||||
.readTimeout(30, TimeUnit.SECONDS)
|
||||
.addNetworkInterceptor(rateLimitInterceptor)
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
|
||||
.build()
|
||||
}
|
||||
|
|
After Width: | Height: | Size: 5.4 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 137 KiB |
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 105 KiB |
|
@ -1,4 +0,0 @@
|
|||
|
||||
dependencies {
|
||||
implementation project(':lib-ratelimit')
|
||||
}
|
|
@ -8,12 +8,9 @@ import java.util.concurrent.TimeUnit
|
|||
|
||||
@Nsfw
|
||||
class YaoiManga : Madara("Yaoi.mobi", "https://yaoi.mobi", "en") {
|
||||
private val rateLimitInterceptor = RateLimitInterceptor(1)
|
||||
|
||||
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
||||
.connectTimeout(10, TimeUnit.SECONDS)
|
||||
.readTimeout(30, TimeUnit.SECONDS)
|
||||
.addNetworkInterceptor(rateLimitInterceptor)
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 1, TimeUnit.SECONDS))
|
||||
.build()
|
||||
|
||||
override fun getGenreList() = listOf(
|
||||
|
|
|
@ -14,7 +14,7 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
|
||||
override val sources = listOf(
|
||||
MultiLang("Leviatan Scans", "https://leviatanscans.com", listOf("en", "es"), className = "LeviatanScansFactory", overrideVersionCode = 4),
|
||||
MultiLang("MangaForFree.net", "https://mangaforfree.net", listOf("en", "ko", "all") , isNsfw = true, className = "MangaForFreeFactory", pkgName = "mangaforfree"),
|
||||
MultiLang("MangaForFree.net", "https://mangaforfree.net", listOf("en", "ko", "all") , isNsfw = true, className = "MangaForFreeFactory", pkgName = "mangaforfree", overrideVersionCode = 1),
|
||||
MultiLang("Manhwa18.cc", "https://manhwa18.cc", listOf("en", "ko", "all"), isNsfw = true, className = "Manhwa18CcFactory", pkgName = "manhwa18cc"),
|
||||
SingleLang("1st Kiss Manga.love", "https://1stkissmanga.love", "en", className = "FirstKissMangaLove"),
|
||||
SingleLang("1st Kiss Manhua", "https://1stkissmanhua.com", "en", className = "FirstKissManhua", overrideVersionCode = 2),
|
||||
|
@ -68,7 +68,7 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("Drope Scan", "https://dropescan.com", "pt-BR", overrideVersionCode = 2),
|
||||
SingleLang("Esomanga", "http://esomanga.com", "tr"),
|
||||
SingleLang("FDM Scan", "https://fdmscan.com", "pt-BR", overrideVersionCode = 2),
|
||||
SingleLang("Free Manga", "https://freemanga.me", "en", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("Free Manga", "https://freemanga.me", "en", isNsfw = true, overrideVersionCode = 2),
|
||||
SingleLang("FreeWebtoonCoins", "https://freewebtooncoins.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("Fudido Scanlator", "https://fudidoscan.com", "pt-BR", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("Fukushuu no Yuusha", "https://fny-scantrad.com", "fr", overrideVersionCode = 1),
|
||||
|
@ -82,8 +82,8 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("Hades no Fansub", "https://mangareaderpro.com/es", "es"),
|
||||
SingleLang("Hades no Fansub Hentai", "https://h.mangareaderpro.com", "es", isNsfw = true),
|
||||
SingleLang("Hayalistic", "https://hayalistic.com", "tr"),
|
||||
SingleLang("Hentai20", "https://hentai20.com", "en", isNsfw = true),
|
||||
SingleLang("Hentaidexy", "https://hentaidexy.com", "en", isNsfw = true),
|
||||
SingleLang("Hentai20", "https://hentai20.com", "en", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("Hentaidexy", "https://hentaidexy.com", "en", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("Hero Manhua", "https://heromanhua.com", "en"),
|
||||
SingleLang("Heroz Scanlation", "https://herozscans.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("Himera Fansub", "https://himera-fansub.com", "tr"),
|
||||
|
@ -115,7 +115,7 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("Manga Action", "https://manga-action.com", "ar", overrideVersionCode = 1),
|
||||
SingleLang("Manga Bin", "https://mangabin.com/", "en", overrideVersionCode = 1),
|
||||
SingleLang("Manga Chill", "https://mangachill.com/", "en", overrideVersionCode = 1),
|
||||
SingleLang("Manga Clash", "https://mangaclash.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("Manga Clash", "https://mangaclash.com", "en", overrideVersionCode = 2),
|
||||
SingleLang("Manga Crab", "https://mangacrab.com", "es"),
|
||||
SingleLang("Manga Diyari", "https://manga-diyari.com", "tr", overrideVersionCode = 1),
|
||||
SingleLang("Manga Drop Out", "https://www.mangadropout.xyz", "id", isNsfw = true, overrideVersionCode = 1),
|
||||
|
@ -148,10 +148,10 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("MangaDods", "https://www.mangadods.com", "en", overrideVersionCode = 2),
|
||||
SingleLang("MangaEffect", "https://mangaeffect.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("MangaGreat", "https://mangagreat.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("MangaKitsune", "https://mangakitsune.com", "en", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("MangaKomi", "https://mangakomi.com", "en", overrideVersionCode = 2),
|
||||
SingleLang("MangaKitsune", "https://mangakitsune.com", "en", isNsfw = true, overrideVersionCode = 2),
|
||||
SingleLang("MangaKomi", "https://mangakomi.com", "en", overrideVersionCode = 3),
|
||||
SingleLang("MangaLionz", "https://mangalionz.com", "ar"),
|
||||
SingleLang("MangaPL", "https://mangapl.com", "en", isNsfw = true),
|
||||
SingleLang("MangaPL", "https://mangapl.com", "en", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("MangaRave", "https://www.mangarave.com", "en", overrideVersionCode = 2),
|
||||
SingleLang("MangaRead.org", "https://www.mangaread.org", "en", className = "MangaReadOrg", overrideVersionCode = 1),
|
||||
SingleLang("MangaSco", "https://mangasco.com", "en", overrideVersionCode = 1),
|
||||
|
@ -160,7 +160,7 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("MangaTK", "https://mangatk.com", "en"),
|
||||
SingleLang("MangaTX", "https://mangatx.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("MangaTeca", "https://www.mangateca.com", "pt-BR", overrideVersionCode = 2),
|
||||
SingleLang("MangaTuli", "https://mangatuli.com", "en", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("MangaTuli", "https://mangatuli.com", "en", isNsfw = true, overrideVersionCode = 2),
|
||||
SingleLang("MangaUS", "https://mangaus.xyz", "en", overrideVersionCode = 2),
|
||||
SingleLang("MangaWT", "https://mangawt.com", "tr"),
|
||||
SingleLang("MangaYaku", "https://mangayaku.com", "id", overrideVersionCode = 1),
|
||||
|
@ -177,7 +177,7 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("Manhua SY", "https://www.manhuasy.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("ManhuaBox", "https://manhuabox.net", "en", overrideVersionCode = 1),
|
||||
SingleLang("ManhuaFast", "https://manhuafast.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("ManhuaPro", "https://manhuapro.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("ManhuaPro", "https://manhuapro.com", "en", overrideVersionCode = 2),
|
||||
SingleLang("ManhuaUS", "https://manhuaus.com", "en", overrideVersionCode = 2),
|
||||
SingleLang("Manhuaga", "https://manhuaga.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("Manhualo", "https://manhualo.com", "en", overrideVersionCode = 1),
|
||||
|
@ -187,9 +187,9 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("Manhwa18.org", "https://manhwa18.org", "en", isNsfw = true, className = "Manhwa18Org", overrideVersionCode = 1),
|
||||
SingleLang("ManhwaNelo", "https://manhwanelo.com", "en"),
|
||||
SingleLang("Manhwatop", "https://manhwatop.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("Manwahentai.me", "https://manhwahentai.me", "en", className = "ManwahentaiMe", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("Manhwahentai.me", "https://manhwahentai.me", "en", className = "ManhwahentaiMe", isNsfw = true),
|
||||
SingleLang("ManyToon", "https://manytoon.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("ManyToon.me", "https://manytoon.me", "en", className = "ManyToonMe", overrideVersionCode = 1),
|
||||
SingleLang("ManyToon.me", "https://manytoon.me", "en", isNsfw = true, className = "ManyToonMe", overrideVersionCode = 1),
|
||||
SingleLang("ManyToonClub", "https://manytoon.club", "ko"),
|
||||
SingleLang("ManyComic", "https://manycomic.com", "en", isNsfw = true),
|
||||
SingleLang("Mark Scans", "https://markscans.online", "pt-BR", overrideVersionCode = 2),
|
||||
|
@ -280,7 +280,7 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("WuxiaWorld", "https://wuxiaworld.site", "en", overrideVersionCode = 1),
|
||||
SingleLang("XuN Scans", "https://reader.xunscans.xyz", "en", overrideVersionCode = 1),
|
||||
SingleLang("Yaoi Fan Clube", "https://yaoifanclube.com.br", "pt-BR", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("Yaoi.mobi", "https://yaoi.mobi", "en", isNsfw = true, className = "YaoiManga", pkgName = "yaoimanga", overrideVersionCode = 2),
|
||||
SingleLang("Yaoi.mobi", "https://yaoi.mobi", "en", isNsfw = true, className = "YaoiManga", pkgName = "yaoimanga", overrideVersionCode = 3),
|
||||
SingleLang("Yaoi Toshokan", "https://yaoitoshokan.net", "pt-BR", isNsfw = true, overrideVersionCode = 2),
|
||||
SingleLang("Yuri Verso", "https://yuri.live", "pt-BR", overrideVersionCode = 2),
|
||||
SingleLang("Zin Translator", "https://zinmanga.com", "en", overrideVersionCode = 1),
|
||||
|
|
|
@ -5,7 +5,7 @@ ext {
|
|||
extName = 'MangaOwl'
|
||||
pkgNameSuffix = 'en.mangaowl'
|
||||
extClass = '.MangaOwl'
|
||||
extVersionCode = 11
|
||||
extVersionCode = 12
|
||||
libVersion = '1.2'
|
||||
}
|
||||
|
||||
|
|
|
@ -86,7 +86,7 @@ class MangaOwl : ParsedHttpSource() {
|
|||
author = infoElement.select("p.fexi_header_para a.author_link").text()
|
||||
artist = author
|
||||
status = parseStatus(infoElement.select("p.fexi_header_para:contains(status)").first().ownText())
|
||||
genre = infoElement.select(".single_detail:not(owls-tag) a.label").mapNotNull{ it.text() }.joinToString(", ")
|
||||
genre = infoElement.select(".owl-tags:not(a.label-owl-tag) a.label").mapNotNull{ it.text() }.joinToString(", ")
|
||||
description = infoElement.select(".description").first().ownText()
|
||||
thumbnail_url = infoElement.select("img").first()?.let { img ->
|
||||
if (img.hasAttr("data-src")) img.attr("abs:data-src") else img.attr("abs:src")
|
||||
|
|