Update linter (#15317)
This commit is contained in:
parent
1397c5b1b4
commit
baaee5cf21
|
@ -8,5 +8,7 @@ indent_size = 4
|
||||||
indent_style = space
|
indent_style = space
|
||||||
insert_final_newline = true
|
insert_final_newline = true
|
||||||
trim_trailing_whitespace = true
|
trim_trailing_whitespace = true
|
||||||
|
ij_kotlin_allow_trailing_comma = true
|
||||||
|
ij_kotlin_allow_trailing_comma_on_call_site = true
|
||||||
ij_kotlin_name_count_to_use_star_import = 2147483647
|
ij_kotlin_name_count_to_use_star_import = 2147483647
|
||||||
ij_kotlin_name_count_to_use_star_import_for_members = 2147483647
|
ij_kotlin_name_count_to_use_star_import_for_members = 2147483647
|
||||||
|
|
|
@ -80,6 +80,14 @@ android {
|
||||||
jvmTarget = JavaVersion.VERSION_1_8.toString()
|
jvmTarget = JavaVersion.VERSION_1_8.toString()
|
||||||
freeCompilerArgs += "-Xopt-in=kotlinx.serialization.ExperimentalSerializationApi"
|
freeCompilerArgs += "-Xopt-in=kotlinx.serialization.ExperimentalSerializationApi"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
kotlinter {
|
||||||
|
experimentalRules = true
|
||||||
|
disabledRules = [
|
||||||
|
"experimental:argument-list-wrapping", // Doesn't play well with Android Studio
|
||||||
|
"experimental:comment-wrapping",
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
|
|
|
@ -7,7 +7,7 @@ serialization_version = "1.4.0"
|
||||||
gradle-agp = { module = "com.android.tools.build:gradle", version = "7.4.1" }
|
gradle-agp = { module = "com.android.tools.build:gradle", version = "7.4.1" }
|
||||||
gradle-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin_version" }
|
gradle-kotlin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin_version" }
|
||||||
gradle-serialization = { module = "org.jetbrains.kotlin:kotlin-serialization", version.ref = "kotlin_version" }
|
gradle-serialization = { module = "org.jetbrains.kotlin:kotlin-serialization", version.ref = "kotlin_version" }
|
||||||
gradle-kotlinter = { module = "org.jmailen.gradle:kotlinter-gradle", version = "3.6.0" }
|
gradle-kotlinter = { module = "org.jmailen.gradle:kotlinter-gradle", version = "3.13.0" }
|
||||||
|
|
||||||
tachiyomi-lib = { module = "com.github.tachiyomiorg:extensions-lib", version = "1.4.0" }
|
tachiyomi-lib = { module = "com.github.tachiyomiorg:extensions-lib", version = "1.4.0" }
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ import eu.kanade.tachiyomi.multisrc.bakamanga.BakaManga
|
||||||
class ManhuaMangaNet : BakaManga(
|
class ManhuaMangaNet : BakaManga(
|
||||||
"ManhuaManga.net",
|
"ManhuaManga.net",
|
||||||
"https://manhuamanga.net",
|
"https://manhuamanga.net",
|
||||||
"en"
|
"en",
|
||||||
) {
|
) {
|
||||||
override fun getGenreList() = arrayOf(
|
override fun getGenreList() = arrayOf(
|
||||||
Pair("All", ""),
|
Pair("All", ""),
|
||||||
|
|
|
@ -5,7 +5,7 @@ import eu.kanade.tachiyomi.multisrc.bakamanga.BakaManga
|
||||||
class ManhwaMangaNet : BakaManga(
|
class ManhwaMangaNet : BakaManga(
|
||||||
"ManhwaManga.net",
|
"ManhwaManga.net",
|
||||||
"https://manhwamanga.net",
|
"https://manhwamanga.net",
|
||||||
"en"
|
"en",
|
||||||
) {
|
) {
|
||||||
override fun getGenreList() = arrayOf(
|
override fun getGenreList() = arrayOf(
|
||||||
Pair("All", ""),
|
Pair("All", ""),
|
||||||
|
|
|
@ -5,7 +5,7 @@ import eu.kanade.tachiyomi.multisrc.bakamanga.BakaManga
|
||||||
class ManhwaXXL : BakaManga(
|
class ManhwaXXL : BakaManga(
|
||||||
"Manhwa XXL",
|
"Manhwa XXL",
|
||||||
"https://manhwaxxl.com",
|
"https://manhwaxxl.com",
|
||||||
"en"
|
"en",
|
||||||
) {
|
) {
|
||||||
override fun getGenreList() = arrayOf(
|
override fun getGenreList() = arrayOf(
|
||||||
Pair("All", ""),
|
Pair("All", ""),
|
||||||
|
|
|
@ -5,7 +5,7 @@ import eu.kanade.tachiyomi.multisrc.bakamanga.BakaManga
|
||||||
class MWManhwa : BakaManga(
|
class MWManhwa : BakaManga(
|
||||||
"MWManhwa",
|
"MWManhwa",
|
||||||
"https://mwmanhwa.net",
|
"https://mwmanhwa.net",
|
||||||
"all"
|
"all",
|
||||||
) {
|
) {
|
||||||
override fun getGenreList() = arrayOf(
|
override fun getGenreList() = arrayOf(
|
||||||
Pair("All", ""),
|
Pair("All", ""),
|
||||||
|
|
|
@ -46,7 +46,7 @@ class BilibiliComicsFactory : SourceFactory {
|
||||||
abstract class BilibiliComics(lang: String) : Bilibili(
|
abstract class BilibiliComics(lang: String) : Bilibili(
|
||||||
"BILIBILI COMICS",
|
"BILIBILI COMICS",
|
||||||
"https://www.bilibilicomics.com",
|
"https://www.bilibilicomics.com",
|
||||||
lang
|
lang,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
@ -245,7 +245,7 @@ abstract class BilibiliComics(lang: String) : Bilibili(
|
||||||
|
|
||||||
val refreshTokenRequest = refreshTokenRequest(
|
val refreshTokenRequest = refreshTokenRequest(
|
||||||
accessTokenCookie!!.accessToken,
|
accessTokenCookie!!.accessToken,
|
||||||
accessTokenCookie!!.refreshToken
|
accessTokenCookie!!.refreshToken,
|
||||||
)
|
)
|
||||||
val refreshTokenResponse = chain.proceed(refreshTokenRequest)
|
val refreshTokenResponse = chain.proceed(refreshTokenRequest)
|
||||||
|
|
||||||
|
@ -294,7 +294,7 @@ abstract class BilibiliComics(lang: String) : Bilibili(
|
||||||
return BilibiliAccessTokenCookie(
|
return BilibiliAccessTokenCookie(
|
||||||
accessToken.accessToken,
|
accessToken.accessToken,
|
||||||
accessToken.refreshToken,
|
accessToken.refreshToken,
|
||||||
accessTokenCookie!!.area
|
accessTokenCookie!!.area,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -334,7 +334,7 @@ class BilibiliComicsEn : BilibiliComics(BilibiliIntl.ENGLISH) {
|
||||||
BilibiliTag("Romance", 13),
|
BilibiliTag("Romance", 13),
|
||||||
BilibiliTag("Slice of Life", 21),
|
BilibiliTag("Slice of Life", 21),
|
||||||
BilibiliTag("Suspense", 41),
|
BilibiliTag("Suspense", 41),
|
||||||
BilibiliTag("Teen", 20)
|
BilibiliTag("Teen", 20),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -354,7 +354,7 @@ class BilibiliComicsCn : BilibiliComics(BilibiliIntl.SIMPLIFIED_CHINESE) {
|
||||||
BilibiliTag("百合", 16),
|
BilibiliTag("百合", 16),
|
||||||
BilibiliTag("玄幻", 30),
|
BilibiliTag("玄幻", 30),
|
||||||
BilibiliTag("悬疑", 41),
|
BilibiliTag("悬疑", 41),
|
||||||
BilibiliTag("科幻", 8)
|
BilibiliTag("科幻", 8),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -371,7 +371,7 @@ class BilibiliComicsId : BilibiliComics(BilibiliIntl.INDONESIAN) {
|
||||||
BilibiliTag("Komedi", 14),
|
BilibiliTag("Komedi", 14),
|
||||||
BilibiliTag("Menegangkan", 41),
|
BilibiliTag("Menegangkan", 41),
|
||||||
BilibiliTag("Remaja", 20),
|
BilibiliTag("Remaja", 20),
|
||||||
BilibiliTag("Romantis", 13)
|
BilibiliTag("Romantis", 13),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -396,7 +396,7 @@ class BilibiliComicsEs : BilibiliComics(BilibiliIntl.SPANISH) {
|
||||||
BilibiliTag("Romance", 13),
|
BilibiliTag("Romance", 13),
|
||||||
BilibiliTag("Suspenso", 41),
|
BilibiliTag("Suspenso", 41),
|
||||||
BilibiliTag("Urbano", 9),
|
BilibiliTag("Urbano", 9),
|
||||||
BilibiliTag("Wuxia", 103)
|
BilibiliTag("Wuxia", 103),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -411,6 +411,6 @@ class BilibiliComicsFr : BilibiliComics(BilibiliIntl.FRENCH) {
|
||||||
BilibiliTag("GL", 16),
|
BilibiliTag("GL", 16),
|
||||||
BilibiliTag("Fantasy Orientale", 30),
|
BilibiliTag("Fantasy Orientale", 30),
|
||||||
BilibiliTag("Suspense", 41),
|
BilibiliTag("Suspense", 41),
|
||||||
BilibiliTag("Moderne", 111)
|
BilibiliTag("Moderne", 111),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ import okhttp3.Response
|
||||||
class BilibiliManga : Bilibili(
|
class BilibiliManga : Bilibili(
|
||||||
"哔哩哔哩漫画",
|
"哔哩哔哩漫画",
|
||||||
"https://manga.bilibili.com",
|
"https://manga.bilibili.com",
|
||||||
BilibiliIntl.SIMPLIFIED_CHINESE
|
BilibiliIntl.SIMPLIFIED_CHINESE,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val id: Long = 3561131545129718586
|
override val id: Long = 3561131545129718586
|
||||||
|
@ -40,7 +40,7 @@ class BilibiliManga : Bilibili(
|
||||||
BilibiliTag(intl.sortPopular, 0),
|
BilibiliTag(intl.sortPopular, 0),
|
||||||
BilibiliTag(intl.sortUpdated, 1),
|
BilibiliTag(intl.sortUpdated, 1),
|
||||||
BilibiliTag(intl.sortFollowers, 2),
|
BilibiliTag(intl.sortFollowers, 2),
|
||||||
BilibiliTag(intl.sortAdded, 3)
|
BilibiliTag(intl.sortAdded, 3),
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun getAllPrices(): Array<String> =
|
override fun getAllPrices(): Array<String> =
|
||||||
|
|
|
@ -153,13 +153,13 @@ class Erofus : EroMuse("Erofus", "https://www.erofus.com") {
|
||||||
Triple("Magnifire Comics", "/comics/magnifire-comics", AUTHOR),
|
Triple("Magnifire Comics", "/comics/magnifire-comics", AUTHOR),
|
||||||
Triple("Reptileye Comics", "/comics/reptileye-comics", AUTHOR),
|
Triple("Reptileye Comics", "/comics/reptileye-comics", AUTHOR),
|
||||||
Triple("ProjectPinkXXX.com Comics", "/comics/projectpinkxxx_com-comics", AUTHOR),
|
Triple("ProjectPinkXXX.com Comics", "/comics/projectpinkxxx_com-comics", AUTHOR),
|
||||||
Triple("CallMePlisskin Comics", "/comics/callmeplisskin-comics", AUTHOR)
|
Triple("CallMePlisskin Comics", "/comics/callmeplisskin-comics", AUTHOR),
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun getSortList() = arrayOf(
|
override fun getSortList() = arrayOf(
|
||||||
Pair("Viewed", "viewed"),
|
Pair("Viewed", "viewed"),
|
||||||
Pair("Liked", "liked"),
|
Pair("Liked", "liked"),
|
||||||
Pair("Date", "recent"),
|
Pair("Date", "recent"),
|
||||||
Pair("A-Z", "az")
|
Pair("A-Z", "az"),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@ class MangaTR : FMReader("Manga-TR", "https://manga-tr.com", "tr") {
|
||||||
add("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64)")
|
add("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64)")
|
||||||
}
|
}
|
||||||
override fun popularMangaNextPageSelector() = "div.btn-group:not(div.btn-block) button.btn-info"
|
override fun popularMangaNextPageSelector() = "div.btn-group:not(div.btn-block) button.btn-info"
|
||||||
|
|
||||||
// TODO: genre search possible but a bit of a pain
|
// TODO: genre search possible but a bit of a pain
|
||||||
override fun getFilterList() = FilterList()
|
override fun getFilterList() = FilterList()
|
||||||
|
|
||||||
|
|
|
@ -77,7 +77,7 @@ class Manhwa18 : FMReader("Manhwa18", "https://manhwa18.com", "en") {
|
||||||
name = element.attr("title")
|
name = element.attr("title")
|
||||||
date_upload =
|
date_upload =
|
||||||
SimpleDateFormat("dd/MM/yyyy", Locale.US).parse(
|
SimpleDateFormat("dd/MM/yyyy", Locale.US).parse(
|
||||||
element.select(".chapter-time").text().substringAfter(" - ")
|
element.select(".chapter-time").text().substringAfter(" - "),
|
||||||
)?.time ?: 0L
|
)?.time ?: 0L
|
||||||
chapter_number = element.attr("time").substringAfterLast(' ').toFloatOrNull() ?: -1f
|
chapter_number = element.attr("time").substringAfterLast(' ').toFloatOrNull() ?: -1f
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@ class WeLoveManga : FMReader("WeLoveManga", "https://weloma.art", "ja") {
|
||||||
Page(i, document.location(), img.decoded())
|
Page(i, document.location(), img.decoded())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Referer needs to be chapter URL
|
// Referer needs to be chapter URL
|
||||||
override fun imageRequest(page: Page): Request = GET(page.imageUrl!!, headersBuilder().set("Referer", page.url).build())
|
override fun imageRequest(page: Page): Request = GET(page.imageUrl!!, headersBuilder().set("Referer", page.url).build())
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,6 @@ class LeCercleDuScan : FoolSlide("Le Cercle du Scan", "https://lel.lecercledusca
|
||||||
"aujourd'hui" -> "today"
|
"aujourd'hui" -> "today"
|
||||||
"demain" -> "tomorrow"
|
"demain" -> "tomorrow"
|
||||||
else -> lcDate
|
else -> lcDate
|
||||||
}
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ import java.util.concurrent.TimeUnit
|
||||||
class HentaiSeason : Gattsu(
|
class HentaiSeason : Gattsu(
|
||||||
"Hentai Season",
|
"Hentai Season",
|
||||||
"https://hentaiseason.com",
|
"https://hentaiseason.com",
|
||||||
"pt-BR"
|
"pt-BR",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -8,7 +8,7 @@ import java.util.concurrent.TimeUnit
|
||||||
class HentaiTokyo : Gattsu(
|
class HentaiTokyo : Gattsu(
|
||||||
"Hentai Tokyo",
|
"Hentai Tokyo",
|
||||||
"https://hentaitokyo.net",
|
"https://hentaitokyo.net",
|
||||||
"pt-BR"
|
"pt-BR",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -14,7 +14,7 @@ import java.util.concurrent.TimeUnit
|
||||||
class UniversoHentai : Gattsu(
|
class UniversoHentai : Gattsu(
|
||||||
"Universo Hentai",
|
"Universo Hentai",
|
||||||
"https://universohentai.com",
|
"https://universohentai.com",
|
||||||
"pt-BR"
|
"pt-BR",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -9,7 +9,7 @@ class ComicDays : GigaViewer(
|
||||||
"Comic Days",
|
"Comic Days",
|
||||||
"https://comic-days.com",
|
"https://comic-days.com",
|
||||||
"ja",
|
"ja",
|
||||||
"https://cdn-img.comic-days.com/public/page"
|
"https://cdn-img.comic-days.com/public/page",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
@ -30,6 +30,6 @@ class ComicDays : GigaViewer(
|
||||||
override fun latestUpdatesSelector(): String = "section#$dayOfWeek.daily " + popularMangaSelector()
|
override fun latestUpdatesSelector(): String = "section#$dayOfWeek.daily " + popularMangaSelector()
|
||||||
|
|
||||||
override fun getCollections(): List<Collection> = listOf(
|
override fun getCollections(): List<Collection> = listOf(
|
||||||
Collection("連載作品一覧", "")
|
Collection("連載作品一覧", ""),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ class ComicGardo : GigaViewer(
|
||||||
"Comic Gardo",
|
"Comic Gardo",
|
||||||
"https://comic-gardo.com",
|
"https://comic-gardo.com",
|
||||||
"ja",
|
"ja",
|
||||||
"https://cdn-img.comic-gardo.com/public/page"
|
"https://cdn-img.comic-gardo.com/public/page",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val supportsLatest: Boolean = false
|
override val supportsLatest: Boolean = false
|
||||||
|
@ -29,6 +29,6 @@ class ComicGardo : GigaViewer(
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getCollections(): List<Collection> = listOf(
|
override fun getCollections(): List<Collection> = listOf(
|
||||||
Collection("連載一覧", "")
|
Collection("連載一覧", ""),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ class Comiplex : GigaViewer(
|
||||||
"Comiplex",
|
"Comiplex",
|
||||||
"https://viewer.heros-web.com",
|
"https://viewer.heros-web.com",
|
||||||
"ja",
|
"ja",
|
||||||
"https://cdn-img.viewer.heros-web.com/public/page"
|
"https://cdn-img.viewer.heros-web.com/public/page",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val supportsLatest: Boolean = false
|
override val supportsLatest: Boolean = false
|
||||||
|
@ -37,6 +37,6 @@ class Comiplex : GigaViewer(
|
||||||
Collection("ヒーローズ", "heros"),
|
Collection("ヒーローズ", "heros"),
|
||||||
Collection("ふらっとヒーローズ", "flat"),
|
Collection("ふらっとヒーローズ", "flat"),
|
||||||
Collection("わいるどヒーローズ", "wild"),
|
Collection("わいるどヒーローズ", "wild"),
|
||||||
Collection("読切作品", "oneshot")
|
Collection("読切作品", "oneshot"),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ class CorocoroOnline : GigaViewer(
|
||||||
"Corocoro Online",
|
"Corocoro Online",
|
||||||
"https://corocoro.jp",
|
"https://corocoro.jp",
|
||||||
"ja",
|
"ja",
|
||||||
"https://cdn-img.www.corocoro.jp/public/page"
|
"https://cdn-img.www.corocoro.jp/public/page",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val supportsLatest: Boolean = false
|
override val supportsLatest: Boolean = false
|
||||||
|
|
|
@ -11,7 +11,7 @@ class KurageBunch : GigaViewer(
|
||||||
"Kurage Bunch",
|
"Kurage Bunch",
|
||||||
"https://kuragebunch.com",
|
"https://kuragebunch.com",
|
||||||
"ja",
|
"ja",
|
||||||
"https://cdn-img.kuragebunch.com"
|
"https://cdn-img.kuragebunch.com",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val supportsLatest: Boolean = false
|
override val supportsLatest: Boolean = false
|
||||||
|
@ -39,6 +39,6 @@ class KurageBunch : GigaViewer(
|
||||||
Collection("読切", "oneshot"),
|
Collection("読切", "oneshot"),
|
||||||
Collection("月刊コミックバンチ", "comicbunch"),
|
Collection("月刊コミックバンチ", "comicbunch"),
|
||||||
Collection("Bバンチ", "bbunch"),
|
Collection("Bバンチ", "bbunch"),
|
||||||
Collection("ututu", "ututu")
|
Collection("ututu", "ututu"),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ class MagazinePocket : GigaViewer(
|
||||||
"Magazine Pocket",
|
"Magazine Pocket",
|
||||||
"https://pocket.shonenmagazine.com",
|
"https://pocket.shonenmagazine.com",
|
||||||
"ja",
|
"ja",
|
||||||
"https://cdn-img.pocket.shonenmagazine.com/public/page"
|
"https://cdn-img.pocket.shonenmagazine.com/public/page",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
@ -31,6 +31,6 @@ class MagazinePocket : GigaViewer(
|
||||||
override fun getCollections(): List<Collection> = listOf(
|
override fun getCollections(): List<Collection> = listOf(
|
||||||
Collection("マガポケ連載一覧", ""),
|
Collection("マガポケ連載一覧", ""),
|
||||||
Collection("週刊少年マガジン連載一覧", "smaga"),
|
Collection("週刊少年マガジン連載一覧", "smaga"),
|
||||||
Collection("別冊少年マガジン連載一覧", "bmaga")
|
Collection("別冊少年マガジン連載一覧", "bmaga"),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ class MagComi : GigaViewer(
|
||||||
"MAGCOMI",
|
"MAGCOMI",
|
||||||
"https://magcomi.com",
|
"https://magcomi.com",
|
||||||
"ja",
|
"ja",
|
||||||
"https://cdn-img.magcomi.com/public/page"
|
"https://cdn-img.magcomi.com/public/page",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val supportsLatest: Boolean = false
|
override val supportsLatest: Boolean = false
|
||||||
|
@ -29,6 +29,6 @@ class MagComi : GigaViewer(
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun getCollections(): List<Collection> = listOf(
|
override fun getCollections(): List<Collection> = listOf(
|
||||||
Collection("連載・読切", "")
|
Collection("連載・読切", ""),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ class ShonenJumpPlus : GigaViewer(
|
||||||
"Shonen Jump+",
|
"Shonen Jump+",
|
||||||
"https://shonenjumpplus.com",
|
"https://shonenjumpplus.com",
|
||||||
"ja",
|
"ja",
|
||||||
"https://cdn-ak-img.shonenjumpplus.com"
|
"https://cdn-ak-img.shonenjumpplus.com",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
@ -19,6 +19,6 @@ class ShonenJumpPlus : GigaViewer(
|
||||||
override fun getCollections(): List<Collection> = listOf(
|
override fun getCollections(): List<Collection> = listOf(
|
||||||
Collection("ジャンプ+連載一覧", ""),
|
Collection("ジャンプ+連載一覧", ""),
|
||||||
Collection("ジャンプ+読切シリーズ", "oneshot"),
|
Collection("ジャンプ+読切シリーズ", "oneshot"),
|
||||||
Collection("連載終了作品", "finished")
|
Collection("連載終了作品", "finished"),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ class SundayWebEvery : GigaViewer(
|
||||||
"Sunday Web Every",
|
"Sunday Web Every",
|
||||||
"https://www.sunday-webry.com",
|
"https://www.sunday-webry.com",
|
||||||
"ja",
|
"ja",
|
||||||
"https://cdn-img.www.sunday-webry.com/public/page"
|
"https://cdn-img.www.sunday-webry.com/public/page",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
@ -33,6 +33,6 @@ class SundayWebEvery : GigaViewer(
|
||||||
override fun getCollections(): List<Collection> = listOf(
|
override fun getCollections(): List<Collection> = listOf(
|
||||||
Collection("連載作品", ""),
|
Collection("連載作品", ""),
|
||||||
Collection("読切", "oneshot"),
|
Collection("読切", "oneshot"),
|
||||||
Collection("夜サンデー", "yoru-sunday")
|
Collection("夜サンデー", "yoru-sunday"),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ class TonariNoYoungJump : GigaViewer(
|
||||||
"Tonari no Young Jump",
|
"Tonari no Young Jump",
|
||||||
"https://tonarinoyj.jp",
|
"https://tonarinoyj.jp",
|
||||||
"ja",
|
"ja",
|
||||||
"https://cdn-img.tonarinoyj.jp/public/page"
|
"https://cdn-img.tonarinoyj.jp/public/page",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val supportsLatest: Boolean = false
|
override val supportsLatest: Boolean = false
|
||||||
|
@ -35,6 +35,6 @@ class TonariNoYoungJump : GigaViewer(
|
||||||
override fun getCollections(): List<Collection> = listOf(
|
override fun getCollections(): List<Collection> = listOf(
|
||||||
Collection("連載中", ""),
|
Collection("連載中", ""),
|
||||||
Collection("読切", "oneshot"),
|
Collection("読切", "oneshot"),
|
||||||
Collection("出張作品", "trial")
|
Collection("出張作品", "trial"),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,14 +60,16 @@ class AllHentai : GroupLe("AllHentai", "http://allhen.online", "ru") {
|
||||||
else -> {}
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return if (url.toString().contains("&"))
|
return if (url.toString().contains("&")) {
|
||||||
GET(url.toString().replace("=%3D", "="), headers)
|
GET(url.toString().replace("=%3D", "="), headers)
|
||||||
else popularMangaRequest(page)
|
} else {
|
||||||
|
popularMangaRequest(page)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class OrderBy : Filter.Select<String>(
|
private class OrderBy : Filter.Select<String>(
|
||||||
"Сортировка (только)",
|
"Сортировка (только)",
|
||||||
arrayOf("Без сортировки", "По году", "По популярности", "Популярно сейчас", "По рейтингу", "Новинки", "По дате обновления")
|
arrayOf("Без сортировки", "По году", "По популярности", "Популярно сейчас", "По рейтингу", "Новинки", "По дате обновления"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private class Genre(name: String, val id: String) : Filter.TriState(name)
|
private class Genre(name: String, val id: String) : Filter.TriState(name)
|
||||||
|
@ -84,7 +86,7 @@ class AllHentai : GroupLe("AllHentai", "http://allhen.online", "ru") {
|
||||||
Tags(tagsName),
|
Tags(tagsName),
|
||||||
GenreList(getGenreList()),
|
GenreList(getGenreList()),
|
||||||
Category(getCategoryList()),
|
Category(getCategoryList()),
|
||||||
FilList(getFilList())
|
FilList(getFilList()),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getGenreList() = listOf(
|
private fun getGenreList() = listOf(
|
||||||
|
@ -121,7 +123,7 @@ class AllHentai : GroupLe("AllHentai", "http://allhen.online", "ru") {
|
||||||
Genre("чикан", "el_1059"),
|
Genre("чикан", "el_1059"),
|
||||||
Genre("этти", "el_798"),
|
Genre("этти", "el_798"),
|
||||||
Genre("юри", "el_84"),
|
Genre("юри", "el_84"),
|
||||||
Genre("яой", "el_83")
|
Genre("яой", "el_83"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getCategoryList() = listOf(
|
private fun getCategoryList() = listOf(
|
||||||
|
@ -129,7 +131,7 @@ class AllHentai : GroupLe("AllHentai", "http://allhen.online", "ru") {
|
||||||
Genre("Анимация", "el_5777"),
|
Genre("Анимация", "el_5777"),
|
||||||
Genre("Без текста", "el_3157"),
|
Genre("Без текста", "el_3157"),
|
||||||
Genre("Порно комикс", "el_1003"),
|
Genre("Порно комикс", "el_1003"),
|
||||||
Genre("Порно манхва", "el_1104")
|
Genre("Порно манхва", "el_1104"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getFilList() = listOf(
|
private fun getFilList() = listOf(
|
||||||
|
@ -140,7 +142,7 @@ class AllHentai : GroupLe("AllHentai", "http://allhen.online", "ru") {
|
||||||
Genre("Переведено", "s_translated"),
|
Genre("Переведено", "s_translated"),
|
||||||
Genre("Длинная", "s_many_chapters"),
|
Genre("Длинная", "s_many_chapters"),
|
||||||
Genre("Ожидает загрузки", "s_wait_upload"),
|
Genre("Ожидает загрузки", "s_wait_upload"),
|
||||||
Genre("Продается", "s_sale")
|
Genre("Продается", "s_sale"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getTagsList() = listOf(
|
private fun getTagsList() = listOf(
|
||||||
|
@ -260,7 +262,7 @@ class AllHentai : GroupLe("AllHentai", "http://allhen.online", "ru") {
|
||||||
Tag("шантаж", "blackmail"),
|
Tag("шантаж", "blackmail"),
|
||||||
Tag("эксгибиционизм", "exhibitionism"),
|
Tag("эксгибиционизм", "exhibitionism"),
|
||||||
Tag("эльфы", "elves"),
|
Tag("эльфы", "elves"),
|
||||||
Tag("яндере", "yandere")
|
Tag("яндере", "yandere"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private val tagsName = getTagsList().map {
|
private val tagsName = getTagsList().map {
|
||||||
|
|
|
@ -52,14 +52,16 @@ class MintManga : GroupLe("MintManga", "https://mintmanga.live", "ru") {
|
||||||
else -> {}
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return if (url.toString().contains("&"))
|
return if (url.toString().contains("&")) {
|
||||||
GET(url.toString().replace("=%3D", "="), headers)
|
GET(url.toString().replace("=%3D", "="), headers)
|
||||||
else popularMangaRequest(page)
|
} else {
|
||||||
|
popularMangaRequest(page)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class OrderBy : Filter.Select<String>(
|
private class OrderBy : Filter.Select<String>(
|
||||||
"Сортировка",
|
"Сортировка",
|
||||||
arrayOf("По популярности", "Популярно сейчас", "По году", "По имени", "Новинки", "По дате обновления", "По рейтингу")
|
arrayOf("По популярности", "Популярно сейчас", "По году", "По имени", "Новинки", "По дате обновления", "По рейтингу"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private class Genre(name: String, val id: String) : Filter.TriState(name)
|
private class Genre(name: String, val id: String) : Filter.TriState(name)
|
||||||
|
@ -76,7 +78,7 @@ class MintManga : GroupLe("MintManga", "https://mintmanga.live", "ru") {
|
||||||
GenreList(getGenreList()),
|
GenreList(getGenreList()),
|
||||||
AgeList(getAgeList()),
|
AgeList(getAgeList()),
|
||||||
More(getMore()),
|
More(getMore()),
|
||||||
FilList(getFilList())
|
FilList(getFilList()),
|
||||||
)
|
)
|
||||||
private fun getFilList() = listOf(
|
private fun getFilList() = listOf(
|
||||||
Genre("Высокий рейтинг", "s_high_rate"),
|
Genre("Высокий рейтинг", "s_high_rate"),
|
||||||
|
@ -87,7 +89,7 @@ class MintManga : GroupLe("MintManga", "https://mintmanga.live", "ru") {
|
||||||
Genre("Заброшен перевод", "s_abandoned_popular"),
|
Genre("Заброшен перевод", "s_abandoned_popular"),
|
||||||
Genre("Длинная", "s_many_chapters"),
|
Genre("Длинная", "s_many_chapters"),
|
||||||
Genre("Ожидает загрузки", "s_wait_upload"),
|
Genre("Ожидает загрузки", "s_wait_upload"),
|
||||||
Genre("Белые жанры", "s_not_pessimized")
|
Genre("Белые жанры", "s_not_pessimized"),
|
||||||
)
|
)
|
||||||
private fun getMore() = listOf(
|
private fun getMore() = listOf(
|
||||||
Genre("Анонс", "el_6641"),
|
Genre("Анонс", "el_6641"),
|
||||||
|
@ -95,13 +97,13 @@ class MintManga : GroupLe("MintManga", "https://mintmanga.live", "ru") {
|
||||||
Genre("Веб", "el_1355"),
|
Genre("Веб", "el_1355"),
|
||||||
Genre("Выпуск приостановлен", "el_5232"),
|
Genre("Выпуск приостановлен", "el_5232"),
|
||||||
Genre("Не Яой", "el_1874"),
|
Genre("Не Яой", "el_1874"),
|
||||||
Genre("Сборник", "el_1348")
|
Genre("Сборник", "el_1348"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getAgeList() = listOf(
|
private fun getAgeList() = listOf(
|
||||||
Genre("R(16+)", "el_3968"),
|
Genre("R(16+)", "el_3968"),
|
||||||
Genre("NC-17(18+)", "el_3969"),
|
Genre("NC-17(18+)", "el_3969"),
|
||||||
Genre("R18+(18+)", "el_3990")
|
Genre("R18+(18+)", "el_3990"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getCategoryList() = listOf(
|
private fun getCategoryList() = listOf(
|
||||||
|
@ -113,7 +115,7 @@ class MintManga : GroupLe("MintManga", "https://mintmanga.live", "ru") {
|
||||||
Genre("Манга", "el_6421"),
|
Genre("Манга", "el_6421"),
|
||||||
Genre("Манхва", "el_1873"),
|
Genre("Манхва", "el_1873"),
|
||||||
Genre("Маньхуа", "el_1875"),
|
Genre("Маньхуа", "el_1875"),
|
||||||
Genre("Ранобэ", "el_5688")
|
Genre("Ранобэ", "el_5688"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getGenreList() = listOf(
|
private fun getGenreList() = listOf(
|
||||||
|
@ -156,6 +158,6 @@ class MintManga : GroupLe("MintManga", "https://mintmanga.live", "ru") {
|
||||||
Genre("эротика", "el_1340"),
|
Genre("эротика", "el_1340"),
|
||||||
Genre("этти", "el_1354"),
|
Genre("этти", "el_1354"),
|
||||||
Genre("юри", "el_1315"),
|
Genre("юри", "el_1315"),
|
||||||
Genre("яой", "el_1336")
|
Genre("яой", "el_1336"),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,14 +52,16 @@ class ReadManga : GroupLe("ReadManga", "https://readmanga.live", "ru") {
|
||||||
else -> {}
|
else -> {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return if (url.toString().contains("&"))
|
return if (url.toString().contains("&")) {
|
||||||
GET(url.toString().replace("=%3D", "="), headers)
|
GET(url.toString().replace("=%3D", "="), headers)
|
||||||
else popularMangaRequest(page)
|
} else {
|
||||||
|
popularMangaRequest(page)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class OrderBy : Filter.Select<String>(
|
private class OrderBy : Filter.Select<String>(
|
||||||
"Сортировка",
|
"Сортировка",
|
||||||
arrayOf("По популярности", "Популярно сейчас", "По году", "По имени", "Новинки", "По дате обновления", "По рейтингу")
|
arrayOf("По популярности", "Популярно сейчас", "По году", "По имени", "Новинки", "По дате обновления", "По рейтингу"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private class Genre(name: String, val id: String) : Filter.TriState(name)
|
private class Genre(name: String, val id: String) : Filter.TriState(name)
|
||||||
|
@ -76,7 +78,7 @@ class ReadManga : GroupLe("ReadManga", "https://readmanga.live", "ru") {
|
||||||
GenreList(getGenreList()),
|
GenreList(getGenreList()),
|
||||||
AgeList(getAgeList()),
|
AgeList(getAgeList()),
|
||||||
More(getMore()),
|
More(getMore()),
|
||||||
FilList(getFilList())
|
FilList(getFilList()),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getFilList() = listOf(
|
private fun getFilList() = listOf(
|
||||||
|
@ -89,19 +91,19 @@ class ReadManga : GroupLe("ReadManga", "https://readmanga.live", "ru") {
|
||||||
Genre("Длинная", "s_many_chapters"),
|
Genre("Длинная", "s_many_chapters"),
|
||||||
Genre("Ожидает загрузки", "s_wait_upload"),
|
Genre("Ожидает загрузки", "s_wait_upload"),
|
||||||
Genre("Продается", "s_sale"),
|
Genre("Продается", "s_sale"),
|
||||||
Genre("Белые жанры", "s_not_pessimized")
|
Genre("Белые жанры", "s_not_pessimized"),
|
||||||
)
|
)
|
||||||
private fun getMore() = listOf(
|
private fun getMore() = listOf(
|
||||||
Genre("Анонс", "el_9578"),
|
Genre("Анонс", "el_9578"),
|
||||||
Genre("В цвете", "el_7290"),
|
Genre("В цвете", "el_7290"),
|
||||||
Genre("Веб", "el_2160"),
|
Genre("Веб", "el_2160"),
|
||||||
Genre("Сборник", "el_2157")
|
Genre("Сборник", "el_2157"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getAgeList() = listOf(
|
private fun getAgeList() = listOf(
|
||||||
Genre("G(0+)", "el_6180"),
|
Genre("G(0+)", "el_6180"),
|
||||||
Genre("PG-13(12+)", "el_6181"),
|
Genre("PG-13(12+)", "el_6181"),
|
||||||
Genre("PG(16+)", "el_6179")
|
Genre("PG(16+)", "el_6179"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getCategoryList() = listOf(
|
private fun getCategoryList() = listOf(
|
||||||
|
@ -112,7 +114,7 @@ class ReadManga : GroupLe("ReadManga", "https://readmanga.live", "ru") {
|
||||||
Genre("Комикс", "el_3515"),
|
Genre("Комикс", "el_3515"),
|
||||||
Genre("Манга", "el_9451"),
|
Genre("Манга", "el_9451"),
|
||||||
Genre("Манхва", "el_3001"),
|
Genre("Манхва", "el_3001"),
|
||||||
Genre("Маньхуа", "el_3002")
|
Genre("Маньхуа", "el_3002"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getGenreList() = listOf(
|
private fun getGenreList() = listOf(
|
||||||
|
@ -153,6 +155,6 @@ class ReadManga : GroupLe("ReadManga", "https://readmanga.live", "ru") {
|
||||||
Genre("уся", "el_9560"),
|
Genre("уся", "el_9560"),
|
||||||
Genre("фэнтези", "el_2131"),
|
Genre("фэнтези", "el_2131"),
|
||||||
Genre("школа", "el_2127"),
|
Genre("школа", "el_2127"),
|
||||||
Genre("этти", "el_2149")
|
Genre("этти", "el_2149"),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,16 +25,18 @@ class RuMIX : GroupLe("RuMIX", "https://rumix.me", "ru") {
|
||||||
else -> return@forEach
|
else -> return@forEach
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return if (url.toString().contains("&"))
|
return if (url.toString().contains("&")) {
|
||||||
GET(url.toString().replace("=%3D", "="), headers)
|
GET(url.toString().replace("=%3D", "="), headers)
|
||||||
else popularMangaRequest(page)
|
} else {
|
||||||
|
popularMangaRequest(page)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
private class OrderBy : Filter.Select<String>(
|
private class OrderBy : Filter.Select<String>(
|
||||||
"Сортировка",
|
"Сортировка",
|
||||||
arrayOf("По популярности", "Популярно сейчас", "По году", "По имени", "Новинки", "По дате обновления", "По рейтингу")
|
arrayOf("По популярности", "Популярно сейчас", "По году", "По имени", "Новинки", "По дате обновления", "По рейтингу"),
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun getFilterList() = FilterList(
|
override fun getFilterList() = FilterList(
|
||||||
OrderBy()
|
OrderBy(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,14 +37,16 @@ class SelfManga : GroupLe("SelfManga", "https://selfmanga.live", "ru") {
|
||||||
else -> return@forEach
|
else -> return@forEach
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return if (url.toString().contains("&"))
|
return if (url.toString().contains("&")) {
|
||||||
GET(url.toString().replace("=%3D", "="), headers)
|
GET(url.toString().replace("=%3D", "="), headers)
|
||||||
else popularMangaRequest(page)
|
} else {
|
||||||
|
popularMangaRequest(page)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private class OrderBy : Filter.Select<String>(
|
private class OrderBy : Filter.Select<String>(
|
||||||
"Сортировка",
|
"Сортировка",
|
||||||
arrayOf("По популярности", "Популярно сейчас", "По году", "По имени", "Новинки", "По дате обновления", "По рейтингу")
|
arrayOf("По популярности", "Популярно сейчас", "По году", "По имени", "Новинки", "По дате обновления", "По рейтингу"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private class Genre(name: String, val id: String) : Filter.TriState(name)
|
private class Genre(name: String, val id: String) : Filter.TriState(name)
|
||||||
|
@ -54,7 +56,7 @@ class SelfManga : GroupLe("SelfManga", "https://selfmanga.live", "ru") {
|
||||||
override fun getFilterList() = FilterList(
|
override fun getFilterList() = FilterList(
|
||||||
OrderBy(),
|
OrderBy(),
|
||||||
Category(getCategoryList()),
|
Category(getCategoryList()),
|
||||||
GenreList(getGenreList())
|
GenreList(getGenreList()),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getCategoryList() = listOf(
|
private fun getCategoryList() = listOf(
|
||||||
|
@ -62,7 +64,7 @@ class SelfManga : GroupLe("SelfManga", "https://selfmanga.live", "ru") {
|
||||||
Genre("Веб", "el_2160"),
|
Genre("Веб", "el_2160"),
|
||||||
Genre("Журнал", "el_4983"),
|
Genre("Журнал", "el_4983"),
|
||||||
Genre("Ранобэ", "el_5215"),
|
Genre("Ранобэ", "el_5215"),
|
||||||
Genre("Сборник", "el_2157")
|
Genre("Сборник", "el_2157"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getGenreList() = listOf(
|
private fun getGenreList() = listOf(
|
||||||
|
@ -99,6 +101,6 @@ class SelfManga : GroupLe("SelfManga", "https://selfmanga.live", "ru") {
|
||||||
Genre("фантастика", "el_2140"),
|
Genre("фантастика", "el_2140"),
|
||||||
Genre("фэнтези", "el_2131"),
|
Genre("фэнтези", "el_2131"),
|
||||||
Genre("школа", "el_2127"),
|
Genre("школа", "el_2127"),
|
||||||
Genre("этти", "el_4982")
|
Genre("этти", "el_4982"),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,18 +36,18 @@ abstract class MagicalTranslatorsCommon(lang: String) :
|
||||||
|
|
||||||
class MagicalTranslatorsEN : MagicalTranslatorsCommon("en") {
|
class MagicalTranslatorsEN : MagicalTranslatorsCommon("en") {
|
||||||
override fun filterMangasPage(mangasPage: MangasPage): MangasPage = mangasPage.copy(
|
override fun filterMangasPage(mangasPage: MangasPage): MangasPage = mangasPage.copy(
|
||||||
mangas = mangasPage.mangas.filterNot { it.url.endsWith("-ES") || it.url.endsWith("-PL") }
|
mangas = mangasPage.mangas.filterNot { it.url.endsWith("-ES") || it.url.endsWith("-PL") },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
class MagicalTranslatorsES : MagicalTranslatorsCommon("es") {
|
class MagicalTranslatorsES : MagicalTranslatorsCommon("es") {
|
||||||
override fun filterMangasPage(mangasPage: MangasPage): MangasPage = mangasPage.copy(
|
override fun filterMangasPage(mangasPage: MangasPage): MangasPage = mangasPage.copy(
|
||||||
mangas = mangasPage.mangas.filter { it.url.endsWith("-ES") }
|
mangas = mangasPage.mangas.filter { it.url.endsWith("-ES") },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
class MagicalTranslatorsPL : MagicalTranslatorsCommon("pl") {
|
class MagicalTranslatorsPL : MagicalTranslatorsCommon("pl") {
|
||||||
override fun filterMangasPage(mangasPage: MangasPage): MangasPage = mangasPage.copy(
|
override fun filterMangasPage(mangasPage: MangasPage): MangasPage = mangasPage.copy(
|
||||||
mangas = mangasPage.mangas.filter { it.url.endsWith("-PL") }
|
mangas = mangasPage.mangas.filter { it.url.endsWith("-PL") },
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ import java.util.TimeZone
|
||||||
class ReaperScans : HeanCms(
|
class ReaperScans : HeanCms(
|
||||||
"Reaper Scans",
|
"Reaper Scans",
|
||||||
"https://reaperscans.net",
|
"https://reaperscans.net",
|
||||||
"pt-BR"
|
"pt-BR",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
@ -51,6 +51,6 @@ class ReaperScans : HeanCms(
|
||||||
Genre("Segunda vida", 4),
|
Genre("Segunda vida", 4),
|
||||||
Genre("Seinen", 1),
|
Genre("Seinen", 1),
|
||||||
Genre("Shounen", 13),
|
Genre("Shounen", 13),
|
||||||
Genre("Terror", 6)
|
Genre("Terror", 6),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ class YugenMangas : HeanCms(
|
||||||
"YugenMangas",
|
"YugenMangas",
|
||||||
"https://yugenmangas.net",
|
"https://yugenmangas.net",
|
||||||
"es",
|
"es",
|
||||||
"https://api.yugenmangas.com"
|
"https://api.yugenmangas.com",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
// Site changed from Madara to HeanCms.
|
// Site changed from Madara to HeanCms.
|
||||||
|
@ -69,6 +69,6 @@ class YugenMangas : HeanCms(
|
||||||
Genre("Transmigración", 34),
|
Genre("Transmigración", 34),
|
||||||
Genre("Vida Escolar", 47),
|
Genre("Vida Escolar", 47),
|
||||||
Genre("Yaoi", 43),
|
Genre("Yaoi", 43),
|
||||||
Genre("Yuri", 44)
|
Genre("Yuri", 44),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,7 @@ class HentaiLib : LibGroup("HentaiLib", "https://hentailib.me", "ru") {
|
||||||
if (tag.state != Filter.TriState.STATE_IGNORE) {
|
if (tag.state != Filter.TriState.STATE_IGNORE) {
|
||||||
url.addQueryParameter(
|
url.addQueryParameter(
|
||||||
if (tag.isIncluded()) "tags[include][]" else "tags[exclude][]",
|
if (tag.isIncluded()) "tags[include][]" else "tags[exclude][]",
|
||||||
tag.id
|
tag.id,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -226,7 +226,7 @@ class HentaiLib : LibGroup("HentaiLib", "https://hentailib.me", "ru") {
|
||||||
SearchFilter("Эксгибиционизм", "143"),
|
SearchFilter("Эксгибиционизм", "143"),
|
||||||
SearchFilter("Эльф", "144"),
|
SearchFilter("Эльф", "144"),
|
||||||
SearchFilter("Юные", "145"),
|
SearchFilter("Юные", "145"),
|
||||||
SearchFilter("Яндэрэ", "146")
|
SearchFilter("Яндэрэ", "146"),
|
||||||
)
|
)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
|
@ -55,7 +55,7 @@ class MangaLib : LibGroup("MangaLib", "https://mangalib.me", "ru") {
|
||||||
if (age.state != Filter.TriState.STATE_IGNORE) {
|
if (age.state != Filter.TriState.STATE_IGNORE) {
|
||||||
url.addQueryParameter(
|
url.addQueryParameter(
|
||||||
if (age.isIncluded()) "caution[include][]" else "caution[exclude][]",
|
if (age.isIncluded()) "caution[include][]" else "caution[exclude][]",
|
||||||
age.id
|
age.id,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,7 @@ class MangaLib : LibGroup("MangaLib", "https://mangalib.me", "ru") {
|
||||||
if (tag.state != Filter.TriState.STATE_IGNORE) {
|
if (tag.state != Filter.TriState.STATE_IGNORE) {
|
||||||
url.addQueryParameter(
|
url.addQueryParameter(
|
||||||
if (tag.isIncluded()) "tags[include][]" else "tags[exclude][]",
|
if (tag.isIncluded()) "tags[include][]" else "tags[exclude][]",
|
||||||
tag.id
|
tag.id,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -183,14 +183,14 @@ class MangaLib : LibGroup("MangaLib", "https://mangalib.me", "ru") {
|
||||||
SearchFilter("Шантаж", "279"),
|
SearchFilter("Шантаж", "279"),
|
||||||
SearchFilter("Эльфы", "216"),
|
SearchFilter("Эльфы", "216"),
|
||||||
SearchFilter("Якудза", "164"),
|
SearchFilter("Якудза", "164"),
|
||||||
SearchFilter("Япония", "280")
|
SearchFilter("Япония", "280"),
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getAgeList() = listOf(
|
private fun getAgeList() = listOf(
|
||||||
SearchFilter("Отсутствует", "0"),
|
SearchFilter("Отсутствует", "0"),
|
||||||
SearchFilter("16+", "1"),
|
SearchFilter("16+", "1"),
|
||||||
SearchFilter("18+", "2")
|
SearchFilter("18+", "2"),
|
||||||
)
|
)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
|
@ -37,7 +37,7 @@ class YaoiLib : LibGroup("YaoiLib", "https://v1.yaoilib.net", "ru") {
|
||||||
if (age.state != Filter.TriState.STATE_IGNORE) {
|
if (age.state != Filter.TriState.STATE_IGNORE) {
|
||||||
url.addQueryParameter(
|
url.addQueryParameter(
|
||||||
if (age.isIncluded()) "caution[include][]" else "caution[exclude][]",
|
if (age.isIncluded()) "caution[include][]" else "caution[exclude][]",
|
||||||
age.id
|
age.id,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -45,7 +45,7 @@ class YaoiLib : LibGroup("YaoiLib", "https://v1.yaoilib.net", "ru") {
|
||||||
if (tag.state != Filter.TriState.STATE_IGNORE) {
|
if (tag.state != Filter.TriState.STATE_IGNORE) {
|
||||||
url.addQueryParameter(
|
url.addQueryParameter(
|
||||||
if (tag.isIncluded()) "tags[include][]" else "tags[exclude][]",
|
if (tag.isIncluded()) "tags[include][]" else "tags[exclude][]",
|
||||||
tag.id
|
tag.id,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -165,14 +165,14 @@ class YaoiLib : LibGroup("YaoiLib", "https://v1.yaoilib.net", "ru") {
|
||||||
SearchFilter("Шантаж", "279"),
|
SearchFilter("Шантаж", "279"),
|
||||||
SearchFilter("Эльфы", "216"),
|
SearchFilter("Эльфы", "216"),
|
||||||
SearchFilter("Якудза", "164"),
|
SearchFilter("Якудза", "164"),
|
||||||
SearchFilter("Япония", "280")
|
SearchFilter("Япония", "280"),
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
private fun getAgeList() = listOf(
|
private fun getAgeList() = listOf(
|
||||||
SearchFilter("Отсутствует", "0"),
|
SearchFilter("Отсутствует", "0"),
|
||||||
SearchFilter("16+", "1"),
|
SearchFilter("16+", "1"),
|
||||||
SearchFilter("18+", "2")
|
SearchFilter("18+", "2"),
|
||||||
)
|
)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
|
@ -13,7 +13,7 @@ class AdultWebtoon : Madara("Adult Webtoon", "https://adultwebtoon.com", "en") {
|
||||||
return GET(
|
return GET(
|
||||||
"$baseUrl/manga/$pageSuffix?m_orderby=trending",
|
"$baseUrl/manga/$pageSuffix?m_orderby=trending",
|
||||||
formHeaders,
|
formHeaders,
|
||||||
CacheControl.FORCE_NETWORK
|
CacheControl.FORCE_NETWORK,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
override fun latestUpdatesRequest(page: Int): Request {
|
override fun latestUpdatesRequest(page: Int): Request {
|
||||||
|
@ -21,7 +21,7 @@ class AdultWebtoon : Madara("Adult Webtoon", "https://adultwebtoon.com", "en") {
|
||||||
return GET(
|
return GET(
|
||||||
"$baseUrl/manga/$pageSuffix?m_orderby=latest",
|
"$baseUrl/manga/$pageSuffix?m_orderby=latest",
|
||||||
formHeaders,
|
formHeaders,
|
||||||
CacheControl.FORCE_NETWORK
|
CacheControl.FORCE_NETWORK,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ class AiYuManga : Madara(
|
||||||
"AiYuManga",
|
"AiYuManga",
|
||||||
"https://aiyumangascanlation.com",
|
"https://aiyumangascanlation.com",
|
||||||
"es",
|
"es",
|
||||||
SimpleDateFormat("d 'de' MMM 'de' yyy", Locale("es"))
|
SimpleDateFormat("d 'de' MMM 'de' yyy", Locale("es")),
|
||||||
) {
|
) {
|
||||||
override val useNewChapterEndpoint = true
|
override val useNewChapterEndpoint = true
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ class AkumaNoTenshi : Madara(
|
||||||
"Akuma no Tenshi",
|
"Akuma no Tenshi",
|
||||||
"https://akumanotenshi.com",
|
"https://akumanotenshi.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -11,7 +11,7 @@ class AleatoriaScan : Madara(
|
||||||
"Aleatória Scan",
|
"Aleatória Scan",
|
||||||
"https://aleatoriascan.xyz",
|
"https://aleatoriascan.xyz",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -18,7 +18,7 @@ class Amuy : Madara(
|
||||||
"Amuy",
|
"Amuy",
|
||||||
"https://amuyscans.com",
|
"https://amuyscans.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
@ -38,7 +38,7 @@ class Amuy : Madara(
|
||||||
chapterProtector
|
chapterProtector
|
||||||
.substringAfter("chapter_data='")
|
.substringAfter("chapter_data='")
|
||||||
.substringBefore("';")
|
.substringBefore("';")
|
||||||
.replace("\\/", "/")
|
.replace("\\/", "/"),
|
||||||
).jsonObject
|
).jsonObject
|
||||||
|
|
||||||
val unsaltedCiphertext = Base64.decode(chapterData["ct"]!!.jsonPrimitive.content, Base64.DEFAULT)
|
val unsaltedCiphertext = Base64.decode(chapterData["ct"]!!.jsonPrimitive.content, Base64.DEFAULT)
|
||||||
|
|
|
@ -8,7 +8,7 @@ class ArabToons : Madara(
|
||||||
"عرب تونز",
|
"عرب تونز",
|
||||||
"https://arabtoons.net",
|
"https://arabtoons.net",
|
||||||
"ar",
|
"ar",
|
||||||
dateFormat = SimpleDateFormat("MMM d", Locale("ar"))
|
dateFormat = SimpleDateFormat("MMM d", Locale("ar")),
|
||||||
) {
|
) {
|
||||||
override val useNewChapterEndpoint = true
|
override val useNewChapterEndpoint = true
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ class ArthurScan : Madara(
|
||||||
"Arthur Scan",
|
"Arthur Scan",
|
||||||
"https://arthurscan.xyz",
|
"https://arthurscan.xyz",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -11,7 +11,7 @@ class BananaCitrica : Madara(
|
||||||
"Banana Cítrica",
|
"Banana Cítrica",
|
||||||
"https://dinastiacilly.com",
|
"https://dinastiacilly.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
// Website changed their name.
|
// Website changed their name.
|
||||||
|
|
|
@ -11,7 +11,7 @@ class BichenTraducoes : Madara(
|
||||||
"Bichen Traduções",
|
"Bichen Traduções",
|
||||||
"https://bichentraducoes.com",
|
"https://bichentraducoes.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -11,7 +11,7 @@ class BlManhwaClub : Madara(
|
||||||
"BL Manhwa Club",
|
"BL Manhwa Club",
|
||||||
"https://blmanhwa.club",
|
"https://blmanhwa.club",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd MMM yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd MMM yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -11,7 +11,7 @@ class BorutoExplorer : Madara(
|
||||||
"Boruto Explorer",
|
"Boruto Explorer",
|
||||||
"https://leitor.borutoexplorer.com.br",
|
"https://leitor.borutoexplorer.com.br",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -11,7 +11,7 @@ class CafeComYaoi : Madara(
|
||||||
"Café com Yaoi",
|
"Café com Yaoi",
|
||||||
"http://cafecomyaoi.com.br",
|
"http://cafecomyaoi.com.br",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -7,7 +7,7 @@ import org.jsoup.nodes.Element
|
||||||
class CatTranslator : Madara(
|
class CatTranslator : Madara(
|
||||||
"CAT-translator",
|
"CAT-translator",
|
||||||
"https://cats-translator.com/manga",
|
"https://cats-translator.com/manga",
|
||||||
"th"
|
"th",
|
||||||
) {
|
) {
|
||||||
private fun parseMangaFromElement(element: Element, isSearch: Boolean): SManga {
|
private fun parseMangaFromElement(element: Element, isSearch: Boolean): SManga {
|
||||||
val manga = SManga.create()
|
val manga = SManga.create()
|
||||||
|
|
|
@ -18,7 +18,7 @@ class CeriseScans : Madara(
|
||||||
"Cerise Scans",
|
"Cerise Scans",
|
||||||
"https://cerisescan.com",
|
"https://cerisescan.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
@ -38,7 +38,7 @@ class CeriseScans : Madara(
|
||||||
chapterProtector
|
chapterProtector
|
||||||
.substringAfter("chapter_data='")
|
.substringAfter("chapter_data='")
|
||||||
.substringBefore("';")
|
.substringBefore("';")
|
||||||
.replace("\\/", "/")
|
.replace("\\/", "/"),
|
||||||
).jsonObject
|
).jsonObject
|
||||||
|
|
||||||
val unsaltedCiphertext = Base64.decode(chapterData["ct"]!!.jsonPrimitive.content, Base64.DEFAULT)
|
val unsaltedCiphertext = Base64.decode(chapterData["ct"]!!.jsonPrimitive.content, Base64.DEFAULT)
|
||||||
|
|
|
@ -13,7 +13,7 @@ class ChunchunmaruTranslations : Madara(
|
||||||
"Chunchunmaru Translations",
|
"Chunchunmaru Translations",
|
||||||
"https://chunchunmarutl.com",
|
"https://chunchunmarutl.com",
|
||||||
"es",
|
"es",
|
||||||
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("es"))
|
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("es")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/manga/page/$page/?m_orderby=views", headers)
|
override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/manga/page/$page/?m_orderby=views", headers)
|
||||||
|
|
|
@ -11,7 +11,7 @@ class CronosScan : Madara(
|
||||||
"Cronos Scan",
|
"Cronos Scan",
|
||||||
"https://cronosscan.net",
|
"https://cronosscan.net",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -8,7 +8,7 @@ class DapRob : Madara(
|
||||||
"DapRob",
|
"DapRob",
|
||||||
"https://daprob.com",
|
"https://daprob.com",
|
||||||
"es",
|
"es",
|
||||||
dateFormat = SimpleDateFormat("dd/MM/yyy", Locale.ROOT)
|
dateFormat = SimpleDateFormat("dd/MM/yyy", Locale.ROOT),
|
||||||
) {
|
) {
|
||||||
override val useNewChapterEndpoint = true
|
override val useNewChapterEndpoint = true
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,7 +15,7 @@ class DoujinHentai : Madara(
|
||||||
"DoujinHentai",
|
"DoujinHentai",
|
||||||
"https://doujinhentai.net",
|
"https://doujinhentai.net",
|
||||||
"es",
|
"es",
|
||||||
SimpleDateFormat("d MMM. yyyy", Locale.ENGLISH)
|
SimpleDateFormat("d MMM. yyyy", Locale.ENGLISH),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val useLoadMoreSearch = false
|
override val useLoadMoreSearch = false
|
||||||
|
@ -71,7 +71,7 @@ class DoujinHentai : Madara(
|
||||||
|
|
||||||
override fun getFilterList() = FilterList(
|
override fun getFilterList() = FilterList(
|
||||||
Filter.Header("Solo funciona si la consulta está en blanco"),
|
Filter.Header("Solo funciona si la consulta está en blanco"),
|
||||||
GenreSelectFilter()
|
GenreSelectFilter(),
|
||||||
)
|
)
|
||||||
|
|
||||||
class GenreSelectFilter : UriPartFilter(
|
class GenreSelectFilter : UriPartFilter(
|
||||||
|
@ -109,7 +109,7 @@ class DoujinHentai : Madara(
|
||||||
Pair("Sin Censura", "sin-censura"),
|
Pair("Sin Censura", "sin-censura"),
|
||||||
Pair("Futanari", "futanari"),
|
Pair("Futanari", "futanari"),
|
||||||
Pair("Doble Penetracion", "doble-penetracion"),
|
Pair("Doble Penetracion", "doble-penetracion"),
|
||||||
Pair("Cosplay", "cosplay")
|
Pair("Cosplay", "cosplay"),
|
||||||
)
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ class DropeScan : Madara(
|
||||||
"Drope Scan",
|
"Drope Scan",
|
||||||
"https://dropescan.com",
|
"https://dropescan.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -10,7 +10,7 @@ class EGYManga : Madara(
|
||||||
"EGY Manga",
|
"EGY Manga",
|
||||||
"https://egymanga.net",
|
"https://egymanga.net",
|
||||||
"ar",
|
"ar",
|
||||||
SimpleDateFormat("MMMM dd, yyyy", Locale("ar"))
|
SimpleDateFormat("MMMM dd, yyyy", Locale("ar")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
// The website does not flag the content.
|
// The website does not flag the content.
|
||||||
|
|
|
@ -8,7 +8,7 @@ class Eromiau : Madara(
|
||||||
"Eromiau",
|
"Eromiau",
|
||||||
"https://www.eromiau.com",
|
"https://www.eromiau.com",
|
||||||
"es",
|
"es",
|
||||||
dateFormat = SimpleDateFormat("MMM d, yyy", Locale("es"))
|
dateFormat = SimpleDateFormat("MMM d, yyy", Locale("es")),
|
||||||
) {
|
) {
|
||||||
override val useNewChapterEndpoint = true
|
override val useNewChapterEndpoint = true
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@ class EstufaDeCristal : Madara(
|
||||||
"Estufa de Cristal",
|
"Estufa de Cristal",
|
||||||
"https://scanestufadecristal.site",
|
"https://scanestufadecristal.site",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -8,7 +8,7 @@ class EvaScans : Madara(
|
||||||
"EvaScans",
|
"EvaScans",
|
||||||
"https://evascans.com",
|
"https://evascans.com",
|
||||||
"tr",
|
"tr",
|
||||||
dateFormat = SimpleDateFormat("MMM d, yyy", Locale("tr"))
|
dateFormat = SimpleDateFormat("MMM d, yyy", Locale("tr")),
|
||||||
) {
|
) {
|
||||||
override val useNewChapterEndpoint = false
|
override val useNewChapterEndpoint = false
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,5 +8,5 @@ class FaeStorm : Madara(
|
||||||
"FaeStorm",
|
"FaeStorm",
|
||||||
"https://faestormmanga.com",
|
"https://faestormmanga.com",
|
||||||
"tr",
|
"tr",
|
||||||
SimpleDateFormat("d MMM yyy", Locale("tr"))
|
SimpleDateFormat("d MMM yyy", Locale("tr")),
|
||||||
)
|
)
|
||||||
|
|
|
@ -11,7 +11,7 @@ class FayScans : Madara(
|
||||||
"Fay Scans",
|
"Fay Scans",
|
||||||
"https://fayscans.com.br",
|
"https://fayscans.com.br",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -11,7 +11,7 @@ class FDMScan : Madara(
|
||||||
"FDM Scan",
|
"FDM Scan",
|
||||||
"https://fdmscan.com",
|
"https://fdmscan.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("MMMM dd, yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("MMMM dd, yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -11,7 +11,7 @@ class FinalScans : Madara(
|
||||||
"Final Scans",
|
"Final Scans",
|
||||||
"https://finalscans.com",
|
"https://finalscans.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -8,7 +8,7 @@ import java.util.concurrent.TimeUnit
|
||||||
class FirstKissManga : Madara(
|
class FirstKissManga : Madara(
|
||||||
"1st Kiss",
|
"1st Kiss",
|
||||||
"https://1stkissmanga.io",
|
"https://1stkissmanga.io",
|
||||||
"en"
|
"en",
|
||||||
) {
|
) {
|
||||||
override fun headersBuilder(): Headers.Builder = super.headersBuilder().add("Referer", baseUrl)
|
override fun headersBuilder(): Headers.Builder = super.headersBuilder().add("Referer", baseUrl)
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ import java.util.concurrent.TimeUnit
|
||||||
class FirstKissMangaClub : Madara(
|
class FirstKissMangaClub : Madara(
|
||||||
"1stKissManga.Club",
|
"1stKissManga.Club",
|
||||||
"https://1stkissmanga.club",
|
"https://1stkissmanga.club",
|
||||||
"en"
|
"en",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client = network.cloudflareClient.newBuilder()
|
override val client = network.cloudflareClient.newBuilder()
|
||||||
|
|
|
@ -7,7 +7,7 @@ import java.util.concurrent.TimeUnit
|
||||||
class FirstKissMangaLove : Madara(
|
class FirstKissMangaLove : Madara(
|
||||||
"1st Kiss Manga.love",
|
"1st Kiss Manga.love",
|
||||||
"https://1stkissmanga.love",
|
"https://1stkissmanga.love",
|
||||||
"en"
|
"en",
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client = network.cloudflareClient.newBuilder()
|
override val client = network.cloudflareClient.newBuilder()
|
||||||
|
|
|
@ -13,7 +13,7 @@ class FirstKissManhua : Madara(
|
||||||
"1st Kiss Manhua",
|
"1st Kiss Manhua",
|
||||||
"https://1stkissmanhua.com",
|
"https://1stkissmanhua.com",
|
||||||
"en",
|
"en",
|
||||||
SimpleDateFormat("d MMM yyyy", Locale.US)
|
SimpleDateFormat("d MMM yyyy", Locale.US),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client = network.cloudflareClient.newBuilder()
|
override val client = network.cloudflareClient.newBuilder()
|
||||||
|
|
|
@ -15,7 +15,7 @@ class FleurBlanche : Madara(
|
||||||
"Fleur Blanche",
|
"Fleur Blanche",
|
||||||
"https://fbsquads.com",
|
"https://fbsquads.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -10,7 +10,7 @@ class FlexTapeScans : Madara(
|
||||||
"Flex Tape Scans",
|
"Flex Tape Scans",
|
||||||
"https://flextapescans.com",
|
"https://flextapescans.com",
|
||||||
"en",
|
"en",
|
||||||
dateFormat = SimpleDateFormat("MM/dd/yyy", Locale.ROOT)
|
dateFormat = SimpleDateFormat("MM/dd/yyy", Locale.ROOT),
|
||||||
) {
|
) {
|
||||||
override val useNewChapterEndpoint = false
|
override val useNewChapterEndpoint = false
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ class FoxWhite : Madara(
|
||||||
"Fox White",
|
"Fox White",
|
||||||
"https://foxwhite.com.br",
|
"https://foxwhite.com.br",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -5,6 +5,8 @@ import java.text.SimpleDateFormat
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
|
||||||
class FukushuunoYuusha : Madara(
|
class FukushuunoYuusha : Madara(
|
||||||
"Fukushuu no Yuusha", "https://fny-scantrad.com",
|
"Fukushuu no Yuusha",
|
||||||
"fr", dateFormat = SimpleDateFormat("dd/MM/yy", Locale.US)
|
"https://fny-scantrad.com",
|
||||||
|
"fr",
|
||||||
|
dateFormat = SimpleDateFormat("dd/MM/yy", Locale.US),
|
||||||
)
|
)
|
||||||
|
|
|
@ -11,7 +11,7 @@ class FurioScans : Madara(
|
||||||
"Furio Scans",
|
"Furio Scans",
|
||||||
"https://furioscans.com",
|
"https://furioscans.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -8,7 +8,7 @@ class GeassToon : Madara(
|
||||||
"GeassToon",
|
"GeassToon",
|
||||||
"https://geasstoon.com",
|
"https://geasstoon.com",
|
||||||
"tr",
|
"tr",
|
||||||
dateFormat = SimpleDateFormat("MMM d, yyy", Locale("tr"))
|
dateFormat = SimpleDateFormat("MMM d, yyy", Locale("tr")),
|
||||||
) {
|
) {
|
||||||
override val useNewChapterEndpoint = true
|
override val useNewChapterEndpoint = true
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,7 +10,7 @@ class GeceninLordu : Madara(
|
||||||
"Gecenin Lordu",
|
"Gecenin Lordu",
|
||||||
"https://geceninlordu.com/",
|
"https://geceninlordu.com/",
|
||||||
"tr",
|
"tr",
|
||||||
SimpleDateFormat("dd MMM yyyy", Locale("tr"))
|
SimpleDateFormat("dd MMM yyyy", Locale("tr")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val useLoadMoreSearch = false
|
override val useLoadMoreSearch = false
|
||||||
|
|
|
@ -11,7 +11,7 @@ class GloriousScan : Madara(
|
||||||
"Glorious Scan",
|
"Glorious Scan",
|
||||||
"https://gloriousscan.com",
|
"https://gloriousscan.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -8,7 +8,7 @@ class GloryManga : Madara(
|
||||||
"Glory Manga",
|
"Glory Manga",
|
||||||
"https://glorymanga.com",
|
"https://glorymanga.com",
|
||||||
"tr",
|
"tr",
|
||||||
dateFormat = SimpleDateFormat("dd/MM/yyy", Locale.ROOT)
|
dateFormat = SimpleDateFormat("dd/MM/yyy", Locale.ROOT),
|
||||||
) {
|
) {
|
||||||
override val useNewChapterEndpoint = true
|
override val useNewChapterEndpoint = true
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ class GloryScans : Madara(
|
||||||
"Glory Scans",
|
"Glory Scans",
|
||||||
"https://gloryscans.com",
|
"https://gloryscans.com",
|
||||||
"tr",
|
"tr",
|
||||||
dateFormat = SimpleDateFormat("d MMM yyy", Locale("tr"))
|
dateFormat = SimpleDateFormat("d MMM yyy", Locale("tr")),
|
||||||
) {
|
) {
|
||||||
override val useNewChapterEndpoint = false
|
override val useNewChapterEndpoint = false
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ class GoofFansub : Madara(
|
||||||
"Goof Fansub",
|
"Goof Fansub",
|
||||||
"https://gooffansub.com",
|
"https://gooffansub.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd/MM/yyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd/MM/yyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -10,7 +10,7 @@ class HattoriManga : Madara(
|
||||||
"Hattori Manga",
|
"Hattori Manga",
|
||||||
"https://hattorimanga.com",
|
"https://hattorimanga.com",
|
||||||
"tr",
|
"tr",
|
||||||
SimpleDateFormat("d MMM yyy", Locale("tr"))
|
SimpleDateFormat("d MMM yyy", Locale("tr")),
|
||||||
) {
|
) {
|
||||||
override fun pageListParse(document: Document): List<Page> {
|
override fun pageListParse(document: Document): List<Page> {
|
||||||
val blocked = document.select(".content-blocked").first()
|
val blocked = document.select(".content-blocked").first()
|
||||||
|
|
|
@ -11,7 +11,7 @@ class HelaScan : Madara(
|
||||||
"Hela Scan",
|
"Hela Scan",
|
||||||
"https://helascan.com",
|
"https://helascan.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -19,14 +19,14 @@ class HentaiCB : Madara("Hentai CB", "https://hentaicb.xyz", "vi", SimpleDateFor
|
||||||
return GET(
|
return GET(
|
||||||
"$baseUrl/manga/page/$page/?m_orderby=views",
|
"$baseUrl/manga/page/$page/?m_orderby=views",
|
||||||
formHeaders,
|
formHeaders,
|
||||||
CacheControl.FORCE_NETWORK
|
CacheControl.FORCE_NETWORK,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
override fun latestUpdatesRequest(page: Int): Request {
|
override fun latestUpdatesRequest(page: Int): Request {
|
||||||
return GET(
|
return GET(
|
||||||
"$baseUrl/manga/page/$page/?m_orderby=latest",
|
"$baseUrl/manga/page/$page/?m_orderby=latest",
|
||||||
formHeaders,
|
formHeaders,
|
||||||
CacheControl.FORCE_NETWORK
|
CacheControl.FORCE_NETWORK,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ class HentaiManga : Madara(
|
||||||
"Hentai Manga",
|
"Hentai Manga",
|
||||||
"https://hentaimanga.me",
|
"https://hentaimanga.me",
|
||||||
"en",
|
"en",
|
||||||
dateFormat = SimpleDateFormat("MMM d, yyyy", Locale.US)
|
dateFormat = SimpleDateFormat("MMM d, yyyy", Locale.US),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
// The website does not flag the content.
|
// The website does not flag the content.
|
||||||
|
|
|
@ -32,7 +32,7 @@ class Hentairead : Madara("HentaiRead", "https://hentairead.com", "en", dateForm
|
||||||
index,
|
index,
|
||||||
document.location(),
|
document.location(),
|
||||||
Uri.parse(pageUri).buildUpon().clearQuery().appendQueryParameter("ssl", "1")
|
Uri.parse(pageUri).buildUpon().clearQuery().appendQueryParameter("ssl", "1")
|
||||||
.appendQueryParameter("w", "1100").build().toString()
|
.appendQueryParameter("w", "1100").build().toString(),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,7 @@ class Hentairead : Madara("HentaiRead", "https://hentairead.com", "en", dateForm
|
||||||
SChapter.create().apply {
|
SChapter.create().apply {
|
||||||
name = "Chapter"
|
name = "Chapter"
|
||||||
setUrlWithoutDomain(response.request.url.encodedPath)
|
setUrlWithoutDomain(response.request.url.encodedPath)
|
||||||
}
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ class HentaiTeca : Madara(
|
||||||
"Hentai Teca",
|
"Hentai Teca",
|
||||||
"https://hentaiteca.net",
|
"https://hentaiteca.net",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -8,5 +8,5 @@ class HentaiXComic : Madara(
|
||||||
"HentaiXComic",
|
"HentaiXComic",
|
||||||
"https://hentaixcomic.com",
|
"https://hentaixcomic.com",
|
||||||
"en",
|
"en",
|
||||||
dateFormat = SimpleDateFormat("MMM d, yyyy", Locale.US)
|
dateFormat = SimpleDateFormat("MMM d, yyyy", Locale.US),
|
||||||
)
|
)
|
||||||
|
|
|
@ -8,5 +8,5 @@ class HentaiXYuri : Madara(
|
||||||
"HentaiXYuri",
|
"HentaiXYuri",
|
||||||
"https://hentaixyuri.com",
|
"https://hentaixyuri.com",
|
||||||
"en",
|
"en",
|
||||||
dateFormat = SimpleDateFormat("MMM d, yyyy", Locale.US)
|
dateFormat = SimpleDateFormat("MMM d, yyyy", Locale.US),
|
||||||
)
|
)
|
||||||
|
|
|
@ -8,7 +8,7 @@ class HerenScan : Madara(
|
||||||
"HerenScan",
|
"HerenScan",
|
||||||
"https://herenscan.com",
|
"https://herenscan.com",
|
||||||
"es",
|
"es",
|
||||||
dateFormat = SimpleDateFormat("d 'de' MMM 'de' yyy", Locale("es"))
|
dateFormat = SimpleDateFormat("d 'de' MMM 'de' yyy", Locale("es")),
|
||||||
) {
|
) {
|
||||||
override val useNewChapterEndpoint = true
|
override val useNewChapterEndpoint = true
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ class HM2D : Madara(
|
||||||
"HM2D",
|
"HM2D",
|
||||||
"https://mangadistrict.com/hdoujin/",
|
"https://mangadistrict.com/hdoujin/",
|
||||||
"en",
|
"en",
|
||||||
dateFormat = SimpleDateFormat("MMM d, yyyy", Locale.US)
|
dateFormat = SimpleDateFormat("MMM d, yyyy", Locale.US),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override fun mangaDetailsRequest(manga: SManga): Request {
|
override fun mangaDetailsRequest(manga: SManga): Request {
|
||||||
|
|
|
@ -8,5 +8,5 @@ class hManhwa : Madara(
|
||||||
"hManhwa",
|
"hManhwa",
|
||||||
"https://hmanhwa.com",
|
"https://hmanhwa.com",
|
||||||
"en",
|
"en",
|
||||||
dateFormat = SimpleDateFormat("dd MMM", Locale.US)
|
dateFormat = SimpleDateFormat("dd MMM", Locale.US),
|
||||||
)
|
)
|
||||||
|
|
|
@ -13,7 +13,7 @@ class IchirinNoHanaYuri : Madara(
|
||||||
"Ichirin No Hana Yuri",
|
"Ichirin No Hana Yuri",
|
||||||
"https://ichirinnohanayuriscan.com",
|
"https://ichirinnohanayuriscan.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -11,7 +11,7 @@ class IllusionScan : Madara(
|
||||||
"Illusion Scan",
|
"Illusion Scan",
|
||||||
"https://illusionscan.com",
|
"https://illusionscan.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -135,9 +135,9 @@ class ImmortalUpdates : Madara("Immortal Updates", "https://immortalupdates.com"
|
||||||
-1.0f, 0.0f, 0.0f, 0.0f, 255.0f,
|
-1.0f, 0.0f, 0.0f, 0.0f, 255.0f,
|
||||||
0.0f, -1.0f, 0.0f, 0.0f, 255.0f,
|
0.0f, -1.0f, 0.0f, 0.0f, 255.0f,
|
||||||
0.0f, 0.0f, -1.0f, 0.0f, 255.0f,
|
0.0f, 0.0f, -1.0f, 0.0f, 255.0f,
|
||||||
0.0f, 0.0f, 0.0f, 1.0f, 0.0f
|
0.0f, 0.0f, 0.0f, 1.0f, 0.0f,
|
||||||
)
|
),
|
||||||
)
|
),
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
canvas.drawBitmap(result, 0f, 0f, invertingPaint)
|
canvas.drawBitmap(result, 0f, 0f, invertingPaint)
|
||||||
|
@ -193,7 +193,7 @@ class ImmortalUpdates : Madara("Immortal Updates", "https://immortalupdates.com"
|
||||||
"""
|
"""
|
||||||
var _0x56dfa1=_0x217c;(function(_0x458c1d,_0x5a2370){var _0x4d7856=_0x217c,_0x1fa20f=_0x458c1d();while(!![]){try{var _0x34da05=-parseInt(_0x4d7856(0xac))/0x1+-parseInt(_0x4d7856(0xbc))/0x2*(-parseInt(_0x4d7856(0xb3))/0x3)+-parseInt(_0x4d7856(0xb8))/0x4+-parseInt(_0x4d7856(0xbb))/0x5*(parseInt(_0x4d7856(0xbd))/0x6)+parseInt(_0x4d7856(0xba))/0x7*(-parseInt(_0x4d7856(0xae))/0x8)+-parseInt(_0x4d7856(0xb0))/0x9+-parseInt(_0x4d7856(0xb9))/0xa*(-parseInt(_0x4d7856(0xaf))/0xb);if(_0x34da05===_0x5a2370)break;else _0x1fa20f['push'](_0x1fa20f['shift']());}catch(_0x7dd169){_0x1fa20f['push'](_0x1fa20f['shift']());}}}(_0x3c3e,0x4ade6));class Location{constructor(_0x2d256a){var _0x3e4741=_0x217c;this[_0x3e4741(0xaa)]=_0x2d256a;}[_0x56dfa1(0xb7)](){var _0x6040fb=_0x56dfa1;return this[_0x6040fb(0xaa)];}}function _0x3c3e(){var _0x27ebfd=['mtu0nJCYmLfWu2Hpvq','C3rYAw5NAwz5','z2v0x2LTz19KyxrH','mJfyB3f3sxq','Bg9JyxrPB24','Ahr0Chm6lY8','sLnptG','Dg9tDhjPBMC','nta3mZq0rhbJv1jR','mtyYotaWnZb4rxnwAeO','mtK2nJa5qMHUBMTW','mJqYndaWnwjTsu5nAq','ndGWmtjpAgv4sKu','nKrSy1Pcza','AhjLzG','zxzHBa','mte3mdy1ywTgEuLY','z2v0x2LTzW','mty4vLP5D05q','mtfIBgDhyue'];_0x3c3e=function(){return _0x27ebfd;};return _0x3c3e();}function _0x217c(_0x3aa1f3,_0x1793f5){var _0x3c3edb=_0x3c3e();return _0x217c=function(_0x217ce0,_0x3d5a46){_0x217ce0=_0x217ce0-0xaa;var _0x14b4f0=_0x3c3edb[_0x217ce0];if(_0x217c['DsHVWi']===undefined){var _0x59277=function(_0x2d256a){var _0x54ceb8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x41845c='',_0x15e7f4='';for(var _0x269688=0x0,_0x3cc079,_0x25d416,_0xa002fc=0x0;_0x25d416=_0x2d256a['charAt'](_0xa002fc++);~_0x25d416&&(_0x3cc079=_0x269688%0x4?_0x3cc079*0x40+_0x25d416:_0x25d416,_0x269688++%0x4)?_0x41845c+=String['fromCharCode'](0xff&_0x3cc079>>(-0x2*_0x269688&0x6)):0x0){_0x25d416=_0x54ceb8['indexOf'](_0x25d416);}for(var _0x1d6105=0x0,_0x225416=_0x41845c['length'];_0x1d6105<_0x225416;_0x1d6105++){_0x15e7f4+='%'+('00'+_0x41845c['charCodeAt'](_0x1d6105)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15e7f4);};_0x217c['fyYiDX']=_0x59277,_0x3aa1f3=arguments,_0x217c['DsHVWi']=!![];}var _0x19df2c=_0x3c3edb[0x0],_0x478efb=_0x217ce0+_0x19df2c,_0x5309ed=_0x3aa1f3[_0x478efb];return!_0x5309ed?(_0x14b4f0=_0x217c['fyYiDX'](_0x14b4f0),_0x3aa1f3[_0x478efb]=_0x14b4f0):_0x14b4f0=_0x5309ed,_0x14b4f0;},_0x217c(_0x3aa1f3,_0x1793f5);}this[_0x56dfa1(0xb4)]=new Location(_0x56dfa1(0xb5)),this[_0x56dfa1(0xad)]=(..._0x54ceb8)=>[..._0x54ceb8],this[_0x56dfa1(0xb2)]=_0x41845c=>this[_0x56dfa1(0xb6)][_0x56dfa1(0xb1)](this[_0x56dfa1(0xab)](_0x41845c));
|
var _0x56dfa1=_0x217c;(function(_0x458c1d,_0x5a2370){var _0x4d7856=_0x217c,_0x1fa20f=_0x458c1d();while(!![]){try{var _0x34da05=-parseInt(_0x4d7856(0xac))/0x1+-parseInt(_0x4d7856(0xbc))/0x2*(-parseInt(_0x4d7856(0xb3))/0x3)+-parseInt(_0x4d7856(0xb8))/0x4+-parseInt(_0x4d7856(0xbb))/0x5*(parseInt(_0x4d7856(0xbd))/0x6)+parseInt(_0x4d7856(0xba))/0x7*(-parseInt(_0x4d7856(0xae))/0x8)+-parseInt(_0x4d7856(0xb0))/0x9+-parseInt(_0x4d7856(0xb9))/0xa*(-parseInt(_0x4d7856(0xaf))/0xb);if(_0x34da05===_0x5a2370)break;else _0x1fa20f['push'](_0x1fa20f['shift']());}catch(_0x7dd169){_0x1fa20f['push'](_0x1fa20f['shift']());}}}(_0x3c3e,0x4ade6));class Location{constructor(_0x2d256a){var _0x3e4741=_0x217c;this[_0x3e4741(0xaa)]=_0x2d256a;}[_0x56dfa1(0xb7)](){var _0x6040fb=_0x56dfa1;return this[_0x6040fb(0xaa)];}}function _0x3c3e(){var _0x27ebfd=['mtu0nJCYmLfWu2Hpvq','C3rYAw5NAwz5','z2v0x2LTz19KyxrH','mJfyB3f3sxq','Bg9JyxrPB24','Ahr0Chm6lY8','sLnptG','Dg9tDhjPBMC','nta3mZq0rhbJv1jR','mtyYotaWnZb4rxnwAeO','mtK2nJa5qMHUBMTW','mJqYndaWnwjTsu5nAq','ndGWmtjpAgv4sKu','nKrSy1Pcza','AhjLzG','zxzHBa','mte3mdy1ywTgEuLY','z2v0x2LTzW','mty4vLP5D05q','mtfIBgDhyue'];_0x3c3e=function(){return _0x27ebfd;};return _0x3c3e();}function _0x217c(_0x3aa1f3,_0x1793f5){var _0x3c3edb=_0x3c3e();return _0x217c=function(_0x217ce0,_0x3d5a46){_0x217ce0=_0x217ce0-0xaa;var _0x14b4f0=_0x3c3edb[_0x217ce0];if(_0x217c['DsHVWi']===undefined){var _0x59277=function(_0x2d256a){var _0x54ceb8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x41845c='',_0x15e7f4='';for(var _0x269688=0x0,_0x3cc079,_0x25d416,_0xa002fc=0x0;_0x25d416=_0x2d256a['charAt'](_0xa002fc++);~_0x25d416&&(_0x3cc079=_0x269688%0x4?_0x3cc079*0x40+_0x25d416:_0x25d416,_0x269688++%0x4)?_0x41845c+=String['fromCharCode'](0xff&_0x3cc079>>(-0x2*_0x269688&0x6)):0x0){_0x25d416=_0x54ceb8['indexOf'](_0x25d416);}for(var _0x1d6105=0x0,_0x225416=_0x41845c['length'];_0x1d6105<_0x225416;_0x1d6105++){_0x15e7f4+='%'+('00'+_0x41845c['charCodeAt'](_0x1d6105)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15e7f4);};_0x217c['fyYiDX']=_0x59277,_0x3aa1f3=arguments,_0x217c['DsHVWi']=!![];}var _0x19df2c=_0x3c3edb[0x0],_0x478efb=_0x217ce0+_0x19df2c,_0x5309ed=_0x3aa1f3[_0x478efb];return!_0x5309ed?(_0x14b4f0=_0x217c['fyYiDX'](_0x14b4f0),_0x3aa1f3[_0x478efb]=_0x14b4f0):_0x14b4f0=_0x5309ed,_0x14b4f0;},_0x217c(_0x3aa1f3,_0x1793f5);}this[_0x56dfa1(0xb4)]=new Location(_0x56dfa1(0xb5)),this[_0x56dfa1(0xad)]=(..._0x54ceb8)=>[..._0x54ceb8],this[_0x56dfa1(0xb2)]=_0x41845c=>this[_0x56dfa1(0xb6)][_0x56dfa1(0xb1)](this[_0x56dfa1(0xab)](_0x41845c));
|
||||||
""".trimIndent(),
|
""".trimIndent(),
|
||||||
"?"
|
"?",
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ class ImperioDaBritannia : Madara(
|
||||||
"Sagrado Império da Britannia",
|
"Sagrado Império da Britannia",
|
||||||
"https://imperiodabritannia.com",
|
"https://imperiodabritannia.com",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -11,7 +11,7 @@ class ImperioScans : Madara(
|
||||||
"Império Scans",
|
"Império Scans",
|
||||||
"https://imperioscans.com.br",
|
"https://imperioscans.com.br",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -14,7 +14,7 @@ class Izakaya : Madara(
|
||||||
"Izakaya",
|
"Izakaya",
|
||||||
"https://leitorizakaya.net",
|
"https://leitorizakaya.net",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -8,5 +8,5 @@ class Jaiminisboxnet : Madara(
|
||||||
"JaiminisBox.net",
|
"JaiminisBox.net",
|
||||||
"https://jaiminisbox.net",
|
"https://jaiminisbox.net",
|
||||||
"en",
|
"en",
|
||||||
dateFormat = SimpleDateFormat("MMM d, yyyy", Locale.US)
|
dateFormat = SimpleDateFormat("MMM d, yyyy", Locale.US),
|
||||||
)
|
)
|
||||||
|
|
|
@ -11,7 +11,7 @@ class KalangoScan : Madara(
|
||||||
"Kalango Scan",
|
"Kalango Scan",
|
||||||
"https://kalangoscan.online",
|
"https://kalangoscan.online",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
|
@ -11,7 +11,7 @@ class KamiSamaExplorer : Madara(
|
||||||
"Kami Sama Explorer",
|
"Kami Sama Explorer",
|
||||||
"https://leitor.kamisama.com.br",
|
"https://leitor.kamisama.com.br",
|
||||||
"pt-BR",
|
"pt-BR",
|
||||||
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR"))
|
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR")),
|
||||||
) {
|
) {
|
||||||
|
|
||||||
override val client: OkHttpClient = super.client.newBuilder()
|
override val client: OkHttpClient = super.client.newBuilder()
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue