fix: silently filter VPN client persistent notifications
Surfboard (and other VPN/proxy clients) post a high-frequency persistent notification showing up/down traffic. Once day.app direct-routing was configured, these got forwarded to Bark and spammed the log (300 entries). Add silentPackages (Surfboard / Clash Meta / Clash for Android / v2rayNG) to NotificationProcessor, filtered silently (no log, no forward) right after the ongoing-notification check. CLAUDE.md synced. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -49,6 +49,14 @@ class NotificationProcessor(private val context: Context) {
|
||||
"com.google.android.gms",
|
||||
)
|
||||
|
||||
// 静默过滤的包名:代理/VPN 客户端的常驻流量通知,高频且无意义,过滤不写日志
|
||||
private val silentPackages = setOf(
|
||||
"com.getsurfboard", // Surfboard
|
||||
"com.github.metacubex.clash.meta", // Clash Meta for Android
|
||||
"com.github.kr328.clash", // Clash for Android
|
||||
"com.v2ray.ang", // v2rayNG
|
||||
)
|
||||
|
||||
fun process(sbn: StatusBarNotification): Decision {
|
||||
val pkg = sbn.packageName
|
||||
val n = sbn.notification ?: return Decision(null, "无通知", pkg, null)
|
||||
@@ -94,6 +102,10 @@ class NotificationProcessor(private val context: Context) {
|
||||
if (settings.skipOngoing.value && isOngoing)
|
||||
return Decision(null, "持续性通知", appLabel, null, silent = true)
|
||||
|
||||
// ---- 静默包名过滤(VPN/代理客户端的常驻流量通知,高频无意义,不写日志)----
|
||||
if (pkg in silentPackages)
|
||||
return Decision(null, "常驻通知静默", appLabel, null, silent = true)
|
||||
|
||||
// ---- App 黑白名单 ----
|
||||
if (!rules.isForwardingOn(pkg))
|
||||
return Decision(null, "此 App 已关", appLabel, null)
|
||||
|
||||
Reference in New Issue
Block a user