Skip to content

Commit 26a568c

Browse files
committed
docs: 📝 Clash Verge 全局扩展脚本
1 parent 2eb7abf commit 26a568c

File tree

2 files changed

+69
-9
lines changed

2 files changed

+69
-9
lines changed

.vitepress/config/sidebar.ts

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,15 +46,16 @@ const tech: DefaultTheme.SidebarItem[] = [
4646
text: '其他技术',
4747
base: '/tech/other',
4848
items: [
49-
{ text: 'Markdown 入门手册', link: '/markdown.md' },
50-
{ text: 'Markdown 进阶技巧', link: '/markdown-advanced.md' },
51-
{ text: 'VS Code 环境配置', link: '/vscode-config.md' },
52-
{ text: 'VS Code 扩展收集', link: '/vscode-extensions.md' },
53-
{ text: 'VS Code 图床扩展 PicGo 配置', link: '/vscode-picgo.md' },
54-
{ text: 'macOS 常用浏览器使用说明', link: '/browser-instructions.md' },
55-
{ text: 'ClashX 局域网连接 Allow LAN', link: '/clashx-allow-lan.md' },
56-
{ text: 'Clash for windows Mixin 配置', link: '/cfw-mixin.md' },
57-
{ text: '配置 Clash 终端代理', link: '/clash-terminal-proxy.md' },
49+
{ text: 'Markdown 入门手册', link: '/markdown' },
50+
{ text: 'Markdown 进阶技巧', link: '/markdown-advanced' },
51+
{ text: 'VS Code 环境配置', link: '/vscode-config' },
52+
{ text: 'VS Code 扩展收集', link: '/vscode-extensions' },
53+
{ text: 'VS Code 图床扩展 PicGo 配置', link: '/vscode-picgo' },
54+
{ text: 'macOS 常用浏览器使用说明', link: '/browser-instructions' },
55+
{ text: 'ClashX 局域网连接 Allow LAN', link: '/clashx-allow-lan' },
56+
{ text: 'Clash for windows Mixin 配置', link: '/cfw-mixin' },
57+
{ text: '配置 Clash 终端代理', link: '/clash-terminal-proxy' },
58+
{ text: 'Clash Verge 全局扩展脚本', link: '/clash-verge-rule-extension-script' },
5859
],
5960
},
6061
]
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
---
2+
tags:
3+
- clash
4+
---
5+
6+
# Clash Verge 全局扩展脚本
7+
8+
此脚本用于扩展 Clash Verge 的订阅规则,便于用户自定义规则,在订阅文件生成后自动合并自己的规则集。
9+
10+
通过该脚本,可以灵活地添加直连规则(如指定域名、IP 地址段、域名后缀或关键词)并将其优先于订阅的默认规则。
11+
12+
## 使用说明
13+
14+
复制脚本,粘贴到 Clash Verge 的 `订阅` -> `全局扩展脚本` 中保存。
15+
16+
将你需要直连的域名、IP、域名后缀或域名关键词添加到对应的分组中,保存后立即生效。
17+
18+
```js
19+
// [!code focus:19]
20+
// 直连 + 完整域名
21+
const directDomain = []
22+
23+
// 直连 + IPv4
24+
const directIPv4 = []
25+
26+
// 直连 + IPv6
27+
const directIPv6 = []
28+
29+
// 直连 + 域名后缀
30+
const directDomainSuffix = [
31+
'in-x.cc',
32+
't.co',
33+
'element-plus.org',
34+
]
35+
36+
// 直连 + 域名关键词
37+
const directDomainKeyword = []
38+
39+
// 无需关注以下脚本内容
40+
function main(config, profileName) {
41+
config.rules = mergeRules(config.rules)
42+
return config
43+
}
44+
45+
function mergeRules(rules) {
46+
return [
47+
...directDomain.map(url => rule('DOMAIN', url)),
48+
...directIPv4.map(url => rule('IP-CIDR', url)),
49+
...directIPv6.map(url => rule('IP-CIDR6', url)),
50+
...directDomainSuffix.map(url => rule('DOMAIN-SUFFIX', url)),
51+
...directDomainKeyword.map(url => rule('DOMAIN-KEYWORD', url)),
52+
...rules
53+
]
54+
}
55+
56+
function rule(type, url, action = 'DIRECT') {
57+
return `${type},${url},${action}`
58+
}
59+
```

0 commit comments

Comments
 (0)