diff --git a/multisrc/overrides/madara/tudoquadrinhos/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/madara/tudoquadrinhos/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 000000000..8e167e74b Binary files /dev/null and b/multisrc/overrides/madara/tudoquadrinhos/res/mipmap-hdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/tudoquadrinhos/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/madara/tudoquadrinhos/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 000000000..e1e9fd347 Binary files /dev/null and b/multisrc/overrides/madara/tudoquadrinhos/res/mipmap-mdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/tudoquadrinhos/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/madara/tudoquadrinhos/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 000000000..75e15f740 Binary files /dev/null and b/multisrc/overrides/madara/tudoquadrinhos/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/tudoquadrinhos/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/madara/tudoquadrinhos/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..120c9864a Binary files /dev/null and b/multisrc/overrides/madara/tudoquadrinhos/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/tudoquadrinhos/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/madara/tudoquadrinhos/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 000000000..42e557dfa Binary files /dev/null and b/multisrc/overrides/madara/tudoquadrinhos/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/tudoquadrinhos/res/web_hi_res_512.png b/multisrc/overrides/madara/tudoquadrinhos/res/web_hi_res_512.png new file mode 100644 index 000000000..8318e2f8d Binary files /dev/null and b/multisrc/overrides/madara/tudoquadrinhos/res/web_hi_res_512.png differ diff --git a/multisrc/overrides/madara/tudoquadrinhos/src/TudoQuadrinhos.kt b/multisrc/overrides/madara/tudoquadrinhos/src/TudoQuadrinhos.kt new file mode 100644 index 000000000..46a1f0721 --- /dev/null +++ b/multisrc/overrides/madara/tudoquadrinhos/src/TudoQuadrinhos.kt @@ -0,0 +1,23 @@ +package eu.kanade.tachiyomi.extension.pt.tudoquadrinhos + +import eu.kanade.tachiyomi.multisrc.madara.Madara +import eu.kanade.tachiyomi.network.interceptor.rateLimit +import okhttp3.OkHttpClient +import java.text.SimpleDateFormat +import java.util.Locale +import java.util.concurrent.TimeUnit + +class TudoQuadrinhos : Madara( + "Tudo Quadrinhos", + "https://tudoquadrinhos.com.br", + "pt-BR", + SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")) +) { + + override val client: OkHttpClient = super.client.newBuilder() + .rateLimit(1, 2, TimeUnit.SECONDS) + .build() + + // The tags are just SEO keywords. + override val mangaDetailsSelectorTag: String = "" +} diff --git a/multisrc/overrides/madara/yanpfansub/src/YANPFansub.kt b/multisrc/overrides/madara/yanpfansub/src/YANPFansub.kt new file mode 100644 index 000000000..15ec2c11b --- /dev/null +++ b/multisrc/overrides/madara/yanpfansub/src/YANPFansub.kt @@ -0,0 +1,41 @@ +package eu.kanade.tachiyomi.extension.pt.yanpfansub + +import eu.kanade.tachiyomi.multisrc.madara.Madara +import eu.kanade.tachiyomi.network.interceptor.rateLimit +import okhttp3.Interceptor +import okhttp3.OkHttpClient +import okhttp3.Response +import java.io.IOException +import java.text.SimpleDateFormat +import java.util.Locale +import java.util.concurrent.TimeUnit + +class YANPFansub : Madara( + "YANP Fansub", + "https://melhorcasal.com", + "pt-BR", + SimpleDateFormat("MMMM dd, yyyy", Locale("pt", "BR")) +) { + + // Scanlator changed the theme from WpMangaReader to Madara. + override val versionId: Int = 2 + + override val client: OkHttpClient = network.cloudflareClient.newBuilder() + .rateLimit(1, 2, TimeUnit.SECONDS) + .addInterceptor(::checkPasswordProtectedIntercept) + .build() + + private fun checkPasswordProtectedIntercept(chain: Interceptor.Chain): Response { + val response = chain.proceed(chain.request()) + + if (response.request.url.queryParameter("password-protected") != null) { + response.close() + throw IOException("Autentique-se através da WebView e tente novamente.") + } + + return response + } + + // Page has custom link to scan website. + override val popularMangaUrlSelector = "div.post-title a:not([target])" +} diff --git a/multisrc/overrides/madara/yugenmangas/src/YugenMangasFactory.kt b/multisrc/overrides/madara/yugenmangas/src/YugenMangasFactory.kt index c37e04cdf..f5c1202de 100644 --- a/multisrc/overrides/madara/yugenmangas/src/YugenMangasFactory.kt +++ b/multisrc/overrides/madara/yugenmangas/src/YugenMangasFactory.kt @@ -79,6 +79,8 @@ class YugenMangasBr : YugenMangas( ?.text() checkedUa = true } + + uaResponse.close() } if (userAgent != null) { diff --git a/multisrc/overrides/wpmangareader/yanpfansub/src/YANPFansub.kt b/multisrc/overrides/wpmangareader/yanpfansub/src/YANPFansub.kt deleted file mode 100644 index 88a3ca9b4..000000000 --- a/multisrc/overrides/wpmangareader/yanpfansub/src/YANPFansub.kt +++ /dev/null @@ -1,22 +0,0 @@ -package eu.kanade.tachiyomi.extension.pt.yanpfansub - -import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader -import eu.kanade.tachiyomi.network.interceptor.rateLimit -import okhttp3.OkHttpClient -import java.text.SimpleDateFormat -import java.util.Locale -import java.util.concurrent.TimeUnit - -class YANPFansub : WPMangaReader( - "YANP Fansub", - "https://melhorcasal.com", - "pt-BR", - dateFormat = SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")) -) { - - override val client: OkHttpClient = network.cloudflareClient.newBuilder() - .rateLimit(1, 2, TimeUnit.SECONDS) - .build() - - override val altName = "Nome alternativo: " -} diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt index 6c24f1b34..0275fcb46 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt @@ -18,7 +18,7 @@ class MadaraGenerator : ThemeSourceGenerator { MultiLang("Manhwa18.cc", "https://manhwa18.cc", listOf("en", "ko", "all"), isNsfw = true, className = "Manhwa18CcFactory", pkgName = "manhwa18cc", overrideVersionCode = 2), MultiLang("Reaper Scans", "https://reaperscans.com", listOf("en", "pt-BR", "fr", "id", "tr"), className = "ReaperScansFactory", pkgName = "reaperscans", overrideVersionCode = 5), MultiLang("Seven King Scanlation", "https://sksubs.net", listOf("es", "en"), isNsfw = true), - MultiLang("YugenMangas", "https://yugenmangas.com", listOf("es", "pt-BR"), overrideVersionCode = 2), + MultiLang("YugenMangas", "https://yugenmangas.com", listOf("es", "pt-BR"), overrideVersionCode = 3), SingleLang("1st Kiss Manga.love", "https://1stkissmanga.love", "en", className = "FirstKissMangaLove", overrideVersionCode = 1), SingleLang("1st Kiss Manhua", "https://1stkissmanhua.com", "en", className = "FirstKissManhua", overrideVersionCode = 3), SingleLang("1st Kiss", "https://1stkissmanga.io", "en", className = "FirstKissManga", pkgName = "firstkissmanga", overrideVersionCode = 7), @@ -431,6 +431,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("TreeManga", "https://treemanga.com", "en", overrideVersionCode = 1), SingleLang("TritiniaScans", "https://tritinia.com", "en", overrideVersionCode = 1), SingleLang("TuManga.net", "https://tumanga.net", "es", className = "TuMangaNet"), + SingleLang("Tudo Quadrinhos", "https://tudoquadrinhos.com.br", "pt-BR"), SingleLang("Tumangaonline.site", "https://tumangaonline.site", "es", isNsfw = true, className = "TumangaonlineSite", pkgName = "tumangaonlinesite"), SingleLang("Twilight Scans", "https://twilightscans.com", "en", overrideVersionCode = 1), SingleLang("Türkçe Manga", "https://turkcemanga.com", "tr", className = "TurkceManga", overrideVersionCode = 2), @@ -461,6 +462,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("WuxiaWorld", "https://wuxiaworld.site", "en", overrideVersionCode = 1), SingleLang("XManga", "https://xmanga.io", "en", isNsfw = true), SingleLang("XuN Scans", "https://xunscans.xyz", "en", overrideVersionCode = 3), + SingleLang("YANP Fansub", "https://melhorcasal.com", "pt-BR", isNsfw = true), SingleLang("Yaoi Hentai", "https://yaoihentai.me", "en", isNsfw = true), SingleLang("Yaoi Toshokan", "https://yaoitoshokan.net", "pt-BR", isNsfw = true, overrideVersionCode = 4), SingleLang("Yaoi.mobi", "https://yaoi.mobi", "en", isNsfw = true, className = "YaoiManga", pkgName = "yaoimanga", overrideVersionCode = 4), diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangareader/WPMangaReaderGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangareader/WPMangaReaderGenerator.kt index 77dd47c8b..9aaf24337 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangareader/WPMangaReaderGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/wpmangareader/WPMangaReaderGenerator.kt @@ -52,7 +52,6 @@ class WPMangaReaderGenerator : ThemeSourceGenerator { SingleLang("Tsundoku Traduções", "https://tsundoku.com.br", "pt-BR", className = "TsundokuTraducoes", overrideVersionCode = 9), SingleLang("TurkToon", "https://turktoon.com", "tr"), SingleLang("World Romance Translation", "https://wrt.my.id", "id", overrideVersionCode = 7), - SingleLang("YANP Fansub", "https://melhorcasal.com", "pt-BR", isNsfw = true, overrideVersionCode = 1), SingleLang("ARESManga", "https://aresmanga.com", "ar", pkgName = "iimanga", overrideVersionCode = 2), )