From 97ff9735dbe76c5478d271446449c72df8edd445 Mon Sep 17 00:00:00 2001 From: Eshlender <35057681+e-shl@users.noreply.github.com> Date: Fri, 7 Apr 2023 19:23:22 +0500 Subject: [PATCH] [RU]Remanga optional rateLimit (#15990) --- src/ru/remanga/build.gradle | 2 +- .../tachiyomi/extension/ru/remanga/Remanga.kt | 27 ++++++++++++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/ru/remanga/build.gradle b/src/ru/remanga/build.gradle index 0e0e00963..3c1209ae0 100644 --- a/src/ru/remanga/build.gradle +++ b/src/ru/remanga/build.gradle @@ -6,7 +6,7 @@ ext { extName = 'Remanga' pkgNameSuffix = 'ru.remanga' extClass = '.Remanga' - extVersionCode = 69 + extVersionCode = 70 } dependencies { diff --git a/src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/Remanga.kt b/src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/Remanga.kt index 95783e2b0..8fc1cd476 100644 --- a/src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/Remanga.kt +++ b/src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/Remanga.kt @@ -156,11 +156,14 @@ class Remanga : ConfigurableSource, HttpSource() { response } } + + private val loadLimit = if (!preferences.getBoolean(bLoad_PREF, false)) 1 else 3 + override val client: OkHttpClient = network.cloudflareClient.newBuilder() - .rateLimitHost("https://img3.reimg.org".toHttpUrl(), 2) - .rateLimitHost("https://img5.reimg.org".toHttpUrl(), 2) - .rateLimitHost(exManga.toHttpUrl(), 2) + .rateLimitHost("https://img3.reimg.org".toHttpUrl(), loadLimit, 2) + .rateLimitHost("https://img5.reimg.org".toHttpUrl(), loadLimit, 2) + .rateLimitHost(exManga.toHttpUrl(), 3) .addInterceptor { imageContentTypeIntercept(it) } .addInterceptor { authIntercept(it) } .addNetworkInterceptor { chain -> @@ -868,6 +871,7 @@ class Remanga : ConfigurableSource, HttpSource() { true } } + val domainPref = ListPreference(screen.context).apply { key = DOMAIN_PREF title = "Выбор домена" @@ -927,6 +931,20 @@ class Remanga : ConfigurableSource, HttpSource() { summary = "Скрывает мангу находящуюся в закладках пользователя на сайте." setDefaultValue(false) } + + val boostLoad = androidx.preference.CheckBoxPreference(screen.context).apply { + key = bLoad_PREF + title = "Ускорить скачивание глав" + summary = "Увеличивает количество скачиваемых страниц в секунду, но Remanga быстрее ограничит скорость скачивания." + setDefaultValue(false) + + setOnPreferenceChangeListener { _, newValue -> + val warning = "Для применения настройки необходимо перезапустить приложение с полной остановкой." + Toast.makeText(screen.context, warning, Toast.LENGTH_LONG).show() + true + } + } + screen.addPreference(userAgentSystem) screen.addPreference(domainPref) screen.addPreference(titleLanguagePref) @@ -934,6 +952,7 @@ class Remanga : ConfigurableSource, HttpSource() { screen.addPreference(exChapterShow) screen.addPreference(domainExPref) screen.addPreference(bookmarksHide) + screen.addPreference(boostLoad) } private val json: Json by injectLazy() @@ -946,6 +965,8 @@ class Remanga : ConfigurableSource, HttpSource() { private const val userAgent_PREF = "UAgent" + private const val bLoad_PREF = "boostLoad_PREF" + private const val DOMAIN_PREF = "REMangaDomain" private const val exDOMAIN_PREF = "EXMangaDomain"