Perf: only acquire limited data from parse

This commit is contained in:
SukkaW 2022-11-03 15:16:08 +08:00
parent b69f4a75c1
commit cd5525b560
2 changed files with 4 additions and 8 deletions

View File

@ -54,13 +54,9 @@ const BLACK_TLD = Array.from(new Set([
const domain = line.charCodeAt(0) === 46 ? line.slice(1) : line; const domain = line.charCodeAt(0) === 46 ? line.slice(1) : line;
if (line.length > 25) { if (domain.length > 25) {
const parsed = tldts.parse(domain, { allowPrivateDomains: true }); const apexDomain = tldts.getDomain(domain, { allowPrivateDomains: true });
if (parsed.isIp || domain === parsed.publicSuffix) {
continue;
}
const apexDomain = parsed.domain;
if (apexDomain) { if (apexDomain) {
if (WHITELIST_DOMAIN.has(apexDomain)) { if (WHITELIST_DOMAIN.has(apexDomain)) {
continue; continue;

View File

@ -28,7 +28,7 @@ const SPECIAL_SUFFIXES = new Set([
} }
const domain = line.charCodeAt(0) === 46 ? line.slice(1) : line; const domain = line.charCodeAt(0) === 46 ? line.slice(1) : line;
const parsed = tldts.parse(domain, { allowPrivateDomains: true }); const parsed = tldts.parse(domain, { allowPrivateDomains: true, detectIp: false });
if ( if (
( (
@ -58,7 +58,7 @@ const SPECIAL_SUFFIXES = new Set([
if (line.startsWith('DOMAIN-SUFFIX')) { if (line.startsWith('DOMAIN-SUFFIX')) {
const domain = line.slice(14); const domain = line.slice(14);
const parsed = tldts.parse(domain, { allowPrivateDomains: true }); const parsed = tldts.parse(domain, { allowPrivateDomains: true, detectIp: false });
if (domain !== parsed.publicSuffix) { if (domain !== parsed.publicSuffix) {
if (!SPECIAL_SUFFIXES.has(domain)) { if (!SPECIAL_SUFFIXES.has(domain)) {