Last active
August 24, 2024 12:37
-
-
Save roachsinai/8468bad9fa404114a3fb3784c307da39 to your computer and use it in GitHub Desktop.
clash_rules. https://github.com/roachsinai/clash_rules
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[custom] | |
;https://github.com/ACL4SSR/ACL4SSR/blob/master/Clash/config/ACL4SSR_Online_Full_Google.ini | |
;不要随意改变关键字,否则会导致出错 | |
;acl4SSR规则 | |
;去广告:支持 | |
;自动测速:支持 | |
;微软分流:支持 | |
;苹果分流:支持 | |
;增强中国IP段:支持 | |
;增强国外GFW:支持 | |
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/LocalAreaNetwork.list | |
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/UnBan.list | |
ruleset=🛑 广告拦截,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/BanAD.list | |
ruleset=🍃 应用净化,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/BanProgramAD.list | |
ruleset=📢 谷歌FCM,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/GoogleFCM.list | |
ruleset=📢 谷歌🇨🇳,[]DOMAIN-SUFFIX,xn--ngstr-lra8j.com | |
ruleset=📢 谷歌🇨🇳,[]DOMAIN-SUFFIX,services.googleapis.cn | |
ruleset=📢 谷歌Block,[]DOMAIN-SUFFIX,developer.android.google.cn | |
ruleset=📢 谷歌🇨🇳,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/GoogleCNProxyIP.list | |
ruleset=📢 谷歌🇨🇳,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/GoogleCN.list | |
ruleset=📹 油管视频,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/YouTube.list | |
ruleset=📢 谷歌,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Google.list | |
ruleset=Ⓜ️ 微软Bing,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Bing.list | |
ruleset=Ⓜ️ 微软云盘,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/OneDrive.list | |
ruleset=Ⓜ️ 微软服务,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Microsoft.list | |
ruleset=🍎 苹果服务,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Apple.list | |
ruleset=📲 电报消息,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Telegram.list | |
ruleset=💬 OpenAi,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/OpenAi.list | |
ruleset=🎶 网易音乐,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/NetEaseMusic.list | |
ruleset=🎮 游戏平台,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Epic.list | |
ruleset=🎮 游戏平台,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Origin.list | |
ruleset=🎮 游戏平台,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Sony.list | |
ruleset=🎮 游戏平台,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Steam.list | |
ruleset=🎮 游戏平台,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Nintendo.list | |
ruleset=🎥 奈飞视频,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Netflix.list | |
ruleset=📺 巴哈姆特,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Bahamut.list | |
ruleset=📺 哔哩哔哩,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/BilibiliHMT.list | |
ruleset=📺 哔哩哔哩,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Bilibili.list | |
ruleset=🌏 国内媒体,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaMedia.list | |
ruleset=🌍 国外媒体,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ProxyMedia.list | |
ruleset=🚀 节点选择,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ProxyGFWlist.list | |
;ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaIp.list | |
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaDomain.list | |
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaCompanyIp.list | |
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Download.list | |
;ruleset=🎯 全球直连,[]GEOIP,LAN | |
ruleset=🎯 全球直连,[]GEOIP,CN | |
ruleset=🐟 漏网之鱼,[]FINAL | |
custom_proxy_group=🚀 节点选择`select`[]♻️ 自动选择`[]DIRECT`.* | |
custom_proxy_group=♻️ 自动选择`url-test`.*`http://www.gstatic.com/generate_204`300,,50 | |
custom_proxy_group=📢 谷歌Block`select`[]🎯 全球直连`[]🚀 节点选择`[]♻️ 自动选择`.* | |
custom_proxy_group=📢 谷歌FCM`select`[]🚀 节点选择`[]🎯 全球直连`[]♻️ 自动选择`.* | |
custom_proxy_group=📢 谷歌🇨🇳`select`[]🎯 全球直连`[]🚀 节点选择`[]♻️ 自动选择`.* | |
custom_proxy_group=📹 油管视频`select`[]🚀 节点选择`[]♻️ 自动选择`.* | |
custom_proxy_group=📢 谷歌`select`[]🚀 节点选择`[]♻️ 自动选择`.* | |
custom_proxy_group=Ⓜ️ 微软Bing`select`[]🚀 节点选择`[]🎯 全球直连`[]♻️ 自动选择`.* | |
custom_proxy_group=Ⓜ️ 微软云盘`select`[]🚀 节点选择`[]🎯 全球直连`[]♻️ 自动选择`.* | |
custom_proxy_group=Ⓜ️ 微软服务`select`[]🚀 节点选择`[]🎯 全球直连`[]♻️ 自动选择`.* | |
custom_proxy_group=🍎 苹果服务`select`[]🚀 节点选择`[]🎯 全球直连`[]♻️ 自动选择`.* | |
custom_proxy_group=📲 电报消息`select`[]🚀 节点选择`[]🎯 全球直连`[]♻️ 自动选择`.* | |
custom_proxy_group=💬 OpenAi`select`[]🚀 节点选择`[]🎯 全球直连`[]♻️ 自动选择`.* | |
custom_proxy_group=🎶 网易音乐`select`[]🎯 全球直连`[]🚀 节点选择`[]♻️ 自动选择`.* | |
custom_proxy_group=🎮 游戏平台`select`[]🚀 节点选择`[]🎯 全球直连`[]♻️ 自动选择`.* | |
custom_proxy_group=🎥 奈飞视频`select`[]🚀 节点选择`[]🎯 全球直连`[]♻️ 自动选择`.* | |
custom_proxy_group=📺 巴哈姆特`select`[]🚀 节点选择`[]🎯 全球直连`[]♻️ 自动选择`.* | |
custom_proxy_group=📺 哔哩哔哩`select`[]🎯 全球直连`[]🚀 节点选择`[]♻️ 自动选择`.* | |
custom_proxy_group=🌏 国内媒体`select`[]🎯 全球直连`[]🚀 节点选择`[]♻️ 自动选择`.* | |
custom_proxy_group=🌍 国外媒体`select`[]🚀 节点选择`[]🎯 全球直连`[]♻️ 自动选择`.* | |
custom_proxy_group=🎯 全球直连`select`[]DIRECT`[]🚀 节点选择`[]♻️ 自动选择 | |
custom_proxy_group=🛑 广告拦截`select`[]REJECT`[]DIRECT | |
custom_proxy_group=🍃 应用净化`select`[]REJECT`[]DIRECT | |
custom_proxy_group=🐟 漏网之鱼`select`[]🚀 节点选择`[]🎯 全球直连`[]♻️ 自动选择`.* | |
enable_rule_generator=true | |
overwrite_original_rules=true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import yaml | |
custom_proxy_action = "🚀 节点选择" | |
whitelists = """ | |
rules: | |
- RULE-SET,applications,DIRECT | |
- DOMAIN,clash.razord.top,DIRECT | |
- DOMAIN,yacd.haishan.me,DIRECT | |
- RULE-SET,private,DIRECT | |
- RULE-SET,reject,REJECT | |
- RULE-SET,icloud,DIRECT | |
- RULE-SET,apple,DIRECT | |
- RULE-SET,google,PROXY | |
- RULE-SET,proxy,PROXY | |
- RULE-SET,direct,DIRECT | |
- RULE-SET,lancidr,DIRECT | |
- RULE-SET,cncidr,DIRECT | |
- RULE-SET,telegramcidr,PROXY | |
- GEOIP,LAN,DIRECT | |
- GEOIP,CN,DIRECT | |
- MATCH,PROXY | |
""" | |
blacklists = ''' | |
rules: | |
- RULE-SET,applications,DIRECT | |
- DOMAIN,clash.razord.top,DIRECT | |
- DOMAIN,yacd.haishan.me,DIRECT | |
- RULE-SET,private,DIRECT | |
- RULE-SET,reject,REJECT | |
- RULE-SET,tld-not-cn,PROXY | |
- RULE-SET,gfw,PROXY | |
- RULE-SET,telegramcidr,PROXY | |
- MATCH,DIRECT | |
''' | |
providers = {} | |
def parse_providers(): | |
yaml_data = """ | |
rule-providers: | |
reject: | |
type: http | |
behavior: domain | |
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt | |
path: ./ruleset/reject.yaml | |
interval: 86400 | |
icloud: | |
type: http | |
behavior: domain | |
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt | |
path: ./ruleset/icloud.yaml | |
interval: 86400 | |
apple: | |
type: http | |
behavior: domain | |
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt | |
path: ./ruleset/apple.yaml | |
interval: 86400 | |
google: | |
type: http | |
behavior: domain | |
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt | |
path: ./ruleset/google.yaml | |
interval: 86400 | |
proxy: | |
type: http | |
behavior: domain | |
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt | |
path: ./ruleset/proxy.yaml | |
interval: 86400 | |
direct: | |
type: http | |
behavior: domain | |
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt | |
path: ./ruleset/direct.yaml | |
interval: 86400 | |
private: | |
type: http | |
behavior: domain | |
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt | |
path: ./ruleset/private.yaml | |
interval: 86400 | |
gfw: | |
type: http | |
behavior: domain | |
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt | |
path: ./ruleset/gfw.yaml | |
interval: 86400 | |
tld-not-cn: | |
type: http | |
behavior: domain | |
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt | |
path: ./ruleset/tld-not-cn.yaml | |
interval: 86400 | |
telegramcidr: | |
type: http | |
behavior: ipcidr | |
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt | |
path: ./ruleset/telegramcidr.yaml | |
interval: 86400 | |
cncidr: | |
type: http | |
behavior: ipcidr | |
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt | |
path: ./ruleset/cncidr.yaml | |
interval: 86400 | |
lancidr: | |
type: http | |
behavior: ipcidr | |
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt | |
path: ./ruleset/lancidr.yaml | |
interval: 86400 | |
applications: | |
type: http | |
behavior: classical | |
url: https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/applications.txt | |
path: ./ruleset/applications.yaml | |
interval: 86400 | |
""" | |
data = yaml.safe_load(yaml_data) | |
for key, value in data['rule-providers'].items(): | |
providers[key] = value['url'] | |
def cvt2clash_format(wb_lists): | |
# white,blasklists | |
wb_lists = wb_lists.replace("\n", "") | |
rules = wb_lists.split("rules:")[1].split(" - ") | |
parsed_rules = [] | |
for rule in rules: | |
if rule.strip() == "": | |
continue | |
parts = rule.strip().split(",") | |
if len(parts) == 2: | |
continue | |
parsed_rule = { | |
'type': parts[0], | |
'name': parts[1] if parts[1] != custom_proxy_action else custom_proxy_action, | |
'action': parts[2] | |
} | |
parsed_rules.append(parsed_rule) | |
clash_format = [] | |
for rule in parsed_rules: | |
if rule['type'] == 'DOMAIN': | |
clash_format.append(f"ruleset={rule['action']},[]DOMAIN-SUFFIX,{rule['name']}") | |
elif rule['type'] == 'GEOIP': | |
clash_format.append(f"ruleset={rule['action']},[]GEOIP,{rule['name']},no-resolve") | |
else: | |
clash_format.append(f"ruleset={rule['action']},{providers[rule['name']]}") | |
return clash_format | |
if __name__ == "__main__": | |
parse_providers() | |
wl = cvt2clash_format(whitelists) | |
wl.append(f"ruleset={custom_proxy_action},[]FINAL") | |
for line in wl: | |
print(line) | |
bl = cvt2clash_format(blacklists) | |
bl.append("ruleset=DIRECT,[]FINAL") | |
for line in bl: | |
print(line) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[custom] | |
;解决DNS泄露,无分流群组 | |
ruleset=🚀 节点选择,[]DOMAIN-SUFFIX,leetcode.cn | |
ruleset=🚀 节点选择,[]DOMAIN-SUFFIX,leetcode.com | |
ruleset=🚀 节点选择,[]DOMAIN-SUFFIX,xn--ngstr-lra8j.com | |
ruleset=🚀 节点选择,[]DOMAIN-SUFFIX,services.googleapis.cn | |
ruleset=🚀 节点选择,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/GoogleCNProxyIP.list | |
ruleset=DIRECT,[]DOMAIN-SUFFIX,archlinux.org | |
ruleset=DIRECT,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/LocalAreaNetwork.list | |
ruleset=DIRECT,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/UnBan.list | |
ruleset=DIRECT,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaDomain.list | |
ruleset=DIRECT,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaMedia.list | |
ruleset=REJECT,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/BanAD.list | |
ruleset=REJECT,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/BanProgramAD.list | |
ruleset=DIRECT,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaCompanyIp.list | |
ruleset=DIRECT,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaIp.list | |
ruleset=🚀 节点选择,[]DOMAIN-SUFFIX,bing.com | |
ruleset=DIRECT,[]GEOIP,CN,no-resolve | |
ruleset=🚀 节点选择,[]FINAL | |
custom_proxy_group=🚀 节点选择`select`[]♻️ 自动选择`[]DIRECT`.* | |
custom_proxy_group=♻️ 自动选择`url-test`.*`http://www.gstatic.com/generate_204`300,,50 | |
enable_rule_generator=true | |
overwrite_original_rules=true |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment