LxHentai: Update List Genre and add rate limit (#10491)
This commit is contained in:
parent
ae0992fc73
commit
8fded6cbf7
@ -1,7 +1,7 @@
|
|||||||
ext {
|
ext {
|
||||||
extName = 'LXManga'
|
extName = 'LXManga'
|
||||||
extClass = '.LxHentai'
|
extClass = '.LxHentai'
|
||||||
extVersionCode = 22
|
extVersionCode = 23
|
||||||
isNsfw = true
|
isNsfw = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ import android.content.SharedPreferences
|
|||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.preference.PreferenceScreen
|
import androidx.preference.PreferenceScreen
|
||||||
import eu.kanade.tachiyomi.network.GET
|
import eu.kanade.tachiyomi.network.GET
|
||||||
|
import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
||||||
import eu.kanade.tachiyomi.source.ConfigurableSource
|
import eu.kanade.tachiyomi.source.ConfigurableSource
|
||||||
import eu.kanade.tachiyomi.source.model.Filter
|
import eu.kanade.tachiyomi.source.model.Filter
|
||||||
import eu.kanade.tachiyomi.source.model.FilterList
|
import eu.kanade.tachiyomi.source.model.FilterList
|
||||||
@ -38,7 +39,9 @@ class LxHentai : ParsedHttpSource(), ConfigurableSource {
|
|||||||
|
|
||||||
override val supportsLatest = true
|
override val supportsLatest = true
|
||||||
|
|
||||||
override val client: OkHttpClient = network.cloudflareClient
|
override val client: OkHttpClient = network.cloudflareClient.newBuilder()
|
||||||
|
.rateLimit(3)
|
||||||
|
.build()
|
||||||
|
|
||||||
override fun headersBuilder(): Headers.Builder = super.headersBuilder().add("Referer", baseUrl)
|
override fun headersBuilder(): Headers.Builder = super.headersBuilder().add("Referer", baseUrl)
|
||||||
|
|
||||||
@ -92,8 +95,8 @@ class LxHentai : ParsedHttpSource(), ConfigurableSource {
|
|||||||
when (it) {
|
when (it) {
|
||||||
is GenreList -> it.state.forEach { genre ->
|
is GenreList -> it.state.forEach { genre ->
|
||||||
when (genre.state) {
|
when (genre.state) {
|
||||||
Filter.TriState.STATE_INCLUDE -> addQueryParameter("filter[accept_genres]", genre.id.toString())
|
Filter.TriState.STATE_INCLUDE -> addQueryParameter("filter[accept_genres]", genre.id)
|
||||||
Filter.TriState.STATE_EXCLUDE -> addQueryParameter("filter[reject_genres]", genre.id.toString())
|
Filter.TriState.STATE_EXCLUDE -> addQueryParameter("filter[reject_genres]", genre.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is Author -> if (canAddTextFilter && it.state.isNotEmpty()) {
|
is Author -> if (canAddTextFilter && it.state.isNotEmpty()) {
|
||||||
@ -185,97 +188,142 @@ class LxHentai : ParsedHttpSource(), ConfigurableSource {
|
|||||||
state,
|
state,
|
||||||
)
|
)
|
||||||
|
|
||||||
private class Status : UriPartFilter(
|
private class Status() : UriPartFilter(
|
||||||
"Trạng thái",
|
"Trạng thái",
|
||||||
arrayOf(
|
arrayOf(
|
||||||
Pair("Tất cả", "1,2"),
|
Pair("Tất cả", "ongoing,completed,paused"),
|
||||||
Pair("Đang tiến hành", "2"),
|
Pair("Đang tiến hành", "ongoing"),
|
||||||
Pair("Đã hoàn thành", "1"),
|
Pair("Đã hoàn thành", "completed"),
|
||||||
|
Pair("Tạm ngưng", "paused"),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
||||||
private class Genre(name: String, val id: Int) : Filter.TriState(name)
|
private class Genre(name: String, val id: String) : Filter.TriState(name)
|
||||||
private class GenreList(genres: List<Genre>) : Filter.Group<Genre>("Thể loại", genres)
|
private class GenreList(genres: List<Genre>) : Filter.Group<Genre>("Thể loại", genres)
|
||||||
|
|
||||||
private class Author : Filter.Text("Tác giả", "")
|
private class Author : Filter.Text("Tác giả", "")
|
||||||
private class Doujinshi : Filter.Text("Doujinshi", "")
|
private class Doujinshi : Filter.Text("Doujinshi", "")
|
||||||
|
|
||||||
override fun getFilterList(): FilterList = FilterList(
|
override fun getFilterList(): FilterList = FilterList(
|
||||||
SortBy(3),
|
SortBy(),
|
||||||
GenreList(getGenreList()),
|
GenreList(getGenreList()),
|
||||||
Filter.Header("Không dùng được với nhau và với tìm tựa đề"),
|
Filter.Header("Không dùng được với nhau và với tìm tựa đề"),
|
||||||
|
Status(),
|
||||||
Author(),
|
Author(),
|
||||||
Doujinshi(),
|
Doujinshi(),
|
||||||
)
|
)
|
||||||
|
|
||||||
// console.log([...document.querySelectorAll("label.ml-3.inline-flex.items-center.cursor-pointer")].map(e => `Genre("${e.querySelector(".truncate").innerText}", ${e.getAttribute("@click").replace('toggleGenre(\'', '').replace('\')', '')}),`).join("\n"))
|
// console.log([...document.querySelectorAll("label.ml-3.inline-flex.items-center.cursor-pointer")].map(e => `Genre("${e.querySelector(".truncate").innerText}", ${e.getAttribute("@click").replace('toggleGenre(\'', '').replace('\')', '')}),`).join("\n"))
|
||||||
private fun getGenreList(): List<Genre> = listOf(
|
private fun getGenreList(): List<Genre> = listOf(
|
||||||
Genre("Mature", 1),
|
Genre("3D", "3d"),
|
||||||
Genre("Manhwa", 2),
|
Genre("Adult", "adult"),
|
||||||
Genre("Group", 3),
|
Genre("Ahegao", "ahegao"),
|
||||||
Genre("Housewife", 4),
|
Genre("Anal", "anal"),
|
||||||
Genre("NTR", 5),
|
Genre("Animal ", "animal-girl"),
|
||||||
Genre("Adult", 6),
|
Genre("Art Book", "art-book"),
|
||||||
Genre("Series", 7),
|
Genre("Artist", "artist"),
|
||||||
Genre("Complete", 8),
|
Genre("Bbm", "bbm"),
|
||||||
Genre("Ngực Lớn", 9),
|
Genre("BDSM", "bdsm"),
|
||||||
Genre("Lãng Mạn", 10),
|
Genre("Beach", "beach"),
|
||||||
Genre("Truyện Màu", 11),
|
Genre("Beast", "beast"),
|
||||||
Genre("Mind Break", 12),
|
Genre("Big breasts ", "big-breasts"),
|
||||||
Genre("Mắt Kính", 13),
|
Genre("Big dick", "big-dick"),
|
||||||
Genre("Ngực Nhỏ", 14),
|
Genre("Big vagina", "big-vagina"),
|
||||||
Genre("Fantasy", 15),
|
Genre("Blowjob", "blowjob"),
|
||||||
Genre("Ecchi", 16),
|
Genre("Body modifications", "body-modifications"),
|
||||||
Genre("Bạo Dâm", 17),
|
Genre("Breast Sucking", "breast-sucking"),
|
||||||
Genre("Harem", 18),
|
Genre("Bukkake", "bukkake"),
|
||||||
Genre("Hài Hước", 19),
|
Genre("CG", "cg"),
|
||||||
Genre("Cosplay", 20),
|
Genre("Chikan", "chikan"),
|
||||||
Genre("Hầu Gái", 21),
|
Genre("Comic 18+", "comic-18+"),
|
||||||
Genre("Loli", 22),
|
Genre("Condom", "condom"),
|
||||||
Genre("Shota", 23),
|
Genre("Cosplay", "cosplay"),
|
||||||
Genre("Gangbang", 24),
|
Genre("Creampie", "creampie"),
|
||||||
Genre("Doujinshi", 25),
|
Genre("Đam mỹ", "dam-my"),
|
||||||
Genre("Guro", 26),
|
Genre("Defloration", "defloration"),
|
||||||
Genre("Virgin", 27),
|
Genre("Dirty old man", "dirty-old-man"),
|
||||||
Genre("OneShot", 28),
|
Genre("Double", "double-penetration"),
|
||||||
Genre("Chơi Hai Lỗ", 29),
|
Genre("Doujinshi", "doujinshi"),
|
||||||
Genre("Hậu Môn", 30),
|
Genre("Drama", "drama"),
|
||||||
Genre("Nữ Sinh", 31),
|
Genre("Elf", "elf"),
|
||||||
Genre("Mang Thai", 32),
|
Genre("Fantasy", "fantasy"),
|
||||||
Genre("Giáo Viên", 33),
|
Genre("Femdom", "femdom"),
|
||||||
Genre("Loạn Luân", 34),
|
Genre("Fingering", "fingering"),
|
||||||
Genre("Truyện Không Che", 35),
|
Genre("First time", "first-time"),
|
||||||
Genre("Futanari", 36),
|
Genre("Footjob", "footjob"),
|
||||||
Genre("Yuri", 37),
|
Genre("Foursome", "foursome"),
|
||||||
Genre("Nô Lệ", 38),
|
Genre("Full color", "full-color"),
|
||||||
Genre("Đồ Bơi", 39),
|
Genre("Funny", "funny"),
|
||||||
Genre("Thể Thao", 40),
|
Genre("Furry", "furry"),
|
||||||
Genre("Truyện Ngắn", 41),
|
Genre("Futanari", "futanari"),
|
||||||
Genre("Lão Gìa Dâm", 42),
|
Genre("Gangbang", "gangbang"),
|
||||||
Genre("Hãm Hiếp", 43),
|
Genre("Gender bender", "gender-bender"),
|
||||||
Genre("Monster Girl", 44),
|
Genre("Girl love", "girl-love"),
|
||||||
Genre("Y Tá", 45),
|
Genre("glasses", "glasses"),
|
||||||
Genre("Supernatural", 46),
|
Genre("Group", "group"),
|
||||||
Genre("3D", 47),
|
Genre("Handjob", "handjob"),
|
||||||
Genre("Truyện Comic", 48),
|
Genre("Harem", "harem"),
|
||||||
Genre("Animal girl", 49),
|
Genre("Housewife", "housewife"),
|
||||||
Genre("Thú Vật", 50),
|
Genre("Incest", "incest"),
|
||||||
Genre("Kinh Dị", 51),
|
Genre("Incomplete", "incomplete"),
|
||||||
Genre("Quái Vật", 52),
|
Genre("Insect", "insect"),
|
||||||
Genre("Xúc Tua", 53),
|
Genre("Inseki", "inseki"),
|
||||||
Genre("Gender Bender", 54),
|
Genre("Kinh dị", "kinh dị"),
|
||||||
Genre("Yaoi", 55),
|
Genre("Kogal", "kogal"),
|
||||||
Genre("CG", 56),
|
Genre("Lãng mãn", "lang-man"),
|
||||||
Genre("Trap", 57),
|
Genre("Lếu lều", "leu-leu"),
|
||||||
Genre("Furry", 58),
|
Genre("Lingerie", "lingerie"),
|
||||||
Genre("Mind Control", 59),
|
Genre("Loạn luân chị em", "loan-luan-chi-em"),
|
||||||
Genre("Elf", 60),
|
Genre("Loli", "loli"),
|
||||||
Genre("Côn Trùng", 61),
|
Genre("LXHENTAI", "lxhentai"),
|
||||||
Genre("Kogal", 62),
|
Genre("Maid", "maid"),
|
||||||
Genre("Artist", 63),
|
Genre("Manhwa", "manhwa"),
|
||||||
Genre("Scat", 64),
|
Genre("Masturbation", "masturbation"),
|
||||||
Genre("Milf", 65),
|
Genre("Mature", "mature"),
|
||||||
Genre("LXHENTAI", 66),
|
Genre("Milf", "milf"),
|
||||||
|
Genre("Mind break", "mind-break"),
|
||||||
|
Genre("Mind control", "mind-control"),
|
||||||
|
Genre("Monster", "monster"),
|
||||||
|
Genre("Monster Girl", "monster-girl"),
|
||||||
|
Genre("mother", "mother"),
|
||||||
|
Genre("No sex ", "no-sex"),
|
||||||
|
Genre("NTR", "ntr"),
|
||||||
|
Genre("NUN", "nun"),
|
||||||
|
Genre("Nurse", "nurse"),
|
||||||
|
Genre("Office", "office-lady"),
|
||||||
|
Genre("OneShot", "oneshot"),
|
||||||
|
Genre("Orgasm denial", "orgasm-denial"),
|
||||||
|
Genre("Pregnant", "pregnant"),
|
||||||
|
Genre("Rape", "rape"),
|
||||||
|
Genre("SCAT", "scat"),
|
||||||
|
Genre("Schoolboy outfit", "schoolboy-outfit"),
|
||||||
|
Genre("Schoolgirl outfit", "schoolgirl-outfit"),
|
||||||
|
Genre("Series", "series"),
|
||||||
|
Genre("Shota", "shota"),
|
||||||
|
Genre("Slave", "slave"),
|
||||||
|
Genre("Small", "small-breasts"),
|
||||||
|
Genre("Socks", "socks"),
|
||||||
|
Genre("Sole female", "sole-female"),
|
||||||
|
Genre("Sole male", "sole-male"),
|
||||||
|
Genre("Sport", "sport"),
|
||||||
|
Genre("Squirting", "squirting"),
|
||||||
|
Genre("Story arc", "story-arc"),
|
||||||
|
Genre("Succubus", "succubus"),
|
||||||
|
Genre("Supernatural", "supernatural"),
|
||||||
|
Genre("swimsuit", "swimsuit"),
|
||||||
|
Genre("Swinging", "swinging"),
|
||||||
|
Genre("Teacher", "teacher"),
|
||||||
|
Genre("Three some", "three-some"),
|
||||||
|
Genre("Toys", "toys"),
|
||||||
|
Genre("Trap", "trap"),
|
||||||
|
Genre("Truyện ngắn", "truyen-ngan"),
|
||||||
|
Genre("Tự sướng", "tu-suong"),
|
||||||
|
Genre("Uncensored", "uncensored"),
|
||||||
|
Genre("Vanilla", "vanilla"),
|
||||||
|
Genre("virginity", "virginity"),
|
||||||
|
Genre("Xúc tua", "xuc-tua"),
|
||||||
|
Genre("Yaoi", "yaoi"),
|
||||||
|
Genre("Yuri", "yuri"),
|
||||||
)
|
)
|
||||||
|
|
||||||
private val preferences: SharedPreferences = getPreferences()
|
private val preferences: SharedPreferences = getPreferences()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user