From 8f5cca3c1d0e7cb4a936d8a07337d9990daccff1 Mon Sep 17 00:00:00 2001 From: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> Date: Thu, 20 Jul 2023 14:52:38 +0500 Subject: [PATCH] feat(arc/all): New source Jav Guru (#1930) --- src/all/javguru/AndroidManifest.xml | 22 ++ src/all/javguru/build.gradle | 23 ++ .../javguru/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3182 bytes .../javguru/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1725 bytes .../javguru/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4281 bytes .../javguru/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7691 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10868 bytes src/all/javguru/res/web_hi_res_512.png | Bin 0 -> 52646 bytes .../animeextension/all/javguru/JavGuru.kt | 335 ++++++++++++++++++ .../all/javguru/JavGuruFilters.kt | 335 ++++++++++++++++++ .../all/javguru/JavGuruUrlActivity.kt | 34 ++ .../javguru/extractors/MaxStreamExtractor.kt | 33 ++ 12 files changed, 782 insertions(+) create mode 100644 src/all/javguru/AndroidManifest.xml create mode 100644 src/all/javguru/build.gradle create mode 100644 src/all/javguru/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/all/javguru/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/all/javguru/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/all/javguru/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/all/javguru/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/all/javguru/res/web_hi_res_512.png create mode 100644 src/all/javguru/src/eu/kanade/tachiyomi/animeextension/all/javguru/JavGuru.kt create mode 100644 src/all/javguru/src/eu/kanade/tachiyomi/animeextension/all/javguru/JavGuruFilters.kt create mode 100644 src/all/javguru/src/eu/kanade/tachiyomi/animeextension/all/javguru/JavGuruUrlActivity.kt create mode 100644 src/all/javguru/src/eu/kanade/tachiyomi/animeextension/all/javguru/extractors/MaxStreamExtractor.kt diff --git a/src/all/javguru/AndroidManifest.xml b/src/all/javguru/AndroidManifest.xml new file mode 100644 index 000000000..ce6b23f5e --- /dev/null +++ b/src/all/javguru/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/all/javguru/build.gradle b/src/all/javguru/build.gradle new file mode 100644 index 000000000..fe11107fc --- /dev/null +++ b/src/all/javguru/build.gradle @@ -0,0 +1,23 @@ +plugins { + alias(libs.plugins.android.application) + alias(libs.plugins.kotlin.android) +} + +ext { + extName = 'Jav Guru' + pkgNameSuffix = 'all.javguru' + extClass = '.JavGuru' + extVersionCode = 1 + isNsfw = true +} + +dependencies { + implementation(project(':lib-streamsb-extractor')) + implementation(project(':lib-streamtape-extractor')) + implementation(project(':lib-dood-extractor')) + implementation(project(':lib-mixdrop-extractor')) + implementation "dev.datlag.jsunpacker:jsunpacker:1.0.1" + implementation(project(':lib-playlist-utils')) +} + +apply from: "$rootDir/common.gradle" diff --git a/src/all/javguru/res/mipmap-hdpi/ic_launcher.png b/src/all/javguru/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..bbcb061b66feb9fb055f675829c292c298f23d3d GIT binary patch literal 3182 zcmV-!43YDRP)-}`Q|*-e(*LlQ|EFa$$D=uOiSl#ZaZMQ7Uj=1lwGI8(LlOkY~TKFHYC z&h(+St>xwAf2L^WrOTk^vmcZu zPkVd&k1H!H_psf-RBcZONWQo9^z{6^prGJaR4wCtb}U`mBB1b%8#i7oDk}ON`{bL- z9!&>G#__K5w&_eX1x3~BA1hj)~k0k?0&x7sV-Q6$nn{nQ-*CL6NdxNa?0li5q~y7Dx!ViTkFKt+Ka`f1iUef< zO$9guXcn={0LlQGn`O#KP)35j020KIUL{}nGG$STCKZwC;;(ZXbTVhBg^Kxu5e#@j zxH%d^AQYz*f6+4}&C52x&1x}f1TC~=vTip`V@)pHtc zGwE41==F1#wzQC-p1}bA-aLps$3F|mWB`^ISy5YNh0{iTlQB;s^#8E3%z7*@v0z1s z71>sqGS01}9FQ`|994vM!YKDpf)1P6@XDNxsGrs#McnT zG7OE25LVhPmtBuFl{Rdk{i>n5=|vRpqNE(qcp!{_oF2g&|G9-r-9AvDV&jij8{uSe zfM&Y%m^M*jG};o)NTX{2S5NpFw=JX_422O21{J7CIDimAjnNYZ*l>Nh4G*t!pq>&X zz{Dmc3o0!DDLX?TR#p?;x{=<;ARb63U_@dlIeH_E1_KNC?zhVGTQeqvt!j#+a2%;O4H{8=)H5J*nNBe7b!sjs+ar|wX#!k-E-tISTj55qJ7?B`RHF*yOXu^Ai=?=+; zswxshHKQHke{7HM;~rByTP>xiw#-KNZ$V9w1r8hIhXhK>0m*>8^i)IMFhTinV?Ld*_&q<1p|>(TFjHdWr)-NJ z58vm&=G9IVGw4jDq#RJpb#qVzalX@wcRn7*kqaIS($$aC!^!tj^g%x?-XU0n<8T(Z z;4IFAnF9pvOjM*qnjwhczEKSH4ns%pmRGt2CZ~h3R2aR(L3%n6kQipFAt9P+-?pxC z;_Pu)`H4~Cy}^Jb{|=tgU8mm zP?DRbDmGbyT4;OTj05t~n~7to%8R1Dm?;i#Kl(p7j?uH1kzbyVvXzx6UtWO9^34Fg6C=T@F*q#$Ocjy9*a0C{+1yv18vHp=dR5z5vK-(gK znhEIW?vvNeD3#fFtQGv>hVvp@?UV3E0BHeLL-buRqq>v>qZWHG2% z9FVA(j|N&MqZ_M$AKV921P5_??*&{s)P|5R#6Vg@S$!c^ZmB`}+7bmQ#HjqjzpmlT z{)@PIbwC+^yW56)H&vr*(^t^!$-=JFKyzozvq^;h_}6mrsYZpek+s7IJ#LD!)kbR6u$NE?l}B-p4rrAOz? zu#?!Q<7NPt2C8<@{ZyHi?waEe=w-92GD|(KQgn z{*!}vhiTW9`9TF}O)+C40TYj`?Cj^7Nn_H<4sh$I+Jg`5YYtO}F3=k8QoQbQa6(Gq=ugDGJiB&*D$)ucYe0C;rlEgnTA&N~!WSO_9lox^TLd(YF94vulpv9!C6*w*Q4ZXb8)nLa^DZ^_Vz!X8b2n3`t`vj3VM6s-Ko?xVECWZk~qI2`}cDqoIJx5b6*@A(wHg3v5iIns2MvwLUMy1TO~Z=9P-6$^}M^agOA(NyC|? zzwO>d@{%cO0Z5WtlIoDe*QYi{DBm4-S$r>cN75IvVj9ayb4Jf|WGRU+la{4Fm6}wO zV99aIxyi2Wrv;#7?r5ry%>bH(cm_}g(A<PUo*ZRlafB*fTa`*F_ytZtp`^@Iv=^lZQ@2yQuO{K5B_S#># zr}JB>?tCh)*U`~&>X~PrdGf%410B4cEa!eERX5W!B9isa-m+!OvX@_e`HvM96?J^L z$-?iFn+>L7q)A+Z_B6uBXnfqvdw%=&?a%Mpwd(>;m%U>CshXJykbtnVX4Ti%7d`#- z(+^ORs`>PnnYx?U!#7EEJQar$j{ISPKwDee)z@Et{U}RU9F9oOlz(7gwtt2Hf`I_0Gj32WB_FV%}sm%2RvZS UqqHj!)Bpeg07*qoM6N<$g8Lg4nE(I) literal 0 HcmV?d00001 diff --git a/src/all/javguru/res/mipmap-mdpi/ic_launcher.png b/src/all/javguru/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..0d256b8e1c67c2ba12cc362cbd513bbbc4f86dfc GIT binary patch literal 1725 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%0DdAo1Su@bAh;)6 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 D;i!Oe literal 0 HcmV?d00001 diff --git a/src/all/javguru/res/mipmap-xxxhdpi/ic_launcher.png b/src/all/javguru/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..4e21545ca8b79b111e0dae225f87db68eacb595e GIT binary patch literal 10868 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 literal 0 HcmV?d00001 diff --git a/src/all/javguru/res/web_hi_res_512.png b/src/all/javguru/res/web_hi_res_512.png new file mode 100644 index 0000000000000000000000000000000000000000..1e1e735b70b0867700389bbbca82cacf1e0071f9 GIT binary patch literal 52646 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 z z3KhEYYf?S-aB`VjVT7{WgQBz@TU^-l)zt6$clg<}x}VSVR?Au3o{ zA_-OSAER}eaON`#1+~H>5OFc!llk9Y{O^AJ?|l64ZTMew_+KpiUvBvSVXma`1#WpQ VSgx9i+5q5>qwNWsax3rn{|9Brj(q?C literal 0 HcmV?d00001 diff --git a/src/all/javguru/src/eu/kanade/tachiyomi/animeextension/all/javguru/JavGuru.kt b/src/all/javguru/src/eu/kanade/tachiyomi/animeextension/all/javguru/JavGuru.kt new file mode 100644 index 000000000..190730a2e --- /dev/null +++ b/src/all/javguru/src/eu/kanade/tachiyomi/animeextension/all/javguru/JavGuru.kt @@ -0,0 +1,335 @@ +package eu.kanade.tachiyomi.animeextension.all.javguru + +import android.util.Base64 +import eu.kanade.tachiyomi.animeextension.all.javguru.extractors.MaxStreamExtractor +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.lib.doodextractor.DoodExtractor +import eu.kanade.tachiyomi.lib.mixdropextractor.MixDropExtractor +import eu.kanade.tachiyomi.lib.streamsbextractor.StreamSBExtractor +import eu.kanade.tachiyomi.lib.streamtapeextractor.StreamTapeExtractor +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.asObservable +import eu.kanade.tachiyomi.network.asObservableSuccess +import eu.kanade.tachiyomi.network.interceptor.rateLimit +import eu.kanade.tachiyomi.util.asJsoup +import okhttp3.Call +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.HttpUrl.Companion.toHttpUrlOrNull +import okhttp3.Request +import okhttp3.Response +import org.jsoup.select.Elements +import rx.Observable +import kotlin.math.min + +class JavGuru : AnimeHttpSource() { + + override val name = "Jav Guru" + + override val baseUrl = "https://jav.guru" + + override val lang = "all" + + override val supportsLatest = true + + override val client = network.cloudflareClient.newBuilder() + .rateLimit(2) + .build() + + override fun headersBuilder() = super.headersBuilder() + .add("Referer", "$baseUrl/") + + private val streamSbExtractor: StreamSBExtractor by lazy { + StreamSBExtractor(client) + } + + private val streamTapeExtractor: StreamTapeExtractor by lazy { + StreamTapeExtractor(client) + } + + private val doodExtractor: DoodExtractor by lazy { + DoodExtractor(client) + } + + private val mixDropExtractor: MixDropExtractor by lazy { + MixDropExtractor(client) + } + + private val maxStreamExtractor: MaxStreamExtractor by lazy { + MaxStreamExtractor(client) + } + + private lateinit var popularElements: Elements + + override fun fetchPopularAnime(page: Int): Observable { + return if (page == 1) { + client.newCall(popularAnimeRequest(page)) + .asObservableSuccess() + .map(::popularAnimeParse) + } else { + Observable.just(cachedPopularAnimeParse(page)) + } + } + + override fun popularAnimeRequest(page: Int) = + GET("$baseUrl/most-watched-rank/", headers) + + override fun popularAnimeParse(response: Response): AnimesPage { + popularElements = response.asJsoup().select(".tabcontent li") + + return cachedPopularAnimeParse(1) + } + + private fun cachedPopularAnimeParse(page: Int): AnimesPage { + val end = min(page * 20, popularElements.size) + val entries = popularElements.subList((page - 1) * 20, end).map { element -> + SAnime.create().apply { + element.select("a").let { a -> + getIDFromUrl(a)?.let { url = it } + ?: setUrlWithoutDomain(a.attr("href")) + + title = a.text() + thumbnail_url = a.select("img").attr("abs:src") + } + } + } + return AnimesPage(entries, end < popularElements.size) + } + + override fun latestUpdatesRequest(page: Int): Request { + val url = baseUrl + if (page > 1) "/page/$page/" else "" + + return GET(url, headers) + } + + override fun latestUpdatesParse(response: Response): AnimesPage { + val document = response.asJsoup() + + val entries = document.select("div.site-content div.inside-article:not(:contains(nothing))").map { element -> + SAnime.create().apply { + element.select("a").let { a -> + getIDFromUrl(a)?.let { url = it } + ?: setUrlWithoutDomain(a.attr("href")) + } + thumbnail_url = element.select("img").attr("abs:src") + title = element.select("h2 > a").text() + } + } + + val page = document.location() + .substringBeforeLast("/").toHttpUrlOrNull() + ?.pathSegments?.last()?.toIntOrNull() ?: 1 + + val lastPage = document.select("div.wp-pagenavi a") + .last()?.attr("href")?.substringBeforeLast("/") + ?.toHttpUrlOrNull()?.pathSegments?.last()?.toIntOrNull() ?: 1 + + return AnimesPage(entries, page < lastPage) + } + + override fun fetchSearchAnime(page: Int, query: String, filters: AnimeFilterList): Observable { + if (query.startsWith(PREFIX_ID)) { + val id = query.substringAfter(PREFIX_ID) + if (id.toIntOrNull() == null) { + return Observable.just(AnimesPage(emptyList(), false)) + } + val url = "/$id/" + val tempAnime = SAnime.create().apply { this.url = url } + return fetchAnimeDetails(tempAnime).map { + val anime = it.apply { this.url = url } + AnimesPage(listOf(anime), false) + } + } else if (query.isNotEmpty()) { + return client.newCall(searchAnimeRequest(page, query, filters)) + .asObservableSuccess() + .map(::searchAnimeParse) + } else { + filters.forEach { filter -> + when (filter) { + is TagFilter, + is CategoryFilter, + -> { + if (filter.state != 0) { + val url = "$baseUrl${filter.toUrlPart()}" + if (page > 1) "page/$page/" else "" + val request = GET(url, headers) + return client.newCall(request) + .asObservableIgnoreCode(404) + .map(::searchAnimeParse) + } + } + is ActressFilter, + is ActorFilter, + is StudioFilter, + is MakerFilter, + -> { + if ((filter.state as String).isNotEmpty()) { + val url = "$baseUrl${filter.toUrlPart()}" + if (page > 1) "page/$page/" else "" + val request = GET(url, headers) + return client.newCall(request) + .asObservableIgnoreCode(404) + .map(::searchAnimeParse) + } + } + else -> { } + } + } + } + + throw Exception("Select at least one Filter") + } + + override fun searchAnimeRequest(page: Int, query: String, filters: AnimeFilterList): Request { + val url = baseUrl.toHttpUrl().newBuilder().apply { + if (page > 1) addPathSegments("page/$page/") + addQueryParameter("s", query) + }.build().toString() + + return GET(url, headers) + } + + override fun getFilterList() = getFilters() + + override fun searchAnimeParse(response: Response) = latestUpdatesParse(response) + + override fun animeDetailsParse(response: Response): SAnime { + val document = response.asJsoup() + + return SAnime.create().apply { + title = document.select(".titl").text() + thumbnail_url = document.select(".large-screenshot img").attr("abs:src") + genre = document.select(".infoleft a[rel*=tag]").joinToString { it.text() } + author = document.selectFirst(".infoleft li:contains(studio) a")?.text() + artist = document.selectFirst(".infoleft li:contains(label) a")?.text() + status = SAnime.COMPLETED + description = buildString { + document.selectFirst(".infoleft li:contains(code)")?.text()?.let { append("$it\n") } + document.selectFirst(".infoleft li:contains(director)")?.text()?.let { append("$it\n") } + document.selectFirst(".infoleft li:contains(studio)")?.text()?.let { append("$it\n") } + document.selectFirst(".infoleft li:contains(label)")?.text()?.let { append("$it\n") } + document.selectFirst(".infoleft li:contains(actor)")?.text()?.let { append("$it\n") } + document.selectFirst(".infoleft li:contains(actress)")?.text()?.let { append("$it\n") } + } + } + } + + override fun fetchEpisodeList(anime: SAnime): Observable> { + return Observable.just( + listOf( + SEpisode.create().apply { + url = anime.url + name = "Episode" + }, + ), + ) + } + + override fun videoListParse(response: Response): List