mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-21 05:40:29 +08:00
79 lines
3.4 KiB
JavaScript
79 lines
3.4 KiB
JavaScript
'use strict';Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});const normalizeDomain=require('../../_virtual/normalize-domain.cjs'),require$$0=require('tldts'),looseTldtsOpt=require('../constants/loose-tldts-opt.cjs'),require$$2=require('foxts/is-probably-ip');var hasRequiredNormalizeDomain;
|
|
|
|
function requireNormalizeDomain () {
|
|
if (hasRequiredNormalizeDomain) return normalizeDomain.__exports;
|
|
hasRequiredNormalizeDomain = 1;
|
|
(function (exports) {
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
function _export(target, all) {
|
|
for(var name in all)Object.defineProperty(target, name, {
|
|
enumerable: true,
|
|
get: all[name]
|
|
});
|
|
}
|
|
_export(exports, {
|
|
fastNormalizeDomain: function() {
|
|
return fastNormalizeDomain;
|
|
},
|
|
fastNormalizeDomainWithoutWww: function() {
|
|
return fastNormalizeDomainWithoutWww;
|
|
},
|
|
normalizeDomain: function() {
|
|
return normalizeDomain;
|
|
}
|
|
});
|
|
const _tldts = /*#__PURE__*/ _interop_require_default(require$$0);
|
|
const _loosetldtsopt = /*@__PURE__*/ looseTldtsOpt.__require();
|
|
const _isprobablyip = require$$2;
|
|
function _interop_require_default(obj) {
|
|
return obj && obj.__esModule ? obj : {
|
|
default: obj
|
|
};
|
|
}
|
|
function fastNormalizeDomainWithoutWww(domain, parsed = null) {
|
|
// We don't want tldts to call its own "extractHostname" on ip, bail out ip first.
|
|
// Now ip has been bailed out, we can safely set normalizeTldtsOpt.detectIp to false.
|
|
if ((0, _isprobablyip.isProbablyIpv4)(domain) || (0, _isprobablyip.isProbablyIpv6)(domain)) {
|
|
return null;
|
|
}
|
|
parsed ??= _tldts.default.parse(domain, _loosetldtsopt.normalizeTldtsOpt);
|
|
// Private invalid domain (things like .tor, .dn42, etc)
|
|
if (!parsed.isIcann && !parsed.isPrivate) return null;
|
|
if (parsed.subdomain) {
|
|
if (parsed.subdomain === 'www') {
|
|
return parsed.domain;
|
|
}
|
|
if (parsed.subdomain.startsWith('www.')) {
|
|
return parsed.subdomain.slice(4) + '.' + parsed.domain;
|
|
}
|
|
}
|
|
return parsed.hostname;
|
|
}
|
|
function fastNormalizeDomain(domain, parsed = null) {
|
|
// We don't want tldts to call its own "extractHostname" on ip, bail out ip first.
|
|
// Now ip has been bailed out, we can safely set normalizeTldtsOpt.detectIp to false.
|
|
if ((0, _isprobablyip.isProbablyIpv4)(domain) || (0, _isprobablyip.isProbablyIpv6)(domain)) {
|
|
return null;
|
|
}
|
|
parsed ??= _tldts.default.parse(domain, _loosetldtsopt.normalizeTldtsOpt);
|
|
// Private invalid domain (things like .tor, .dn42, etc)
|
|
if (!parsed.isIcann && !parsed.isPrivate) return null;
|
|
return parsed.hostname;
|
|
}
|
|
function normalizeDomain(domain, parsed = null) {
|
|
if (domain.length === 0) return null;
|
|
if ((0, _isprobablyip.isProbablyIpv4)(domain) || (0, _isprobablyip.isProbablyIpv6)(domain)) {
|
|
return null;
|
|
}
|
|
parsed ??= _tldts.default.parse(domain, _loosetldtsopt.normalizeTldtsOpt);
|
|
// Private invalid domain (things like .tor, .dn42, etc)
|
|
if (!parsed.isIcann && !parsed.isPrivate) return null;
|
|
// const h = parsed.hostname;
|
|
// if (h === null) return null;
|
|
return parsed.hostname;
|
|
}
|
|
} (normalizeDomain.__exports));
|
|
return normalizeDomain.__exports;
|
|
}exports.__require=requireNormalizeDomain; |