mirror of
https://github.com/mihonapp/mihon.git
synced 2025-06-29 12:37:50 +02:00
Spoof or remove X-Requested-With
header from webview (#1812)
This commit is contained in:
@ -19,7 +19,7 @@ class NetworkHelper(
|
||||
|
||||
val cookieJar = AndroidCookieJar()
|
||||
|
||||
val client: OkHttpClient = run {
|
||||
private val clientBuilder: OkHttpClient.Builder = run {
|
||||
val builder = OkHttpClient.Builder()
|
||||
.cookieJar(cookieJar)
|
||||
.connectTimeout(30, TimeUnit.SECONDS)
|
||||
@ -43,10 +43,6 @@ class NetworkHelper(
|
||||
builder.addNetworkInterceptor(httpLoggingInterceptor)
|
||||
}
|
||||
|
||||
builder.addInterceptor(
|
||||
CloudflareInterceptor(context, cookieJar, ::defaultUserAgentProvider),
|
||||
)
|
||||
|
||||
when (preferences.dohProvider().get()) {
|
||||
PREF_DOH_CLOUDFLARE -> builder.dohCloudflare()
|
||||
PREF_DOH_GOOGLE -> builder.dohGoogle()
|
||||
@ -60,11 +56,18 @@ class NetworkHelper(
|
||||
PREF_DOH_CONTROLD -> builder.dohControlD()
|
||||
PREF_DOH_NJALLA -> builder.dohNajalla()
|
||||
PREF_DOH_SHECAN -> builder.dohShecan()
|
||||
else -> builder
|
||||
}
|
||||
|
||||
builder.build()
|
||||
}
|
||||
|
||||
val nonCloudflareClient = clientBuilder.build()
|
||||
|
||||
val client = clientBuilder
|
||||
.addInterceptor(
|
||||
CloudflareInterceptor(context, cookieJar, ::defaultUserAgentProvider),
|
||||
)
|
||||
.build()
|
||||
|
||||
/**
|
||||
* @deprecated Since extension-lib 1.5
|
||||
*/
|
||||
|
@ -12,7 +12,8 @@ import tachiyomi.core.common.util.system.logcat
|
||||
import kotlin.coroutines.resume
|
||||
|
||||
object WebViewUtil {
|
||||
const val SPOOF_PACKAGE_NAME = "org.chromium.chrome"
|
||||
private const val CHROME_PACKAGE = "com.android.chrome"
|
||||
private const val SYSTEM_SETTINGS_PACKAGE = "com.android.settings"
|
||||
|
||||
const val MINIMUM_WEBVIEW_VERSION = 118
|
||||
|
||||
@ -53,6 +54,16 @@ object WebViewUtil {
|
||||
|
||||
return context.packageManager.hasSystemFeature(PackageManager.FEATURE_WEBVIEW)
|
||||
}
|
||||
|
||||
fun spoofedPackageName(context: Context): String {
|
||||
return try {
|
||||
context.packageManager.getPackageInfo(CHROME_PACKAGE, PackageManager.GET_META_DATA)
|
||||
|
||||
CHROME_PACKAGE
|
||||
} catch (_: PackageManager.NameNotFoundException) {
|
||||
SYSTEM_SETTINGS_PACKAGE
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun WebView.isOutdated(): Boolean {
|
||||
|
Reference in New Issue
Block a user