add mangaforfree to madara (#7559)

* Update MangaLazy.kt

* Delete ic_launcher.png

* Delete ic_launcher.png

* Delete ic_launcher.png

* Delete ic_launcher.png

* Delete ic_launcher.png

* Delete web_hi_res_512.png

* change lq icon

* Create Mangaforfree.kt

* Add files via upload

* Update MadaraGenerator.kt

* Update MadaraGenerator.kt

* add Raw to genre

* Update Mangaforfree.kt

* Update and rename Mangaforfree.kt to MangaForFreeFactory.kt

* Update MadaraGenerator.kt

* Fixed Typo

Co-authored-by: Johannes Joens <34899572+jopejoe1@users.noreply.github.com>
This commit is contained in:
CVIUS 2021-06-09 20:52:16 +08:00 committed by GitHub
parent 49c930d622
commit 30188b01d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 92 additions and 2 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

View File

@ -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<Source> = 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"),
)
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View File

@ -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"),

View File

@ -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),