From 95632f9978861e5abb9ab8a6906c6c3b990e3121 Mon Sep 17 00:00:00 2001 From: happywillow0 <45346080+happywillow0@users.noreply.github.com> Date: Wed, 5 Feb 2020 20:58:30 -0500 Subject: [PATCH] Add MangaSwat Warning (#2184) * Update build.gradle * Add warning to MangaSwat * Refactor sucuriCheck * Use addInterceptor * Update imports --- src/all/wpmangastream/build.gradle | 2 +- .../all/wpmangastream/WPMangaStreamFactory.kt | 22 +++++++++++-------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/all/wpmangastream/build.gradle b/src/all/wpmangastream/build.gradle index 8122e7ee5..022d6e6f4 100644 --- a/src/all/wpmangastream/build.gradle +++ b/src/all/wpmangastream/build.gradle @@ -5,7 +5,7 @@ ext { appName = 'Tachiyomi: WP Manga Stream' pkgNameSuffix = 'all.wpmangastream' extClass = '.WPMangaStreamFactory' - extVersionCode = 4 + extVersionCode = 5 libVersion = '1.2' } diff --git a/src/all/wpmangastream/src/eu/kanade/tachiyomi/extension/all/wpmangastream/WPMangaStreamFactory.kt b/src/all/wpmangastream/src/eu/kanade/tachiyomi/extension/all/wpmangastream/WPMangaStreamFactory.kt index cc2123525..422e05dad 100644 --- a/src/all/wpmangastream/src/eu/kanade/tachiyomi/extension/all/wpmangastream/WPMangaStreamFactory.kt +++ b/src/all/wpmangastream/src/eu/kanade/tachiyomi/extension/all/wpmangastream/WPMangaStreamFactory.kt @@ -6,9 +6,7 @@ import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.SourceFactory import eu.kanade.tachiyomi.source.model.* import eu.kanade.tachiyomi.util.asJsoup -import okhttp3.HttpUrl -import okhttp3.Request -import okhttp3.Response +import okhttp3.* import org.json.JSONObject import org.jsoup.nodes.Document import org.jsoup.nodes.Element @@ -972,11 +970,20 @@ class MaidManga : WPMangaStream("Maid Manga (WP Manga Stream)", "https://www.mai } class MangaSwat : WPMangaStream("MangaSwat", "https://mangaswat.com", "ar") { + private class sucuri(): Interceptor { + override fun intercept(chain: Interceptor.Chain): Response { + val originalRequest = chain.request() + val response = chain.proceed(originalRequest) + if (response.headers().get("x-sucuri-cache").isNullOrEmpty()) throw Exception("Site protected, open webview | موقع محمي ، عرض ويب مفتوح") + return response + } + } + override val client: OkHttpClient = super.client.newBuilder().addInterceptor(sucuri()).build() + //Popular //Latest //Search //Details - override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply { thumbnail_url = document.select("div.thumb img.lazyload").attr("data-src") title = document.select("div.infox h1").text() @@ -990,20 +997,17 @@ class MangaSwat : WPMangaStream("MangaSwat", "https://mangaswat.com", "ar") { artist = author description = document.select("div[itemprop=articleBody]").text() } - + //Chapters //Pages and Images - override fun pageListRequest(chapter: SChapter): Request { - return GET(baseUrl + chapter.url + "?/", headers) + return GET(baseUrl + chapter.url + "?/", headers) //Bypass "linkvertise" ads } - override fun pageListParse(document: Document): List = mutableListOf().apply { document.select("div#readerarea img[data-src]").forEachIndexed { index, element -> add(Page(index,"",element.attr("data-src"))) } } - override fun imageRequest(page: Page): Request { return GET( page.imageUrl!! , headers) }