UNPKG

surgio

Version:

Generating rules for Surge, Clash, Quantumult like a PRO

110 lines 5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.anytlsFilter = exports.vlessFilter = exports.hysteria2Filter = exports.wireguardFilter = exports.socks5Filter = exports.trojanFilter = exports.httpsFilter = exports.httpFilter = exports.tuicFilter = exports.snellFilter = exports.v2rayFilter = exports.vmessFilter = exports.shadowsocksrFilter = exports.shadowsocksFilter = exports.youtubePremiumFilter = exports.chinaOutFilter = exports.chinaBackFilter = exports.taiwanFilter = exports.germanyFilter = exports.singaporeFilter = exports.koreaFilter = exports.japanFilter = exports.hkFilter = exports.usFilter = exports.netflixFilter = void 0; const flag_cn_1 = require("../misc/flag_cn"); const types_1 = require("../types"); const utils_1 = require("./utils"); const netflixFilter = (item) => { return ['netflix', 'nf', 'hkbn', 'hkt', 'hgc', 'nbu'].some((key) => item.nodeName.toLowerCase().includes(key)); }; exports.netflixFilter = netflixFilter; const usFilter = (item) => { return ['🇺🇸', ...flag_cn_1.FLAGS['🇺🇸']].some((key) => item.nodeName.toUpperCase().includes(key)); }; exports.usFilter = usFilter; const hkFilter = (item) => { return ['🇭🇰', ...flag_cn_1.FLAGS['🇭🇰']].some((key) => item.nodeName.toUpperCase().includes(key)); }; exports.hkFilter = hkFilter; const japanFilter = (item) => { return ['🇯🇵', ...flag_cn_1.FLAGS['🇯🇵']].some((key) => item.nodeName.toUpperCase().includes(key)); }; exports.japanFilter = japanFilter; const koreaFilter = (item) => { return ['🇰🇷', ...flag_cn_1.FLAGS['🇰🇷']].some((key) => item.nodeName.toUpperCase().includes(key)); }; exports.koreaFilter = koreaFilter; const singaporeFilter = (item) => { return ['🇸🇬', ...flag_cn_1.FLAGS['🇸🇬']].some((key) => item.nodeName.toUpperCase().includes(key)); }; exports.singaporeFilter = singaporeFilter; const germanyFilter = (item) => { return ['🇩🇪', ...flag_cn_1.FLAGS['🇩🇪']].some((key) => item.nodeName.toUpperCase().includes(key)); }; exports.germanyFilter = germanyFilter; const taiwanFilter = (item) => { return ['🇹🇼', ...flag_cn_1.TAIWAN].some((key) => item.nodeName.toUpperCase().includes(key)); }; exports.taiwanFilter = taiwanFilter; const chinaBackFilter = (item) => { return [ '回国', 'Back', '中国上海', '中国北京', '中国徐州', '中国广州', '中国东莞', '中国中山', '中国深圳', '中国枣庄', '中国郑州', '硅谷上海', '东京上海', 'GCX', ].some((key) => item.nodeName.includes(key)); }; exports.chinaBackFilter = chinaBackFilter; exports.chinaOutFilter = (0, utils_1.reverseFilter)(exports.chinaBackFilter); exports.youtubePremiumFilter = (0, utils_1.mergeFilters)([ exports.usFilter, exports.japanFilter, exports.koreaFilter, exports.hkFilter, exports.singaporeFilter, exports.taiwanFilter, exports.germanyFilter, ]); // istanbul ignore next const shadowsocksFilter = (item) => item.type === types_1.NodeTypeEnum.Shadowsocks; exports.shadowsocksFilter = shadowsocksFilter; // istanbul ignore next const shadowsocksrFilter = (item) => item.type === types_1.NodeTypeEnum.Shadowsocksr; exports.shadowsocksrFilter = shadowsocksrFilter; // istanbul ignore next const vmessFilter = (item) => item.type === types_1.NodeTypeEnum.Vmess; exports.vmessFilter = vmessFilter; // istanbul ignore next const v2rayFilter = (item) => item.type === types_1.NodeTypeEnum.Vmess; exports.v2rayFilter = v2rayFilter; // istanbul ignore next const snellFilter = (item) => item.type === types_1.NodeTypeEnum.Snell; exports.snellFilter = snellFilter; // istanbul ignore next const tuicFilter = (item) => item.type === types_1.NodeTypeEnum.Tuic; exports.tuicFilter = tuicFilter; // istanbul ignore next const httpFilter = (item) => item.type === types_1.NodeTypeEnum.HTTP; exports.httpFilter = httpFilter; // istanbul ignore next const httpsFilter = (item) => item.type === types_1.NodeTypeEnum.HTTPS; exports.httpsFilter = httpsFilter; // istanbul ignore next const trojanFilter = (item) => item.type === types_1.NodeTypeEnum.Trojan; exports.trojanFilter = trojanFilter; // istanbul ignore next const socks5Filter = (item) => item.type === types_1.NodeTypeEnum.Socks5; exports.socks5Filter = socks5Filter; // istanbul ignore next const wireguardFilter = (item) => item.type === types_1.NodeTypeEnum.Wireguard; exports.wireguardFilter = wireguardFilter; // istanbul ignore next const hysteria2Filter = (item) => item.type === types_1.NodeTypeEnum.Hysteria2; exports.hysteria2Filter = hysteria2Filter; // istanbul ignore next const vlessFilter = (item) => item.type === types_1.NodeTypeEnum.Vless; exports.vlessFilter = vlessFilter; // istanbul ignore next const anytlsFilter = (item) => item.type === types_1.NodeTypeEnum.AnyTLS; exports.anytlsFilter = anytlsFilter; //# sourceMappingURL=filters.js.map