mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-12 01:00:34 +08:00
16 lines
442 B
TypeScript
16 lines
442 B
TypeScript
import * as tldts from './cached-tld-parse';
|
|
import { isProbablyIpv4 } from './is-fast-ip';
|
|
export const normalizeDomain = (domain: string) => {
|
|
if (!domain) return null;
|
|
if (isProbablyIpv4(domain)) return null;
|
|
|
|
const parsed = tldts.parse2(domain);
|
|
if (parsed.isIp) return null;
|
|
if (!parsed.isIcann && !parsed.isPrivate) return null;
|
|
|
|
const h = parsed.hostname;
|
|
if (!h) return null;
|
|
|
|
return h[0] === '.' ? h.slice(1) : h;
|
|
};
|