SSSScanlator: Add random UA (#3669)
* Add connection timeout and random UA * Remove jetpackCDN path * Fix lint * Add readTimeout * Remove 'when' statement * Remove 'lazy' in 'getSharedPreferences'
This commit is contained in:
		
							parent
							
								
									e46b669169
								
							
						
					
					
						commit
						314424aa43
					
				| @ -3,7 +3,11 @@ ext { | ||||
|     extClass = '.SSSScanlator' | ||||
|     themePkg = 'mangathemesia' | ||||
|     baseUrl = 'https://sssscanlator.com.br' | ||||
|     overrideVersionCode = 2 | ||||
|     overrideVersionCode = 3 | ||||
| } | ||||
| 
 | ||||
| apply from: "$rootDir/common.gradle" | ||||
| 
 | ||||
| dependencies { | ||||
|     implementation project(':lib:randomua') | ||||
| } | ||||
|  | ||||
| @ -1,29 +1,48 @@ | ||||
| package eu.kanade.tachiyomi.extension.pt.sssscanlator | ||||
| 
 | ||||
| import android.app.Application | ||||
| import androidx.preference.PreferenceScreen | ||||
| import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen | ||||
| import eu.kanade.tachiyomi.lib.randomua.getPrefCustomUA | ||||
| import eu.kanade.tachiyomi.lib.randomua.getPrefUAType | ||||
| import eu.kanade.tachiyomi.lib.randomua.setRandomUserAgent | ||||
| import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia | ||||
| import eu.kanade.tachiyomi.network.GET | ||||
| import eu.kanade.tachiyomi.network.interceptor.rateLimit | ||||
| import eu.kanade.tachiyomi.source.ConfigurableSource | ||||
| import eu.kanade.tachiyomi.source.model.Page | ||||
| import okhttp3.OkHttpClient | ||||
| import okhttp3.Request | ||||
| import uy.kohesive.injekt.Injekt | ||||
| import uy.kohesive.injekt.api.get | ||||
| import java.text.SimpleDateFormat | ||||
| import java.util.Locale | ||||
| import java.util.concurrent.TimeUnit | ||||
| 
 | ||||
| class SSSScanlator : MangaThemesia( | ||||
|     "SSSScanlator", | ||||
|     "https://sssscanlator.com.br", | ||||
|     "pt-BR", | ||||
|     dateFormat = SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")), | ||||
| ) { | ||||
| class SSSScanlator : | ||||
|     MangaThemesia( | ||||
|         "SSSScanlator", | ||||
|         "https://sssscanlator.com.br", | ||||
|         "pt-BR", | ||||
|         dateFormat = SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")), | ||||
|     ), | ||||
|     ConfigurableSource { | ||||
| 
 | ||||
|     private val preferences = Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000) | ||||
| 
 | ||||
|     override val client: OkHttpClient = super.client.newBuilder() | ||||
|         .setRandomUserAgent( | ||||
|             preferences.getPrefUAType(), | ||||
|             preferences.getPrefCustomUA(), | ||||
|         ) | ||||
|         .readTimeout(1, TimeUnit.MINUTES) | ||||
|         .rateLimit(1, 2, TimeUnit.SECONDS) | ||||
|         .build() | ||||
| 
 | ||||
|     override fun imageRequest(page: Page): Request { | ||||
|         val newHeaders = headersBuilder() | ||||
|             .set("Referer", page.url) | ||||
|             .set("Alt-Used", baseUrl.substringAfterLast("/")) | ||||
|             .set("Accept", "image/avif,image/webp,*/*") | ||||
|             .set("Accept-Language", "pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3") | ||||
|             .set("Sec-Fetch-Dest", "image") | ||||
| @ -31,6 +50,17 @@ class SSSScanlator : MangaThemesia( | ||||
|             .set("Sec-Fetch-Site", "same-origin") | ||||
|             .build() | ||||
| 
 | ||||
|         page.apply { | ||||
|             imageUrl = imageUrl?.replace("$JETPACK_CDN/", "") | ||||
|         } | ||||
|         return GET(page.imageUrl!!, newHeaders) | ||||
|     } | ||||
| 
 | ||||
|     override fun setupPreferenceScreen(screen: PreferenceScreen) { | ||||
|         addRandomUAPreferenceToScreen(screen) | ||||
|     } | ||||
| 
 | ||||
|     companion object { | ||||
|         val JETPACK_CDN = "i0.wp.com" | ||||
|     } | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Chopper
						Chopper