mirror of
https://github.com/fmhy/FMHY-SafeGuard.git
synced 2026-03-11 08:55:40 +00:00
Update background.js
Fixed recognizing unsafe and potentially unsafe links
This commit is contained in:
parent
58d3520db1
commit
977306bcc9
1 changed files with 17 additions and 7 deletions
|
|
@ -9,7 +9,7 @@ const starredListURL =
|
|||
let unsafeSitesRegex = null;
|
||||
let potentiallyUnsafeSitesRegex = null;
|
||||
let safeSites = [];
|
||||
let starredSites = ["https://fmhy.net"];
|
||||
let starredSites = ["https://fmhy.net", "https://fmhy.pages.dev/"];
|
||||
|
||||
// Helper function to extract URLs from markdown text
|
||||
function extractUrlsFromMarkdown(markdown) {
|
||||
|
|
@ -28,12 +28,21 @@ function extractUrlsFromBookmarks(html) {
|
|||
return urls;
|
||||
}
|
||||
|
||||
// Helper function to normalize URLs (removes trailing slashes, query parameters, and fragments)
|
||||
// Helper function to normalize URLs (adds protocol if missing, removes trailing slashes, query parameters, and fragments)
|
||||
function normalizeUrl(url) {
|
||||
const urlObj = new URL(url);
|
||||
urlObj.search = ""; // Remove query parameters
|
||||
urlObj.hash = ""; // Remove fragments
|
||||
return urlObj.href.replace(/\/+$/, ""); // Remove trailing slash only
|
||||
try {
|
||||
// Check if the URL starts with "http" or "https", if not, prepend "https://"
|
||||
if (!/^https?:\/\//i.test(url)) {
|
||||
url = `https://${url}`;
|
||||
}
|
||||
const urlObj = new URL(url);
|
||||
urlObj.search = ""; // Remove query parameters
|
||||
urlObj.hash = ""; // Remove fragments
|
||||
return urlObj.href.replace(/\/+$/, ""); // Remove trailing slash only
|
||||
} catch (error) {
|
||||
console.warn(`Invalid URL skipped: ${url}`);
|
||||
return null; // Return null for invalid URLs
|
||||
}
|
||||
}
|
||||
|
||||
// Helper function to extract root domain from URL
|
||||
|
|
@ -56,7 +65,8 @@ function extractUrlsFromFilterList(text) {
|
|||
.split("\n")
|
||||
.map((line) => line.trim())
|
||||
.filter((line) => line && !line.startsWith("!")) // Ignore comments
|
||||
.map((line) => normalizeUrl(line));
|
||||
.map((line) => normalizeUrl(line))
|
||||
.filter((url) => url !== null); // Filter out null values from invalid URLs
|
||||
}
|
||||
|
||||
// Fetch the unsafe and potentially unsafe filter lists and generate regex
|
||||
|
|
|
|||
Loading…
Reference in a new issue