From edf5246e7fcdfa1c80d5e506352ac5b7d6d450c8 Mon Sep 17 00:00:00 2001 From: Tunglies <77394545+Tunglies@users.noreply.github.com> Date: Sun, 17 May 2026 13:11:45 +0800 Subject: [PATCH] fix: mask subscription URLs in backend logs --- src-tauri/src/config/prfitem.rs | 4 ++-- src-tauri/src/utils/resolve/scheme.rs | 16 +++++++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src-tauri/src/config/prfitem.rs b/src-tauri/src/config/prfitem.rs index 4190e5930..58cc378a6 100644 --- a/src-tauri/src/config/prfitem.rs +++ b/src-tauri/src/config/prfitem.rs @@ -591,9 +591,9 @@ fn fix_dirty_url(input: &str) -> Result { Ok(u) => u, Err(e) => { return Err(anyhow::anyhow!( - "failed to parse deep link url: {:?}, input: {:?}", + "failed to parse subscription URL: {:?}, input: {}", e, - input + help::mask_url(input) )); } }; diff --git a/src-tauri/src/utils/resolve/scheme.rs b/src-tauri/src/utils/resolve/scheme.rs index ad1c80eb2..7cee228ef 100644 --- a/src-tauri/src/utils/resolve/scheme.rs +++ b/src-tauri/src/utils/resolve/scheme.rs @@ -8,12 +8,11 @@ use tauri::Url; use crate::{ config::{Config, PrfItem, profiles}, core::{CoreManager, handle}, + utils::help, }; use clash_verge_logging::{Type, logging, logging_error}; pub(super) async fn resolve_scheme(param: &str) -> Result<()> { - logging!(info, Type::Config, "received deep link: {param}"); - let param_str = if param.starts_with("[") && param.len() > 4 { param .get(2..param.len() - 2) @@ -21,12 +20,19 @@ pub(super) async fn resolve_scheme(param: &str) -> Result<()> { } else { param }; + let masked_deep_link = help::mask_url(param_str); - let link_parsed = - Url::parse(param_str).map_err(|e| anyhow::anyhow!("failed to parse deep link: {:?}, param: {:?}", e, param))?; + logging!(debug, Type::Config, "received deep link: {masked_deep_link}"); + + let link_parsed = Url::parse(param_str) + .map_err(|e| anyhow::anyhow!("failed to parse deep link: {e:?}, param: {masked_deep_link}"))?; let Some((url, name)) = extract_subscription_info(&link_parsed) else { - logging!(error, Type::Config, "missing url parameter in deep link: {}", param_str); + logging!( + warn, + Type::Config, + "missing url parameter in deep link: {masked_deep_link}" + ); return Ok(()); };