From d82b6a8d22cc59378656b4871b44c3bf2a529e57 Mon Sep 17 00:00:00 2001 From: M66B Date: Mon, 26 Jan 2026 23:50:39 +0100 Subject: [PATCH] Added support for urldefense --- app/src/main/java/eu/faircode/email/Adguard.java | 1 + app/src/main/java/eu/faircode/email/UriHelper.java | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/app/src/main/java/eu/faircode/email/Adguard.java b/app/src/main/java/eu/faircode/email/Adguard.java index f16d5eb97c..c5388bff1f 100644 --- a/app/src/main/java/eu/faircode/email/Adguard.java +++ b/app/src/main/java/eu/faircode/email/Adguard.java @@ -103,6 +103,7 @@ public class Adguard { while (dollar > 0 && line.charAt(dollar - 1) == '\\') dollar = line.indexOf('$', dollar + 1); if (dollar < 0) { + // ||https-filtering-check.adtidy.org^ if (!line.contains("##")) Log.w("Adguard command missing line=" + line); continue; diff --git a/app/src/main/java/eu/faircode/email/UriHelper.java b/app/src/main/java/eu/faircode/email/UriHelper.java index 9be9cacdae..68f6acc80b 100644 --- a/app/src/main/java/eu/faircode/email/UriHelper.java +++ b/app/src/main/java/eu/faircode/email/UriHelper.java @@ -356,6 +356,14 @@ public class UriHelper { Uri result = (s > 0 && e > s ? Uri.parse(Uri.decode(path.substring(s + 1, e))) : null); changed = (result != null && isHyperLink(result)); url = (changed ? result : uri); + } else if (uri.getHost() != null && uri.getHost().equalsIgnoreCase("urldefense.com")) { + // https://urldefense.com/v3/____;!! + String path = uri.toString(); + int s = path.indexOf("/v3/__"); + int e = path.indexOf("__;", s + 6); + Uri result = (s >= 0 && e > s ? Uri.parse(Uri.decode(path.substring(s + 6, e))) : null); + changed = (result != null && isHyperLink(result)); + url = (changed ? result : uri); } else { Uri result = getBraveDebounce(context, uri);