From 08536b992f354a426a1ad2621d95f53d5fede24b Mon Sep 17 00:00:00 2001 From: Eshlender <35057681+e-shl@users.noreply.github.com> Date: Tue, 21 Mar 2023 18:19:22 +0500 Subject: [PATCH] [RU]WebOfComics fix image (#15774) * [RU]WebOfComics fix image * userAgentRandomizer --- src/ru/webofcomics/build.gradle | 2 +- .../extension/ru/webofcomics/WebOfComics.kt | 24 ++++++++++++------- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/ru/webofcomics/build.gradle b/src/ru/webofcomics/build.gradle index 4978d46b8..4225ddd8c 100644 --- a/src/ru/webofcomics/build.gradle +++ b/src/ru/webofcomics/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Web of Comics' pkgNameSuffix = 'ru.webofcomics' extClass = '.WebOfComics' - extVersionCode = 4 + extVersionCode = 5 } apply from: "$rootDir/common.gradle" diff --git a/src/ru/webofcomics/src/eu/kanade/tachiyomi/extension/ru/webofcomics/WebOfComics.kt b/src/ru/webofcomics/src/eu/kanade/tachiyomi/extension/ru/webofcomics/WebOfComics.kt index 55cc538ae..2729b8f8c 100644 --- a/src/ru/webofcomics/src/eu/kanade/tachiyomi/extension/ru/webofcomics/WebOfComics.kt +++ b/src/ru/webofcomics/src/eu/kanade/tachiyomi/extension/ru/webofcomics/WebOfComics.kt @@ -22,6 +22,8 @@ import org.jsoup.nodes.Element import java.text.SimpleDateFormat import java.util.Locale import java.util.concurrent.TimeUnit +import kotlin.math.absoluteValue +import kotlin.random.Random class WebOfComics : ParsedHttpSource() { @@ -33,8 +35,10 @@ class WebOfComics : ParsedHttpSource() { override val supportsLatest = true + private val userAgentRandomizer = "${Random.nextInt().absoluteValue}" + override fun headersBuilder(): Headers.Builder = Headers.Builder() - .add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36 Edg/100.0.1185.50") + .add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.$userAgentRandomizer Safari/537.36") .add("Referer", baseUrl) override val client: OkHttpClient = network.cloudflareClient.newBuilder() @@ -300,7 +304,16 @@ class WebOfComics : ParsedHttpSource() { override fun pageListParse(document: Document): List<Page> { var baseImgUrl = document.select("link[rel='image_src']").last()!!.attr("href") - val publicUrl = "/public_html" + if (baseImgUrl.isEmpty()) { + return document.select(".readtab .lazyload").mapIndexed { index, element -> + Page( + index, + "", + "https://read.webofcomics.ru/webofcomics.ru/www/webofcomics.ru/public_html/uploads/" + element.attr("data-src").substringAfter("/uploads/"), + ) + } + } + val uploadUrl = with(baseImgUrl) { when { @@ -310,13 +323,8 @@ class WebOfComics : ParsedHttpSource() { else -> "errorUploads" } } + baseImgUrl = baseImgUrl.substringBefore(uploadUrl) - if (baseImgUrl.contains(publicUrl)) { - baseImgUrl = - baseImgUrl.substringBefore(publicUrl) + "/www/" + - baseUrl.substringAfter("://") + publicUrl + - baseImgUrl.substringAfter(publicUrl) - } if (document.select(".readtab .lazyload").isNotEmpty()) { return document.select(".readtab .lazyload").mapIndexed { index, element ->