Compare commits

...

3 Commits

Author SHA1 Message Date
SukkaW
b631279152 Enhance Reject Hosts Subsomain Stripping
Some checks failed
Build / Build (push) Has been cancelled
Build / Diff output (push) Has been cancelled
Build / Deploy to Cloudflare Pages (3.114.12) (push) Has been cancelled
Build / Deploy to GitHub and GitLab (push) Has been cancelled
Build / Remove Artifacts after Deployment (push) Has been cancelled
2025-12-10 13:51:55 +08:00
SukkaW
e0871866ff Update Reject Hosts 2025-12-10 13:48:54 +08:00
SukkaW
be2262e51b Strengthen Phishing Score Calculation 2025-12-10 13:48:54 +08:00
7 changed files with 19 additions and 8 deletions

View File

@ -3,18 +3,21 @@ import { createRetrieKeywordFilter as createKeywordFilter } from 'foxts/retrie';
export const BLACK_TLD = new Set([
'accountant', 'art', 'autos',
'bar', 'beauty', 'bid', 'bio', 'biz', 'bond', 'business', 'buzz',
'cc', 'cf', 'cfd', 'click', 'cloud', 'club', 'cn', 'codes',
'casa', 'cc', 'cf', 'cfd', 'click', 'cloud', 'club', 'cn', 'codes',
'co.uk', 'co.in', 'com.br', 'com.cn', 'com.pl', 'com.vn',
'cool', 'cricket', 'cyou',
'date', 'design', 'digital', 'download',
'email',
'faith', 'fit', 'fun',
'ga', 'gd', 'gives', 'gq', 'group', 'host',
'ga', 'games', 'gd', 'gives', 'gq', 'group',
'help', 'host',
'icu', 'id', 'info', 'ink',
'lat', 'life', 'live', 'link', 'loan', 'lol', 'ltd',
'me', 'men', 'ml', 'mobi', 'mom', 'monster',
'net.pl',
'lat', 'life', 'live', 'link', 'loan', 'lol', 'love', 'ltd',
'me', 'media', 'men', 'ml', 'mobi', 'movie', 'mom', 'monster',
'net.pl', 'ninja',
'one', 'online',
'party', 'pro', 'pl', 'pw',
'qpon', 'quest',
'racing', 'rest', 'review', 'rf.gd',
'sa.com', 'sbs', 'science', 'shop', 'site', 'skin', 'space', 'store', 'stream', 'su', 'support', 'surf',
'tech', 'tk', 'tokyo', 'top', 'trade',

View File

@ -26,12 +26,10 @@ export async function fetchAssets(
try {
await waitWithAbort(1800 + (index + 1) * 1200, controller.signal);
} catch {
console.log(picocolors.gray('[fetch cancelled early]'), picocolors.gray(url));
throw reusedCustomAbortError;
}
}
if (controller.signal.aborted) {
console.log(picocolors.gray('[fetch cancelled]'), picocolors.gray(url));
throw reusedCustomAbortError;
}
if (index >= 0) {

View File

@ -105,8 +105,10 @@ const pool = new Worktank({
} else {
if (BLACK_TLD.has(tld)) {
score += 3;
} else if (tld.length > 6) {
} else if (tld.length > 4) {
score += 2;
} else if (tld.length > 5) {
score += 4;
}
if (apexDomain.length >= 18) {
score += 0.5;

View File

@ -24,6 +24,7 @@ function fastNormalizeDomainWithoutWwwNoIP(domain: string, parsed: TldTsParsed |
|| parsed.subdomain === 'xml-v4'
|| parsed.subdomain === 'xml-eu'
|| parsed.subdomain === 'xml-eu-v4'
|| (parsed.subdomain.length === 4 && parsed.subdomain.startsWith('www'))
) {
return parsed.domain;
}

View File

@ -608,6 +608,7 @@ function onHostname(
|| parsed.subdomain === 'xml-v4'
|| parsed.subdomain === 'xml-eu'
|| parsed.subdomain === 'xml-eu-v4'
|| (parsed.subdomain.length === 4 && parsed.subdomain.startsWith('www'))
) {
hostname = parsed.domain;
} else if (parsed.subdomain.startsWith('www.')) {

View File

@ -1343,6 +1343,10 @@ trackingprd.hwwt8.com
.net.daraz.com
.net.daraz.com.bd
.goldfishss.com
.4players.de
.groc.press
.buzzfeed.de
.buzzfeed.at
# >> Alexa / Amazon
device-metrics-us.amazon.com

View File

@ -182,6 +182,8 @@ DOMAIN-KEYWORD,adobemarketing.
DOMAIN-KEYWORD,adtarget.
DOMAIN-KEYWORD,iqmetrics.
DOMAIN-KEYWORD,load.tracking.
DOMAIN-KEYWORD,-mktg.vodafone.com
DOMAIN-KEYWORD,-business.vodafone.com
DOMAIN-KEYWORD,-ss.checkoutera.com