@herbertgao/surgio
Version:
Generating rules for Surge, Clash, Quantumult like a PRO
160 lines • 4.47 kB
JavaScript
;
// istanbul ignore file
Object.defineProperty(exports, "__esModule", { value: true });
exports.LOON_SUPPORTED_VMESS_NETWORK = exports.SURFBOARD_SUPPORTED_VMESS_NETWORK = exports.SURGE_SUPPORTED_VMESS_NETWORK = exports.QUANTUMULT_X_SUPPORTED_VMESS_NETWORK = exports.STASH_SUPPORTED_VMESS_NETWORK = exports.CLASH_META_SUPPORTED_VMESS_NETWORK = exports.V2RAYN_SUPPORTED_VMESS_NETWORK = exports.CACHE_KEYS = exports.TMP_FOLDER_NAME = exports.CATEGORIES = exports.SURFBOARD_SUPPORTED_RULE = exports.LOON_SUPPORTED_RULE = exports.QUANTUMULT_X_SUPPORTED_RULE = exports.STASH_SUPPORTED_RULE = exports.CLASH_META_SUPPORTED_RULE = exports.CLASH_SUPPORTED_RULE = exports.INTERNET_TEST_INTERVAL = exports.PROXY_TEST_INTERVAL = exports.INTERNET_TEST_URL = exports.PROXY_TEST_URL = exports.OBFS_UA = exports.NETWORK_SURGIO_UA = void 0;
exports.NETWORK_SURGIO_UA = 'surgio';
exports.OBFS_UA = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1.1 Mobile/15E148 Safari/604.1';
exports.PROXY_TEST_URL = 'http://cp.cloudflare.com/generate_204';
exports.INTERNET_TEST_URL = 'http://connect.rom.miui.com/generate_204';
exports.PROXY_TEST_INTERVAL = 1200; // 1200s
exports.INTERNET_TEST_INTERVAL = 1200; // 1200s
exports.CLASH_SUPPORTED_RULE = [
'DOMAIN-SUFFIX',
'DOMAIN-KEYWORD',
'DOMAIN',
'SRC-IP-CIDR',
'IP-CIDR',
'IP-CIDR6',
'GEOIP',
'DST-PORT',
'SRC-PORT',
'MATCH',
'FINAL',
'PROCESS-NAME',
];
// CLASH_META_SUPPORTED_RULE generate by `curl -sf https://raw.githubusercontent.com/MetaCubeX/mihomo/Meta/rules/parser.go | grep case | sed 's/://' | sed 's/case//' | tr '\n' ',' | python3 -c 'print(eval(input()))' | sed 's/, / \n/g' | sed 's/[()]//' | sed 's/[ ]*$/,/'`
exports.CLASH_META_SUPPORTED_RULE = [
'DOMAIN',
'DOMAIN-SUFFIX',
'DOMAIN-KEYWORD',
'DOMAIN-REGEX',
'GEOSITE',
'GEOIP',
'SRC-GEOIP',
'IP-ASN',
'SRC-IP-ASN',
'IP-CIDR',
'IP-CIDR6',
'SRC-IP-CIDR',
'IP-SUFFIX',
'SRC-IP-SUFFIX',
'SRC-PORT',
'DST-PORT',
'IN-PORT',
'DSCP',
'PROCESS-NAME',
'PROCESS-PATH',
'PROCESS-NAME-REGEX',
'PROCESS-PATH-REGEX',
'NETWORK',
'UID',
'IN-TYPE',
'IN-USER',
'IN-NAME',
'SUB-RULE',
'AND',
'OR',
'NOT',
'RULE-SET',
'MATCH',
];
// https://stash.wiki/rules/rule-types
exports.STASH_SUPPORTED_RULE = [
'DOMAIN',
'DOMAIN-SUFFIX',
'DOMAIN-KEYWORD',
'GEOIP',
'IP-ASN',
'IP-CIDR',
'IP-CIDR6',
'DST-PORT',
'RULE-SET',
'GEOSITE',
'PROCESS-NAME',
'PROCESS-PATH',
'SCRIPT',
];
exports.QUANTUMULT_X_SUPPORTED_RULE = [
'USER-AGENT',
'HOST',
'HOST-KEYWORD',
'HOST-SUFFIX',
'DOMAIN',
'DOMAIN-SUFFIX',
'DOMAIN-KEYWORD',
'IP-CIDR',
'IP-CIDR6',
'GEOIP',
'FINAL',
];
// @see https://www.notion.so/2-967c1a07462c43ab88906162bec475a4
exports.LOON_SUPPORTED_RULE = [
'DOMAIN-SUFFIX',
'DOMAIN',
'DOMAIN-KEYWORD',
'USER-AGENT',
'URL-REGEX',
'IP-CIDR',
'GEOIP',
'FINAL',
];
// @see https://getsurfboard.com/docs/profile-format/rule/
exports.SURFBOARD_SUPPORTED_RULE = [
'DOMAIN-SUFFIX',
'DOMAIN',
'DOMAIN-KEYWORD',
'IP-CIDR',
'IP-CIDR6',
'GEOIP',
'FINAL',
'PROCESS-NAME',
'RULE-SET',
'DOMAIN-SET',
];
exports.CATEGORIES = {
SNIPPET: 'Snippet',
SURGE: 'Surge',
QUANTUMULT_X: 'Quantumult X',
QUANTUMULT_X_SERVER: 'Quantumult X Server',
QUANTUMULT_X_FILTER: 'Quantumult X Filter',
QUANTUMULT_X_REWRITE: 'Quantumult X Rewrite',
CLASH: 'Clash',
LOON: 'Loon',
SURFBOARD: 'Surfboard',
};
exports.TMP_FOLDER_NAME = 'surgio-config';
exports.CACHE_KEYS = {
RemoteSnippets: 'remote-snippets-v2',
Provider: 'provider-v2',
RenderedArtifact: 'rendered-artifact',
};
exports.V2RAYN_SUPPORTED_VMESS_NETWORK = [
'tcp',
'http',
'ws',
'h2',
'grpc',
];
exports.CLASH_META_SUPPORTED_VMESS_NETWORK = [
'tcp',
'ws',
'h2',
'grpc',
'http',
];
exports.STASH_SUPPORTED_VMESS_NETWORK = [
'tcp',
'ws',
'h2',
'grpc',
'http',
];
exports.QUANTUMULT_X_SUPPORTED_VMESS_NETWORK = [
'tcp',
'ws',
'http',
];
exports.SURGE_SUPPORTED_VMESS_NETWORK = ['tcp', 'ws'];
exports.SURFBOARD_SUPPORTED_VMESS_NETWORK = ['tcp', 'ws'];
exports.LOON_SUPPORTED_VMESS_NETWORK = ['tcp', 'ws', 'http'];
//# sourceMappingURL=constant.js.map