diff --git a/src/id/doujindesu/build.gradle.kts b/src/id/doujindesu/build.gradle.kts index 2e01a97b3fc..b14c4e50481 100644 --- a/src/id/doujindesu/build.gradle.kts +++ b/src/id/doujindesu/build.gradle.kts @@ -4,7 +4,7 @@ plugins { keiyoushi { name = "Doujindesu" - versionCode = 18 + versionCode = 19 contentWarning = ContentWarning.NSFW libVersion = "1.4" diff --git a/src/id/doujindesu/src/eu/kanade/tachiyomi/extension/id/doujindesu/Doujindesu.kt b/src/id/doujindesu/src/eu/kanade/tachiyomi/extension/id/doujindesu/Doujindesu.kt index 09a83bba442..9849e37e93d 100644 --- a/src/id/doujindesu/src/eu/kanade/tachiyomi/extension/id/doujindesu/Doujindesu.kt +++ b/src/id/doujindesu/src/eu/kanade/tachiyomi/extension/id/doujindesu/Doujindesu.kt @@ -38,13 +38,15 @@ abstract class Doujindesu : HttpSource() { .addInterceptor { chain -> val request = chain.request() val url = request.url.toString() - val headers = request.headers.newBuilder() - if (imageDomains.any { url.contains(it) }) { - headers.removeAll("x-app-secret") + if (!url.contains(apiUrl)) { + val newHeaders = request.headers.newBuilder() + .removeAll("x-app-secret") + .build() + return@addInterceptor chain.proceed(request.newBuilder().headers(newHeaders).build()) } - chain.proceed(request.newBuilder().headers(headers.build()).build()) + chain.proceed(request) } .build() } @@ -53,6 +55,17 @@ abstract class Doujindesu : HttpSource() { .add("x-app-secret", APP_SECRET) .add("Referer", "$baseUrl/") + override fun imageRequest(page: Page): Request { + val headers = headersBuilder() + .set("Accept", "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8") + .set("Sec-Fetch-Dest", "image") + .set("Sec-Fetch-Mode", "no-cors") + .set("Sec-Fetch-Site", "cross-site") + .build() + + return GET(page.imageUrl!!, headers) + } + override fun popularMangaRequest(page: Int): Request = searchRequest(page, "rating") override fun popularMangaParse(response: Response): MangasPage = searchMangaParse(response) @@ -211,7 +224,5 @@ abstract class Doujindesu : HttpSource() { companion object { private const val APP_SECRET = "dfdf72051dbfdc7d76889ebd31324e74" private const val LIMIT = 24 - - private val imageDomains = listOf("desu.photos", "cdn-static.desu.xxx", "desu.pics", "uploads", "upload") } }