Skip to content

Instantly share code, notes, and snippets.

@roachsinai
Last active August 24, 2024 12:37
Show Gist options
  • Save roachsinai/8468bad9fa404114a3fb3784c307da39 to your computer and use it in GitHub Desktop.
Save roachsinai/8468bad9fa404114a3fb3784c307da39 to your computer and use it in GitHub Desktop.
[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
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)
[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