From 706ce6b9cd40f138fabb24c5ffb56bbafb51aea5 Mon Sep 17 00:00:00 2001 From: FongMi Date: Fri, 8 Dec 2023 00:32:44 +0800 Subject: [PATCH] Update Sniffer.java --- app/src/main/java/com/fongmi/android/tv/utils/Sniffer.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/utils/Sniffer.java b/app/src/main/java/com/fongmi/android/tv/utils/Sniffer.java index a134ba334..1a98fda21 100644 --- a/app/src/main/java/com/fongmi/android/tv/utils/Sniffer.java +++ b/app/src/main/java/com/fongmi/android/tv/utils/Sniffer.java @@ -22,7 +22,8 @@ public class Sniffer { private static final String TAG = Sniffer.class.getSimpleName(); public static final Pattern CLICKER = Pattern.compile("\\[a=cr:(\\{.*?\\})\\/](.*?)\\[\\/a]"); - public static final String RULE = "http((?!http).){12,}?\\.(m3u8|mp4|mkv|flv|mp3|m4a|aac)\\?.*|http((?!http).){12,}\\.(m3u8|mp4|mkv|flv|mp3|m4a|aac)|http((?!http).)*?video/tos*"; + public static final Pattern SNIFFER = Pattern.compile("http((?!http).){12,}?\\.(m3u8|mp4|mkv|flv|mp3|m4a|aac)\\?.*|http((?!http).){12,}\\.(m3u8|mp4|mkv|flv|mp3|m4a|aac)|http((?!http).)*?video/tos*"); + public static final List THUNDER = Arrays.asList("thunder", "magnet", "ed2k"); public static String getUrl(String text) { @@ -49,13 +50,13 @@ public class Sniffer { if (containOrMatch(url)) return true; if (headers.containsKey("Accept") && headers.get("Accept").startsWith("image")) return false; if (url.contains("url=http") || url.contains("v=http") || url.contains(".css") || url.contains(".html")) return false; - return url.matches(RULE); + return SNIFFER.matcher(url).find(); } private static boolean containOrMatch(String url) { List items = getRegex(UrlUtil.uri(url)); for (String regex : items) if (url.contains(regex)) return true; - for (String regex : items) if (url.matches(regex)) return true; + for (String regex : items) if (Pattern.compile(regex).matcher(url).find()) return true; return false; }