From fc0bfdc9a0860005050e4c45ba2c6602a5f1d5f8 Mon Sep 17 00:00:00 2001 From: SukkaW Date: Mon, 25 Mar 2024 14:05:37 +0800 Subject: [PATCH] Update Reject Hosts --- Build/build-reject-domainset.ts | 13 ++++----- Build/download-previous-build.ts | 2 +- Build/index.ts | 4 +-- Build/lib/parse-filter.ts | 48 ++++++++++++++++---------------- Source/non_ip/reject.conf | 18 +++++++----- 5 files changed, 43 insertions(+), 42 deletions(-) diff --git a/Build/build-reject-domainset.ts b/Build/build-reject-domainset.ts index b127d4c7..6096cfe0 100644 --- a/Build/build-reject-domainset.ts +++ b/Build/build-reject-domainset.ts @@ -114,14 +114,11 @@ export const buildRejectDomainSet = task(import.meta.path, async (span) => { }); filterRuleWhitelistDomainSets.forEach(suffix => { trie.substractSetInPlaceFromFound(suffix, domainSets); - - if (suffix[0] === '.') { - // handle case like removing `g.msn.com` due to white `.g.msn.com` (`@@||g.msn.com`) - domainSets.delete(suffix.slice(1)); - } else { - // If `g.msn.com` is whitelisted, then `.g.msn.com` should be removed from domain set - domainSets.delete(`.${suffix}`); - } + domainSets.delete( + suffix[0] === '.' + ? suffix.slice(1) // handle case like removing `g.msn.com` due to white `.g.msn.com` (`@@||g.msn.com`) + : `.${suffix}` // If `g.msn.com` is whitelisted, then `.g.msn.com` should be removed from domain set + ); }); }); diff --git a/Build/download-previous-build.ts b/Build/download-previous-build.ts index a1b0c986..2392a671 100644 --- a/Build/download-previous-build.ts +++ b/Build/download-previous-build.ts @@ -65,7 +65,7 @@ export const downloadPreviousBuild = task(import.meta.path, async (span) => { const extract = tarStream.extract(); pipeline( - Readable.fromWeb(resp.body as unknown as import('stream/web').ReadableStream), + Readable.fromWeb(resp.body as any), gunzip, extract ); diff --git a/Build/index.ts b/Build/index.ts index d9145888..4fc2c06e 100644 --- a/Build/index.ts +++ b/Build/index.ts @@ -29,9 +29,9 @@ import { buildCloudMounterRules } from './build-cloudmounter-rules'; import { createSpan, printTraceResult } from './trace'; import { buildDeprecateFiles } from './build-deprecate-files'; -(async () => { - console.log('Bun version:', Bun.version, Bun.revision); +console.log('Bun version:', Bun.version, Bun.revision); +(async () => { const rootSpan = createSpan('root'); try { diff --git a/Build/lib/parse-filter.ts b/Build/lib/parse-filter.ts index 22fb44ce..e08befbd 100644 --- a/Build/lib/parse-filter.ts +++ b/Build/lib/parse-filter.ts @@ -47,33 +47,33 @@ export function processDomainLists(span: Span, domainListsUrl: string, includeAl )); } export function processHosts(span: Span, hostsUrl: string, mirrors: string[] | null, includeAllSubDomain = false, ttl: number | null = null) { + const domainSets = new Set(); + + const lineCb = (l: string) => { + const line = processLine(l); + if (!line) { + return; + } + + const _domain = line.split(/\s/)[1]?.trim(); + if (!_domain) { + return; + } + const domain = normalizeDomain(_domain); + if (!domain) { + return; + } + if (DEBUG_DOMAIN_TO_FIND && domain.includes(DEBUG_DOMAIN_TO_FIND)) { + console.warn(picocolors.red(hostsUrl), '(black)', domain.replaceAll(DEBUG_DOMAIN_TO_FIND, picocolors.bold(DEBUG_DOMAIN_TO_FIND))); + foundDebugDomain = true; + } + + domainSets.add(includeAllSubDomain ? `.${domain}` : domain); + }; + return span.traceChild(`processhosts: ${hostsUrl}`).traceAsyncFn((childSpan) => fsFetchCache.apply( hostsUrl, async () => { - const domainSets = new Set(); - - const lineCb = (l: string) => { - const line = processLine(l); - if (!line) { - return; - } - - const _domain = line.split(/\s/)[1]?.trim(); - if (!_domain) { - return; - } - const domain = normalizeDomain(_domain); - if (!domain) { - return; - } - if (DEBUG_DOMAIN_TO_FIND && domain.includes(DEBUG_DOMAIN_TO_FIND)) { - console.warn(picocolors.red(hostsUrl), '(black)', domain.replaceAll(DEBUG_DOMAIN_TO_FIND, picocolors.bold(DEBUG_DOMAIN_TO_FIND))); - foundDebugDomain = true; - } - - domainSets.add(includeAllSubDomain ? `.${domain}` : domain); - }; - if (mirrors == null || mirrors.length === 0) { for await (const l of await fetchRemoteTextByLine(hostsUrl)) { lineCb(l); diff --git a/Source/non_ip/reject.conf b/Source/non_ip/reject.conf index 6c6a1046..71661c60 100644 --- a/Source/non_ip/reject.conf +++ b/Source/non_ip/reject.conf @@ -127,6 +127,11 @@ DOMAIN-SUFFIX,johncornell.com DOMAIN-SUFFIX,hamdandates.com DOMAIN-SUFFIX,espmp-nifr.net DOMAIN-SUFFIX,carte-gr.total.fr +DOMAIN-SUFFIX,j74y03g8u.com +DOMAIN-SUFFIX,net.iberostar.com +DOMAIN-SUFFIX,kortfilmfestivalen.no +DOMAIN-SUFFIX,4puuqeh41.com +DOMAIN-SUFFIX,branch.rocks # >> Phishing DOMAIN-SUFFIX,exaapi.com @@ -138,13 +143,6 @@ DOMAIN-SUFFIX,yourtrap.com DOMAIN-SUFFIX,24houcryptowatcher.com DOMAIN-SUFFIX,xsph.ru -DOMAIN-KEYWORD,pancakeswap - -DOMAIN-KEYWORD,fb-restriction-case -DOMAIN-KEYWORD,fb-restriction-appeal -DOMAIN-KEYWORD,fb-community-standards -DOMAIN-KEYWORD,fb-business-appeal - DOMAIN-SUFFIX,temp.swtest.ru DOMAIN-SUFFIX,tw1.ru DOMAIN-SUFFIX,tarungdrajatsiokalama.com @@ -154,6 +152,12 @@ DOMAIN-SUFFIX,pages.net.br DOMAIN-SUFFIX,myenotice.com DOMAIN-SUFFIX,eu5.net +DOMAIN-KEYWORD,pancakeswap +DOMAIN-KEYWORD,fb-restriction-case +DOMAIN-KEYWORD,fb-restriction-appeal +DOMAIN-KEYWORD,fb-community-standards +DOMAIN-KEYWORD,fb-business-appeal + # --- End of Blacklist Section # --- AD Block ---