From 2480a5576f2870c732504f548d88bee9a513dfdf Mon Sep 17 00:00:00 2001 From: SonoPG <38359416+PGgamer2@users.noreply.github.com> Date: Sun, 19 Jan 2025 15:49:43 +0100 Subject: [PATCH 1/2] Set SecurityAW-gl cookie and update years filter --- .../it/animeworld/ANIMEWORLD.kt | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/it/animeworld/src/eu/kanade/tachiyomi/animeextension/it/animeworld/ANIMEWORLD.kt b/src/it/animeworld/src/eu/kanade/tachiyomi/animeextension/it/animeworld/ANIMEWORLD.kt index f1f6fd92..d3cffa57 100644 --- a/src/it/animeworld/src/eu/kanade/tachiyomi/animeextension/it/animeworld/ANIMEWORLD.kt +++ b/src/it/animeworld/src/eu/kanade/tachiyomi/animeextension/it/animeworld/ANIMEWORLD.kt @@ -19,6 +19,7 @@ import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.util.asJsoup import kotlinx.serialization.Serializable import kotlinx.serialization.json.Json +import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request import okhttp3.Response @@ -27,7 +28,6 @@ import org.jsoup.nodes.Element import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy -import java.lang.Exception class ANIMEWORLD : ConfigurableAnimeSource, ParsedAnimeHttpSource() { @@ -47,10 +47,19 @@ class ANIMEWORLD : ConfigurableAnimeSource, ParsedAnimeHttpSource() { Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000) } + override fun headersBuilder(): Headers.Builder { + return super.headersBuilder().apply { + client.newCall(GET(baseUrl)).execute().use { response -> + val (secCookie) = """document\.cookie="SecurityAW-gl=\s*([^\s;]+)""".toRegex().find(response.body.string())!!.destructured + set("Cookie", "SecurityAW-gl=$secCookie;") + } + } + } + // Popular Anime - Same Format as Search override fun popularAnimeSelector(): String = searchAnimeSelector() - override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/filter?sort=6&page=$page") + override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/filter?sort=6&page=$page", headers) override fun popularAnimeFromElement(element: Element): SAnime = searchAnimeFromElement(element) override fun popularAnimeNextPageSelector(): String = searchAnimeNextPageSelector() @@ -82,7 +91,7 @@ class ANIMEWORLD : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun videoListRequest(episode: SEpisode): Request { val iframe = baseUrl + episode.url - return GET(iframe) + return GET(iframe, headers) } override fun videoListParse(response: Response): List<Video> { @@ -187,7 +196,7 @@ class ANIMEWORLD : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun searchAnimeNextPageSelector(): String = "div.paging-wrapper a#go-next-page" override fun searchAnimeRequest(page: Int, query: String, filters: AnimeFilterList): Request = - GET("$baseUrl/filter?${getSearchParameters(filters)}&keyword=$query&page=$page") + GET("$baseUrl/filter?${getSearchParameters(filters)}&keyword=$query&page=$page", headers) // Details @@ -213,7 +222,7 @@ class ANIMEWORLD : ConfigurableAnimeSource, ParsedAnimeHttpSource() { // Latest - Same format as search - override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/updated?page=$page") + override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/updated?page=$page", headers) override fun latestUpdatesSelector(): String = searchAnimeSelector() override fun latestUpdatesNextPageSelector(): String = searchAnimeNextPageSelector() override fun latestUpdatesFromElement(element: Element): SAnime = searchAnimeFromElement(element) @@ -336,6 +345,9 @@ class ANIMEWORLD : ConfigurableAnimeSource, ParsedAnimeHttpSource() { Year("2020"), Year("2021"), Year("2022"), + Year("2023"), + Year("2024"), + Year("2025"), ) internal class Type(val id: String, name: String) : AnimeFilter.CheckBox(name) From 4152a4f846d7fc6b45bdce3c738849fb8a3902db Mon Sep 17 00:00:00 2001 From: SonoPG <38359416+PGgamer2@users.noreply.github.com> Date: Sun, 19 Jan 2025 15:50:05 +0100 Subject: [PATCH 2/2] Update extVersionCode --- src/it/animeworld/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/it/animeworld/build.gradle b/src/it/animeworld/build.gradle index 6d4c910e..fb7988f1 100644 --- a/src/it/animeworld/build.gradle +++ b/src/it/animeworld/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'ANIMEWORLD.tv' extClass = '.ANIMEWORLD' - extVersionCode = 41 + extVersionCode = 42 } apply from: "$rootDir/common.gradle" @@ -12,4 +12,4 @@ dependencies { implementation(project(':lib:streamhidevid-extractor')) implementation(project(':lib:vidguard-extractor')) implementation "dev.datlag.jsunpacker:jsunpacker:1.0.1" -} \ No newline at end of file +}