浏览代码

Fix: correctly process phishing domains

SukkaW 2 年之前
父节点
当前提交
41b2f543f8

+ 1 - 2
Build/build-anti-bogus-domain.ts

@@ -1,8 +1,7 @@
 // @ts-check
 import path from 'path';
 import { createRuleset } from './lib/create-file';
-import { fetchRemoteTextByLine, readFileByLine, readFileIntoProcessedArray } from './lib/fetch-text-by-line';
-import { processLine } from './lib/process-line';
+import { fetchRemoteTextByLine, readFileIntoProcessedArray } from './lib/fetch-text-by-line';
 import { task } from './trace';
 import { SHARED_DESCRIPTION } from './lib/constants';
 import { isProbablyIpv4, isProbablyIpv6 } from './lib/is-fast-ip';

+ 0 - 1
Build/build-reject-domainset.ts

@@ -6,7 +6,6 @@ import { createTrie } from './lib/trie';
 
 import { HOSTS, ADGUARD_FILTERS, PREDEFINED_WHITELIST, DOMAIN_LISTS } from './lib/reject-data-source';
 import { createRuleset, compareAndWriteFile } from './lib/create-file';
-import { processLine } from './lib/process-line';
 import { domainDeduper } from './lib/domain-deduper';
 import createKeywordFilter from './lib/aho-corasick';
 import { readFileByLine, readFileIntoProcessedArray } from './lib/fetch-text-by-line';

+ 0 - 1
Build/download-mock-assets.ts

@@ -1,4 +1,3 @@
-import picocolors from 'picocolors';
 import { task } from './trace';
 import path from 'path';
 import { fetchWithRetry } from './lib/fetch-retry';

+ 0 - 1
Build/lib/create-file.ts

@@ -1,7 +1,6 @@
 // @ts-check
 import { readFileByLine } from './fetch-text-by-line';
 import { surgeDomainsetToClashDomainset, surgeRulesetToClashClassicalTextRuleset } from './clash';
-import { traceAsync } from './trace-runner';
 import picocolors from 'picocolors';
 import type { Span } from '../trace';
 import path from 'path';

+ 2 - 2
Build/lib/fetch-text-by-line.ts

@@ -1,8 +1,8 @@
 import type { BunFile } from 'bun';
 import { fetchWithRetry, defaultRequestInit } from './fetch-retry';
 
-import { TextLineStream } from './text-line-transform-stream';
-import { PolyfillTextDecoderStream } from './text-decoder-stream';
+// import { TextLineStream } from './text-line-transform-stream';
+// import { PolyfillTextDecoderStream } from './text-decoder-stream';
 import { processLine } from './process-line';
 // function createTextLineStreamFromStreamSource(stream: ReadableStream<Uint8Array>) {
 //   return stream

+ 3 - 4
Build/lib/get-phishing-domains.ts

@@ -1,6 +1,5 @@
 import { getGorhillPublicSuffixPromise } from './get-gorhill-publicsuffix';
-import { processDomainLists, processHosts } from './parse-filter';
-import { traceAsync, traceSync } from './trace-runner';
+import { processDomainLists } from './parse-filter';
 import * as tldts from 'tldts';
 import { createTrie } from './trie';
 import { createCachedGorhillGetDomain } from './cached-tld-parse';
@@ -182,8 +181,8 @@ export const getPhishingDomains = (parentSpan: Span) => parentSpan.traceChild('g
   const results = span.traceChild('get final phishing results').traceSyncFn(() => {
     const results: string[] = [];
     for (const domain in domainCountMap) {
-      if (domainCountMap[domain] > 5) {
-        results.push(domain);
+      if (domainCountMap[domain] >= 5) {
+        results.push(`.${domain}`);
       }
     }
     return results;

+ 0 - 1
Build/lib/parse-filter.ts

@@ -5,7 +5,6 @@ import { processLine } from './process-line';
 import { getGorhillPublicSuffixPromise } from './get-gorhill-publicsuffix';
 import type { PublicSuffixList } from '@gorhill/publicsuffixlist';
 
-import { traceAsync } from './trace-runner';
 import picocolors from 'picocolors';
 import { normalizeDomain } from './normalize-domain';
 import { fetchAssets } from './fetch-assets';

+ 0 - 1
Build/lib/trace-runner.ts

@@ -1,4 +1,3 @@
-import path from 'path';
 import picocolors from 'picocolors';
 
 type Formatter = (result: string) => string;