aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-02-08 14:01:06 +0800
committerYuqian Yang <crupest@crupest.life>2025-02-08 14:01:06 +0800
commit4983d3dbda29705ac5d373f96f083e664713b3d0 (patch)
treef803fa0975acf40c506b654ea6bc9ad848621749
parent4442aad817bd028d40560ce8bfefad36f60ef27e (diff)
downloadcrupest-4983d3dbda29705ac5d373f96f083e664713b3d0.tar.gz
crupest-4983d3dbda29705ac5d373f96f083e664713b3d0.tar.bz2
crupest-4983d3dbda29705ac5d373f96f083e664713b3d0.zip
feat(magic): add extend and script.
-rw-r--r--configs/magic/extend-script.js21
-rw-r--r--configs/magic/extend.yaml64
2 files changed, 85 insertions, 0 deletions
diff --git a/configs/magic/extend-script.js b/configs/magic/extend-script.js
new file mode 100644
index 0000000..dd1475c
--- /dev/null
+++ b/configs/magic/extend-script.js
@@ -0,0 +1,21 @@
+// Define main function (script entry)
+
+function main(config, profileName) {
+ delete config.dns;
+ delete config.tun;
+ delete config.hosts;
+
+ delete config["cfw-latency-timeout"]
+ delete config["cfw-latency-url"]
+ delete config["cfw-conn-break-strategy"]
+
+ config["proxies"] = [config["crupest-proxy"], ...config["proxies"]]
+ delete config["crupest-proxy"]
+
+ select_proxy = { name: "node-select", type: "select", proxies: ["fallback", ...config.proxies.map(p => p.name)] }
+ fallback_proxy = config["crupest-fallback"]
+ config["proxy-groups"] = [ select_proxy, fallback_proxy ]
+ delete config["crupest-fallback"]
+
+ return config;
+}
diff --git a/configs/magic/extend.yaml b/configs/magic/extend.yaml
new file mode 100644
index 0000000..5ec1b9e
--- /dev/null
+++ b/configs/magic/extend.yaml
@@ -0,0 +1,64 @@
+# Profile Enhancement Merge Template for Clash Verge
+
+profile:
+ store-selected: true
+
+rules:
+ - "GEOSITE,github,node-select"
+ - "GEOSITE,google,node-select"
+ - "GEOSITE,youtube,node-select"
+ - "GEOSITE,twitter,node-select"
+ - "GEOSITE,facebook,node-select"
+ - "GEOSITE,discord,node-select"
+ - "GEOSITE,reddit,node-select"
+ - "GEOSITE,twitch,node-select"
+ - "GEOSITE,quora,node-select"
+ - "GEOSITE,telegram,node-select"
+ - "GEOSITE,imgur,node-select"
+ - "GEOSITE,stackexchange,node-select"
+ - "GEOSITE,onedrive,node-select"
+
+ - "GEOSITE,duckduckgo,node-select"
+ - "GEOSITE,wikimedia,node-select"
+ - "GEOSITE,gitbook,node-select"
+ - "GEOSITE,gitlab,node-select"
+ - "GEOSITE,creativecommons,node-select"
+ - "GEOSITE,archive,node-select"
+ - "GEOSITE,matrix,node-select"
+ - "GEOSITE,tor,node-select"
+
+ - "GEOSITE,python,node-select"
+ - "GEOSITE,ruby,node-select"
+ - "GEOSITE,rust,node-select"
+ - "GEOSITE,nodejs,node-select"
+ - "GEOSITE,npmjs,node-select"
+ - "GEOSITE,qt,node-select"
+ - "GEOSITE,docker,node-select"
+ - "GEOSITE,v2ray,node-select"
+ - "GEOSITE,homebrew,node-select"
+ - "GEOSITE,bootstrap,node-select"
+
+ - "GEOSITE,heroku,node-select"
+ - "GEOSITE,vercel,node-select"
+
+ - "GEOSITE,ieee,node-select"
+ - "GEOSITE,sci-hub,node-select"
+ - "GEOSITE,libgen,node-select"
+
+ - "DOMAIN-SUFFIX,gnu.org,node-select"
+ - "DOMAIN-SUFFIX,nongnu.org,node-select"
+ - "DOMAIN-SUFFIX,ietf.org,node-select"
+ - "DOMAIN-SUFFIX,packagist.org,node-select"
+ - "DOMAIN-SUFFIX,metacubex.one,node-select"
+ - "MATCH,DIRECT"
+
+crupest-proxy:
+ ...
+
+crupest-fallback:
+ name: "fallback"
+ type: fallback
+ include-all-proxies: true
+ url: 'https://www.gstatic.com/generate_204'
+ filter: "日本|新加坡|香港|台湾|美国"
+ expected-status: 204