From f6f410fda88f27b8c7eed8093d752f3000ad5189 Mon Sep 17 00:00:00 2001 From: xishang0128 Date: Tue, 2 Sep 2025 03:28:30 +0800 Subject: [PATCH] chore: Changing the User-Agent used to retrieve subscription-userinfo ClashForWindows is no longer able to retrieve information from some providers. --- .../main/java/com/github/kr328/clash/service/ProfileManager.kt | 3 ++- .../java/com/github/kr328/clash/service/ProfileProcessor.kt | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/service/src/main/java/com/github/kr328/clash/service/ProfileManager.kt b/service/src/main/java/com/github/kr328/clash/service/ProfileManager.kt index 387f00fd..848dd3d2 100644 --- a/service/src/main/java/com/github/kr328/clash/service/ProfileManager.kt +++ b/service/src/main/java/com/github/kr328/clash/service/ProfileManager.kt @@ -139,9 +139,10 @@ class ProfileManager(private val context: Context) : IProfileManager, suspend fun updateFlow(old: Imported) { val client = OkHttpClient() try { + val versionName = context.packageManager.getPackageInfo(context.packageName, 0).versionName val request = Request.Builder() .url(old.source) - .header("User-Agent", "ClashforWindows/0.19.23") + .header("User-Agent", "ClashMetaForAndroid/$versionName") .build() client.newCall(request).execute().use { response -> diff --git a/service/src/main/java/com/github/kr328/clash/service/ProfileProcessor.kt b/service/src/main/java/com/github/kr328/clash/service/ProfileProcessor.kt index cd6b869c..a3261a26 100644 --- a/service/src/main/java/com/github/kr328/clash/service/ProfileProcessor.kt +++ b/service/src/main/java/com/github/kr328/clash/service/ProfileProcessor.kt @@ -76,9 +76,10 @@ object ProfileProcessor { if (snapshot?.type == Profile.Type.Url) { if (snapshot.source.startsWith("https://", true)) { val client = OkHttpClient() + val versionName = context.packageManager.getPackageInfo(context.packageName, 0).versionName val request = Request.Builder() .url(snapshot.source) - .header("User-Agent", "ClashforWindows/0.19.23") + .header("User-Agent", "ClashMetaForAndroid/$versionName") .build() client.newCall(request).execute().use { response ->