HentaiDexy: Fix domain and API request (#7530)

fix: domain and API request
This commit is contained in:
Hellkaros 2025-02-07 12:58:05 -03:00 committed by Draff
parent 643376e8a0
commit b5e9d35b0b
No known key found for this signature in database
GPG Key ID: E8A89F3211677653
2 changed files with 30 additions and 12 deletions

View File

@ -1,7 +1,7 @@
ext { ext {
extName = 'Hentaidexy' extName = 'Hentaidexy'
extClass = '.Hentaidexy' extClass = '.Hentaidexy'
extVersionCode = 32 extVersionCode = 33
isNsfw = true isNsfw = true
} }

View File

@ -24,9 +24,7 @@ class Hentaidexy : HttpSource() {
override val name = "Hentaidexy" override val name = "Hentaidexy"
override val baseUrl = "https://hentaidexy.net" override val baseUrl = "https://dexyscan.com"
private val apiUrl = "https://backend.hentaidexy.net"
override val lang = "en" override val lang = "en"
@ -37,7 +35,7 @@ class Hentaidexy : HttpSource() {
private val json: Json by injectLazy() private val json: Json by injectLazy()
override val client: OkHttpClient = super.client.newBuilder() override val client: OkHttpClient = super.client.newBuilder()
.rateLimitHost(apiUrl.toHttpUrl(), 1) .rateLimitHost(baseUrl.toHttpUrl(), 1)
.build() .build()
override fun headersBuilder() = Headers.Builder().apply { override fun headersBuilder() = Headers.Builder().apply {
@ -46,7 +44,12 @@ class Hentaidexy : HttpSource() {
// popular // popular
override fun popularMangaRequest(page: Int): Request { override fun popularMangaRequest(page: Int): Request {
return GET("$apiUrl/api/v1/mangas?page=$page&limit=100&sort=-views", headers) val url = "$baseUrl/api/mangas".toHttpUrl().newBuilder()
.addQueryParameter("page", page.toString())
.addQueryParameter("limit", "24")
.addQueryParameter("sort", "-views")
.build()
return GET(url, headers)
} }
override fun popularMangaParse(response: Response): MangasPage { override fun popularMangaParse(response: Response): MangasPage {
@ -63,7 +66,12 @@ class Hentaidexy : HttpSource() {
// latest // latest
override fun latestUpdatesRequest(page: Int): Request { override fun latestUpdatesRequest(page: Int): Request {
return GET("$apiUrl/api/v1/mangas?page=$page&limit=100&sort=-updatedAt", headers) val url = "$baseUrl/api/mangas".toHttpUrl().newBuilder()
.addQueryParameter("page", page.toString())
.addQueryParameter("limit", "100")
.addQueryParameter("sort", "-updatedAt")
.build()
return GET(url, headers)
} }
override fun latestUpdatesParse(response: Response) = popularMangaParse(response) override fun latestUpdatesParse(response: Response) = popularMangaParse(response)
@ -81,14 +89,19 @@ class Hentaidexy : HttpSource() {
} }
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request {
return GET("$apiUrl/api/v1/mangas?page=$page&altTitles=$query&sort=createdAt", headers) val url = "$baseUrl/api/mangas".toHttpUrl().newBuilder()
.addQueryParameter("page", page.toString())
.addQueryParameter("altTitles", query)
.addQueryParameter("sort", "createdAt")
.build()
return GET(url, headers)
} }
override fun searchMangaParse(response: Response) = popularMangaParse(response) override fun searchMangaParse(response: Response) = popularMangaParse(response)
// manga details // manga details
override fun mangaDetailsRequest(manga: SManga): Request { override fun mangaDetailsRequest(manga: SManga): Request {
return GET("$apiUrl/api/v1/mangas/${manga.url}", headers) return GET("$baseUrl/api/mangas/${manga.url}", headers)
} }
override fun mangaDetailsParse(response: Response): SManga { override fun mangaDetailsParse(response: Response): SManga {
@ -108,7 +121,12 @@ class Hentaidexy : HttpSource() {
} }
private fun paginatedChapterListRequest(mangaID: String, page: Int): Request { private fun paginatedChapterListRequest(mangaID: String, page: Int): Request {
return GET("$apiUrl/api/v1/mangas/$mangaID/chapters?sort=-serialNumber&limit=100&page=$page", headers) val url = "$baseUrl/api/mangas/$mangaID/chapters".toHttpUrl().newBuilder()
.addQueryParameter("sort", "-serialNumber")
.addQueryParameter("limit", "100")
.addQueryParameter("page", page.toString())
.build()
return GET(url, headers)
} }
override fun chapterListParse(response: Response): List<SChapter> { override fun chapterListParse(response: Response): List<SChapter> {
@ -145,8 +163,8 @@ class Hentaidexy : HttpSource() {
// page list // page list
override fun pageListRequest(chapter: SChapter): Request { override fun pageListRequest(chapter: SChapter): Request {
val chapterId = chapter.url.substringAfterLast('/') val chapterId = "$baseUrl${chapter.url}".toHttpUrl().pathSegments.last()
return GET("$apiUrl/api/v1/chapters/$chapterId", headers) return GET("$baseUrl/api/chapters/$chapterId", headers)
} }
override fun pageListParse(response: Response): List<Page> { override fun pageListParse(response: Response): List<Page> {