Skip to content

Instantly share code, notes, and snippets.

@Murlors
Last active January 30, 2024 14:23
Show Gist options
  • Select an option

  • Save Murlors/a4344df5d019f123ec408eb0ce69b679 to your computer and use it in GitHub Desktop.

Select an option

Save Murlors/a4344df5d019f123ec408eb0ce69b679 to your computer and use it in GitHub Desktop.
Clash For Windows 配置文件预处理
parsers: # array
- reg: ^.*(bajie|mojie).*?/.*$
# - reg: ^.*$ 匹配所有订阅,或 - url: https://example.com/profile.yaml 指定订阅
# 下面是删除服务商自带的策略组和规则
code: |
module.exports.parse = (raw, { yaml }) => {
const rawObj = yaml.parse(raw)
const groups = []
const rules = []
return yaml.stringify({ ...rawObj, 'proxy-groups': groups, rules })
}
# 建立自己的配置
yaml:
prepend-proxy-groups: # 建立策略组
- name: 🚀 节点选择
type: select
url: https://i.ytimg.com/generate_204
interval: 300
proxies:
- ⚡ URL-TEST
- DIRECT
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇯🇵 日本节点
- 🇸🇬 狮城节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🎏 其他
- name: ⚡ URL-TEST
type: url-test
url: https://i.ytimg.com/generate_204
interval: 120
lazy: true
tolerance: 100
- name: 💬 OpenAi
type: select
proxies:
- ⚡ URL-TEST
- 🚀 节点选择
- DIRECT
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇯🇵 日本节点
- 🇸🇬 狮城节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🎏 其他
- name: 🔍 Bing
type: select
proxies:
- ⚡ URL-TEST
- 🚀 节点选择
- DIRECT
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇯🇵 日本节点
- 🇸🇬 狮城节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🎏 其他
- name: 🎥 Netflix
type: select
proxies:
- ⚡ URL-TEST
- 🚀 节点选择
- DIRECT
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇯🇵 日本节点
- 🇸🇬 狮城节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🎏 其他
- name: 📺 国内媒体
type: select
proxies:
- ⚡ URL-TEST
- 🚀 节点选择
- DIRECT
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇯🇵 日本节点
- 🇸🇬 狮城节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🎏 其他
- name: 📹 国外媒体
type: select
proxies:
- ⚡ URL-TEST
- 🚀 节点选择
- DIRECT
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇯🇵 日本节点
- 🇸🇬 狮城节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🎏 其他
- name: 📢 谷歌服务
type: select
proxies:
- ⚡ URL-TEST
- 🚀 节点选择
- DIRECT
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇯🇵 日本节点
- 🇸🇬 狮城节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🎏 其他
- name: Ⓜ️ 微软服务
type: select
proxies:
- ⚡ URL-TEST
- 🚀 节点选择
- DIRECT
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇯🇵 日本节点
- 🇸🇬 狮城节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🎏 其他
- name: 🍎 苹果服务
type: select
proxies:
- ⚡ URL-TEST
- 🚀 节点选择
- DIRECT
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇯🇵 日本节点
- 🇸🇬 狮城节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🎏 其他
- name: 🎮 游戏平台
type: select
proxies:
- ⚡ URL-TEST
- 🚀 节点选择
- DIRECT
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇯🇵 日本节点
- 🇸🇬 狮城节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🎏 其他
- name: 🐟 漏网之鱼
type: select
proxies:
- ⚡ URL-TEST
- 🚀 节点选择
- DIRECT
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇯🇵 日本节点
- 🇸🇬 狮城节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🎏 其他
- name: 🚫 广告拦截
type: select
proxies:
- REJECT
- DIRECT
- 🚀 节点选择
- name: 🇭🇰 香港节点
type: select
url: https://i.ytimg.com/generate_204
interval: 300
- name: 🇹🇼 台湾节点
type: select
url: https://i.ytimg.com/generate_204
interval: 300
- name: 🇯🇵 日本节点
type: select
url: https://i.ytimg.com/generate_204
interval: 300
- name: 🇸🇬 狮城节点
type: select
url: https://i.ytimg.com/generate_204
interval: 300
- name: 🇰🇷 韩国节点
type: select
url: https://i.ytimg.com/generate_204
interval: 300
- name: 🇺🇸 美国节点
type: select
url: https://i.ytimg.com/generate_204
interval: 300
- name: 🎏 其他
type: select
url: https://i.ytimg.com/generate_204
interval: 300
# 策略组示例
# - name: 分组名
# type: select # 手动选点
# url-test # 自动选择延迟最低的节点
# fallback # 节点故障时自动切换下一个
# laod-balance # 均衡使用分组内的节点
# url: https://i.ytimg.com/generate_204 # 测试地址 非select类型分组必要
# interval: 300 # 自动测试间隔时间,单位秒 非select类型分组必要
# tolerance: 50 # 允许的偏差,节点之间延迟差小于该值不切换 非必要
# proxies:
# - 节点名称或其他分组套娃
commands:
- proxy-groups.(⚡ URL-TEST).proxies=[]proxyNames
- proxy-groups.🇭🇰 香港节点.proxies=[]proxyNames|港|香港|🇭🇰|HK|Hong Kong # 向指定策略组添加订阅中的节点名,可使用正则过滤
- proxy-groups.🇹🇼 台湾节点.proxies=[]proxyNames|台|台湾|新北|彰化|TW|Taiwan
- proxy-groups.🇯🇵 日本节点.proxies=[]proxyNames|日|日本|🇯🇵|川日|东京|大阪|泉日|埼玉|沪日|深日|[^-]日|JP|Japan
- proxy-groups.🇰🇷 韩国节点.proxies=[]proxyNames|韩|韓|韩国|🇰🇷|KR|Korea|KOR|首尔
- proxy-groups.🇸🇬 狮城节点.proxies=[]proxyNames|新加坡|🇸🇬|坡|狮城|SG|Singapore
- proxy-groups.🇺🇸 美国节点.proxies=[]proxyNames|美|美国|🇺🇸|波特兰|达拉斯|俄勒冈|凤凰城|费利蒙|硅谷|拉斯维加斯|洛杉矶|圣何塞|圣克拉拉|西雅图|芝加哥|US|United States
- proxy-groups.🎏 其他.proxies=[]proxyNames|^[^香日台新韩美]*$ # 这个可以自定义,这个正则的意思是排除节点名字有“香日台新韩美”的节点。
- mixed-port=7890
# 为各个策略组添加一个DIRECT,避免机场节点无法匹配上面的正则筛选而导致配置出错。应该有其他办法避免,但是我不会。
- proxy-groups.🇭🇰 香港节点.proxies.0+DIRECT
- proxy-groups.🇹🇼 台湾节点.proxies.0+DIRECT
- proxy-groups.🇯🇵 日本节点.proxies.0+DIRECT
- proxy-groups.🇰🇷 韩国节点.proxies.0+DIRECT
- proxy-groups.🇸🇬 狮城节点.proxies.0+DIRECT
- proxy-groups.🇺🇸 美国节点.proxies.0+DIRECT
- proxy-groups.🎏 其他.proxies.0+DIRECT
# - proxy-groups.节点名字.proxies.0+DIRECT # 向指定分组第一个位置添加一个 DIRECT 节点名
# - proxy-groups.节点名字.proxies.0+REJECT # 向指定分组第一个位置添加一个 REJECT 节点名
# 一些可能用到的正则过滤节点示例,使分组更细致
# []proxyNames|a # 包含a
# []proxyNames|^(.*)(a|b)+(.*)$ # 包含a或b
# []proxyNames|^(?=.*a)(?=.*b).*$ # 包含a和b
# []proxyNames|^((?!b).)*a((?!b).)*$ # 包含a且不包含b
# []proxyNames|^((?!b|c).)*a((?!b|c).)*$ # 包含a且不包含b或c
# 更多正则教程,请看这里:https://deerchao.cn/tutorials/regex/regex.htm#top
# 添加规则
prepend-rules: # 规则由上往下遍历,如上面规则已经命中,则不再往下处理
# 高优先级
- PROCESS-NAME,IDMan.exe,DIRECT
- DOMAIN-SUFFIX,wzu.edu.cn,DIRECT
- RULE-SET,OpenAi,💬 OpenAi
- RULE-SET,Bing,🔍 Bing
- DOMAIN,clash.razord.top,DIRECT
- DOMAIN,yacd.haishan.me,DIRECT
# 广告
- RULE-SET,BanAD,🚫 广告拦截
- RULE-SET,BanEasyList,🚫 广告拦截
- RULE-SET,BanEasyListChina,🚫 广告拦截
- RULE-SET,BanEasyPrivacy,🚫 广告拦截
- RULE-SET,BanProgramAD,🚫 广告拦截
# 国内
- RULE-SET,ChinaCompanyIp,DIRECT
- RULE-SET,ChinaDomain,DIRECT
- RULE-SET,ChinaIp,DIRECT
# - RULE-SET,ChinaIpV6,DIRECT
# 白名单
- RULE-SET,UnBan,DIRECT
# 本地
- RULE-SET,Download,DIRECT
- RULE-SET,LocalAreaNetwork,DIRECT
# 媒体
- RULE-SET,ChinaMedia,📺 国内媒体
- RULE-SET,ProxyMedia,📹 国外媒体
- RULE-SET,Bilibili,📺 国内媒体
- RULE-SET,BilibiliHMT,📹 国外媒体
- RULE-SET,NetEaseMusic,📺 国内媒体
- RULE-SET,Netflix,🎥 Netflix
- RULE-SET,NetflixIP,🎥 Netflix
- RULE-SET,Sony,📹 国外媒体
- RULE-SET,Spotify,📹 国外媒体
- RULE-SET,YouTube,📹 国外媒体
# 游戏
- RULE-SET,Bahamut,🎮 游戏平台
- RULE-SET,Epic,🎮 游戏平台
- RULE-SET,Steam,🎮 游戏平台
- RULE-SET,SteamCN,DIRECT
- RULE-SET,Xbox,🎮 游戏平台
# 开发
- RULE-SET,Developer,🚀 节点选择
# 18
- RULE-SET,EHGallery,🚀 节点选择
- RULE-SET,Porn,🚀 节点选择
# 学术
- RULE-SET,Scholar,🚀 节点选择
# 其他
- RULE-SET,Apple,🍎 苹果服务
- RULE-SET,Google,📢 谷歌服务
- RULE-SET,GoogleCN,DIRECT
- RULE-SET,GoogleFCM,📢 谷歌服务
- RULE-SET,Microsoft,Ⓜ️ 微软服务
- RULE-SET,OneDrive,Ⓜ️ 微软服务
- RULE-SET,Telegram,🚀 节点选择
# GFW
- RULE-SET,ProxyGFWlist,🚀 节点选择
# 必须
- GEOIP,CN,DIRECT
- MATCH,🐟 漏网之鱼 # ⭐️⭐️规则之外的,在这里来修改是白名单模式还是黑名单模式,具体在“🐟 漏网之鱼”选择代理或直连。
# 添加规则集
# DOMAIN-SUFFIX:域名后缀匹配
# DOMAIN:域名匹配
# DOMAIN-KEYWORD:域名关键字匹配
# IP-CIDR:IP段匹配
# SRC-IP-CIDR:源IP段匹配
# GEOIP:GEOIP数据库(国家代码)匹配
# DST-PORT:目标端口匹配
# SRC-PORT:源端口匹配
# PROCESS-NAME:源进程名匹配
# RULE-SET:Rule Provider规则匹配
# MATCH:全匹配
# 添加规则集
mix-rule-providers:
Apple:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Apple.yaml"
path: ./ACL4SSR/Apple.yaml
interval: 86400
Bahamut:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Bahamut.yaml"
path: ./ACL4SSR/Bahamut.yaml
interval: 86400
Bilibili:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Bilibili.yaml"
path: ./ACL4SSR/Bilibili.yaml
interval: 86400
BilibiliHMT:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/BilibiliHMT.yaml"
path: ./ACL4SSR/BilibiliHMT.yaml
interval: 86400
Bing:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Bing.yaml"
path: ./ACL4SSR/Bing.yaml
interval: 86400
Developer:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Developer.yaml"
path: ./ACL4SSR/Developer.yaml
interval: 86400
EHGallery:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/EHGallery.yaml"
path: ./ACL4SSR/EHGallery.yaml
interval: 86400
Epic:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Epic.yaml"
path: ./ACL4SSR/Epic.yaml
interval: 86400
Google:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Google.yaml"
path: ./ACL4SSR/Google.yaml
interval: 86400
GoogleCN:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/GoogleCN.yaml"
path: ./ACL4SSR/GoogleCN.yaml
interval: 86400
GoogleFCM:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/GoogleFCM.yaml"
path: ./ACL4SSR/GoogleFCM.yaml
interval: 86400
Microsoft:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Microsoft.yaml"
path: ./ACL4SSR/Microsoft.yaml
interval: 86400
NetEaseMusic:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/NetEaseMusic.yaml"
path: ./ACL4SSR/NetEaseMusic.yaml
interval: 86400
Netflix:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Netflix.yaml"
path: ./ACL4SSR/Netflix.yaml
interval: 86400
NetflixIP:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/NetflixIP.yaml"
path: ./ACL4SSR/NetflixIP.yaml
interval: 86400
OneDrive:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/OneDrive.yaml"
path: ./ACL4SSR/OneDrive.yaml
interval: 86400
OpenAi:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/OpenAi.yaml"
path: ./ACL4SSR/OpenAi.yaml
interval: 86400
Porn:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Porn.yaml"
path: ./ACL4SSR/Porn.yaml
interval: 86400
Scholar:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Scholar.yaml"
path: ./ACL4SSR/Scholar.yaml
interval: 86400
Sony:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Sony.yaml"
path: ./ACL4SSR/Sony.yaml
interval: 86400
Spotify:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Spotify.yaml"
path: ./ACL4SSR/Spotify.yaml
interval: 86400
Steam:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Steam.yaml"
path: ./ACL4SSR/Steam.yaml
interval: 86400
SteamCN:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/SteamCN.yaml"
path: ./ACL4SSR/SteamCN.yaml
interval: 86400
Telegram:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Telegram.yaml"
path: ./ACL4SSR/Telegram.yaml
interval: 86400
Xbox:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/Xbox.yaml"
path: ./ACL4SSR/Xbox.yaml
interval: 86400
YouTube:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Ruleset/YouTube.yaml"
path: ./ACL4SSR/YouTube.yaml
interval: 86400
BanAD:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/BanAD.yaml"
path: ./ACL4SSR/BanAD.yaml
interval: 86400
BanEasyList:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/BanEasyList.yaml"
path: ./ACL4SSR/BanEasyList.yaml
interval: 86400
BanEasyListChina:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/BanEasyListChina.yaml"
path: ./ACL4SSR/BanEasyListChina.yaml
interval: 86400
BanEasyPrivacy:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/BanEasyPrivacy.yaml"
path: ./ACL4SSR/BanEasyPrivacy.yaml
interval: 86400
BanProgramAD: # 包含常用应用的各种去广告规则。可能有轻微副作用,可放心使用。(如果网站功能和广告冲突,会删掉去广告规则)
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/BanProgramAD.yaml"
path: ./ACL4SSR/BanProgramAD.yaml
interval: 86400
ChinaCompanyIp:
type: http
behavior: ipcidr
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/ChinaCompanyIp.yaml"
path: ./ACL4SSR/ChinaCompanyIp.yaml
interval: 86400
ChinaDomain:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/ChinaDomain.yaml"
path: ./ACL4SSR/ChinaDomain.yaml
interval: 86400
ChinaIp:
type: http
behavior: ipcidr
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/ChinaIp.yaml"
path: ./ACL4SSR/ChinaIp.yaml
interval: 86400
# ChinaIpV6:
# type: http
# behavior: ipcidr
# url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/ChinaIpV6.yaml"
# path: ./ACL4SSR/ChinaIpV6.yaml
# interval: 86400
ChinaMedia:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/ChinaMedia.yaml"
path: ./ACL4SSR/ChinaMedia.yaml
interval: 86400
Download:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/Download.yaml"
path: ./ACL4SSR/Download.yaml
interval: 86400
LocalAreaNetwork:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/LocalAreaNetwork.yaml"
path: ./ACL4SSR/LocalAreaNetwork.yaml
interval: 86400
ProxyGFWlist:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/ProxyGFWlist.yaml"
path: ./ACL4SSR/ProxyGFWlist.yaml
interval: 86400
ProxyMedia:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/ProxyMedia.yaml"
path: ./ACL4SSR/ProxyMedia.yaml
interval: 86400
UnBan:
type: http
behavior: classical
url: "https://cdn.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/Providers/UnBan.yaml"
path: ./ACL4SSR/UnBan.yaml
interval: 86400
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment