diff --git a/multisrc/overrides/madara/mangaforfree/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/madara/mangaforfree/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 000000000..b0cc6bda1 Binary files /dev/null and b/multisrc/overrides/madara/mangaforfree/res/mipmap-hdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/mangaforfree/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/madara/mangaforfree/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 000000000..c60fa3278 Binary files /dev/null and b/multisrc/overrides/madara/mangaforfree/res/mipmap-mdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/mangaforfree/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/madara/mangaforfree/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 000000000..e3da1963b Binary files /dev/null and b/multisrc/overrides/madara/mangaforfree/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/mangaforfree/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/madara/mangaforfree/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..83b3e63db Binary files /dev/null and b/multisrc/overrides/madara/mangaforfree/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/mangaforfree/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/madara/mangaforfree/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 000000000..ffd81151e Binary files /dev/null and b/multisrc/overrides/madara/mangaforfree/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/mangaforfree/res/web_hi_res_512.png b/multisrc/overrides/madara/mangaforfree/res/web_hi_res_512.png new file mode 100644 index 000000000..4a3ce3884 Binary files /dev/null and b/multisrc/overrides/madara/mangaforfree/res/web_hi_res_512.png differ diff --git a/multisrc/overrides/madara/mangaforfree/src/MangaForFreeFactory.kt b/multisrc/overrides/madara/mangaforfree/src/MangaForFreeFactory.kt new file mode 100644 index 000000000..7cd0b6591 --- /dev/null +++ b/multisrc/overrides/madara/mangaforfree/src/MangaForFreeFactory.kt @@ -0,0 +1,89 @@ +package eu.kanade.tachiyomi.extension.all.mangaforfree + +import eu.kanade.tachiyomi.multisrc.madara.Madara +import eu.kanade.tachiyomi.source.Source +import eu.kanade.tachiyomi.source.SourceFactory +import java.util.concurrent.TimeUnit +import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor +import okhttp3.OkHttpClient +import eu.kanade.tachiyomi.annotations.Nsfw + +class MangaForFreeFactory : SourceFactory { + override fun createSources(): List = listOf( + MangaForFreeEN(), + MangaForFreeKO(), + MangaForFreeALL(), + ) +} +class MangaForFreeEN : MangaForFree("MangaForFree.net", "https://mangaforfree.net", "en") { + override fun chapterListSelector() = "li.wp-manga-chapter:not(:contains(Raw))" +} +class MangaForFreeKO : MangaForFree("MangaForFree.net", "https://mangaforfree.net", "ko") { + override fun chapterListSelector() = "li.wp-manga-chapter:contains(Raw)" +} +class MangaForFreeALL : MangaForFree("MangaForFree.net", "https://mangaforfree.net", "all") + +@Nsfw +abstract class MangaForFree( + override val name: String, + 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) + .build() + + override fun getGenreList() = listOf( + Genre("Action", "action"), + Genre("Adult", "adult"), + Genre("Adventure", "adventure"), + Genre("Anime", "anime"), + Genre("Cartoon", "cartoon"), + Genre("Comedy", "comedy"), + Genre("Comic", "comic"), + Genre("Completed", "completed"), + Genre("Cooking", "cooking"), + Genre("Detective", "detective"), + Genre("Doujinshi", "doujinshi"), + Genre("Drama", "drama"), + Genre("Ecchi", "ecchi"), + Genre("Fanstasy", "fantasy"), + Genre("Gender bender", "gender-bender"), + Genre("Harem", "harem"), + Genre("Historical", "historical"), + Genre("Horror", "horror"), + Genre("Josei", "josei"), + Genre("Live action", "live-action"), + Genre("Manga", "manga"), + Genre("Manhua", "manhua"), + Genre("Manhwa", "manhwa"), + Genre("Martial arts", "martial-arts"), + Genre("Mature", "mature"), + Genre("Mecha", "mecha"), + Genre("Mystery", "mystery"), + Genre("One shot", "one-shot"), + Genre("Psychological", "psychological"), + Genre("Romance", "romance"), + Genre("School Life", "school-life"), + Genre("Sci-fi", "sci-fi"), + Genre("Seinen", "seinen"), + Genre("Shoujo", "shoujo"), + Genre("Shoujo ai", "shoujo-ai"), + Genre("Shounen", "shounen"), + Genre("Shounen ai", "shounen-ai"), + Genre("Slice of Life", "slice-of-life"), + Genre("Smut", "smut"), + Genre("Soft Yaoi", "soft-yaoi"), + Genre("Soft Yuri", "soft-yuri"), + Genre("Sports", "sports"), + Genre("Supernatural", "supernatural"), + Genre("Tragedy", "tragedy"), + Genre("Webtoon", "webtoon"), + Genre("Yaoi", "yaoi"), + Genre("Yuri", "yuri"), + ) +} diff --git a/multisrc/overrides/madara/mangalazy/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/madara/mangalazy/res/mipmap-hdpi/ic_launcher.png index 7d1cfcfc3..af1c9ba84 100644 Binary files a/multisrc/overrides/madara/mangalazy/res/mipmap-hdpi/ic_launcher.png and b/multisrc/overrides/madara/mangalazy/res/mipmap-hdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/mangalazy/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/madara/mangalazy/res/mipmap-mdpi/ic_launcher.png index 7ba5aad2c..c117adacb 100644 Binary files a/multisrc/overrides/madara/mangalazy/res/mipmap-mdpi/ic_launcher.png and b/multisrc/overrides/madara/mangalazy/res/mipmap-mdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/mangalazy/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/madara/mangalazy/res/mipmap-xhdpi/ic_launcher.png index d32697948..059887044 100644 Binary files a/multisrc/overrides/madara/mangalazy/res/mipmap-xhdpi/ic_launcher.png and b/multisrc/overrides/madara/mangalazy/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/mangalazy/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/madara/mangalazy/res/mipmap-xxhdpi/ic_launcher.png index dde70ee6a..2d6b09634 100644 Binary files a/multisrc/overrides/madara/mangalazy/res/mipmap-xxhdpi/ic_launcher.png and b/multisrc/overrides/madara/mangalazy/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/mangalazy/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/madara/mangalazy/res/mipmap-xxxhdpi/ic_launcher.png index af828876f..8767a8589 100644 Binary files a/multisrc/overrides/madara/mangalazy/res/mipmap-xxxhdpi/ic_launcher.png and b/multisrc/overrides/madara/mangalazy/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/madara/mangalazy/res/web_hi_res_512.png b/multisrc/overrides/madara/mangalazy/res/web_hi_res_512.png index a9ec26505..bc47d5650 100644 Binary files a/multisrc/overrides/madara/mangalazy/res/web_hi_res_512.png and b/multisrc/overrides/madara/mangalazy/res/web_hi_res_512.png differ diff --git a/multisrc/overrides/madara/mangalazy/src/MangaLazy.kt b/multisrc/overrides/madara/mangalazy/src/MangaLazy.kt index 81130ee65..fcea0f42b 100644 --- a/multisrc/overrides/madara/mangalazy/src/MangaLazy.kt +++ b/multisrc/overrides/madara/mangalazy/src/MangaLazy.kt @@ -16,7 +16,7 @@ class MangaLazy : Madara("MangaLazy", "https://mangalazy.com", "en") { .addNetworkInterceptor(rateLimitInterceptor) .build() - override val pageListParseSelector = ".reading-content div.text-left div.imgs.loaded-inner :has(>img)" + override val pageListParseSelector = "img" override fun getGenreList() = listOf( Genre("Action", "action"), 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 40989faff..924de6071 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 @@ -108,6 +108,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("MangaDods", "https://www.mangadods.com", "en", overrideVersionCode = 2), SingleLang("Manga Drop Out", "https://www.mangadropout.xyz", "id", isNsfw = true, overrideVersionCode = 1), SingleLang("MangaEffect", "https://mangaeffect.com", "en", overrideVersionCode = 1), + MultiLang("MangaForFree.net", "https://mangaforfree.net", listOf("en", "ko", "all") , isNsfw = true, className = "MangaForFreeFactory", pkgName = "mangaforfree"), SingleLang("MangaGreat", "https://mangagreat.com", "en", overrideVersionCode = 1), SingleLang("Manga Hentai", "https://mangahentai.me", "en", isNsfw = true, overrideVersionCode = 1), SingleLang("Mangakik", "https://mangakik.com", "en"), @@ -116,7 +117,7 @@ class MadaraGenerator : ThemeSourceGenerator { SingleLang("MangaKomi", "https://mangakomi.com", "en", overrideVersionCode = 2), SingleLang("Manga Land Arabic", "https://mangalandarabic.com", "ar"), SingleLang("مانجا ليك", "https://mangalek.com", "ar", className = "Mangalek"), - SingleLang("MangaLazy", "https://mangalazy.com", "en", isNsfw = true, overrideVersionCode = 3), + SingleLang("MangaLazy", "https://mangalazy.com", "en", isNsfw = true, overrideVersionCode = 4), SingleLang("MangaLionz", "https://mangalionz.com", "ar"), SingleLang("مانجا لينك", "https://mangalink.io", "ar", className = "MangaLinkio", overrideVersionCode = 1), SingleLang("Manga Lord", "https://mangalord.com", "en", overrideVersionCode = 1),