Surge_by_SukkaW/Dist/Build/validate-global-tld2.cjs
SukkaW d354c5e988
Some checks are pending
Build / Build (push) Waiting to run
Build / Diff output (push) Blocked by required conditions
Build / Deploy to Cloudflare Pages (push) Blocked by required conditions
Build / Deploy to GitHub and GitLab (push) Blocked by required conditions
Chore: maintainance
2025-02-07 17:52:36 +08:00

53 lines
2.6 KiB
JavaScript

'use strict';Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});const validateGlobalTld=require('../_virtual/validate-global-tld.cjs'),require$$0=require('node:path'),fetchTextByLine=require('./lib/fetch-text-by-line.cjs'),trie=require('./lib/trie.cjs'),dir=require('./constants/dir.cjs'),domains=require('./constants/domains.cjs'),require$$5=require('tldts-experimental'),looseTldtsOpt=require('./constants/loose-tldts-opt.cjs');var hasRequiredValidateGlobalTld;
function requireValidateGlobalTld () {
if (hasRequiredValidateGlobalTld) return validateGlobalTld.__exports;
hasRequiredValidateGlobalTld = 1;
Object.defineProperty(validateGlobalTld.__exports, "__esModule", {
value: true
});
const _nodepath = /*#__PURE__*/ _interop_require_default(require$$0);
const _fetchtextbyline = /*@__PURE__*/ fetchTextByLine.__require();
const _trie = /*@__PURE__*/ trie.__require();
const _dir = /*@__PURE__*/ dir.__require();
const _domains = /*@__PURE__*/ domains.__require();
const _tldtsexperimental = /*#__PURE__*/ _interop_require_default(require$$5);
const _loosetldtsopt = /*@__PURE__*/ looseTldtsOpt.__require();
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
(async ()=>{
const trie = new _trie.HostnameSmolTrie();
const extraWhiteTLDs = new Set();
for await (const line of (0, _fetchtextbyline.readFileByLine)(_nodepath.default.join(_dir.OUTPUT_SURGE_DIR, 'non_ip', 'domestic.conf'))){
const [type, domain] = line.split(',');
if (type !== 'DOMAIN' && type !== 'DOMAIN-SUFFIX') {
continue;
}
if (domain === 'this_ruleset_is_made_by_sukkaw.ruleset.skk.moe') {
continue;
}
const tld = _tldtsexperimental.default.getPublicSuffix(domain, _loosetldtsopt.looseTldtsOpt);
if (tld) {
extraWhiteTLDs.add(tld);
}
}
for await (const line of (0, _fetchtextbyline.readFileByLine)(_nodepath.default.join(_dir.SOURCE_DIR, 'non_ip', 'global.conf'))){
const [type, domain] = line.split(',');
switch(type){
case 'DOMAIN':
trie.add(domain);
break;
case 'DOMAIN-SUFFIX':
trie.add(domain, true);
break;
}
}
_domains.ICP_TLD.forEach((tld)=>trie.whitelist(tld, true));
extraWhiteTLDs.forEach((tld)=>trie.whitelist(tld, true));
console.log(trie.dump().join('\n'));
})();
return validateGlobalTld.__exports;
}exports.__require=requireValidateGlobalTld;