From d1c5daea4e7d7973011ace5cd29356ff53917c68 Mon Sep 17 00:00:00 2001 From: AlphaBoom <30779939+AlphaBoom@users.noreply.github.com> Date: Thu, 6 Feb 2025 05:58:39 +0800 Subject: [PATCH] =?UTF-8?q?Add=20iyf(=E7=88=B1=E5=A3=B9=E5=B8=86)=20(#616)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/zh/iyf/build.gradle | 7 + src/zh/iyf/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 6852 bytes src/zh/iyf/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 3534 bytes src/zh/iyf/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 10366 bytes src/zh/iyf/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 20100 bytes src/zh/iyf/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 30888 bytes .../animeextension/zh/iyf/Filters.kt | 197 +++++++++++++ .../tachiyomi/animeextension/zh/iyf/Iyf.kt | 265 ++++++++++++++++++ .../tachiyomi/animeextension/zh/iyf/IyfDTO.kt | 77 +++++ 9 files changed, 546 insertions(+) create mode 100644 src/zh/iyf/build.gradle create mode 100644 src/zh/iyf/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/zh/iyf/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/zh/iyf/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/zh/iyf/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/zh/iyf/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/zh/iyf/src/eu/kanade/tachiyomi/animeextension/zh/iyf/Filters.kt create mode 100644 src/zh/iyf/src/eu/kanade/tachiyomi/animeextension/zh/iyf/Iyf.kt create mode 100644 src/zh/iyf/src/eu/kanade/tachiyomi/animeextension/zh/iyf/IyfDTO.kt diff --git a/src/zh/iyf/build.gradle b/src/zh/iyf/build.gradle new file mode 100644 index 00000000..b5dc7aca --- /dev/null +++ b/src/zh/iyf/build.gradle @@ -0,0 +1,7 @@ +ext { + extName = 'iyf' + extClass = '.Iyf' + extVersionCode = 1 +} + +apply from: "$rootDir/common.gradle" diff --git a/src/zh/iyf/res/mipmap-hdpi/ic_launcher.png b/src/zh/iyf/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..ec3d9955f95f131b99669212a7d539986d1d8ace GIT binary patch literal 6852 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 literal 0 HcmV?d00001 diff --git a/src/zh/iyf/res/mipmap-xxhdpi/ic_launcher.png b/src/zh/iyf/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8617de5bef2ce559dfb00e2243e3b1f2be67a910 GIT binary patch literal 20100 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, + val key: String, +) : AnimeFilter.Select(name, options.map { it.first }.toTypedArray()) { + val selected + get() = options[state].second +} + +class TypeFilter(options: List> = DEFAULT_TYPES) : + PairSelectFilter("类型", options, "cid") + +class RegionFilter(options: List> = DEFAULT_REGIONS) : + PairSelectFilter("地区", options, "region") + +class LangFilter(options: List> = DEFAULT_LANG) : + PairSelectFilter("语言", options, "language") + +class YearFilter(options: List> = DEFAULT_YEAR) : + PairSelectFilter("年份", options, "year") + +class QualityFilter(options: List> = DEFAULT_QUALITY) : + PairSelectFilter("画质", options, "vipResource") + +class StatusFilter(options: List> = DEFAULT_STATUS) : + PairSelectFilter("状态", options, "isserial") + +class SortFilter(private val options: List> = DEFAULT_SORT) : + AnimeFilter.Sort("排序", options.map { it.first }.toTypedArray(), Selection(0, false)) { + val desc + get() = if (state?.ascending == true) { + 0 + } else { + 1 + } + val orderBy + get() = options[state?.index ?: 0].second +} + +//region default filter config +private val DEFAULT_TYPES = listOf( + "全部板块" to "0,1", + "动漫" to "0,1,6", + "电影" to "0,1,3", + "电视剧" to "0,1,4", + "综艺" to "0,1,5", + "体育" to "0,1,95", + "纪录片" to "0,1,7", + "动漫-热血" to "0,1,6,46", + "动漫-格斗" to "0,1,6,47", + "动漫-机战" to "0,1,6,48", + "动漫-少女" to "0,1,6,49", + "动漫-竞技" to "0,1,6,51", + "动漫-科幻" to "0,1,6,52", + "动漫-魔幻" to "0,1,6,53", + "动漫-爆笑" to "0,1,6,54", + "动漫-推理" to "0,1,6,55", + "动漫-冒险" to "0,1,6,121", + "动漫-恋爱" to "0,1,6,120", + "动漫-校园" to "0,1,6,119", + "动漫-治愈" to "0,1,6,118", + "动漫-泡面" to "0,1,6,117", + "动漫-穿越" to "0,1,6,116", + "动漫-灵异" to "0,1,6,56", + "动漫-耽美" to "0,1,6,122", + "动漫-剧场版" to "0,1,6,57", + "动漫-其它" to "0,1,6,58", + "电影-喜剧" to "0,1,3,19", + "电影-爱情" to "0,1,3,20", + "电影-动作" to "0,1,3,21", + "电影-犯罪" to "0,1,3,22", + "电影-科幻" to "0,1,3,23", + "电影-奇幻" to "0,1,3,24", + "电影-冒险" to "0,1,3,25", + "电影-灾难" to "0,1,3,26", + "电影-恐怖" to "0,1,3,123", + "电影-惊悚" to "0,1,3,27", + "电影-剧情" to "0,1,3,28", + "电影-战争" to "0,1,3,29", + "电影-歌舞" to "0,1,3,30", + "电影-经典" to "0,1,3,31", + "电影-悬疑" to "0,1,3,32", + "电影-动画" to "0,1,3,113", + "电影-同性" to "0,1,3,124", + "电影-网络电影" to "0,1,3,125", + "电视剧-偶像" to "0,1,4,129", + "电视剧-爱情" to "0,1,4,146", + "电视剧-言情" to "0,1,4,127", + "电视剧-古装" to "0,1,4,126", + "电视剧-历史" to "0,1,4,141", + "电视剧-玄幻" to "0,1,4,142", + "电视剧-谍战" to "0,1,4,136", + "电视剧-历险" to "0,1,4,143", + "电视剧-都市" to "0,1,4,132", + "电视剧-科幻" to "0,1,4,144", + "电视剧-军旅" to "0,1,4,135", + "电视剧-喜剧" to "0,1,4,133", + "电视剧-武侠" to "0,1,4,128", + "电视剧-江湖" to "0,1,4,145", + "电视剧-罪案" to "0,1,4,138", + "电视剧-青春" to "0,1,4,131", + "电视剧-家庭" to "0,1,4,130", + "电视剧-战争" to "0,1,4,134", + "电视剧-悬疑" to "0,1,4,137", + "电视剧-穿越" to "0,1,4,139", + "电视剧-宫廷" to "0,1,4,140", + "电视剧-神话" to "0,1,4,147", + "电视剧-商战" to "0,1,4,148", + "电视剧-警匪" to "0,1,4,149", + "电视剧-动作" to "0,1,4,150", + "电视剧-惊悚" to "0,1,4,151", + "电视剧-剧情" to "0,1,4,152", + "电视剧-同性" to "0,1,4,153", + "电视剧-奇幻" to "0,1,4,154", + "综艺-真人秀" to "0,1,5,39", + "综艺-选秀" to "0,1,5,38", + "综艺-网综" to "0,1,5,94", + "综艺-脱口秀" to "0,1,5,43", + "综艺-搞笑" to "0,1,5,40", + "综艺-竞技" to "0,1,5,91", + "综艺-情感" to "0,1,5,33", + "综艺-访谈" to "0,1,5,34", + "综艺-演唱会" to "0,1,5,44", + "综艺-晚会" to "0,1,5,92", + "综艺-其它" to "0,1,5,45", + "体育-奥运" to "0,1,95,99", + "体育-综合" to "0,1,95,98", + "体育-篮球" to "0,1,95,97", + "体育-足球" to "0,1,95,96", + "纪录片-文化" to "0,1,7,50", + "纪录片-探索" to "0,1,7,59", + "纪录片-军事" to "0,1,7,60", + "纪录片-解密" to "0,1,7,61", + "纪录片-科技" to "0,1,7,62", + "纪录片-历史" to "0,1,7,63", + "纪录片-人物" to "0,1,7,64", + "纪录片-自然" to "0,1,7,66", + "纪录片-其它" to "0,1,7,67", +) +private val DEFAULT_REGIONS = listOf( + "全部地区" to "", + "大陆" to "大陆", + "香港" to "香港", + "台湾" to "台湾", + "日本" to "日本", + "韩国" to "韩国", + "欧美" to "欧美", + "英国" to "英国", + "泰国" to "泰国", + "其它" to "其它", +) +private val DEFAULT_LANG = listOf( + "全部语言" to "", + "国语" to "国语", + "粤语" to "粤语", + "英语" to "英语", + "韩语" to "韩语", + "日语" to "日语", + "西班牙语" to "西班牙语", + "法语" to "法语", + "德语" to "德语", + "意大利语" to "意大利语", + "泰国语" to "泰国语", + "其它" to "其它", +) +private val DEFAULT_YEAR = listOf( + "全部年份" to "", + "今年" to "今年", + "去年" to "去年", + "更早" to "更早", + "90年代" to "90年代", + "80年代" to "80年代", + "怀旧" to "怀旧", +) +private val DEFAULT_STATUS = listOf( + "全部" to "-1", + "全集" to "0", + "连载中" to "1", +) +private val DEFAULT_QUALITY = listOf( + "全部画质" to "", + "4K" to "4K", + "1080P" to "1080P", + "900P" to "900P", + "720P" to "720P", +) +private val DEFAULT_SORT = listOf( + "添加时间" to "0", + "更新时间" to "1", + "人气高低" to "2", + "评分高低" to "3", +) +//endregion diff --git a/src/zh/iyf/src/eu/kanade/tachiyomi/animeextension/zh/iyf/Iyf.kt b/src/zh/iyf/src/eu/kanade/tachiyomi/animeextension/zh/iyf/Iyf.kt new file mode 100644 index 00000000..28cdcb99 --- /dev/null +++ b/src/zh/iyf/src/eu/kanade/tachiyomi/animeextension/zh/iyf/Iyf.kt @@ -0,0 +1,265 @@ +package eu.kanade.tachiyomi.animeextension.zh.iyf + +import eu.kanade.tachiyomi.animesource.model.AnimeFilterList +import eu.kanade.tachiyomi.animesource.model.AnimesPage +import eu.kanade.tachiyomi.animesource.model.SAnime +import eu.kanade.tachiyomi.animesource.model.SEpisode +import eu.kanade.tachiyomi.animesource.model.Video +import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.POST +import eu.kanade.tachiyomi.util.asJsoup +import eu.kanade.tachiyomi.util.parseAs +import kotlinx.serialization.json.Json +import kotlinx.serialization.json.JsonElement +import kotlinx.serialization.json.jsonArray +import kotlinx.serialization.json.jsonObject +import kotlinx.serialization.json.jsonPrimitive +import okhttp3.FormBody +import okhttp3.Headers +import okhttp3.HttpUrl +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.Request +import okhttp3.Response +import uy.kohesive.injekt.injectLazy +import java.security.MessageDigest +import java.text.SimpleDateFormat +import java.util.Locale + +class Iyf : AnimeHttpSource() { + override val baseUrl: String + get() = "https://www.iyf.tv" + override val lang: String + get() = "zh" + override val name: String + get() = "爱壹帆" + override val supportsLatest: Boolean + get() = true + + override fun headersBuilder(): Headers.Builder { + // Force the use of desktop user agent. + return super.headersBuilder().set( + "User-Agent", + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36", + ) + } + + private val json by injectLazy() + private val pConfig: PConfig by lazy { + val doc = client.newCall(GET("$baseUrl/list", headers)).execute().asJsoup() + val script = doc.selectFirst("script:containsData(injectJson)")!!.data() + val pConfigStr = + script.substringAfter("\"pConfig\":").let { it.substring(0, it.indexOf("}") + 1) } + val pConfig = json.decodeFromString(pConfigStr).jsonObject + PConfig( + publicKey = pConfig["publicKey"]!!.jsonPrimitive.content, + privateKey = pConfig["privateKey"]!!.jsonArray[0].jsonPrimitive.content, + ) + } + private val popularAnimeFilterList = AnimeFilterList( + TypeFilter(listOf("动漫" to "0,1,6")), + SortFilter(listOf("人气高低" to "2")), + ) + private val latestAnimeFilterList = AnimeFilterList( + TypeFilter(listOf("动漫" to "0,1,6")), + SortFilter(listOf("更新时间" to "1")), + ) + private val episodeDateFormat by lazy { + SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.getDefault()) + } + private val searchSortFilter by lazy { + SortFilter(listOf("匹配度" to "4")) + } + + override fun animeDetailsRequest(anime: SAnime): Request { + val vid = "$baseUrl${anime.url}".toHttpUrl().pathSegments.last() + val detailUrl = "https://m10.iyf.tv/v3/video/detail".toHttpUrl().newBuilder() + detailUrl.addQueryParameter("cinema", "1") + .addQueryParameter("device", "1") + .addQueryParameter("player", "CkPlayer") + .addQueryParameter("tech", "HLS") + .addQueryParameter("country", "HU") + .addQueryParameter("lang", "cns") + .addQueryParameter("v", "1") + .addQueryParameter("id", vid) + .addQueryParameter("region", "SG") + .appendSignature() + return GET(detailUrl.build(), headers) + } + + override fun animeDetailsParse(response: Response): SAnime { + val resp = response.parseAs>() + val detail = resp.data.info[0] + return SAnime.create().apply { + title = detail.title + thumbnail_url = detail.imgPath + author = detail.directors.joinToString() + artist = detail.stars.joinToString() + genre = detail.keyWord.split(",").joinToString() + status = if (detail.serialCount == 0) { + SAnime.COMPLETED + } else { + SAnime.ONGOING + } + description = """ + 添加:${detail.addDate} + 更新:${detail.updateWeekly} + 简介:${detail.context} + """.trimIndent() + } + } + + override fun episodeListRequest(anime: SAnime): Request { + val httpUrl = "$baseUrl${anime.url}".toHttpUrl() + val vid = httpUrl.pathSegments.last() + val cid = httpUrl.fragment + val playlistUrl = "https://m10.iyf.tv/v3/video/languagesplaylist".toHttpUrl().newBuilder() + playlistUrl.addQueryParameter("cinema", "1") + .addQueryParameter("vid", vid) + .addQueryParameter("lsk", "1") + .addQueryParameter("taxis", "0") + .addQueryParameter("cid", cid) + .appendSignature() + return GET(playlistUrl.build(), headers) + } + + override fun episodeListParse(response: Response): List { + val resp = response.parseAs>() + val playList = resp.data.info[0].playList + return playList.map { + SEpisode.create().apply { + url = "/${it.key}" + name = it.name + date_upload = + runCatching { episodeDateFormat.parse(it.updateDate)?.time }.getOrNull() ?: 0L + } + }.asReversed() + } + + override fun videoListRequest(episode: SEpisode): Request { + val vid = "$baseUrl${episode.url}".toHttpUrl().pathSegments.last() + val playUrl = "https://m10.iyf.tv/v3/video/play".toHttpUrl().newBuilder() + playUrl.addQueryParameter("cinema", "1") + .addQueryParameter("id", vid) + .addQueryParameter("a", "0") + .addQueryParameter("lang", "none") + .addQueryParameter("usersign", "1") + .addQueryParameter("region", "SG") + .addQueryParameter("device", "1") + .addQueryParameter("isMasterSupport", "1") + .appendSignature() + return GET(playUrl.build(), headers) + } + + override fun videoListParse(response: Response): List