├── direct.list ├── config ├── zijian │ ├── README.md │ ├── server │ │ └── config.json │ └── client │ │ ├── config.yaml │ │ └── config.json ├── proxychain │ ├── README.md │ ├── config.json │ └── config.yaml ├── mihomo │ ├── README.md │ ├── AI │ │ ├── go_parser.py │ │ ├── train_flexible.py │ │ ├── smart.yaml │ │ └── transform.go │ ├── mini.ini │ ├── nikki │ ├── full.ini │ ├── openclash │ ├── fuxie.yaml │ ├── config.yaml │ └── configdns.yaml └── singbox │ ├── README.md │ └── 1.12.x │ ├── zijian-momofake.json │ ├── iphone.json │ ├── sub-momofake.json │ ├── config.json │ ├── momo.json │ ├── momofake.json │ └── fork-momofake.json ├── README.md ├── proxy.list └── fakeipfilter.json /direct.list: -------------------------------------------------------------------------------- 1 | # 直连补充列表 2 | 3 | # 域名后缀匹配 4 | DOMAIN-SUFFIX,baidu.com 5 | 6 | 7 | -------------------------------------------------------------------------------- /config/zijian/README.md: -------------------------------------------------------------------------------- 1 | 本仓库规则只作为视频演示用途,考虑到兼容性,通用性,不能满足所有人的需求,请fork到自己仓库根据自己实际情况进行修改,参考频道相关教程。 2 | 配置文件版本对应singbox为1.12x -------------------------------------------------------------------------------- /config/proxychain/README.md: -------------------------------------------------------------------------------- 1 | 本仓库规则只作为视频演示用途,考虑到兼容性,通用性,不能满足所有人的需求,请fork到自己仓库根据自己实际情况进行修改,参考频道相关教程。 2 | 配置文件版本对应singbox为1.12x -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 本仓库规则只作为视频演示用途,考虑到兼容性,通用性,不能满足所有人的需求,请fork到自己仓库根据自己实际情况进行修改。 2 | 3 | **稳定,高性价比的专线机场** 4 | **[机场官网](https://a.qichiyu.com/dog)** 5 | -------------------------------------------------------------------------------- /config/mihomo/README.md: -------------------------------------------------------------------------------- 1 | 本仓库规则只作为视频演示用途,考虑到兼容性,通用性,不能满足所有人的需求,请fork到自己仓库根据自己实际情况进行修改,参考频道相关教程。 2 | openclash和nikki插件导入配置随着版本更新会不适配,请单纯使用yaml吧! 3 | -------------------------------------------------------------------------------- /config/singbox/README.md: -------------------------------------------------------------------------------- 1 | 本仓库规则只作为视频演示用途,考虑到兼容性,通用性,不能满足所有人的需求,请fork到自己仓库根据自己实际情况进行修改,参考频道相关教程。 2 | 1.11x版本:适配的是sbshell,outbound填充用的是singbox专用订阅后端 3 | 1.12X版本:适配的是momo,也包含手机和裸核,outbound填充用的有专用后端,substore、以及fork支持订阅的版本。 -------------------------------------------------------------------------------- /proxy.list: -------------------------------------------------------------------------------- 1 | # 代理补充列表 2 | 3 | # 域名后缀匹配 4 | DOMAIN-SUFFIX,qichiyu.com 5 | 6 | # 域名关键字匹配 7 | DOMAIN-KEYWORD,1e100 8 | 9 | # 国外DNS 10 | DOMAIN-SUFFIX,dns.google 11 | DOMAIN-SUFFIX,1dot1dot1dot1.cloudflare-dns.com 12 | DOMAIN-SUFFIX,dot.sb 13 | DOMAIN-SUFFIX,dns.umbrella.com 14 | DOMAIN-SUFFIX,dns.quad9.net 15 | DOMAIN-SUFFIX,dns.google 16 | DOMAIN-SUFFIX,cloudflare-dns.com 17 | DOMAIN-SUFFIX,doh.dns.sb 18 | DOMAIN-SUFFIX,doh.opendns.com 19 | DOMAIN-SUFFIX,dns.quad9.net 20 | DOMAIN-SUFFIX,hk-hkg.doh.sb 21 | IP-CIDR,8.8.8.8/32,no-resolve 22 | IP-CIDR,8.8.4.4/32,no-resolve 23 | IP-CIDR,1.1.1.1/32,no-resolve 24 | IP-CIDR,1.0.0.1/32,no-resolve 25 | IP-CIDR,185.222.222.222/32,no-resolve 26 | IP-CIDR,208.67.222.222/32,no-resolve 27 | IP-CIDR,208.67.220.220/32,no-resolve -------------------------------------------------------------------------------- /config/mihomo/AI/go_parser.py: -------------------------------------------------------------------------------- 1 | # go_parser.py 2 | import re 3 | 4 | class GoTransformParser: 5 | def __init__(self, go_file_path): 6 | try: 7 | with open(go_file_path, 'r', encoding='utf-8') as f: 8 | self.content = f.read() 9 | print(f"成功读取 Go 文件: {go_file_path}") 10 | except FileNotFoundError: 11 | raise FileNotFoundError(f"错误: Go 文件 '{go_file_path}' 未找到!请确保它和脚本在同一目录。") 12 | 13 | self.feature_order = self._parse_feature_order() 14 | 15 | def _parse_feature_order(self): 16 | print("正在解析 getDefaultFeatureOrder...") 17 | match = re.search(r'func getDefaultFeatureOrder\(\) map\[int\]string \{\s*return map\[int\]string\{(.*?)\}\s*\}', self.content, re.DOTALL) 18 | if not match: 19 | print("警告: 未能找到 getDefaultFeatureOrder 函数,将使用硬编码的备用顺序。") 20 | return self._get_fallback_feature_order() 21 | body = match.group(1) 22 | features = re.findall(r'(\d+):\s*"([^"]+)"', body) 23 | if not features: 24 | print("警告: 在 getDefaultFeatureOrder 函数中未找到特征,将使用备用顺序。") 25 | return self._get_fallback_feature_order() 26 | feature_dict = {int(idx): name for idx, name in features} 27 | sorted_features = [feature_dict[i] for i in sorted(feature_dict.keys())] 28 | print(f"成功解析出 {len(sorted_features)} 个特征顺序。") 29 | return sorted_features 30 | 31 | def get_feature_order(self): 32 | return self.feature_order 33 | 34 | def _get_fallback_feature_order(self): 35 | return [ 36 | 'success', 'failure', 'connect_time', 'latency', 'upload_mb', 'download_mb', 37 | 'duration_minutes', 'last_used_seconds', 'is_udp', 'is_tcp', 'asn_feature', 38 | 'country_feature', 'address_feature', 'port_feature', 'traffic_ratio', 39 | 'traffic_density', 'connection_type_feature', 'asn_hash', 'host_hash', 40 | 'ip_hash', 'geoip_hash' 41 | ] -------------------------------------------------------------------------------- /config/proxychain/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "dns": { 3 | "servers": [ 4 | { 5 | "tag": "google", 6 | "type": "udp", 7 | "server": "8.8.8.8" 8 | }, 9 | { 10 | "tag": "cloudflare", 11 | "type": "udp", 12 | "server": "1.1.1.1" 13 | } 14 | ], 15 | "rules": [ 16 | { 17 | "query_type": "HTTPS", 18 | "action": "reject" 19 | }, 20 | { 21 | "query_type": [ 22 | "A", 23 | "AAAA" 24 | ], 25 | "server": "cloudflare" 26 | } 27 | ], 28 | "final": "cloudflare", 29 | "strategy": "ipv4_only" 30 | }, 31 | "inbounds": [ 32 | { 33 | "tag":"SS", 34 | "type": "shadowsocks", 35 | "listen": "::", 36 | "listen_port": 80, 37 | "method": "2022-blake3-aes-128-gcm", 38 | "password": "UETm2mAIRiCaVJuIe1t0cA==", 39 | "multiplex": { 40 | "enabled": true 41 | } 42 | } 43 | ], 44 | "outbounds": [ 45 | { 46 | "tag": "代理出站", 47 | "type": "selector", 48 | "outbounds": [ 49 | "直接出站" 50 | ] 51 | }, 52 | { 53 | "tag": "直接出站", 54 | "type": "direct" 55 | } 56 | ], 57 | "route": { 58 | "rules": [ 59 | { 60 | "action": "sniff", 61 | "sniffer": [ 62 | "http", 63 | "tls", 64 | "quic", 65 | "dns" 66 | ] 67 | }, 68 | { 69 | "type": "logical", 70 | "mode": "or", 71 | "rules": [ 72 | { 73 | "port": 53 74 | }, 75 | { 76 | "protocol": "dns" 77 | } 78 | ], 79 | "action": "hijack-dns" 80 | }, 81 | { 82 | "ip_is_private": true, 83 | "outbound": "直接出站" 84 | }, 85 | { 86 | "rule_set": "geosite-ai", 87 | "outbound": "代理出站" 88 | } 89 | ], 90 | "rule_set": [ 91 | { 92 | "tag": "geosite-ai", 93 | "type": "remote", 94 | "format": "binary", 95 | "url": "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/category-ai-!cn.srs", 96 | "download_detour": "直接出站" 97 | } 98 | ], 99 | "final": "直接出站", 100 | "auto_detect_interface": true, 101 | "default_domain_resolver": { 102 | "server": "cloudflare" 103 | } 104 | }, 105 | "experimental": { 106 | "cache_file": { 107 | "enabled": true, 108 | "path": "/etc/sing-box/cache.db" 109 | } 110 | }, 111 | "log": { 112 | "disabled": false, 113 | "level": "info", 114 | "timestamp": true 115 | } 116 | } -------------------------------------------------------------------------------- /config/mihomo/mini.ini: -------------------------------------------------------------------------------- 1 | [custom] 2 | ;不要随意改变关键字,否则会导致出错 3 | ;自用规则 4 | 5 | ;规则集定义 6 | ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/LocalAreaNetwork.list 7 | ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/UnBan.list 8 | ruleset=🌍 国外媒体,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ProxyMedia.list 9 | ruleset=🚀 节点选择,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ProxyGFWlist.list 10 | ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaDomain.list 11 | ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaCompanyIp.list 12 | ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Download.list 13 | ruleset=🎯 全球直连,[]GEOIP,CN 14 | ruleset=🐟 漏网之鱼,[]FINAL 15 | 16 | 17 | 18 | ;策略组定义 19 | custom_proxy_group=🚀 节点选择`select`[]🔯 香港故转`[]🔯 日本故转`[]🔯 加坡故转`[]♻️ 自动选择`[]🇭🇰 香港节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🇺🇲 美国节点`[]🐸 手动切换`[]DIRECT 20 | custom_proxy_group=🇭🇰 香港节点`select`(?=.*(香港|HK|Hong Kong|🇭🇰|HongKong))^((?!(家宽|游戏|剩余|流量|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x)).)*$ 21 | custom_proxy_group=🇯🇵 日本节点`select`(?=.*(日本|川日|东京|大阪|泉日|埼玉|沪日|深日|JP|Japan))^((?!(家宽|游戏|剩余|流量|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x)).)*$ 22 | custom_proxy_group=🌍 国外媒体`select`[]🇭🇰 香港节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🐸 手动切换`[]🔯 香港故转`[]🔯 日本故转`[]🔯 加坡故转`[]♻️ 自动选择 23 | custom_proxy_group=🎯 全球直连`select`[]DIRECT`[]🚀 节点选择`[]🐸 手动切换 24 | custom_proxy_group=🐟 漏网之鱼`select`[]🚀 节点选择`[]🔯 香港故转`[]🔯 日本故转`[]🔯 加坡故转`[]♻️ 自动选择`[]🇭🇰 香港节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🐸 手动切换`[]DIRECT 25 | custom_proxy_group=🐸 手动切换`select`.* 26 | 27 | custom_proxy_group=🇸🇬 加坡节点`select`(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(家宽|游戏|剩余|流量|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x)).)*$ 28 | custom_proxy_group=🇺🇲 美国节点`select`(美|波特兰|达拉斯|俄勒冈|凤凰城|费利蒙|硅谷|拉斯维加斯|洛杉矶|圣何塞|圣克拉拉|西雅图|芝加哥|US|United States) 29 | custom_proxy_group=🔯 香港故转`fallback`(?=.*(香港|HK|Hong Kong|🇭🇰|HongKong))^((?!(家宽|游戏|剩余|流量|0.5|0.5倍|0.5x|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x|5.0|5倍|5x)).)*$`http://www.gstatic.com/generate_204`300,,50 30 | custom_proxy_group=🔯 日本故转`fallback`(?=.*(日本|川日|东京|大阪|泉日|埼玉|沪日|深日|JP|Japan))^((?!(家宽|游戏|剩余|流量|0.5|0.5倍|0.5x|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x|5.0|5倍|5x)).)*$`http://www.gstatic.com/generate_204`300,,50 31 | custom_proxy_group=🔯 加坡故转`fallback`(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(家宽|游戏|剩余|流量|0.5|0.5倍|0.5x|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x|5.0|5倍|5x)).)*$`http://www.gstatic.com/generate_204`300,,50 32 | custom_proxy_group=🔯 美国故转`url-test`(?=.*(美|波特兰|达拉斯|俄勒冈|凤凰城|费利蒙|硅谷|拉斯维加斯|洛杉矶|圣何塞|圣克拉拉|西雅图|芝加哥|US|United States))^((?!(游戏|剩余|流量|0.5|0.5倍|0.5x|10.0|10倍|10x|20.0|20倍|20x)).)*$`http://www.gstatic.com/generate_204`300,,50 33 | custom_proxy_group=♻️ 自动选择`url-test`.*`http://www.gstatic.com/generate_204`300,,50 34 | 35 | 36 | enable_rule_generator=true 37 | overwrite_original_rules=true 38 | 39 | -------------------------------------------------------------------------------- /config/singbox/1.12.x/zijian-momofake.json: -------------------------------------------------------------------------------- 1 | { 2 | "dns": { 3 | "servers": [ 4 | {"tag": "local", "type": "udp", "server": "223.5.5.5"}, 5 | {"tag": "public", "type": "https", "server": "dns.alidns.com", "domain_resolver": "local"}, 6 | {"tag": "foreign", "type": "https", "server": "8.8.8.8", "detour": "自建节点"}, 7 | {"tag": "fakeip", "type": "fakeip", "inet4_range": "198.18.0.0/15", "inet6_range": "fc00::/18"} 8 | ], 9 | "rules": [ 10 | {"query_type": "HTTPS", "action": "reject"}, 11 | {"rule_set": "geosite-cn", "server": "public"}, 12 | {"query_type": ["A", "AAAA"], "server": "fakeip", "rewrite_ttl": 1} 13 | ], 14 | "final": "foreign", 15 | "strategy": "ipv4_only", 16 | "independent_cache": true, 17 | "reverse_mapping": true 18 | }, 19 | "outbounds": [ 20 | { 21 | "tag": "自建节点", 22 | "type": "vless", 23 | "server": "150.17.20.120", 24 | "server_port": 443, 25 | "uuid": "625a08bb-d372-4f7c-a2d4-6a50ca3393ce", 26 | "tls": { 27 | "enabled": true, 28 | "server_name": "updates.cdn-apple.com", 29 | "insecure": false, 30 | "reality": { 31 | "enabled": true, 32 | "public_key": "EbCh3ZVgGXbwzo1TzCe38JPvMm8HRSxuOuKspKAE", 33 | "short_id": "8b9425a7e2dc5" 34 | }, 35 | "utls": { 36 | "enabled": true, 37 | "fingerprint": "chrome" 38 | } 39 | }, 40 | "flow": "xtls-rprx-vision" 41 | }, 42 | {"tag": "direct", "type": "direct"} 43 | ], 44 | "route": { 45 | "rules": [ 46 | {"action": "sniff", "sniffer": ["http", "tls", "quic", "dns"]}, 47 | {"inbound": "dns-in", "action": "hijack-dns"}, 48 | {"ip_is_private": true, "outbound": "direct"}, 49 | {"rule_set": "geosite-cn", "outbound": "direct"}, 50 | {"rule_set": "geoip-cn", "outbound": "direct"} 51 | ], 52 | "rule_set": [ 53 | {"tag": "geosite-cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/cn.srs", "download_detour": "direct"}, 54 | {"tag": "geoip-cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://github.com/qljsyph/ruleset-icon/raw/refs/heads/main/sing-box/geoip/China-ASN-combined-ip.srs", "download_detour": "direct"} 55 | ], 56 | "final": "自建节点", 57 | "default_domain_resolver": {"server": "public"} 58 | }, 59 | "inbounds": [ 60 | { 61 | "tag": "dns-in", 62 | "type": "direct", 63 | "listen": "::", 64 | "listen_port": 1053 65 | }, 66 | { 67 | "tag": "redirect-in", 68 | "type": "redirect", 69 | "listen": "::", 70 | "listen_port": 7890 71 | }, 72 | { 73 | "tag": "tproxy-in", 74 | "type": "tproxy", 75 | "listen": "::", 76 | "listen_port": 7891 77 | }, 78 | { 79 | "tag": "tun-in", 80 | "type": "tun", 81 | "interface_name": "momo", 82 | "address": [ 83 | "172.31.0.1/30", 84 | "fdfe:dcba:9876::1/126" 85 | ], 86 | "auto_route": false, 87 | "auto_redirect": false 88 | } 89 | ], 90 | "experimental": { 91 | "cache_file": { 92 | "enabled": true, 93 | "path": "/etc/momo/run/cache.db", 94 | "store_fakeip": true 95 | }, 96 | "clash_api": { 97 | "external_controller": "0.0.0.0:9095", 98 | "external_ui": "/etc/momo/run/ui", 99 | "external_ui_download_url": "https://gh-proxy.com/https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip", 100 | "external_ui_download_detour": "direct", 101 | "secret": "", 102 | "default_mode": "rule" 103 | } 104 | }, 105 | "log": { 106 | "disabled": false, 107 | "level": "info", 108 | "timestamp": true 109 | } 110 | } -------------------------------------------------------------------------------- /config/zijian/server/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "dns": { 3 | "servers": [ 4 | { 5 | "tag": "google", 6 | "type": "udp", 7 | "server": "8.8.8.8" 8 | }, 9 | { 10 | "tag": "cloudflare", 11 | "type": "udp", 12 | "server": "1.1.1.1" 13 | } 14 | ], 15 | "rules": [ 16 | { 17 | "query_type": "HTTPS", 18 | "action": "reject" 19 | }, 20 | { 21 | "query_type": [ 22 | "A", 23 | "AAAA" 24 | ], 25 | "server": "cloudflare" 26 | } 27 | ], 28 | "final": "cloudflare", 29 | "strategy": "ipv4_only" 30 | }, 31 | "inbounds": [ 32 | { 33 | "tag":"SS", 34 | "type": "shadowsocks", 35 | "listen": "::", 36 | "listen_port": 80, 37 | "method": "2022-blake3-aes-128-gcm", 38 | "password": "hztQCU1ZB8CAuPMVFJiCJw==", 39 | "multiplex": { 40 | "enabled": true 41 | } 42 | }, 43 | { 44 | "tag":"VLESS-Vision-Reality", 45 | "type":"vless", 46 | "listen":"::", 47 | "listen_port":443, 48 | "users":[ 49 | { 50 | "uuid":"625a08bb-d372-4f7c-a2d4-6a50ca3393ce", 51 | "flow":"xtls-rprx-vision" 52 | } 53 | ], 54 | "tls":{ 55 | "enabled":true, 56 | "server_name":"updates.cdn-apple.com", 57 | "reality":{ 58 | "enabled":true, 59 | "handshake":{ 60 | "server":"updates.cdn-apple.com", 61 | "server_port":443 62 | }, 63 | "private_key":"mAQVEs96AtDg1V_b2POFVP8n-Uu6hBe0_1Zt-DtRzGE", 64 | "short_id":[ 65 | "a118b9425a7e2dc5" 66 | ] 67 | } 68 | } 69 | }, 70 | { 71 | "tag": "HYSTERIA2", 72 | "type": "hysteria2", 73 | "listen": "::", 74 | "listen_port": 52021, 75 | "users": [ 76 | { 77 | "password": "c36d52aa-12b0-420c-a409-02f0410f6ac4" 78 | } 79 | ], 80 | "tls": { 81 | "enabled": true, 82 | "alpn": [ 83 | "h3" 84 | ], 85 | "certificate_path": "/etc/ssl/yu.ykszckj.com/yu.ykszckj.com.crt", 86 | "key_path": "/etc/ssl/yu.ykszckj.com/yu.ykszckj.com.key" 87 | } 88 | } 89 | ], 90 | "outbounds": [ 91 | { 92 | "tag": "代理出站", 93 | "type": "selector", 94 | "outbounds": [ 95 | "直接出站" 96 | ] 97 | }, 98 | { 99 | "tag": "直接出站", 100 | "type": "direct" 101 | } 102 | ], 103 | "route": { 104 | "rules": [ 105 | { 106 | "action": "sniff", 107 | "sniffer": [ 108 | "http", 109 | "tls", 110 | "quic", 111 | "dns" 112 | ] 113 | }, 114 | { 115 | "type": "logical", 116 | "mode": "or", 117 | "rules": [ 118 | { 119 | "port": 53 120 | }, 121 | { 122 | "protocol": "dns" 123 | } 124 | ], 125 | "action": "hijack-dns" 126 | }, 127 | { 128 | "ip_is_private": true, 129 | "outbound": "直接出站" 130 | }, 131 | { 132 | "rule_set": "geosite-ai", 133 | "outbound": "代理出站" 134 | } 135 | ], 136 | "rule_set": [ 137 | { 138 | "tag": "geosite-ai", 139 | "type": "remote", 140 | "format": "binary", 141 | "url": "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/category-ai-!cn.srs", 142 | "download_detour": "直接出站" 143 | } 144 | ], 145 | "final": "直接出站", 146 | "auto_detect_interface": true, 147 | "default_domain_resolver": { 148 | "server": "cloudflare" 149 | } 150 | }, 151 | "experimental": { 152 | "cache_file": { 153 | "enabled": true, 154 | "path": "/etc/sing-box/cache.db" 155 | } 156 | }, 157 | "log": { 158 | "disabled": false, 159 | "level": "info", 160 | "timestamp": true 161 | } 162 | } -------------------------------------------------------------------------------- /fakeipfilter.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 3, 3 | "rules": [ 4 | { 5 | "domain": [ 6 | "localhost", 7 | "time-ios.apple.com", 8 | "time1.cloud.tencent.com", 9 | "music.163.com", 10 | "musicapi.taihe.com", 11 | "music.taihe.com", 12 | "songsearch.kugou.com", 13 | "trackercdn.kugou.com", 14 | "api-jooxtt.sanook.com", 15 | "api.joox.com", 16 | "joox.com", 17 | "y.qq.com", 18 | "streamoc.music.tc.qq.com", 19 | "mobileoc.music.tc.qq.com", 20 | "isure.stream.qqmusic.qq.com", 21 | "dl.stream.qqmusic.qq.com", 22 | "aqqmusic.tc.qq.com", 23 | "amobile.music.tc.qq.com", 24 | "music.migu.cn", 25 | "localhost.ptlogin2.qq.com", 26 | "localhost.sec.qq.com", 27 | "xnotify.xboxlive.com", 28 | "proxy.golang.org", 29 | "heartbeat.belkin.com", 30 | "mesu.apple.com", 31 | "swscan.apple.com", 32 | "swquery.apple.com", 33 | "swdownload.apple.com", 34 | "swcdn.apple.com", 35 | "swdist.apple.com", 36 | "lens.l.google.com", 37 | "na.b.g-tun.com", 38 | "ff.dorado.sdo.com", 39 | "shark007.net", 40 | "Mijia Cloud", 41 | "adguardteam.github.io", 42 | "adrules.top", 43 | "anti-ad.net", 44 | "local.adguard.org", 45 | "static.adtidy.org", 46 | "ps.res.netease.com" 47 | ] 48 | }, 49 | { 50 | "domain_suffix": [ 51 | ".lan", 52 | ".localdomain", 53 | ".example", 54 | ".invalid", 55 | ".localhost", 56 | ".test", 57 | ".local", 58 | ".home.arpa", 59 | ".direct", 60 | ".pool.ntp.org", 61 | ".music.163.com", 62 | ".126.net", 63 | ".kuwo.cn", 64 | ".y.qq.com", 65 | ".xiami.com", 66 | ".music.migu.cn", 67 | ".msftconnecttest.com", 68 | ".msftncsi.com", 69 | ".steamcontent.com", 70 | ".srv.nintendo.net", 71 | ".cdn.nintendo.net", 72 | ".battle.net", 73 | ".battlenet.com.cn", 74 | ".wotgame.cn", 75 | ".wggames.cn", 76 | ".wowsgame.cn", 77 | ".wargaming.net", 78 | ".linksys.com", 79 | ".linksyssmartwifi.com", 80 | ".router.asus.com", 81 | ".nflxvideo.net", 82 | ".square-enix.com", 83 | ".finalfantasyxiv.com", 84 | ".ffxiv.com", 85 | ".ff14.sdo.com", 86 | ".mcdn.bilivideo.cn", 87 | ".media.dssott.com", 88 | ".market.xiaomi.com", 89 | ".cmbchina.com", 90 | ".cmbimg.com", 91 | ".sandai.net", 92 | ".n0808.com", 93 | ".3gppnetwork.org", 94 | ".uu.163.com", 95 | ".pub.3gppnetwork.org", 96 | ".oray.com", 97 | ".orayimg.com", 98 | ".gcloudcs.com", 99 | ".gcloudsdk.com" 100 | ] 101 | }, 102 | { 103 | "domain_regex": [ 104 | "^time\\.[^.]+\\.com", 105 | "^time\\.[^.]+\\.gov", 106 | "^time\\.[^.]+\\.edu\\.cn", 107 | "^time\\.[^.]+\\.apple\\.com", 108 | "^time1\\.[^.]+\\.com", 109 | "^time2\\.[^.]+\\.com", 110 | "^time3\\.[^.]+\\.com", 111 | "^time4\\.[^.]+\\.com", 112 | "^time5\\.[^.]+\\.com", 113 | "^time6\\.[^.]+\\.com", 114 | "^time7\\.[^.]+\\.com", 115 | "^ntp\\.[^.]+\\.com", 116 | "^ntp1\\.[^.]+\\.com", 117 | "^ntp2\\.[^.]+\\.com", 118 | "^ntp3\\.[^.]+\\.com", 119 | "^ntp4\\.[^.]+\\.com", 120 | "^ntp5\\.[^.]+\\.com", 121 | "^ntp6\\.[^.]+\\.com", 122 | "^ntp7\\.[^.]+\\.com", 123 | "^[^.]+\\.time\\.edu\\.cn", 124 | "^[^.]+\\.ntp\\.org\\.cn", 125 | "^localhost\\.[^.]+\\.weixin\\.qq\\.com", 126 | "^[^.]+\\.n\\.n\\.srv\\.nintendo\\.net", 127 | "^xbox\\.[^.]+\\.[^.]+\\.microsoft\\.com", 128 | "^[^.]+\\.[^.]+\\.xboxlive\\.com", 129 | "^xbox\\.[^.]+\\.microsoft\\.com", 130 | "^(.+\\.)?stun\\.[^.]+\\.[^.]+$", 131 | "^(.+\\.)?stun\\.[^.]+\\.[^.]+\\.[^.]+$", 132 | "^(.+\\.)?stun\\.[^.]+\\.[^.]+\\.[^.]+\\.[^.]+$", 133 | "^(.+\\.)?stun\\.[^.]+\\.[^.]+\\.[^.]+\\.[^.]+\\.[^.]+$" 134 | ] 135 | } 136 | ] 137 | } -------------------------------------------------------------------------------- /config/mihomo/nikki: -------------------------------------------------------------------------------- 1 | 2 | config status 'status' 3 | 4 | config config 'config' 5 | option enabled '0' 6 | option profile 'subscription:cfg160caa' 7 | option start_delay '5' 8 | option scheduled_restart '0' 9 | option cron_expression '0 3 * * *' 10 | option test_profile '1' 11 | option fast_reload '1' 12 | 13 | config proxy 'proxy' 14 | option enabled '1' 15 | option tcp_mode 'redirect' 16 | option udp_mode 'tun' 17 | option ipv4_dns_hijack '1' 18 | option ipv6_dns_hijack '1' 19 | option ipv4_proxy '1' 20 | option ipv6_proxy '1' 21 | option fake_ip_ping_hijack '1' 22 | option router_proxy '1' 23 | option lan_proxy '1' 24 | list lan_inbound_interface 'lan' 25 | list bypass_dscp '4' 26 | option bypass_china_mainland_ip '0' 27 | option proxy_tcp_dport '0-65535' 28 | option proxy_udp_dport '0-65535' 29 | 30 | config mixin 'mixin' 31 | option log_level 'warning' 32 | option mode 'rule' 33 | option match_process 'off' 34 | option ipv6 '0' 35 | option ui_url 'https://github.com/Zephyruso/zashboard/releases/latest/download/dist-cdn-fonts.zip' 36 | option api_listen '[::]:9090' 37 | option selection_cache '1' 38 | option allow_lan '1' 39 | option http_port '8080' 40 | option socks_port '1080' 41 | option mixed_port '7890' 42 | option redir_port '7891' 43 | option tproxy_port '7892' 44 | option authentication '1' 45 | option tun_device 'nikki' 46 | option tun_stack 'mixed' 47 | option tun_dns_hijack '0' 48 | list tun_dns_hijacks 'tcp://any:53' 49 | list tun_dns_hijacks 'udp://any:53' 50 | option dns_listen '[::]:1053' 51 | option dns_ipv6 '1' 52 | option dns_mode 'fake-ip' 53 | option fake_ip_range '198.18.0.1/16' 54 | option fake_ip_filter '1' 55 | option fake_ip_cache '1' 56 | option hosts '0' 57 | option dns_nameserver '1' 58 | option dns_nameserver_policy '0' 59 | option sniffer_force_domain_name '0' 60 | option sniffer_ignore_domain_name '0' 61 | option sniffer_sniff '0' 62 | option rule '0' 63 | option rule_provider '0' 64 | option mixin_file_content '0' 65 | option ui_path 'ui' 66 | option api_secret '831926' 67 | option unify_delay '1' 68 | option tcp_concurrent '1' 69 | option tcp_keep_alive_idle '600' 70 | option tcp_keep_alive_interval '15' 71 | option tun_gso '1' 72 | list fake_ip_filters '+.lan' 73 | list fake_ip_filters '+.local' 74 | list fake_ip_filters '+.msftconnecttest.com' 75 | list fake_ip_filters '+.msftncsi.com' 76 | list fake_ip_filters 'time.*.com' 77 | option fake_ip_filter_mode 'blacklist' 78 | option dns_respect_rules '1' 79 | option sniffer '1' 80 | option sniffer_sniff_dns_mapping '1' 81 | option sniffer_sniff_pure_ip '1' 82 | option geoip_format 'mmdb' 83 | option geodata_loader 'standard' 84 | option geosite_url 'https://gh-proxy.com/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat' 85 | option geoip_mmdb_url 'https://gh-proxy.com/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/country-lite.mmdb' 86 | option geoip_dat_url 'https://gh-proxy.com/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest/geoip-lite.dat' 87 | option geoip_asn_url 'https://gh-proxy.com/https://github.com/xishang0128/geoip/releases/download/latest/GeoLite2-ASN.mmdb' 88 | option geox_auto_update '1' 89 | option geox_update_interval '48' 90 | 91 | config env 'env' 92 | option disable_safe_path_check '0' 93 | option disable_loopback_detector '0' 94 | option disable_quic_go_gso '0' 95 | option disable_quic_go_ecn '0' 96 | 97 | config router_access_control 98 | option enabled '1' 99 | list user 'dnsmasq' 100 | list user 'ftp' 101 | list user 'logd' 102 | list user 'nobody' 103 | list user 'ntp' 104 | list user 'ubus' 105 | list group 'dnsmasq' 106 | list group 'ftp' 107 | list group 'logd' 108 | list group 'nogroup' 109 | list group 'ntp' 110 | list group 'ubus' 111 | list cgroup 'adguardhome' 112 | list cgroup 'aria2' 113 | list cgroup 'dnsmasq' 114 | list cgroup 'netbird' 115 | list cgroup 'qbittorrent' 116 | list cgroup 'sysntpd' 117 | list cgroup 'tailscale' 118 | list cgroup 'zerotier' 119 | option proxy '0' 120 | option dns '0' 121 | 122 | config router_access_control 123 | option enabled '1' 124 | option proxy '1' 125 | option dns '1' 126 | 127 | config lan_access_control 128 | option enabled '1' 129 | option proxy '1' 130 | option dns '1' 131 | 132 | config authentication 133 | option enabled '1' 134 | option username 'nikki' 135 | option password '831926' 136 | 137 | config hosts 138 | option enabled '0' 139 | option domain_name 'localhost' 140 | list ip '127.0.0.1' 141 | list ip '::1' 142 | 143 | config nameserver 144 | option enabled '1' 145 | option type 'default-nameserver' 146 | list nameserver '223.5.5.5' 147 | list nameserver '223.6.6.6' 148 | 149 | config nameserver 150 | option enabled '1' 151 | option type 'proxy-server-nameserver' 152 | list nameserver 'https://223.5.5.5/dns-query' 153 | list nameserver 'https://223.6.6.6/dns-query' 154 | 155 | config nameserver 156 | option enabled '0' 157 | option type 'direct-nameserver' 158 | list nameserver 'https://223.5.5.5/dns-query' 159 | list nameserver 'https://223.6.6.6/dns-query' 160 | 161 | config nameserver 162 | option enabled '1' 163 | option type 'nameserver' 164 | list nameserver 'https://223.5.5.5/dns-query' 165 | list nameserver 'https://223.6.6.6/dns-query' 166 | 167 | config nameserver_policy 168 | option enabled '1' 169 | option matcher 'geosite:private,cn' 170 | list nameserver 'https://223.5.5.5/dns-query' 171 | list nameserver 'https://223.6.6.6/dns-query' 172 | 173 | config nameserver_policy 174 | option enabled '1' 175 | option matcher 'geosite:geolocation-!cn' 176 | list nameserver 'https://1.1.1.1/dns-query' 177 | list nameserver 'https://8.8.8.8/dns-query' 178 | 179 | config sniff 180 | option enabled '1' 181 | option protocol 'HTTP' 182 | list port '80' 183 | list port '8080' 184 | option overwrite_destination '1' 185 | 186 | config sniff 187 | option enabled '1' 188 | option protocol 'TLS' 189 | list port '443' 190 | list port '8443' 191 | option overwrite_destination '1' 192 | 193 | config sniff 194 | option enabled '1' 195 | option protocol 'QUIC' 196 | list port '443' 197 | list port '8443' 198 | option overwrite_destination '1' 199 | 200 | config editor 'editor' 201 | 202 | config log 'log' 203 | 204 | config subscription 205 | option name '机场订阅' 206 | option url 'http://192.168.10.41:3001/NFsfkHeICpSNO4mvWzJt/download/collection/mihomo?target=ClashMeta' 207 | option user_agent 'clash' 208 | option prefer 'remote' 209 | 210 | -------------------------------------------------------------------------------- /config/mihomo/AI/train_flexible.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import numpy as np 3 | import lightgbm as lgb 4 | from sklearn.model_selection import train_test_split 5 | from sklearn.preprocessing import StandardScaler, RobustScaler 6 | from go_parser import GoTransformParser 7 | from typing import Tuple, List, Optional 8 | 9 | # ============================================================================== 10 | # 1. 配置中心 (CONFIGURATIONS) 11 | # ============================================================================== 12 | 13 | # 文件路径配置 14 | DATA_FILE = 'smart_weight_data.csv' 15 | GO_FILE = 'transform.go' 16 | MODEL_FILE = 'Model.bin' 17 | 18 | # 特征变换配置 19 | STD_SCALER_FEATURES = [ 20 | 'connect_time', 'latency', 'upload_mb', 'download_mb', 'duration_minutes', 21 | 'last_used_seconds', 'traffic_density' 22 | ] 23 | ROBUST_SCALER_FEATURES = ['success', 'failure'] 24 | 25 | # LightGBM 模型参数 26 | LGBM_PARAMS = { 27 | 'objective': 'regression', 'metric': 'rmse', 'n_estimators': 1000, 28 | 'learning_rate': 0.03, 'random_state': 42, 'n_jobs': -1, 'device': 'gpu' 29 | } 30 | EARLY_STOPPING_ROUNDS = 100 31 | 32 | 33 | # ============================================================================== 34 | # 2. 功能函数 (FUNCTIONS) 35 | # ============================================================================== 36 | 37 | def load_and_clean_data(file_path: str) -> Optional[pd.DataFrame]: 38 | """从CSV文件加载数据并进行清洗。如果失败则返回None。""" 39 | print(f"--> 正在加载数据: {file_path}") 40 | try: 41 | data = pd.read_csv(file_path) 42 | print(f" 原始数据加载成功,共 {len(data)} 条。") 43 | except FileNotFoundError: 44 | print(f" 错误: 数据文件 '{file_path}' 未找到!") 45 | return None 46 | 47 | data.dropna(subset=['weight'], inplace=True) 48 | data = data[data['weight'] > 0].copy() 49 | print(f" 清洗后剩余 {len(data)} 条有效记录。") 50 | return data 51 | 52 | # 这是基于你的预处理数据文件的新版提取函数 53 | def extract_features_from_preprocessed(data: pd.DataFrame, feature_order: List[str]) -> Optional[Tuple[pd.DataFrame, pd.Series]]: 54 | """从已经是特征格式的CSV中提取X和y。""" 55 | print("--> 正在从预处理数据中提取特征 (X) 和目标 (y)...") 56 | try: 57 | X = data[feature_order] 58 | y = data['weight'] 59 | print(" 成功提取特征和目标。") 60 | return X, y 61 | except KeyError as e: 62 | print(f" 错误: 数据文件中缺少必要的特征列: {e}") 63 | return None, None 64 | 65 | def apply_feature_transforms(X: pd.DataFrame, feature_order: List[str]) -> Tuple[pd.DataFrame, StandardScaler, RobustScaler]: 66 | """对特征矩阵应用 StandardScaler 和 RobustScaler。""" 67 | print("--> 正在进行特征变换...") 68 | X_scaled = X.copy() 69 | 70 | std_scaler = StandardScaler() 71 | X_scaled[STD_SCALER_FEATURES] = std_scaler.fit_transform(X_scaled[STD_SCALER_FEATURES]) 72 | print(f" 已应用 StandardScaler 到 {len(STD_SCALER_FEATURES)} 个特征。") 73 | 74 | robust_scaler = RobustScaler() 75 | X_scaled[ROBUST_SCALER_FEATURES] = robust_scaler.fit_transform(X_scaled[ROBUST_SCALER_FEATURES]) 76 | print(f" 已应用 RobustScaler 到 {len(ROBUST_SCALER_FEATURES)} 个特征。") 77 | 78 | return X_scaled, std_scaler, robust_scaler 79 | 80 | def train_model(X_train: pd.DataFrame, y_train: pd.Series, X_test: pd.DataFrame, y_test: pd.Series) -> lgb.Booster: 81 | """训练 LightGBM 模型。""" 82 | print("--> 正在训练 LightGBM 模型...") 83 | train_data = lgb.Dataset(X_train, label=y_train) 84 | test_data = lgb.Dataset(X_test, label=y_test, reference=train_data) 85 | 86 | model = lgb.train( 87 | LGBM_PARAMS, 88 | train_data, 89 | valid_sets=[test_data], 90 | callbacks=[lgb.early_stopping(EARLY_STOPPING_ROUNDS, verbose=True)] 91 | ) 92 | return model 93 | 94 | def save_model_and_config(model: lgb.Booster, std_scaler: StandardScaler, robust_scaler: RobustScaler, feature_order: List[str]): 95 | """保存模型为文本格式,并附加变换配置。""" 96 | print("--> 正在保存模型及配置...") 97 | 98 | model.save_model(MODEL_FILE, num_iteration=model.best_iteration) 99 | print(f" 模型主体已保存为文本格式到: {MODEL_FILE}") 100 | 101 | order_block = "[order]\n" + "".join([f"{i}={name}\n" for i, name in enumerate(feature_order)]) + "[/order]\n" 102 | 103 | std_indices = [feature_order.index(f) for f in STD_SCALER_FEATURES] 104 | robust_indices = [feature_order.index(f) for f in ROBUST_SCALER_FEATURES] 105 | 106 | definitions_block = "[definitions]\n" 107 | definitions_block += f"std_type=StandardScaler\nstd_features={','.join(map(str, std_indices))}\nstd_mean={','.join(map(str, std_scaler.mean_))}\nstd_scale={','.join(map(str, std_scaler.scale_))}\n\n" 108 | definitions_block += f"robust_type=RobustScaler\nrobust_features={','.join(map(str, robust_indices))}\nrobust_center={','.join(map(str, robust_scaler.center_))}\nrobust_scale={','.join(map(str, robust_scaler.scale_))}\n" 109 | definitions_block += "[/definitions]\n" 110 | 111 | transformed_indices = set(std_indices + robust_indices) 112 | untransformed_list = [f"{i}:{name}" for i, name in enumerate(feature_order) if i not in transformed_indices] 113 | 114 | final_transforms_block = ( 115 | "\n\nend of trees\n\n" 116 | f"[transforms]\n{order_block}{definitions_block}untransformed_features={','.join(untransformed_list)}\ntransform=true\n[/transforms]\n" 117 | ) 118 | 119 | with open(MODEL_FILE, 'a', encoding='utf-8') as f: 120 | f.write(final_transforms_block) 121 | print(" 变换配置已成功附加到模型文件末尾。") 122 | 123 | # ============================================================================== 124 | # 3. 主执行流程 (MAIN EXECUTION) 125 | # ============================================================================== 126 | 127 | def main(): 128 | """主函数,按顺序执行所有步骤。""" 129 | print("--- Mihomo 模型训练开始 ---") 130 | 131 | try: 132 | parser = GoTransformParser(GO_FILE) 133 | feature_order = parser.get_feature_order() 134 | except Exception as e: 135 | print(f"初始化失败: {e}") 136 | return 137 | 138 | full_data = load_and_clean_data(DATA_FILE) 139 | if full_data is None: 140 | return 141 | 142 | result = extract_features_from_preprocessed(full_data, feature_order) 143 | if result is None: 144 | return 145 | X, y = result 146 | 147 | X_scaled, std_scaler, robust_scaler = apply_feature_transforms(X, feature_order) 148 | 149 | X_train, X_test, y_train, y_test = train_test_split(X_scaled, y, test_size=0.2, random_state=42) 150 | model = train_model(X_train, y_train, X_test, y_test) 151 | 152 | save_model_and_config(model, std_scaler, robust_scaler, feature_order) 153 | 154 | print("\n🎉 --- 训练全部完成 --- 🎉") 155 | print(f"最终模型 '{MODEL_FILE}' 已生成,随时可以部署!") 156 | 157 | if __name__ == "__main__": 158 | main() -------------------------------------------------------------------------------- /config/mihomo/full.ini: -------------------------------------------------------------------------------- 1 | [custom] 2 | 3 | ;规则集定义 4 | ruleset=🎯 全球直连,https://raw.githubusercontent.com/qichiyuhub/rule/main/direct.list 5 | ruleset=🚀 节点选择,https://raw.githubusercontent.com/qichiyuhub/rule/main/proxy.list 6 | ruleset=🤖 AI,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/AI.list 7 | ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/LocalAreaNetwork.list 8 | ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/UnBan.list 9 | ruleset=📢 FCM,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/GoogleFCM/GoogleFCM.list 10 | ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/GoogleCN.list 11 | ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/SteamCN.list 12 | ruleset=👨🏿‍💻 GitHub,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/GitHub/GitHub.list 13 | ruleset=👨🏿‍💻 GitHub,clash-classic:https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/GitHub/GitHub.yaml 14 | ruleset=📹 YouTube,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/YouTube.list 15 | ruleset=🍀 Google,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Google/Google.list 16 | ruleset=💧 Copilot,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Bing.list 17 | ruleset=🐬 OneDrive,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/OneDrive/OneDrive.list 18 | ruleset=🪟 Microsoft,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Microsoft.list 19 | ruleset=🍎 Apple,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Apple.list 20 | ruleset=📲 Telegram,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Telegram/Telegram.list 21 | ruleset=♻️ Speedtest,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/Speedtest/Speedtest.list 22 | ruleset=🎮 游戏平台,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Epic.list 23 | ruleset=🎮 游戏平台,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Origin.list 24 | ruleset=🎮 游戏平台,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Sony.list 25 | ruleset=🎮 游戏平台,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Steam.list 26 | ruleset=🎮 游戏平台,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Nintendo.list 27 | ruleset=🎥 Netflix,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Netflix.list 28 | ruleset=🎵 TikTok,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/TikTok/TikTok.list 29 | ruleset=🎞️ 国内媒体,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/ChinaMedia/ChinaMedia.list 30 | ruleset=🌍 国外媒体,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ProxyMedia.list 31 | ruleset=🚀 节点选择,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ProxyGFWlist.list 32 | ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaDomain.list 33 | ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaCompanyIp.list 34 | ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Download.list 35 | ruleset=🎯 全球直连,https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Clash/China/China.list 36 | ruleset=🎯 全球直连,[]GEOSITE,CN 37 | ruleset=🚀 节点选择,[]GEOSITE,geolocation-!cn 38 | ruleset=🎯 全球直连,[]GEOIP,CN 39 | ruleset=🐟 漏网之鱼,[]FINAL 40 | 41 | 42 | 43 | ;策略组定义 44 | custom_proxy_group=🚀 节点选择`select`[]🔯 香港故转`[]🔯 日本故转`[]🔯 加坡故转`[]⭐ 香港故转`[]⭐ 日本故转`[]🇭🇰 香港节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🇺🇲 美国节点`[]🌐 其他地区`[]🏡 家宽节点`[]🛩️ 高速节点`[]🕊️便宜节点`[]🐸 手动切换`[]DIRECT 45 | 46 | 47 | custom_proxy_group=📹 YouTube`select`[]🚀 节点选择`[]⭐ 香港故转`[]⭐ 日本故转`[]🔯 香港故转`[]🔯 日本故转`[]🔯 加坡故转`[]🇭🇰 香港节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🇺🇲 美国节点`[]🛩️ 高速节点`[]🐸 手动切换`[]DIRECT 48 | custom_proxy_group=🤖 AI`select`[]🚀 节点选择`[]🔯 日本故转`[]🇺🇲 美国节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🇭🇰 香港节点`[]🏡 家宽节点`[]🐸 手动切换 49 | custom_proxy_group=💧 Copilot`select`[]🚀 节点选择`[]🔯 日本故转`[]🔯 加坡故转`[]⭐ 日本故转`[]🇯🇵 日本节点`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇸🇬 加坡节点`[]🏡 家宽节点`[]🐸 手动切换 50 | custom_proxy_group=🐬 OneDrive`select`[]🚀 节点选择`[]🔯 日本故转`[]🔯 香港故转`[]🔯 加坡故转`[]⭐ 香港故转`[]⭐ 日本故转`[]🇯🇵 日本节点`[]🇭🇰 香港节点`[]🇸🇬 加坡节点`[]🇺🇲 美国节点`[]🛩️ 高速节点`[]🐸 手动切换`[]DIRECT 51 | custom_proxy_group=🪟 Microsoft`select`[]🚀 节点选择`[]🔯 日本故转`[]🔯 香港故转`[]🔯 加坡故转`[]⭐ 香港故转`[]⭐ 日本故转`[]🇯🇵 日本节点`[]🇭🇰 香港节点`[]🇸🇬 加坡节点`[]🇺🇲 美国节点`[]🛩️ 高速节点`[]🐸 手动切换`[]DIRECT 52 | custom_proxy_group=🍀 Google`select`[]🚀 节点选择`[]🔯 香港故转`[]🔯 日本故转`[]🔯 加坡故转`[]⭐ 香港故转`[]⭐ 日本故转`[]🇭🇰 香港节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🇺🇲 美国节点`[]🛩️ 高速节点`[]🐸 手动切换`[]DIRECT 53 | custom_proxy_group=👨🏿‍💻 GitHub`select`[]🚀 节点选择`[]🔯 香港故转`[]🔯 日本故转`[]🔯 加坡故转`[]⭐ 香港故转`[]⭐ 日本故转`[]🇭🇰 香港节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🇺🇲 美国节点`[]🛩️ 高速节点`[]🐸 手动切换`[]DIRECT 54 | custom_proxy_group=🍎 Apple`select`[]DIRECT`[]🇭🇰 香港节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🇺🇲 美国节点`[]🐸 手动切换`[]🚀 节点选择 55 | custom_proxy_group=♻️ Speedtest`select`[]DIRECT`[]🇭🇰 香港节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🇺🇲 美国节点`[]🐸 手动切换`[]🚀 节点选择 56 | custom_proxy_group=🎵 TikTok`select`[]🚀 节点选择`[]🔯 日本故转`[]🔯 加坡故转`[]⭐ 日本故转`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🛩️ 高速节点`[]🐸 手动切换 57 | custom_proxy_group=🎥 Netflix`select`[]🚀 节点选择`[]🔯 香港故转`[]🔯 日本故转`[]🔯 加坡故转`[]⭐ 香港故转`[]⭐ 日本故转`[]🇭🇰 香港节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🛩️ 高速节点`[]🎥 奈飞节点`[]🐸 手动切换 58 | custom_proxy_group=📲 Telegram`select`[]🚀 节点选择`[]🔯 香港故转`[]🔯 日本故转`[]🔯 加坡故转`[]⭐ 香港故转`[]⭐ 日本故转`[]🇭🇰 香港节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🐸 手动切换 59 | custom_proxy_group=📢 FCM`select`[]🚀 节点选择`[]🔯 香港故转`[]🔯 日本故转`[]🔯 加坡故转`[]⭐ 香港故转`[]⭐ 日本故转`[]🇭🇰 香港节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🐸 手动切换 60 | custom_proxy_group=🎮 游戏平台`select`[]🚀 节点选择`[]🔯 香港故转`[]🔯 日本故转`[]🔯 加坡故转`[]⭐ 香港故转`[]⭐ 日本故转`[]🇭🇰 香港节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🛩️ 高速节点`[]🐸 手动切换`[]DIRECT 61 | custom_proxy_group=🌍 国外媒体`select`[]🚀 节点选择`[]🔯 香港故转`[]🔯 日本故转`[]🔯 加坡故转`[]⭐ 香港故转`[]⭐ 日本故转`[]🇭🇰 香港节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🛩️ 高速节点`[]🐸 手动切换 62 | custom_proxy_group=🎞️ 国内媒体`select`[]DIRECT`[]🚀 节点选择`[]🐸 手动切换 63 | custom_proxy_group=🎯 全球直连`select`[]DIRECT`[]🚀 节点选择`[]🐸 手动切换 64 | custom_proxy_group=🐟 漏网之鱼`select`[]DIRECT`[]🚀 节点选择`[]🇭🇰 香港节点`[]🇯🇵 日本节点`[]🇸🇬 加坡节点`[]🐸 手动切换 65 | 66 | custom_proxy_group=🐸 手动切换`select`.* 67 | custom_proxy_group=🏡 家宽节点`select`(家宽|家庭) 68 | custom_proxy_group=🛩️ 高速节点`select`(?=.*(香港|HK|Hong Kong|🇭🇰|HongKong|日本|川日|东京|大阪|泉日|埼玉|沪日|深日|JP|Japan))^((?!(深港|家宽|游戏|剩余|流量|0.5|0.5倍|0.5x|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x|5.0|5倍|5x)).)*$ 69 | custom_proxy_group= 🕊️便宜节点`select`(?=.*(0.5|0.5倍|0.5x)) 70 | custom_proxy_group=🇭🇰 香港节点`select`(?=.*(香港|HK|Hong Kong|🇭🇰|HongKong))^((?!(深港|US|家宽|游戏|剩余|流量|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x)).)*$ 71 | custom_proxy_group=🇯🇵 日本节点`select`(?=.*(日本|川日|东京|大阪|泉日|埼玉|沪日|深日|JP|Japan))^((?!(家宽|游戏|剩余|流量|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x)).)*$ 72 | custom_proxy_group=🇸🇬 加坡节点`select`(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(家宽|游戏|剩余|流量|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x)).)*$ 73 | custom_proxy_group=🇺🇲 美国节点`select`(美|波特兰|达拉斯|俄勒冈|凤凰城|费利蒙|硅谷|拉斯维加斯|洛杉矶|圣何塞|圣克拉拉|西雅图|芝加哥|US|United States) 74 | custom_proxy_group=🌐 其他地区`select`(^(?!.*(香港|HK|Hong Kong|🇭🇰|HongKong|日本|川日|东京|大阪|泉日|埼玉|沪日|深日|JP|Japan|新加坡|坡|狮城|SG|Singapore)).*) 75 | custom_proxy_group=🔯 香港故转`fallback`(?=.*(香港|HK|Hong Kong|🇭🇰|HongKong))^((?!(深港|家宽|游戏|剩余|流量|0.5|0.5倍|0.5x|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x|5.0|5倍|5x)).)*$`http://www.gstatic.com/generate_204`300,,50 76 | custom_proxy_group=🔯 日本故转`fallback`(?=.*(日本|川日|东京|大阪|泉日|埼玉|沪日|深日|JP|Japan))^((?!(深港|家宽|游戏|剩余|流量|0.5|0.5倍|0.5x|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x|5.0|5倍|5x)).)*$`http://www.gstatic.com/generate_204`300,,50 77 | custom_proxy_group=🔯 加坡故转`fallback`(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(家宽|游戏|剩余|流量|0.5|0.5倍|0.5x|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x|5.0|5倍|5x)).)*$`http://www.gstatic.com/generate_204`300,,50 78 | custom_proxy_group=⭐ 香港故转`fallback`!!GROUPID=!0!!(香港|HK|Hong Kong|🇭🇰|HongKong)(?!.*(深港|家宽|游戏|剩余|流量|0.5|0.5倍|0.5x|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x|5.0|5倍|5x))`http://www.gstatic.com/generate_204`300,,50 79 | custom_proxy_group=⭐ 日本故转`fallback`!!GROUPID=!0!!(日本|川日|东京|大阪|泉日|埼玉|沪日|深日|JP|Japan)(?!.*(深港|家宽|游戏|剩余|流量|0.5|0.5倍|0.5x|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x|5.0|5倍|5x))`http://www.gstatic.com/generate_204`300,,50 80 | custom_proxy_group=🍃 香港均衡`load-balance(round-robin)`(?=.*(香港|HK|Hong Kong|🇭🇰|HongKong))^((?!(家宽|游戏|剩余|流量|0.5|0.5倍|0.5x|2.0|2倍|2x|3.0|3倍|3x|4.0|4倍|4x|5.0|5倍|5x)).)*$`http://www.gstatic.com/generate_204`300,,50 81 | custom_proxy_group=♻️ 自动选择`url-test`.*`http://www.gstatic.com/generate_204`300,,50 82 | 83 | custom_proxy_group=🎥 奈飞节点`select`(NF|奈飞|解锁|Netflix|NETFLIX|Media) 84 | 85 | ;启用自定义规则集 86 | 87 | enable_rule_generator=true 88 | overwrite_original_rules=true 89 | 90 | -------------------------------------------------------------------------------- /config/zijian/client/config.yaml: -------------------------------------------------------------------------------- 1 | # 机场订阅 2 | proxy-providers: 3 | Airport1: 4 | url: "机场订阅链接" 5 | type: http 6 | interval: 86400 7 | health-check: 8 | enable: true 9 | url: https://www.gstatic.com/generate_204 10 | interval: 300 11 | proxy: 直连 12 | 13 | # 节点信息 # dialer-proxy: 香港手动 14 | proxies: 15 | - name: "SS" 16 | type: ss 17 | server: "147.79.20.99" 18 | port: 80 19 | cipher: 2022-blake3-aes-128-gcm 20 | password: "hztQCU1ZB8CAuPMVFJiCJw==" 21 | udp: true 22 | 23 | - name: "VLESS-Vision-Reality" 24 | type: vless 25 | server: "147.79.20.99" 26 | port: 443 27 | udp: true 28 | uuid: "625a08bb-d372-4f7c-a2d4-6a50ca3393ce" 29 | flow: xtls-rprx-vision 30 | packet-encoding: xudp 31 | tls: true 32 | servername: "updates.cdn-apple.com" 33 | client-fingerprint: chrome 34 | reality-opts: 35 | public-key: "2GPEbCh3ZVgGXbwzo1TzCe38JPvMm8HRSxuOuKspKAE" 36 | short-id: "a118b9425a7e2dc5" 37 | skip-cert-verify: false 38 | 39 | - name: "HYSTERIA2" 40 | type: hysteria2 41 | server: yu.ykszckj.com 42 | port: 52021 43 | password: "c36d52aa-12b0-420c-a409-02f0410f6ac4" 44 | up: "100 Mbps" 45 | down: "800 Mbps" 46 | client-fingerprint: chrome 47 | alpn: 48 | - h3 49 | skip-cert-verify: false 50 | 51 | - name: "直连" 52 | type: direct 53 | udp: true 54 | 55 | # 全局配置 56 | mixed-port: 7890 57 | allow-lan: true 58 | bind-address: "*" 59 | ipv6: false 60 | unified-delay: true 61 | tcp-concurrent: true 62 | log-level: warning 63 | find-process-mode: 'off' 64 | global-client-fingerprint: chrome 65 | keep-alive-idle: 600 66 | keep-alive-interval: 15 67 | profile: 68 | store-selected: true 69 | store-fake-ip: true 70 | 71 | # 为防止使用插件朋友遇到面板问题,我注释掉了此模块。 72 | #external-controller: 0.0.0.0:9090 73 | #secret: "" 74 | #external-ui: ui 75 | #external-ui-name: zashboard 76 | #external-ui-url: "https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip" 77 | 78 | # 嗅探(fakeip下其实可以不用嗅探) 79 | sniffer: 80 | enable: true 81 | sniff: 82 | HTTP: 83 | ports: [80, 8080-8880] 84 | override-destination: false 85 | TLS: 86 | ports: [443, 8443] 87 | QUIC: 88 | ports: [443, 8443] 89 | skip-domain: 90 | - "Mijia Cloud" 91 | - "+.push.apple.com" 92 | 93 | # 入站 94 | tun: 95 | enable: true 96 | # system/gvisor/mixed 97 | stack: mixed 98 | dns-hijack: ["any:53", "tcp://any:53"] 99 | #使用nikki,混入全部不修改的情况,开启接口指定为nikki 100 | #device: nikki 101 | #使用仅内核自行修改下面三项为true 102 | auto-route: false 103 | auto-redirect: false 104 | auto-detect-interface: false 105 | 106 | # DNS模块 107 | dns: 108 | enable: true 109 | cache-algorithm: arc 110 | listen: 0.0.0.0:1053 111 | ipv6: false 112 | respect-rules: true 113 | enhanced-mode: fake-ip 114 | fake-ip-range: 28.0.0.1/8 115 | fake-ip-filter-mode: blacklist 116 | fake-ip-filter: 117 | - rule-set:fakeipfilter_domain 118 | default-nameserver: 119 | - https://223.5.5.5/dns-query 120 | proxy-server-nameserver: 121 | - https://dns.alidns.com/dns-query 122 | - https://doh.pub/dns-query 123 | nameserver: 124 | - https://dns.alidns.com/dns-query 125 | - https://doh.pub/dns-query 126 | 127 | 128 | # 出站策略 129 | proxy-groups: 130 | - {name: 🐸 手动选择, type: select, include-all: true} 131 | - {name: 📹 YouTube, type: select, include-all: true, proxies: [🐸 手动选择]} 132 | - {name: 🍀 Google, type: select, include-all: true, proxies: [🐸 手动选择]} 133 | - {name: 🤖 ChatGPT, type: select, include-all: true, proxies: [🐸 手动选择]} 134 | - {name: 👨🏿‍💻 GitHub, type: select, include-all: true, proxies: [🐸 手动选择]} 135 | - {name: 🐬 OneDrive, type: select, include-all: true, proxies: [🐸 手动选择]} 136 | - {name: 🪟 Microsoft, type: select, include-all: true, proxies: [🐸 手动选择]} 137 | - {name: 🎵 TikTok, type: select, include-all: true, proxies: [🐸 手动选择]} 138 | - {name: 📲 Telegram, type: select, include-all: true, proxies: [🐸 手动选择]} 139 | - {name: 🎥 NETFLIX, type: select, include-all: true, proxies: [🐸 手动选择]} 140 | - {name: ✈️ Speedtest, type: select, include-all: true, proxies: [🐸 手动选择]} 141 | - {name: 💶 PayPal, type: select, include-all: true, proxies: [🐸 手动选择]} 142 | - {name: 🍎 Apple, type: select, include-all: true, proxies: [🐸 手动选择]} 143 | - {name: 🐟 漏网之鱼, type: select, include-all: true, proxies: [🐸 手动选择]} 144 | 145 | # 规则匹配 146 | rules: 147 | - RULE-SET,private_ip,直连,no-resolve 148 | - RULE-SET,private_domain,直连 149 | - DOMAIN-SUFFIX,qichiyu.com,🐸 手动选择 150 | - RULE-SET,proxylite,🐸 手动选择 151 | - RULE-SET,ai,🤖 ChatGPT 152 | - RULE-SET,github_domain,👨🏿‍💻 GitHub 153 | - RULE-SET,youtube_domain,📹 YouTube 154 | - RULE-SET,google_domain,🍀 Google 155 | - RULE-SET,onedrive_domain,🐬 OneDrive 156 | - RULE-SET,microsoft_domain,🪟 Microsoft 157 | - RULE-SET,apple_domain,直连 158 | - RULE-SET,tiktok_domain,🎵 TikTok 159 | - RULE-SET,telegram_domain,📲 Telegram 160 | - RULE-SET,netflix_domain,🎥 NETFLIX 161 | - RULE-SET,paypal_domain,💶 PayPal 162 | - RULE-SET,apple_ip,直连 163 | - RULE-SET,google_ip,🍀 Google 164 | - RULE-SET,netflix_ip,🎥 NETFLIX 165 | - RULE-SET,telegram_ip,📲 Telegram 166 | - RULE-SET,geolocation-!cn,🐸 手动选择 167 | - RULE-SET,cn_domain,直连 168 | - RULE-SET,cn_ip,直连 169 | - MATCH,🐟 漏网之鱼 170 | 171 | # 规则集 172 | ## type:可选http/file/inline behavior:可选domain/ipcidr/classical format:可选yaml/text/mrs 173 | rule-anchor: 174 | ip: &ip {type: http, interval: 86400, behavior: ipcidr, format: mrs} 175 | domain: &domain {type: http, interval: 86400, behavior: domain, format: mrs} 176 | class: &class {type: http, interval: 86400, behavior: classical, format: text} 177 | rule-providers: 178 | fakeipfilter_domain: {<<: *domain, url: "https://raw.githubusercontent.com/wwqgtxx/clash-rules/release/fakeip-filter.mrs"} 179 | private_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/private.mrs"} 180 | proxylite: { <<: *class, url: "https://raw.githubusercontent.com/qichiyuhub/rule/refs/heads/main/proxy.list"} 181 | ai: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/category-ai-!cn.mrs" } 182 | youtube_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/youtube.mrs"} 183 | google_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/google.mrs"} 184 | github_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/github.mrs"} 185 | telegram_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/telegram.mrs"} 186 | netflix_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/netflix.mrs"} 187 | paypal_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/paypal.mrs"} 188 | onedrive_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/onedrive.mrs"} 189 | microsoft_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/microsoft.mrs"} 190 | apple_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/apple.mrs"} 191 | speedtest_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/ookla-speedtest.mrs"} 192 | tiktok_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/tiktok.mrs"} 193 | geolocation-!cn: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/geolocation-!cn.mrs"} 194 | cn_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/cn.mrs"} 195 | 196 | private_ip: {<<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/private.mrs"} 197 | cn_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/cn.mrs"} 198 | google_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/google.mrs"} 199 | telegram_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/telegram.mrs"} 200 | netflix_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/netflix.mrs"} 201 | apple_ip: {<<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo-lite/geoip/apple.mrs"} 202 | -------------------------------------------------------------------------------- /config/mihomo/openclash: -------------------------------------------------------------------------------- 1 | 2 | config openclash 'config' 3 | option proxy_port '7892' 4 | option tproxy_port '7895' 5 | option mixed_port '7893' 6 | option socks_port '7891' 7 | option http_port '7890' 8 | option dns_port '7874' 9 | option enable '0' 10 | option update '0' 11 | option en_mode 'fake-ip' 12 | option auto_update '1' 13 | option cn_port '9090' 14 | option dashboard_password 'qichiyu' 15 | option dashboard_forward_ssl '0' 16 | option rule_source '0' 17 | option enable_custom_dns '1' 18 | option ipv6_enable '0' 19 | option ipv6_dns '0' 20 | option enable_custom_clash_rules '0' 21 | option other_rule_auto_update '0' 22 | option core_version 'linux-amd64' 23 | option enable_redirect_dns '2' 24 | option servers_if_update '0' 25 | option servers_update '0' 26 | option log_level '0' 27 | option proxy_mode 'rule' 28 | option intranet_allowed '0' 29 | option enable_udp_proxy '1' 30 | option disable_udp_quic '1' 31 | option operation_mode 'fake-ip' 32 | option enable_rule_proxy '0' 33 | option redirect_dns '0' 34 | option cachesize_dns '0' 35 | option filter_aaaa_dns '0' 36 | option small_flash_memory '0' 37 | option interface_name '0' 38 | option log_size '1024' 39 | option tolerance '0' 40 | option store_fakeip '1' 41 | option custom_fallback_filter '0' 42 | option custom_fakeip_filter '1' 43 | option custom_host '0' 44 | option custom_name_policy '1' 45 | option append_wan_dns '0' 46 | option stream_auto_select '0' 47 | option bypass_gateway_compatible '0' 48 | option github_address_mod '0' 49 | option urltest_address_mod '0' 50 | option urltest_interval_mod '0' 51 | option delay_start '0' 52 | option router_self_proxy '1' 53 | option release_branch 'master' 54 | option dashboard_type 'Official' 55 | option yacd_type 'Official' 56 | option append_default_dns '0' 57 | option enable_respect_rules '0' 58 | option geo_custom_url 'https://testingcf.jsdelivr.net/gh/alecthw/mmdb_china_ip_list@release/lite/Country.mmdb' 59 | option chnr_custom_url 'https://ispip.clang.cn/all_cn.txt' 60 | option chnr6_custom_url 'https://ispip.clang.cn/all_cn_ipv6.txt' 61 | option default_resolvfile '/tmp/resolv.conf.d/resolv.conf.auto' 62 | option config_reload '0' 63 | option config_path '/etc/openclash/config/config.yaml' 64 | option core_type 'Meta' 65 | option dnsmasq_resolvfile '/tmp/resolv.conf.d/resolv.conf.auto' 66 | option skip_proxy_address '0' 67 | option china_ip_route '1' 68 | option lan_interface_name '0' 69 | option geo_auto_update '1' 70 | option geo_update_week_time '1' 71 | option geo_update_day_time '4' 72 | option geoip_auto_update '1' 73 | option geosite_auto_update '1' 74 | option chnr_auto_update '1' 75 | option chnr_update_week_time '6' 76 | option chnr_update_day_time '5' 77 | option auto_restart '0' 78 | option auto_restart_week_time '1' 79 | option auto_restart_day_time '0' 80 | option lan_ac_mode '0' 81 | list lan_ac_black_ports '5000' 82 | option geoip_update_week_time '2' 83 | option geoip_update_day_time '5' 84 | option geoip_custom_url 'https://testingcf.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat' 85 | option geosite_update_week_time '3' 86 | option geosite_update_day_time '5' 87 | option geosite_custom_url 'https://testingcf.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat' 88 | option fakeip_range '198.18.0.1/16' 89 | option custom_fakeip_filter_mode 'blacklist' 90 | option keep_alive_interval '1800' 91 | option find_process_mode '0' 92 | option global_client_fingerprint '0' 93 | option geodata_loader 'memconservative' 94 | option enable_geoip_dat '0' 95 | option enable_meta_sniffer '1' 96 | option enable_meta_sniffer_pure_ip '1' 97 | option enable_meta_sniffer_custom '0' 98 | option enable_tcp_concurrent '1' 99 | option enable_unified_delay '1' 100 | option config_auto_update_mode '0' 101 | option config_update_week_time '*' 102 | option auto_update_time '6' 103 | 104 | config dns_servers 105 | option type 'udp' 106 | option ip '114.114.114.114' 107 | option enabled '1' 108 | option group 'default' 109 | 110 | config dns_servers 111 | option type 'udp' 112 | option ip '119.29.29.29' 113 | option enabled '1' 114 | option group 'default' 115 | 116 | config dns_servers 117 | option group 'nameserver' 118 | option type 'udp' 119 | option ip '114.114.114.114' 120 | option enabled '1' 121 | 122 | config dns_servers 123 | option type 'udp' 124 | option ip '223.5.5.5' 125 | option enabled '1' 126 | option group 'default' 127 | 128 | config dns_servers 129 | option group 'nameserver' 130 | option type 'udp' 131 | option ip '119.29.29.29' 132 | option enabled '1' 133 | 134 | config dns_servers 135 | option group 'nameserver' 136 | option type 'udp' 137 | option ip '119.28.28.28' 138 | option enabled '0' 139 | 140 | config dns_servers 141 | option group 'nameserver' 142 | option type 'udp' 143 | option ip '223.5.5.5' 144 | option enabled '0' 145 | 146 | config dns_servers 147 | option type 'https' 148 | option ip 'doh.pub/dns-query' 149 | option group 'nameserver' 150 | option enabled '0' 151 | 152 | config dns_servers 153 | option type 'https' 154 | option ip 'dns.alidns.com/dns-query' 155 | option group 'nameserver' 156 | option enabled '0' 157 | 158 | config dns_servers 159 | option enabled '0' 160 | option group 'fallback' 161 | option ip '9.9.9.9' 162 | option type 'udp' 163 | 164 | config dns_servers 165 | option enabled '0' 166 | option group 'fallback' 167 | option ip '149.112.112.112' 168 | option type 'udp' 169 | 170 | config dns_servers 171 | option enabled '0' 172 | option group 'fallback' 173 | option ip '2620:fe::fe' 174 | option type 'udp' 175 | 176 | config dns_servers 177 | option enabled '0' 178 | option group 'fallback' 179 | option ip '2620:fe::9' 180 | option type 'udp' 181 | 182 | config dns_servers 183 | option enabled '0' 184 | option group 'fallback' 185 | option ip '8.8.8.8' 186 | option type 'udp' 187 | 188 | config dns_servers 189 | option enabled '0' 190 | option group 'fallback' 191 | option ip '8.8.4.4' 192 | option type 'udp' 193 | 194 | config dns_servers 195 | option enabled '0' 196 | option group 'fallback' 197 | option ip '2001:4860:4860::8888' 198 | option type 'udp' 199 | 200 | config dns_servers 201 | option enabled '0' 202 | option group 'fallback' 203 | option ip '2001:4860:4860::8844' 204 | option type 'udp' 205 | 206 | config dns_servers 207 | option enabled '0' 208 | option group 'fallback' 209 | option ip '2001:da8::666' 210 | option type 'udp' 211 | 212 | config dns_servers 213 | option enabled '0' 214 | option group 'fallback' 215 | option ip 'dns.quad9.net' 216 | option type 'tls' 217 | 218 | config dns_servers 219 | option enabled '0' 220 | option group 'fallback' 221 | option ip 'dns.google' 222 | option type 'tls' 223 | 224 | config dns_servers 225 | option enabled '0' 226 | option group 'fallback' 227 | option ip '1.1.1.1' 228 | option type 'tls' 229 | 230 | config dns_servers 231 | option enabled '0' 232 | option group 'fallback' 233 | option ip 'jp.tiar.app' 234 | option type 'tls' 235 | 236 | config dns_servers 237 | option enabled '0' 238 | option group 'fallback' 239 | option ip 'dot.tiar.app' 240 | option type 'tls' 241 | 242 | config dns_servers 243 | option enabled '0' 244 | option group 'fallback' 245 | option ip 'dns.quad9.net/dns-query' 246 | option type 'https' 247 | 248 | config dns_servers 249 | option enabled '1' 250 | option group 'fallback' 251 | option ip 'dns.google/dns-query' 252 | option type 'https' 253 | 254 | config dns_servers 255 | option enabled '0' 256 | option group 'fallback' 257 | option ip 'dns.cloudflare.com/dns-query' 258 | option type 'https' 259 | 260 | config dns_servers 261 | option enabled '1' 262 | option group 'fallback' 263 | option ip '1.1.1.1/dns-query' 264 | option type 'https' 265 | 266 | config dns_servers 267 | option enabled '0' 268 | option group 'fallback' 269 | option ip 'public.dns.iij.jp/dns-query' 270 | option type 'https' 271 | 272 | config dns_servers 273 | option enabled '0' 274 | option group 'fallback' 275 | option ip 'jp.tiar.app/dns-query' 276 | option type 'https' 277 | 278 | config dns_servers 279 | option enabled '0' 280 | option group 'fallback' 281 | option ip 'jp.tiarap.org/dns-query' 282 | option type 'https' 283 | 284 | config dns_servers 285 | option enabled '0' 286 | option group 'fallback' 287 | option type 'https' 288 | option ip 'doh.dnslify.com/dns-query' 289 | 290 | config dns_servers 291 | option enabled '0' 292 | option group 'fallback' 293 | option ip 'dns.twnic.tw/dns-query' 294 | option type 'https' 295 | 296 | config dns_servers 297 | option enabled '0' 298 | option group 'fallback' 299 | option ip 'dns.oszx.co/dns-query' 300 | option type 'https' 301 | 302 | config dns_servers 303 | option enabled '0' 304 | option group 'fallback' 305 | option ip 'doh.applied-privacy.net/query' 306 | option type 'https' 307 | 308 | config dns_servers 309 | option enabled '0' 310 | option group 'fallback' 311 | option ip 'dnsforge.de/dns-query' 312 | option type 'https' 313 | 314 | config dns_servers 315 | option enabled '0' 316 | option group 'fallback' 317 | option ip 'doh.ffmuc.net/dns-query' 318 | option type 'https' 319 | 320 | config dns_servers 321 | option enabled '0' 322 | option group 'fallback' 323 | option ip 'doh.mullvad.net/dns-query' 324 | option type 'https' 325 | 326 | config authentication 327 | option enabled '1' 328 | option username 'Clash' 329 | option password '2ZMJzTP1' 330 | 331 | config config_subscribe 332 | option enabled '1' 333 | option name '机场一' 334 | option address '订阅地址一行一个' 335 | option sub_ua 'Clash' 336 | option sub_convert '1' 337 | option convert_address 'https://api.dler.io/sub' 338 | option template 'ACL4SSR 规则 Online Full' 339 | option emoji 'true' 340 | option udp 'true' 341 | option skip_cert_verify 'false' 342 | option sort 'false' 343 | option node_type 'false' 344 | option rule_provider 'false' 345 | 346 | -------------------------------------------------------------------------------- /config/mihomo/fuxie.yaml: -------------------------------------------------------------------------------- 1 | # 全局配置 2 | mixed-port: 7890 3 | allow-lan: true 4 | bind-address: "*" 5 | ipv6: false 6 | unified-delay: true 7 | tcp-concurrent: true 8 | log-level: warning 9 | find-process-mode: 'off' 10 | global-client-fingerprint: chrome 11 | keep-alive-idle: 600 12 | keep-alive-interval: 15 13 | profile: 14 | store-selected: true 15 | store-fake-ip: true 16 | 17 | # 为防止使用插件朋友遇到面板问题,我注释掉了此模块。 18 | #external-controller: 0.0.0.0:9090 19 | #secret: "" 20 | #external-ui: ui 21 | #external-ui-name: zashboard 22 | #external-ui-url: "https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip" 23 | 24 | # 嗅探(fakeip下其实可以不用嗅探) 25 | sniffer: 26 | enable: true 27 | sniff: 28 | HTTP: 29 | ports: [80, 8080-8880] 30 | override-destination: false 31 | TLS: 32 | ports: [443, 8443] 33 | QUIC: 34 | ports: [443, 8443] 35 | skip-domain: 36 | - "Mijia Cloud" 37 | - "+.push.apple.com" 38 | 39 | # 入站 40 | tun: 41 | enable: true 42 | # system/gvisor/mixed 43 | stack: mixed 44 | dns-hijack: ["any:53", "tcp://any:53"] 45 | #使用nikki,混入全部不修改的情况,开启接口指定为nikki 46 | #device: nikki 47 | #使用仅内核自行修改下面三项为true 48 | auto-route: false 49 | auto-redirect: false 50 | auto-detect-interface: false 51 | 52 | # DNS模块 53 | dns: 54 | enable: true 55 | cache-algorithm: arc 56 | listen: 0.0.0.0:1053 57 | ipv6: false 58 | respect-rules: true 59 | enhanced-mode: fake-ip 60 | fake-ip-range: 28.0.0.1/8 61 | fake-ip-filter-mode: blacklist 62 | fake-ip-filter: 63 | - rule-set:fakeipfilter_domain 64 | default-nameserver: 65 | - https://223.5.5.5/dns-query 66 | proxy-server-nameserver: 67 | - https://dns.alidns.com/dns-query 68 | - https://doh.pub/dns-query 69 | nameserver: 70 | - https://dns.alidns.com/dns-query 71 | - https://doh.pub/dns-query 72 | 73 | # 出站策略,根据自己情况调整每个策略里分组排序,增删都可以,比如把美国自动放到第一个,比如删除香港故转,注意别漏掉表情逗号等。 74 | # 如果相应分组没有筛选到对应的国家,请根据自己节点名字调整筛选关键字。 75 | # 没有再使用锚点,是考虑很多新手修改难度,这样新手修改某个分组更容易些。 76 | proxy-groups: 77 | - {name: 🚀 默认代理, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 78 | - {name: 📹 YouTube, type: select, proxies: [🔯 美国故转, 🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, ♻️ 美国自动, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 79 | - {name: 🍀 Google, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 80 | - {name: 🤖 ChatGPT, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 81 | - {name: 👨🏿‍💻 GitHub, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 82 | - {name: 🐬 OneDrive, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 83 | - {name: 🪟 Microsoft, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 84 | - {name: 🎵 TikTok, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 85 | - {name: 📲 Telegram, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 86 | - {name: 🎥 NETFLIX, type: select, proxies: [🔯 狮城故转, 🔯 香港故转, 🔯 日本故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 87 | - {name: 💶 PayPal, type: select, proxies: [🔯 日本故转, 🔯 香港故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 88 | - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 默认代理, 🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 89 | - {name: 🇭🇰 香港节点, type: select, include-all: true, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"} 90 | - {name: 🇯🇵 日本节点, type: select, include-all: true, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$"} 91 | - {name: 🇸🇬 狮城节点, type: select, include-all: true, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(台|日|韩|深|美)).)*$"} 92 | - {name: 🇺🇲 美国节点, type: select, include-all: true, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|韩|新|日)).)*$"} 93 | - {name: 🔯 香港故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"} 94 | - {name: 🔯 日本故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$"} 95 | - {name: 🔯 狮城故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(台|日|韩|深|美)).)*$"} 96 | - {name: 🔯 美国故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|韩|新|日)).)*$"} 97 | - {name: ♻️ 香港自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"} 98 | - {name: ♻️ 日本自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$"} 99 | - {name: ♻️ 狮城自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(港|台|韩|日|美)).)*$"} 100 | - {name: ♻️ 美国自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|日|韩|新)).)*$"} 101 | - {name: ♻️ 自动选择, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "^((?!(直连)).)*$"} 102 | - {name: 🌐 全部节点, type: select, include-all: true} 103 | 104 | # 规则匹配 105 | rules: 106 | - RULE-SET,private_ip,直连,no-resolve 107 | - RULE-SET,private_domain,直连 108 | - DOMAIN-SUFFIX,qichiyu.com,🚀 默认代理 109 | - RULE-SET,proxylite,🚀 默认代理 110 | - RULE-SET,ai,🤖 ChatGPT 111 | - RULE-SET,github_domain,👨🏿‍💻 GitHub 112 | - RULE-SET,youtube_domain,📹 YouTube 113 | - RULE-SET,google_domain,🍀 Google 114 | - RULE-SET,onedrive_domain,🐬 OneDrive 115 | - RULE-SET,microsoft_domain,🪟 Microsoft 116 | - RULE-SET,apple_domain,直连 117 | - RULE-SET,tiktok_domain,🎵 TikTok 118 | - RULE-SET,telegram_domain,📲 Telegram 119 | - RULE-SET,netflix_domain,🎥 NETFLIX 120 | - RULE-SET,paypal_domain,💶 PayPal 121 | - RULE-SET,apple_ip,直连 122 | - RULE-SET,google_ip,🍀 Google 123 | - RULE-SET,netflix_ip,🎥 NETFLIX 124 | - RULE-SET,telegram_ip,📲 Telegram 125 | - RULE-SET,geolocation-!cn,🚀 默认代理 126 | - RULE-SET,cn_domain,直连 127 | - RULE-SET,cn_ip,直连 128 | - MATCH,🐟 漏网之鱼 129 | 130 | # 规则集 131 | ## type:可选http/file/inline behavior:可选domain/ipcidr/classical format:可选yaml/text/mrs 132 | rule-anchor: 133 | ip: &ip {type: http, interval: 86400, behavior: ipcidr, format: mrs} 134 | domain: &domain {type: http, interval: 86400, behavior: domain, format: mrs} 135 | class: &class {type: http, interval: 86400, behavior: classical, format: text} 136 | rule-providers: 137 | fakeipfilter_domain: {<<: *domain, url: "https://raw.githubusercontent.com/wwqgtxx/clash-rules/release/fakeip-filter.mrs"} 138 | private_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/private.mrs"} 139 | proxylite: { <<: *class, url: "https://raw.githubusercontent.com/qichiyuhub/rule/refs/heads/main/proxy.list"} 140 | ai: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/category-ai-!cn.mrs" } 141 | youtube_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/youtube.mrs"} 142 | google_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/google.mrs"} 143 | github_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/github.mrs"} 144 | telegram_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/telegram.mrs"} 145 | netflix_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/netflix.mrs"} 146 | paypal_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/paypal.mrs"} 147 | onedrive_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/onedrive.mrs"} 148 | microsoft_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/microsoft.mrs"} 149 | apple_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/apple.mrs"} 150 | speedtest_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/ookla-speedtest.mrs"} 151 | tiktok_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/tiktok.mrs"} 152 | geolocation-!cn: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/geolocation-!cn.mrs"} 153 | cn_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/cn.mrs"} 154 | 155 | private_ip: {<<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/private.mrs"} 156 | cn_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/cn.mrs"} 157 | google_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/google.mrs"} 158 | telegram_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/telegram.mrs"} 159 | netflix_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/netflix.mrs"} 160 | apple_ip: {<<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo-lite/geoip/apple.mrs"} 161 | -------------------------------------------------------------------------------- /config/mihomo/config.yaml: -------------------------------------------------------------------------------- 1 | # 必读!!! 2 | # 此版本没有做防泄露处理,如介意请使用另一个名字为configdns的版本 3 | # 注意规则在满足自己需求情况下,尽量做到精简,不要过度复杂,以免影响性能。 4 | # 跑裸核用户请自行去掉下方控制面板模块的注释。 5 | # 机场订阅 6 | proxy-providers: 7 | Airport1: 8 | url: "机场订阅填到这里,两端引号不要去掉,不要填写到下方链接里去!!" 9 | type: http 10 | interval: 86400 11 | health-check: 12 | enable: true 13 | url: https://www.gstatic.com/generate_204 14 | interval: 300 15 | proxy: 直连 16 | 17 | # 节点信息 18 | proxies: 19 | - {name: 直连, type: direct} 20 | 21 | # 全局配置 22 | mixed-port: 7890 23 | allow-lan: true 24 | bind-address: "*" 25 | ipv6: false 26 | unified-delay: true 27 | tcp-concurrent: true 28 | log-level: warning 29 | find-process-mode: 'off' 30 | global-client-fingerprint: chrome 31 | keep-alive-idle: 600 32 | keep-alive-interval: 15 33 | profile: 34 | store-selected: true 35 | store-fake-ip: true 36 | 37 | # 为防止使用插件朋友遇到面板问题,我注释掉了此模块。 38 | #external-controller: 0.0.0.0:9090 39 | #secret: "" 40 | #external-ui: ui 41 | #external-ui-name: zashboard 42 | #external-ui-url: "https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip" 43 | 44 | # 嗅探(fakeip下其实可以不用嗅探) 45 | sniffer: 46 | enable: true 47 | sniff: 48 | HTTP: 49 | ports: [80, 8080-8880] 50 | override-destination: false 51 | TLS: 52 | ports: [443, 8443] 53 | QUIC: 54 | ports: [443, 8443] 55 | skip-domain: 56 | - "Mijia Cloud" 57 | - "+.push.apple.com" 58 | 59 | # 入站 60 | tun: 61 | enable: true 62 | # system/gvisor/mixed 63 | stack: mixed 64 | dns-hijack: ["any:53", "tcp://any:53"] 65 | #使用nikki,混入全部不修改的情况,开启接口指定为nikki 66 | #device: nikki 67 | #使用仅内核自行修改下面三项为true 68 | auto-route: false 69 | auto-redirect: false 70 | auto-detect-interface: false 71 | 72 | # DNS模块 73 | dns: 74 | enable: true 75 | cache-algorithm: arc 76 | listen: 0.0.0.0:1053 77 | ipv6: false 78 | respect-rules: true 79 | enhanced-mode: fake-ip 80 | fake-ip-range: 28.0.0.1/8 81 | fake-ip-filter-mode: blacklist 82 | fake-ip-filter: 83 | - rule-set:fakeipfilter_domain 84 | default-nameserver: 85 | - https://223.5.5.5/dns-query 86 | proxy-server-nameserver: 87 | - https://dns.alidns.com/dns-query 88 | - https://doh.pub/dns-query 89 | nameserver: 90 | - https://dns.alidns.com/dns-query 91 | - https://doh.pub/dns-query 92 | 93 | # 出站策略,根据自己情况调整每个策略里分组排序,增删都可以,比如把美国自动放到第一个,比如删除香港故转,注意别漏掉表情逗号等。 94 | # 如果相应分组没有筛选到对应的国家,请根据自己节点名字调整筛选关键字。 95 | # 没有再使用锚点,是考虑很多新手修改难度,这样新手修改某个分组更容易些。 96 | proxy-groups: 97 | - {name: 🚀 默认代理, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 98 | - {name: 📹 YouTube, type: select, proxies: [🔯 美国故转, 🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, ♻️ 美国自动, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 99 | - {name: 🍀 Google, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 100 | - {name: 🤖 ChatGPT, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 101 | - {name: 👨🏿‍💻 GitHub, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 102 | - {name: 🐬 OneDrive, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 103 | - {name: 🪟 Microsoft, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 104 | - {name: 🎵 TikTok, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 105 | - {name: 📲 Telegram, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 106 | - {name: 🎥 NETFLIX, type: select, proxies: [🔯 狮城故转, 🔯 香港故转, 🔯 日本故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 107 | - {name: 💶 PayPal, type: select, proxies: [🔯 日本故转, 🔯 香港故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 108 | - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 默认代理, 🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 109 | - {name: 🇭🇰 香港节点, type: select, include-all: true, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"} 110 | - {name: 🇯🇵 日本节点, type: select, include-all: true, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$"} 111 | - {name: 🇸🇬 狮城节点, type: select, include-all: true, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(台|日|韩|深|美)).)*$"} 112 | - {name: 🇺🇲 美国节点, type: select, include-all: true, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|韩|新|日)).)*$"} 113 | - {name: 🔯 香港故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"} 114 | - {name: 🔯 日本故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$"} 115 | - {name: 🔯 狮城故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(台|日|韩|深|美)).)*$"} 116 | - {name: 🔯 美国故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|韩|新|日)).)*$"} 117 | - {name: ♻️ 香港自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"} 118 | - {name: ♻️ 日本自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$"} 119 | - {name: ♻️ 狮城自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(港|台|韩|日|美)).)*$"} 120 | - {name: ♻️ 美国自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|日|韩|新)).)*$"} 121 | - {name: ♻️ 自动选择, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "^((?!(直连)).)*$"} 122 | - {name: 🌐 全部节点, type: select, include-all: true} 123 | 124 | # 规则匹配 125 | rules: 126 | - RULE-SET,private_ip,直连,no-resolve 127 | - RULE-SET,private_domain,直连 128 | - DOMAIN-SUFFIX,qichiyu.com,🚀 默认代理 129 | - RULE-SET,proxylite,🚀 默认代理 130 | - RULE-SET,ai,🤖 ChatGPT 131 | - RULE-SET,github_domain,👨🏿‍💻 GitHub 132 | - RULE-SET,youtube_domain,📹 YouTube 133 | - RULE-SET,google_domain,🍀 Google 134 | - RULE-SET,onedrive_domain,🐬 OneDrive 135 | - RULE-SET,microsoft_domain,🪟 Microsoft 136 | - RULE-SET,apple_domain,直连 137 | - RULE-SET,tiktok_domain,🎵 TikTok 138 | - RULE-SET,telegram_domain,📲 Telegram 139 | - RULE-SET,netflix_domain,🎥 NETFLIX 140 | - RULE-SET,paypal_domain,💶 PayPal 141 | - RULE-SET,apple_ip,直连 142 | - RULE-SET,google_ip,🍀 Google 143 | - RULE-SET,netflix_ip,🎥 NETFLIX 144 | - RULE-SET,telegram_ip,📲 Telegram 145 | - RULE-SET,geolocation-!cn,🚀 默认代理 146 | - RULE-SET,cn_domain,直连 147 | - RULE-SET,cn_ip,直连 148 | - MATCH,🐟 漏网之鱼 149 | 150 | # 规则集 151 | ## type:可选http/file/inline behavior:可选domain/ipcidr/classical format:可选yaml/text/mrs 152 | rule-anchor: 153 | ip: &ip {type: http, interval: 86400, behavior: ipcidr, format: mrs} 154 | domain: &domain {type: http, interval: 86400, behavior: domain, format: mrs} 155 | class: &class {type: http, interval: 86400, behavior: classical, format: text} 156 | rule-providers: 157 | fakeipfilter_domain: {<<: *domain, url: "https://raw.githubusercontent.com/wwqgtxx/clash-rules/release/fakeip-filter.mrs"} 158 | private_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/private.mrs"} 159 | proxylite: { <<: *class, url: "https://raw.githubusercontent.com/qichiyuhub/rule/refs/heads/main/proxy.list"} 160 | ai: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/category-ai-!cn.mrs" } 161 | youtube_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/youtube.mrs"} 162 | google_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/google.mrs"} 163 | github_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/github.mrs"} 164 | telegram_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/telegram.mrs"} 165 | netflix_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/netflix.mrs"} 166 | paypal_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/paypal.mrs"} 167 | onedrive_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/onedrive.mrs"} 168 | microsoft_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/microsoft.mrs"} 169 | apple_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/apple.mrs"} 170 | speedtest_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/ookla-speedtest.mrs"} 171 | tiktok_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/tiktok.mrs"} 172 | geolocation-!cn: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/geolocation-!cn.mrs"} 173 | cn_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/cn.mrs"} 174 | 175 | private_ip: {<<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/private.mrs"} 176 | cn_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/cn.mrs"} 177 | google_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/google.mrs"} 178 | telegram_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/telegram.mrs"} 179 | netflix_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/netflix.mrs"} 180 | apple_ip: {<<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo-lite/geoip/apple.mrs"} 181 | -------------------------------------------------------------------------------- /config/mihomo/configdns.yaml: -------------------------------------------------------------------------------- 1 | # DNS防泄露版本 2 | # 必读!!! 3 | # 注意规则在满足自己需求情况下,尽量做到精简,不要过度复杂,以免影响性能。 4 | # 跑裸核用户请自行去掉下方控制面板模块的注释。 5 | # 机场订阅 6 | proxy-providers: 7 | Airport1: 8 | url: "机场订阅填到这里,两端引号不要去掉,不要填写到下方链接里去!!" 9 | type: http 10 | interval: 86400 11 | health-check: 12 | enable: true 13 | url: https://www.gstatic.com/generate_204 14 | interval: 300 15 | proxy: 直连 16 | 17 | # 节点信息 18 | proxies: 19 | - {name: 直连, type: direct} 20 | 21 | # 全局配置 22 | mixed-port: 7890 23 | allow-lan: true 24 | bind-address: "*" 25 | ipv6: false 26 | unified-delay: true 27 | tcp-concurrent: true 28 | log-level: warning 29 | find-process-mode: 'off' 30 | global-client-fingerprint: chrome 31 | keep-alive-idle: 600 32 | keep-alive-interval: 15 33 | profile: 34 | store-selected: true 35 | store-fake-ip: true 36 | 37 | # 为防止使用插件朋友遇到面板问题,我注释掉了此模块。 38 | #external-controller: 0.0.0.0:9090 39 | #secret: "" 40 | #external-ui: ui 41 | #external-ui-name: zashboard 42 | #external-ui-url: "https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip" 43 | 44 | # 嗅探(fakeip下其实可以不用嗅探) 45 | sniffer: 46 | enable: true 47 | sniff: 48 | HTTP: 49 | ports: [80, 8080-8880] 50 | override-destination: false 51 | TLS: 52 | ports: [443, 8443] 53 | QUIC: 54 | ports: [443, 8443] 55 | skip-domain: 56 | - "Mijia Cloud" 57 | - "+.push.apple.com" 58 | 59 | # 入站 60 | tun: 61 | enable: true 62 | # system/gvisor/mixed 63 | stack: mixed 64 | dns-hijack: ["any:53", "tcp://any:53"] 65 | #使用nikki,混入全部不修改的情况,开启接口指定为nikki 66 | #device: nikki 67 | #使用仅内核自行修改下面三项为true 68 | auto-route: false 69 | auto-redirect: false 70 | auto-detect-interface: false 71 | 72 | # DNS模块 73 | dns: 74 | enable: true 75 | cache-algorithm: arc 76 | listen: 0.0.0.0:1053 77 | ipv6: false 78 | respect-rules: true 79 | enhanced-mode: fake-ip 80 | fake-ip-range: 28.0.0.1/8 81 | fake-ip-filter-mode: blacklist 82 | default-nameserver: 83 | - https://223.5.5.5/dns-query 84 | proxy-server-nameserver: 85 | - https://dns.alidns.com/dns-query 86 | - https://doh.pub/dns-query 87 | direct-nameserver: 88 | - https://dns.alidns.com/dns-query 89 | - https://doh.pub/dns-query 90 | nameserver: 91 | - https://8.8.8.8/dns-query#RULES&ecs=223.5.5.0/24 92 | fake-ip-filter: 93 | - rule-set:fakeipfilter_domain 94 | 95 | # 出站策略,根据自己情况调整每个策略里分组排序,增删都可以,比如把美国自动放到第一个,比如删除香港故转,注意别漏掉表情逗号等。 96 | # 如果相应分组没有筛选到对应的国家,请根据自己节点名字调整筛选关键字。 97 | # 没有再使用锚点,是考虑很多新手修改难度,这样新手修改某个分组更容易些。 98 | proxy-groups: 99 | - {name: 🚀 默认代理, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 100 | - {name: 📹 YouTube, type: select, proxies: [🔯 美国故转, 🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, ♻️ 美国自动, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 101 | - {name: 🍀 Google, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 102 | - {name: 🤖 ChatGPT, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 103 | - {name: 👨🏿‍💻 GitHub, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 104 | - {name: 🐬 OneDrive, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 105 | - {name: 🪟 Microsoft, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 106 | - {name: 🎵 TikTok, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 107 | - {name: 📲 Telegram, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 108 | - {name: 🎥 NETFLIX, type: select, proxies: [🔯 狮城故转, 🔯 香港故转, 🔯 日本故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 109 | - {name: 💶 PayPal, type: select, proxies: [🔯 日本故转, 🔯 香港故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 110 | - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 默认代理, 🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 111 | - {name: 🇭🇰 香港节点, type: select, include-all: true, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"} 112 | - {name: 🇯🇵 日本节点, type: select, include-all: true, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$"} 113 | - {name: 🇸🇬 狮城节点, type: select, include-all: true, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(台|日|韩|深|美)).)*$"} 114 | - {name: 🇺🇲 美国节点, type: select, include-all: true, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|韩|新|日)).)*$"} 115 | - {name: 🔯 香港故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"} 116 | - {name: 🔯 日本故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$"} 117 | - {name: 🔯 狮城故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(台|日|韩|深|美)).)*$"} 118 | - {name: 🔯 美国故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|韩|新|日)).)*$"} 119 | - {name: ♻️ 香港自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"} 120 | - {name: ♻️ 日本自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$"} 121 | - {name: ♻️ 狮城自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(港|台|韩|日|美)).)*$"} 122 | - {name: ♻️ 美国自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|日|韩|新)).)*$"} 123 | - {name: ♻️ 自动选择, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "^((?!(直连)).)*$"} 124 | - {name: 🌐 全部节点, type: select, include-all: true} 125 | 126 | # 规则匹配 127 | rules: 128 | - RULE-SET,private_ip,直连,no-resolve 129 | - RULE-SET,private_domain,直连 130 | - DOMAIN-SUFFIX,qichiyu.com,🚀 默认代理 131 | - RULE-SET,proxylite,🚀 默认代理 132 | - RULE-SET,ai,🤖 ChatGPT 133 | - RULE-SET,github_domain,👨🏿‍💻 GitHub 134 | - RULE-SET,youtube_domain,📹 YouTube 135 | - RULE-SET,google_domain,🍀 Google 136 | - RULE-SET,onedrive_domain,🐬 OneDrive 137 | - RULE-SET,microsoft_domain,🪟 Microsoft 138 | - RULE-SET,apple_domain,直连 139 | - RULE-SET,tiktok_domain,🎵 TikTok 140 | - RULE-SET,telegram_domain,📲 Telegram 141 | - RULE-SET,netflix_domain,🎥 NETFLIX 142 | - RULE-SET,paypal_domain,💶 PayPal 143 | - RULE-SET,apple_ip,直连 144 | - RULE-SET,google_ip,🍀 Google 145 | - RULE-SET,netflix_ip,🎥 NETFLIX 146 | - RULE-SET,telegram_ip,📲 Telegram 147 | - RULE-SET,geolocation-!cn,🚀 默认代理 148 | - RULE-SET,cn_domain,直连 149 | - RULE-SET,cn_ip,直连 150 | - MATCH,🐟 漏网之鱼 151 | 152 | # 规则集 153 | ## type:可选http/file/inline behavior:可选domain/ipcidr/classical format:可选yaml/text/mrs 154 | rule-anchor: 155 | ip: &ip {type: http, interval: 86400, behavior: ipcidr, format: mrs} 156 | domain: &domain {type: http, interval: 86400, behavior: domain, format: mrs} 157 | class: &class {type: http, interval: 86400, behavior: classical, format: text} 158 | rule-providers: 159 | fakeipfilter_domain: {<<: *domain, url: "https://raw.githubusercontent.com/wwqgtxx/clash-rules/release/fakeip-filter.mrs"} 160 | private_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/private.mrs"} 161 | proxylite: { <<: *class, url: "https://raw.githubusercontent.com/qichiyuhub/rule/refs/heads/main/proxy.list"} 162 | ai: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/category-ai-!cn.mrs" } 163 | youtube_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/youtube.mrs"} 164 | google_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/google.mrs"} 165 | github_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/github.mrs"} 166 | telegram_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/telegram.mrs"} 167 | netflix_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/netflix.mrs"} 168 | paypal_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/paypal.mrs"} 169 | onedrive_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/onedrive.mrs"} 170 | microsoft_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/microsoft.mrs"} 171 | apple_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/apple.mrs"} 172 | speedtest_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/ookla-speedtest.mrs"} 173 | tiktok_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/tiktok.mrs"} 174 | geolocation-!cn: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/geolocation-!cn.mrs"} 175 | cn_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/cn.mrs"} 176 | 177 | private_ip: {<<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/private.mrs"} 178 | cn_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/cn.mrs"} 179 | google_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/google.mrs"} 180 | telegram_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/telegram.mrs"} 181 | netflix_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/netflix.mrs"} 182 | apple_ip: {<<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo-lite/geoip/apple.mrs"} 183 | -------------------------------------------------------------------------------- /config/mihomo/AI/smart.yaml: -------------------------------------------------------------------------------- 1 | # 必读!!! 2 | # 注意规则在满足自己需求情况下,尽量做到精简,不要过度复杂,以免影响性能。 3 | # 跑裸核用户请自行去掉下方控制面板模块的注释。 4 | # 机场订阅 5 | proxy-providers: 6 | Airport1: 7 | url: "机场订阅1" 8 | type: http 9 | interval: 86400 10 | health-check: 11 | enable: true 12 | url: https://www.gstatic.com/generate_204 13 | interval: 300 14 | proxy: 直连 15 | #override: 16 | #additional-prefix: "前缀 |" 17 | #additional-suffix: "| 后缀" 18 | # 节点信息 19 | proxies: 20 | - {name: 直连, type: direct} 21 | 22 | # 全局配置 23 | mixed-port: 7890 24 | allow-lan: true 25 | bind-address: "*" 26 | ipv6: false 27 | unified-delay: true 28 | tcp-concurrent: true 29 | log-level: warning 30 | find-process-mode: 'off' 31 | global-client-fingerprint: chrome 32 | keep-alive-idle: 600 33 | keep-alive-interval: 15 34 | profile: 35 | store-selected: true 36 | store-fake-ip: true 37 | 38 | # 为防止使用插件朋友遇到面板问题,我注释掉了此模块。 39 | #external-controller: 0.0.0.0:9090 40 | #secret: "" 41 | #external-ui: ui 42 | #external-ui-name: zashboard 43 | #external-ui-url: "https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip" 44 | 45 | # 嗅探(fakeip下其实可以不用嗅探) 46 | sniffer: 47 | enable: true 48 | sniff: 49 | HTTP: 50 | ports: [80, 8080-8880] 51 | override-destination: false 52 | TLS: 53 | ports: [443, 8443] 54 | QUIC: 55 | ports: [443, 8443] 56 | skip-domain: 57 | - "Mijia Cloud" 58 | - "+.push.apple.com" 59 | 60 | # 入站 61 | tun: 62 | enable: true 63 | # system/gvisor/mixed 64 | stack: mixed 65 | dns-hijack: ["any:53", "tcp://any:53"] 66 | #使用nikki,混入全部不修改的情况,开启接口指定为nikki 67 | #device: nikki 68 | #使用仅内核自行修改下面三项为true 69 | auto-route: false 70 | auto-redirect: false 71 | auto-detect-interface: false 72 | 73 | # DNS模块 74 | dns: 75 | enable: true 76 | cache-algorithm: arc 77 | listen: 0.0.0.0:1053 78 | ipv6: false 79 | respect-rules: true 80 | enhanced-mode: fake-ip 81 | fake-ip-range: 28.0.0.1/8 82 | fake-ip-filter-mode: blacklist 83 | fake-ip-filter: 84 | - rule-set:fakeipfilter_domain 85 | default-nameserver: 86 | - https://223.5.5.5/dns-query 87 | proxy-server-nameserver: 88 | - https://dns.alidns.com/dns-query 89 | - https://doh.pub/dns-query 90 | nameserver: 91 | - https://dns.alidns.com/dns-query 92 | - https://doh.pub/dns-query 93 | 94 | # 出站策略 smart参数 ( uselightgbm: false, collectdata: false, strategy: sticky-sessions,policy-priority: "Premium:0.9;SG:1.3" ) 95 | # 没有再使用锚点,是考虑很多新手修改难度,这样新手修改某个分组更容易些。 96 | proxy-groups: 97 | - {name: 🚀 默认代理, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港智能, ♻️ 日本智能, ♻️ 狮城智能, ♻️ 美国智能, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 98 | - {name: 📹 YouTube, type: select, proxies: [🔯 美国故转, 🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, ♻️ 美国智能, ♻️ 香港智能, ♻️ 日本智能, ♻️ 狮城智能, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 99 | - {name: 🍀 Google, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港智能, ♻️ 日本智能, ♻️ 狮城智能, ♻️ 美国智能, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 100 | - {name: 🤖 ChatGPT, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港智能, ♻️ 日本智能, ♻️ 狮城智能, ♻️ 美国智能, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 101 | - {name: 👨🏿‍💻 GitHub, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港智能, ♻️ 日本智能, ♻️ 狮城智能, ♻️ 美国智能, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 102 | - {name: 🐬 OneDrive, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港智能, ♻️ 日本智能, ♻️ 狮城智能, ♻️ 美国智能, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 103 | - {name: 🪟 Microsoft, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港智能, ♻️ 日本智能, ♻️ 狮城智能, ♻️ 美国智能, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 104 | - {name: 🎵 TikTok, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港智能, ♻️ 日本智能, ♻️ 狮城智能, ♻️ 美国智能, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 105 | - {name: 📲 Telegram, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港智能, ♻️ 日本智能, ♻️ 狮城智能, ♻️ 美国智能, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 106 | - {name: 🎥 NETFLIX, type: select, proxies: [🔯 狮城故转, 🔯 香港故转, 🔯 日本故转, 🔯 美国故转, ♻️ 香港智能, ♻️ 日本智能, ♻️ 狮城智能, ♻️ 美国智能, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 107 | - {name: ✈️ Speedtest, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港智能, ♻️ 日本智能, ♻️ 狮城智能, ♻️ 美国智能, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 108 | - {name: 💶 PayPal, type: select, proxies: [🔯 日本故转, 🔯 香港故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港智能, ♻️ 日本智能, ♻️ 狮城智能, ♻️ 美国智能, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 109 | - {name: 🍎 Apple, type: select, proxies: [直连, 🚀 默认代理]} 110 | - {name: 🐟 漏网之鱼, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港智能, ♻️ 日本智能, ♻️ 狮城智能, ♻️ 美国智能, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 111 | - {name: 🇭🇰 香港节点, type: select, include-all: true, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"} 112 | - {name: 🇯🇵 日本节点, type: select, include-all: true, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$"} 113 | - {name: 🇸🇬 狮城节点, type: select, include-all: true, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(台|日|韩|深|美)).)*$"} 114 | - {name: 🇺🇲 美国节点, type: select, include-all: true, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|韩|新|日)).)*$"} 115 | - {name: 🔯 香港故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"} 116 | - {name: 🔯 日本故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$"} 117 | - {name: 🔯 狮城故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(台|日|韩|深|美)).)*$"} 118 | - {name: 🔯 美国故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|韩|新|日)).)*$"} 119 | - {name: ♻️ 香港智能, type: smart, uselightgbm: false, collectdata: false, include-all: true, interval: 300, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"} 120 | - {name: ♻️ 日本智能, type: smart, uselightgbm: false, collectdata: false, include-all: true, interval: 300, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$" } 121 | - {name: ♻️ 狮城智能, type: smart, uselightgbm: false, collectdata: false, include-all: true, interval: 300, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(港|台|韩|日|美)).)*$" } 122 | - {name: ♻️ 美国智能, type: smart, uselightgbm: false, collectdata: false, include-all: true, interval: 300, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|日|韩|新)).)*$"} 123 | - {name: ♻️ 自动选择, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "^((?!(直连)).)*$"} 124 | - {name: 🌐 全部节点, type: select, include-all: true} 125 | 126 | # 规则匹配 127 | rules: 128 | - RULE-SET,private_ip,直连,no-resolve 129 | - RULE-SET,private_domain,直连 130 | - DOMAIN-SUFFIX,qichiyu.com,🚀 默认代理 131 | - RULE-SET,proxylite,🚀 默认代理 132 | - RULE-SET,ai,🤖 ChatGPT 133 | - RULE-SET,github_domain,👨🏿‍💻 GitHub 134 | - RULE-SET,youtube_domain,📹 YouTube 135 | - RULE-SET,google_domain,🍀 Google 136 | - RULE-SET,onedrive_domain,🐬 OneDrive 137 | - RULE-SET,microsoft_domain,🪟 Microsoft 138 | - RULE-SET,apple_domain,直连 139 | - RULE-SET,tiktok_domain,🎵 TikTok 140 | - RULE-SET,telegram_domain,📲 Telegram 141 | - RULE-SET,netflix_domain,🎥 NETFLIX 142 | - RULE-SET,paypal_domain,💶 PayPal 143 | - RULE-SET,apple_ip,直连 144 | - RULE-SET,google_ip,🍀 Google 145 | - RULE-SET,netflix_ip,🎥 NETFLIX 146 | - RULE-SET,telegram_ip,📲 Telegram 147 | - RULE-SET,geolocation-!cn,🚀 默认代理 148 | - RULE-SET,cn_domain,直连 149 | - RULE-SET,cn_ip,直连 150 | - MATCH,🐟 漏网之鱼 151 | 152 | # 规则集 153 | ## type:可选http/file/inline behavior:可选domain/ipcidr/classical format:可选yaml/text/mrs 154 | rule-anchor: 155 | ip: &ip {type: http, interval: 86400, behavior: ipcidr, format: mrs} 156 | domain: &domain {type: http, interval: 86400, behavior: domain, format: mrs} 157 | class: &class {type: http, interval: 86400, behavior: classical, format: text} 158 | rule-providers: 159 | fakeipfilter_domain: {<<: *domain, url: "https://raw.githubusercontent.com/wwqgtxx/clash-rules/release/fakeip-filter.mrs"} 160 | private_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/private.mrs"} 161 | proxylite: { <<: *class, url: "https://raw.githubusercontent.com/qichiyuhub/rule/refs/heads/main/proxy.list"} 162 | ai: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/category-ai-!cn.mrs" } 163 | youtube_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/youtube.mrs"} 164 | google_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/google.mrs"} 165 | github_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/github.mrs"} 166 | telegram_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/telegram.mrs"} 167 | netflix_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/netflix.mrs"} 168 | paypal_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/paypal.mrs"} 169 | onedrive_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/onedrive.mrs"} 170 | microsoft_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/microsoft.mrs"} 171 | apple_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/apple.mrs"} 172 | speedtest_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/ookla-speedtest.mrs"} 173 | tiktok_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/tiktok.mrs"} 174 | geolocation-!cn: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/geolocation-!cn.mrs"} 175 | cn_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/cn.mrs"} 176 | 177 | private_ip: {<<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/private.mrs"} 178 | cn_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/cn.mrs"} 179 | google_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/google.mrs"} 180 | telegram_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/telegram.mrs"} 181 | netflix_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/netflix.mrs"} 182 | apple_ip: {<<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo-lite/geoip/apple.mrs"} 183 | -------------------------------------------------------------------------------- /config/proxychain/config.yaml: -------------------------------------------------------------------------------- 1 | # 必读!!! 2 | # 注意规则在满足自己需求情况下,尽量做到精简,不要过度复杂,以免影响性能。 3 | # 跑裸核用户请自行去掉下方控制面板模块的注释。 4 | # 机场订阅 5 | proxy-providers: 6 | Airport1: 7 | url: "http://192.168.10.42:3001/CKg2abstVnOeRpm1aB4G/download/DOG?target=ClashMeta" 8 | type: http 9 | interval: 86400 10 | health-check: 11 | enable: true 12 | url: https://www.gstatic.com/generate_204 13 | interval: 300 14 | proxy: 直连 15 | #override: 16 | #dialer-proxy: 🇭🇰 香港节点 17 | #payload: 18 | #- {"name":"香港落地1", "type":"ss","server":"23.175.201.164","port":80,"cipher":"2022-blake3-aes-128-gcm","password":"UETm2mAIRiCaVJuIe1t0cA==","udp":true} 19 | #- { name: "香港落地2", type: "ss" } 20 | 21 | # 节点信息 22 | proxies: 23 | - name: "香港落地" 24 | dialer-proxy: 🇭🇰 香港节点 25 | type: ss 26 | server: "23.175.201.164" 27 | port: 80 28 | cipher: "2022-blake3-aes-128-gcm" 29 | password: "UETm2mAIRiCaVJuIe1t0cA==" 30 | udp: true 31 | 32 | - {name: 直连, type: direct} 33 | 34 | # 全局配置 35 | mixed-port: 7890 36 | allow-lan: true 37 | bind-address: "*" 38 | ipv6: false 39 | unified-delay: true 40 | tcp-concurrent: true 41 | log-level: warning 42 | find-process-mode: 'off' 43 | global-client-fingerprint: chrome 44 | keep-alive-idle: 600 45 | keep-alive-interval: 15 46 | profile: 47 | store-selected: true 48 | store-fake-ip: true 49 | 50 | # 为防止使用插件朋友遇到面板问题,我注释掉了此模块。 51 | #external-controller: 0.0.0.0:9090 52 | #secret: "" 53 | #external-ui: ui 54 | #external-ui-name: zashboard 55 | #external-ui-url: "https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip" 56 | 57 | # 嗅探(fakeip下其实可以不用嗅探) 58 | sniffer: 59 | enable: true 60 | sniff: 61 | HTTP: 62 | ports: [80, 8080-8880] 63 | override-destination: false 64 | TLS: 65 | ports: [443, 8443] 66 | QUIC: 67 | ports: [443, 8443] 68 | skip-domain: 69 | - "Mijia Cloud" 70 | - "+.push.apple.com" 71 | 72 | # 入站 73 | tun: 74 | enable: true 75 | # system/gvisor/mixed 76 | stack: mixed 77 | dns-hijack: ["any:53", "tcp://any:53"] 78 | #使用nikki,混入全部不修改的情况,开启接口指定为nikki 79 | #device: nikki 80 | #使用仅内核自行修改下面三项为true 81 | auto-route: false 82 | auto-redirect: false 83 | auto-detect-interface: false 84 | 85 | # DNS模块 86 | dns: 87 | enable: true 88 | cache-algorithm: arc 89 | listen: 0.0.0.0:1053 90 | ipv6: false 91 | respect-rules: true 92 | enhanced-mode: fake-ip 93 | fake-ip-range: 28.0.0.1/8 94 | fake-ip-filter-mode: blacklist 95 | fake-ip-filter: 96 | - rule-set:fakeipfilter_domain 97 | default-nameserver: 98 | - https://223.5.5.5/dns-query 99 | proxy-server-nameserver: 100 | - https://dns.alidns.com/dns-query 101 | - https://doh.pub/dns-query 102 | nameserver: 103 | - https://dns.alidns.com/dns-query 104 | - https://doh.pub/dns-query 105 | 106 | # 出站策略,根据自己情况调整每个策略里分组排序,增删都可以,比如把美国自动放到第一个,比如删除香港故转,注意别漏掉表情逗号等。 107 | # 如果相应分组没有筛选到对应的国家,请根据自己节点名字调整筛选关键字。 108 | # 没有再使用锚点,是考虑很多新手修改难度,这样新手修改某个分组更容易些。 109 | # 注意链式中转分组要过滤掉落地节点,否则可能造成回环问题 110 | proxy-groups: 111 | - {name: 🚀 默认代理, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 112 | - {name: 📹 YouTube, type: select, proxies: [🔯 美国故转, 🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, ♻️ 美国自动, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 113 | - {name: 🍀 Google, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 114 | - {name: 🤖 ChatGPT, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 115 | - {name: 👨🏿‍💻 GitHub, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 116 | - {name: 🐬 OneDrive, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 117 | - {name: 🪟 Microsoft, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 118 | - {name: 🎵 TikTok, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 119 | - {name: 📲 Telegram, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 120 | - {name: 🎥 NETFLIX, type: select, proxies: [🔯 狮城故转, 🔯 香港故转, 🔯 日本故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 121 | - {name: 💶 PayPal, type: select, proxies: [🔯 日本故转, 🔯 香港故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 122 | - {name: 🐟 漏网之鱼, type: select, proxies: [🚀 默认代理, 🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]} 123 | - {name: 🇭🇰 香港节点, type: select, include-all: true, filter: "(?=.*(港|HK|(?i)Hong))^((?!(落地|台|日|韩|新|深|美)).)*$"} 124 | - {name: 🇯🇵 日本节点, type: select, include-all: true, filter: "(?=.*(日|JP|(?i)Japan))^((?!(落地|港|台|韩|新|美)).)*$"} 125 | - {name: 🇸🇬 狮城节点, type: select, include-all: true, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(落地|台|日|韩|深|美)).)*$"} 126 | - {name: 🇺🇲 美国节点, type: select, include-all: true, filter: "(?=.*(美|US|(?i)States|America))^((?!(落地|港|台|韩|新|日)).)*$"} 127 | - {name: 🔯 香港故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"} 128 | - {name: 🔯 日本故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$"} 129 | - {name: 🔯 狮城故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(台|日|韩|深|美)).)*$"} 130 | - {name: 🔯 美国故转, type: fallback, include-all: true, interval: 300, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|韩|新|日)).)*$"} 131 | - {name: ♻️ 香港自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"} 132 | - {name: ♻️ 日本自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$"} 133 | - {name: ♻️ 狮城自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(港|台|韩|日|美)).)*$"} 134 | - {name: ♻️ 美国自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|日|韩|新)).)*$"} 135 | - {name: ♻️ 自动选择, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "^((?!(直连)).)*$"} 136 | - {name: 🌐 全部节点, type: select, include-all: true} 137 | 138 | # 规则匹配 139 | rules: 140 | - RULE-SET,private_ip,直连,no-resolve 141 | - RULE-SET,private_domain,直连 142 | - DOMAIN-SUFFIX,qichiyu.com,🚀 默认代理 143 | - RULE-SET,proxylite,🚀 默认代理 144 | - RULE-SET,ai,🤖 ChatGPT 145 | - RULE-SET,github_domain,👨🏿‍💻 GitHub 146 | - RULE-SET,youtube_domain,📹 YouTube 147 | - RULE-SET,google_domain,🍀 Google 148 | - RULE-SET,onedrive_domain,🐬 OneDrive 149 | - RULE-SET,microsoft_domain,🪟 Microsoft 150 | - RULE-SET,apple_domain,直连 151 | - RULE-SET,tiktok_domain,🎵 TikTok 152 | - RULE-SET,telegram_domain,📲 Telegram 153 | - RULE-SET,netflix_domain,🎥 NETFLIX 154 | - RULE-SET,paypal_domain,💶 PayPal 155 | - RULE-SET,apple_ip,直连 156 | - RULE-SET,google_ip,🍀 Google 157 | - RULE-SET,netflix_ip,🎥 NETFLIX 158 | - RULE-SET,telegram_ip,📲 Telegram 159 | - RULE-SET,geolocation-!cn,🚀 默认代理 160 | - RULE-SET,cn_domain,直连 161 | - RULE-SET,cn_ip,直连 162 | - MATCH,🐟 漏网之鱼 163 | 164 | # 规则集 165 | ## type:可选http/file/inline behavior:可选domain/ipcidr/classical format:可选yaml/text/mrs 166 | rule-anchor: 167 | ip: &ip {type: http, interval: 86400, behavior: ipcidr, format: mrs} 168 | domain: &domain {type: http, interval: 86400, behavior: domain, format: mrs} 169 | class: &class {type: http, interval: 86400, behavior: classical, format: text} 170 | rule-providers: 171 | fakeipfilter_domain: {<<: *domain, url: "https://raw.githubusercontent.com/wwqgtxx/clash-rules/release/fakeip-filter.mrs"} 172 | private_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/private.mrs"} 173 | proxylite: { <<: *class, url: "https://raw.githubusercontent.com/qichiyuhub/rule/refs/heads/main/proxy.list"} 174 | ai: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/category-ai-!cn.mrs" } 175 | youtube_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/youtube.mrs"} 176 | google_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/google.mrs"} 177 | github_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/github.mrs"} 178 | telegram_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/telegram.mrs"} 179 | netflix_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/netflix.mrs"} 180 | paypal_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/paypal.mrs"} 181 | onedrive_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/onedrive.mrs"} 182 | microsoft_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/microsoft.mrs"} 183 | apple_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/apple.mrs"} 184 | speedtest_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/ookla-speedtest.mrs"} 185 | tiktok_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/tiktok.mrs"} 186 | geolocation-!cn: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/geolocation-!cn.mrs"} 187 | cn_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/cn.mrs"} 188 | 189 | private_ip: {<<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/private.mrs"} 190 | cn_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/cn.mrs"} 191 | google_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/google.mrs"} 192 | telegram_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/telegram.mrs"} 193 | netflix_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/netflix.mrs"} 194 | apple_ip: {<<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo-lite/geoip/apple.mrs"} 195 | -------------------------------------------------------------------------------- /config/singbox/1.12.x/iphone.json: -------------------------------------------------------------------------------- 1 | { 2 | "dns": { 3 | "servers": [ 4 | {"tag": "local", "type": "udp", "server": "223.5.5.5"}, 5 | {"tag": "public", "type": "https", "server": "dns.alidns.com", "domain_resolver": "local"}, 6 | {"tag": "foreign", "type": "https", "server": "8.8.8.8", "detour": "🚀 默认代理"}, 7 | {"tag": "fakeip", "type": "fakeip", "inet4_range": "198.18.0.0/15", "inet6_range": "fc00::/18"} 8 | ], 9 | "rules": [ 10 | {"clash_mode": "direct", "server": "local"}, 11 | {"clash_mode": "global", "server": "fakeip"}, 12 | {"query_type": "HTTPS", "action": "reject"}, 13 | {"rule_set": "geosite-fakeipfilter", "server": "local"}, 14 | {"query_type": ["A", "AAAA"], "server": "fakeip", "rewrite_ttl": 1}, 15 | {"rule_set": "geosite-cn", "server": "local"} 16 | ], 17 | "final": "foreign", 18 | "client_subnet": "223.5.5.0/24", 19 | "strategy": "prefer_ipv4", 20 | "independent_cache": true, 21 | "reverse_mapping": true 22 | }, 23 | "outbounds": [ 24 | {"tag": "🚀 默认代理", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择", "♻️ 自动选择"]}, 25 | {"tag": "🧠 AI", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动"]}, 26 | {"tag": "📹 YouTube", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 27 | {"tag": "🍀 Google", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 28 | {"tag": "👨‍💻 Github", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇭🇰 香港手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 29 | {"tag": "📲 Telegram", "type": "selector", "outbounds": ["🇸🇬 狮城手动", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 30 | {"tag": "🎵 TikTok", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 31 | {"tag": "🎥 Netflix", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 32 | {"tag": "💶 PayPal", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 33 | {"tag": "🎮 Steam", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 34 | {"tag": "🪟 Microsoft", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 35 | {"tag": "🐬 OneDrive", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 36 | {"tag": "🍏 Apple", "type": "selector", "outbounds": ["🎯 全球直连", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动"]}, 37 | {"tag": "🐠 漏网之鱼", "type": "selector", "outbounds": ["🚀 默认代理", "🎯 全球直连"]}, 38 | {"tag": "🇭🇰 香港手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["🇭🇰|HK|hk|香港|港|HongKong"]}, {"action": "exclude", "keywords": ["免费"]}]}, 39 | {"tag": "🇯🇵 日本手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["🇯🇵|JP|jp|日本|日|Japan"]}, {"action": "exclude", "keywords": ["免费"]}]}, 40 | {"tag": "🇸🇬 狮城手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["新加坡|坡|狮城|SG|Singapore"]}, {"action": "exclude", "keywords": ["免费"]}]}, 41 | {"tag": "🇺🇲 美国手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["🇺🇸|US|us|美国|美|United States"]}, {"action": "exclude", "keywords": ["AUS|RUS|免费"]}]}, 42 | {"tag": "🐸 手动选择", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "exclude", "keywords": ["网站|流量|地址|剩余|过期|免费|时间|有效|Traffic|ExpireDate|GB|Expire Date"]}]}, 43 | {"tag": "♻️ 自动选择", "type": "urltest", "outbounds": ["{all}"], "filter": [{"action": "exclude", "keywords": ["官网|到期时间|剩余|流量|套餐|免费|订阅|全球直连|GB|Expire Date|Traffic|ExpireDate"]}], "interval": "10m", "tolerance": 100}, 44 | {"tag": "🍃 延迟辅助", "type": "urltest", "outbounds": ["🚀 默认代理", "🎯 全球直连"]}, 45 | {"tag": "GLOBAL", "type": "selector", "outbounds": ["🚀 默认代理", "🧠 AI", "📹 YouTube", "🍀 Google", "👨‍💻 Github", "📲 Telegram", "🎵 TikTok", "🎥 Netflix", "💶 PayPal", "🎮 Steam", "🪟 Microsoft", "🐬 OneDrive", "🍏 Apple", "🐠 漏网之鱼", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择", "♻️ 自动选择", "🍃 延迟辅助", "🎯 全球直连"]}, 46 | {"tag": "🎯 全球直连", "type": "direct"} 47 | ], 48 | "route": { 49 | "rules": [ 50 | {"action": "sniff", "sniffer": ["http", "tls", "quic", "dns"]}, 51 | {"type": "logical", "mode": "or", "rules": [{"port": 53}, {"protocol": "dns"}], "action": "hijack-dns"}, 52 | {"ip_is_private": true, "outbound": "🎯 全球直连"}, 53 | {"clash_mode": "direct", "outbound": "🎯 全球直连"}, 54 | {"clash_mode": "global", "outbound": "GLOBAL"}, 55 | {"rule_set": "geosite-ai", "outbound": "🧠 AI"}, 56 | {"rule_set": "geosite-youtube", "outbound": "📹 YouTube"}, 57 | {"rule_set": "geosite-google", "outbound": "🍀 Google"}, 58 | {"rule_set": "geosite-github", "outbound": "👨‍💻 Github"}, 59 | {"rule_set": "geosite-onedrive", "outbound": "🐬 OneDrive"}, 60 | {"rule_set": "geosite-microsoft", "outbound": "🪟 Microsoft"}, 61 | {"rule_set": "geosite-apple", "outbound": "🍏 Apple"}, 62 | {"rule_set": "geosite-telegram", "outbound": "📲 Telegram"}, 63 | {"rule_set": "geosite-tiktok", "outbound": "🎵 TikTok"}, 64 | {"rule_set": "geosite-netflix", "outbound": "🎥 Netflix"}, 65 | {"rule_set": "geosite-paypal", "outbound": "💶 PayPal"}, 66 | {"rule_set": "geosite-steamcn", "outbound": "🎯 全球直连"}, 67 | {"rule_set": "geosite-steam", "outbound": "🎮 Steam"}, 68 | {"rule_set": "geosite-!cn", "outbound": "🚀 默认代理"}, 69 | {"rule_set": "geosite-cn", "outbound": "🎯 全球直连"}, 70 | {"action": "resolve"}, 71 | {"rule_set": "geoip-google", "outbound": "🍀 Google"}, 72 | {"rule_set": "geoip-apple", "outbound": "🍏 Apple"}, 73 | {"rule_set": "geoip-telegram", "outbound": "📲 Telegram"}, 74 | {"rule_set": "geoip-netflix", "outbound": "🎥 Netflix"}, 75 | {"rule_set": "geoip-cn", "outbound": "🎯 全球直连"} 76 | ], 77 | "rule_set": [ 78 | {"tag": "geosite-fakeipfilter", "type": "remote", "format": "source", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/qichiyuhub/rule/refs/heads/main/fakeipfilter.json", "download_detour": "🎯 全球直连"}, 79 | {"tag": "geosite-ai", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/category-ai-!cn.srs", "download_detour": "🎯 全球直连"}, 80 | {"tag": "geosite-youtube", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/youtube.srs", "download_detour": "🎯 全球直连"}, 81 | {"tag": "geosite-google", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/google.srs", "download_detour": "🎯 全球直连"}, 82 | {"tag": "geosite-github", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/github.srs", "download_detour": "🎯 全球直连"}, 83 | {"tag": "geosite-onedrive", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/onedrive.srs", "download_detour": "🎯 全球直连"}, 84 | {"tag": "geosite-microsoft", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/microsoft.srs", "download_detour": "🎯 全球直连"}, 85 | {"tag": "geosite-apple", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/apple.srs", "download_detour": "🎯 全球直连"}, 86 | {"tag": "geosite-telegram", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/telegram.srs", "download_detour": "🎯 全球直连"}, 87 | {"tag": "geosite-tiktok", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/tiktok.srs", "download_detour": "🎯 全球直连"}, 88 | {"tag": "geosite-netflix", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/netflix.srs", "download_detour": "🎯 全球直连"}, 89 | {"tag": "geosite-paypal", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/paypal.srs", "download_detour": "🎯 全球直连"}, 90 | {"tag": "geosite-steamcn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/steam@cn.srs", "download_detour": "🎯 全球直连"}, 91 | {"tag": "geosite-steam", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/steam.srs", "download_detour": "🎯 全球直连"}, 92 | {"tag": "geosite-!cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/geolocation-!cn.srs", "download_detour": "🎯 全球直连"}, 93 | {"tag": "geosite-cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/cn.srs", "download_detour": "🎯 全球直连"}, 94 | {"tag": "geoip-google", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/google.srs", "download_detour": "🎯 全球直连"}, 95 | {"tag": "geoip-apple", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo-lite/geoip/apple.srs", "download_detour": "🎯 全球直连"}, 96 | {"tag": "geoip-telegram", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/telegram.srs", "download_detour": "🎯 全球直连"}, 97 | {"tag": "geoip-netflix", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/netflix.srs", "download_detour": "🎯 全球直连"}, 98 | {"tag": "geoip-cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://github.com/qljsyph/ruleset-icon/raw/refs/heads/main/sing-box/geoip/China-ASN-combined-ip.srs", "download_detour": "🎯 全球直连"} 99 | ], 100 | "final": "🐠 漏网之鱼", 101 | "auto_detect_interface": true, 102 | "default_domain_resolver": {"server": "public"} 103 | }, 104 | "inbounds": [ 105 | { 106 | "type": "tun", 107 | "address": "172.19.0.1/30", 108 | "mtu": 9000, 109 | "auto_route": true 110 | } 111 | ], 112 | "experimental": { 113 | "cache_file": { 114 | "enabled": true 115 | }, 116 | "clash_api": { 117 | "external_controller": "127.0.0.1:9095", 118 | "secret": "", 119 | "default_mode": "rule" 120 | } 121 | }, 122 | "log": { 123 | "disabled": false, 124 | "level": "info", 125 | "timestamp": true 126 | } 127 | } -------------------------------------------------------------------------------- /config/singbox/1.12.x/sub-momofake.json: -------------------------------------------------------------------------------- 1 | { 2 | "dns": { 3 | "servers": [ 4 | {"tag": "local", "type": "udp", "server": "223.5.5.5"}, 5 | {"tag": "public", "type": "https", "server": "dns.alidns.com", "domain_resolver": "local"}, 6 | {"tag": "foreign", "type": "https", "server": "8.8.8.8", "detour": "🚀 默认代理"}, 7 | {"tag": "fakeip", "type": "fakeip", "inet4_range": "198.18.0.0/15", "inet6_range": "fc00::/18"} 8 | ], 9 | "rules": [ 10 | {"clash_mode": "direct", "server": "local"}, 11 | {"clash_mode": "global", "server": "fakeip"}, 12 | {"query_type": "HTTPS", "action": "reject"}, 13 | {"rule_set": "geosite-fakeipfilter", "server": "local"}, 14 | {"query_type": ["A", "AAAA"], "server": "fakeip", "rewrite_ttl": 1}, 15 | {"rule_set": "geosite-cn", "server": "local"} 16 | ], 17 | "final": "foreign", 18 | "client_subnet": "223.5.5.0/24", 19 | "strategy": "prefer_ipv4", 20 | "independent_cache": true, 21 | "reverse_mapping": true 22 | }, 23 | "outbounds": [ 24 | {"tag": "🚀 默认代理", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择", "♻️ 自动选择"]}, 25 | {"tag": "🧠 AI", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动"]}, 26 | {"tag": "📹 YouTube", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 27 | {"tag": "🍀 Google", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 28 | {"tag": "👨‍💻 Github", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇭🇰 香港手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 29 | {"tag": "📲 Telegram", "type": "selector", "outbounds": ["🇸🇬 狮城手动", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 30 | {"tag": "🎵 TikTok", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 31 | {"tag": "🎥 Netflix", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 32 | {"tag": "💶 PayPal", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 33 | {"tag": "🎮 Steam", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 34 | {"tag": "🪟 Microsoft", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 35 | {"tag": "🐬 OneDrive", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 36 | {"tag": "🍏 Apple", "type": "selector", "outbounds": ["🎯 全球直连", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动"]}, 37 | {"tag": "🐠 漏网之鱼", "type": "selector", "outbounds": ["🚀 默认代理", "🎯 全球直连"]}, 38 | {"tag": "🇭🇰 香港手动", "type": "selector", "outbounds": []}, 39 | {"tag": "🇯🇵 日本手动", "type": "selector", "outbounds": []}, 40 | {"tag": "🇸🇬 狮城手动", "type": "selector", "outbounds": []}, 41 | {"tag": "🇺🇲 美国手动", "type": "selector", "outbounds": []}, 42 | {"tag": "🐸 手动选择", "type": "selector", "outbounds": []}, 43 | {"tag": "♻️ 自动选择", "type": "urltest", "outbounds": []}, 44 | {"tag": "🍃 延迟辅助", "type": "urltest", "outbounds": ["🚀 默认代理", "🎯 全球直连"]}, 45 | {"tag": "GLOBAL", "type": "selector", "outbounds": ["🚀 默认代理", "🧠 AI", "📹 YouTube", "🍀 Google", "👨‍💻 Github", "📲 Telegram", "🎵 TikTok", "🎥 Netflix", "💶 PayPal", "🎮 Steam", "🪟 Microsoft", "🐬 OneDrive", "🍏 Apple", "🐠 漏网之鱼", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择", "♻️ 自动选择", "🍃 延迟辅助", "🎯 全球直连"]}, 46 | {"tag": "🎯 全球直连", "type": "direct"} 47 | ], 48 | "route": { 49 | "rules": [ 50 | {"action": "sniff", "sniffer": ["http", "tls", "quic", "dns"]}, 51 | {"inbound": "dns-in", "action": "hijack-dns"}, 52 | {"ip_is_private": true, "outbound": "🎯 全球直连"}, 53 | {"clash_mode": "direct", "outbound": "🎯 全球直连"}, 54 | {"clash_mode": "global", "outbound": "GLOBAL"}, 55 | {"rule_set": "geosite-ai", "outbound": "🧠 AI"}, 56 | {"rule_set": "geosite-youtube", "outbound": "📹 YouTube"}, 57 | {"rule_set": "geosite-google", "outbound": "🍀 Google"}, 58 | {"rule_set": "geosite-github", "outbound": "👨‍💻 Github"}, 59 | {"rule_set": "geosite-onedrive", "outbound": "🐬 OneDrive"}, 60 | {"rule_set": "geosite-microsoft", "outbound": "🪟 Microsoft"}, 61 | {"rule_set": "geosite-apple", "outbound": "🍏 Apple"}, 62 | {"rule_set": "geosite-telegram", "outbound": "📲 Telegram"}, 63 | {"rule_set": "geosite-tiktok", "outbound": "🎵 TikTok"}, 64 | {"rule_set": "geosite-netflix", "outbound": "🎥 Netflix"}, 65 | {"rule_set": "geosite-paypal", "outbound": "💶 PayPal"}, 66 | {"rule_set": "geosite-steamcn", "outbound": "🎯 全球直连"}, 67 | {"rule_set": "geosite-steam", "outbound": "🎮 Steam"}, 68 | {"rule_set": "geosite-!cn", "outbound": "🚀 默认代理"}, 69 | {"rule_set": "geosite-cn", "outbound": "🎯 全球直连"}, 70 | {"action": "resolve"}, 71 | {"rule_set": "geoip-google", "outbound": "🍀 Google"}, 72 | {"rule_set": "geoip-apple", "outbound": "🍏 Apple"}, 73 | {"rule_set": "geoip-telegram", "outbound": "📲 Telegram"}, 74 | {"rule_set": "geoip-netflix", "outbound": "🎥 Netflix"}, 75 | {"rule_set": "geoip-cn", "outbound": "🎯 全球直连"} 76 | ], 77 | "rule_set": [ 78 | {"tag": "geosite-fakeipfilter", "type": "remote", "format": "source", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/qichiyuhub/rule/refs/heads/main/fakeipfilter.json", "download_detour": "🎯 全球直连"}, 79 | {"tag": "geosite-ai", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/category-ai-!cn.srs", "download_detour": "🎯 全球直连"}, 80 | {"tag": "geosite-youtube", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/youtube.srs", "download_detour": "🎯 全球直连"}, 81 | {"tag": "geosite-google", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/google.srs", "download_detour": "🎯 全球直连"}, 82 | {"tag": "geosite-github", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/github.srs", "download_detour": "🎯 全球直连"}, 83 | {"tag": "geosite-onedrive", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/onedrive.srs", "download_detour": "🎯 全球直连"}, 84 | {"tag": "geosite-microsoft", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/microsoft.srs", "download_detour": "🎯 全球直连"}, 85 | {"tag": "geosite-apple", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/apple.srs", "download_detour": "🎯 全球直连"}, 86 | {"tag": "geosite-telegram", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/telegram.srs", "download_detour": "🎯 全球直连"}, 87 | {"tag": "geosite-tiktok", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/tiktok.srs", "download_detour": "🎯 全球直连"}, 88 | {"tag": "geosite-netflix", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/netflix.srs", "download_detour": "🎯 全球直连"}, 89 | {"tag": "geosite-paypal", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/paypal.srs", "download_detour": "🎯 全球直连"}, 90 | {"tag": "geosite-steamcn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/steam@cn.srs", "download_detour": "🎯 全球直连"}, 91 | {"tag": "geosite-steam", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/steam.srs", "download_detour": "🎯 全球直连"}, 92 | {"tag": "geosite-!cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/geolocation-!cn.srs", "download_detour": "🎯 全球直连"}, 93 | {"tag": "geosite-cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/cn.srs", "download_detour": "🎯 全球直连"}, 94 | {"tag": "geoip-google", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/google.srs", "download_detour": "🎯 全球直连"}, 95 | {"tag": "geoip-apple", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo-lite/geoip/apple.srs", "download_detour": "🎯 全球直连"}, 96 | {"tag": "geoip-telegram", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/telegram.srs", "download_detour": "🎯 全球直连"}, 97 | {"tag": "geoip-netflix", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/netflix.srs", "download_detour": "🎯 全球直连"}, 98 | {"tag": "geoip-cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://github.com/qljsyph/ruleset-icon/raw/refs/heads/main/sing-box/geoip/China-ASN-combined-ip.srs", "download_detour": "🎯 全球直连"} 99 | ], 100 | "final": "🐠 漏网之鱼", 101 | "default_domain_resolver": {"server": "public"} 102 | }, 103 | "inbounds": [ 104 | { 105 | "tag": "dns-in", 106 | "type": "direct", 107 | "listen": "::", 108 | "listen_port": 1053 109 | }, 110 | { 111 | "tag": "http-in", 112 | "type": "http", 113 | "listen": "::", 114 | "listen_port": 8080 115 | }, 116 | { 117 | "tag": "socks-in", 118 | "type": "socks", 119 | "listen": "::", 120 | "listen_port": 1080 121 | }, 122 | { 123 | "tag": "redirect-in", 124 | "type": "redirect", 125 | "listen": "::", 126 | "listen_port": 7890 127 | }, 128 | { 129 | "tag": "tproxy-in", 130 | "type": "tproxy", 131 | "listen": "::", 132 | "listen_port": 7891 133 | }, 134 | { 135 | "tag": "tun-in", 136 | "type": "tun", 137 | "interface_name": "momo", 138 | "address": [ 139 | "172.31.0.1/30", 140 | "fdfe:dcba:9876::1/126" 141 | ], 142 | "auto_route": false, 143 | "auto_redirect": false 144 | } 145 | ], 146 | "experimental": { 147 | "cache_file": { 148 | "enabled": true, 149 | "path": "/etc/momo/run/cache.db", 150 | "store_fakeip": true 151 | }, 152 | "clash_api": { 153 | "external_controller": "0.0.0.0:9095", 154 | "external_ui": "/etc/momo/run/ui", 155 | "external_ui_download_url": "https://gh-proxy.com/https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip", 156 | "external_ui_download_detour": "🎯 全球直连", 157 | "secret": "", 158 | "default_mode": "rule" 159 | } 160 | }, 161 | "log": { 162 | "disabled": false, 163 | "level": "info", 164 | "timestamp": true 165 | } 166 | } -------------------------------------------------------------------------------- /config/singbox/1.12.x/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "dns": { 3 | "servers": [ 4 | {"tag": "local", "type": "udp", "server": "223.5.5.5"}, 5 | {"tag": "public", "type": "https", "server": "dns.alidns.com", "domain_resolver": "local"}, 6 | {"tag": "foreign", "type": "https", "server": "8.8.8.8", "detour": "🚀 默认代理"}, 7 | {"tag": "fakeip", "type": "fakeip", "inet4_range": "198.18.0.0/15", "inet6_range": "fc00::/18"} 8 | ], 9 | "rules": [ 10 | {"clash_mode": "direct", "server": "local"}, 11 | {"clash_mode": "global", "server": "fakeip"}, 12 | {"query_type": "HTTPS", "action": "reject"}, 13 | {"rule_set": "geosite-fakeipfilter", "server": "local"}, 14 | {"query_type": ["A", "AAAA"], "server": "fakeip", "rewrite_ttl": 1}, 15 | {"rule_set": "geosite-cn", "server": "local"} 16 | ], 17 | "final": "foreign", 18 | "client_subnet": "223.5.5.0/24", 19 | "strategy": "prefer_ipv4", 20 | "independent_cache": true, 21 | "reverse_mapping": true 22 | }, 23 | "outbounds": [ 24 | {"tag": "🚀 默认代理", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择", "♻️ 自动选择"]}, 25 | {"tag": "🧠 AI", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动"]}, 26 | {"tag": "📹 YouTube", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 27 | {"tag": "🍀 Google", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 28 | {"tag": "👨‍💻 Github", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇭🇰 香港手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 29 | {"tag": "📲 Telegram", "type": "selector", "outbounds": ["🇸🇬 狮城手动", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 30 | {"tag": "🎵 TikTok", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 31 | {"tag": "🎥 Netflix", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 32 | {"tag": "💶 PayPal", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 33 | {"tag": "🎮 Steam", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 34 | {"tag": "🪟 Microsoft", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 35 | {"tag": "🐬 OneDrive", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 36 | {"tag": "🍏 Apple", "type": "selector", "outbounds": ["🎯 全球直连", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动"]}, 37 | {"tag": "🐠 漏网之鱼", "type": "selector", "outbounds": ["🚀 默认代理", "🎯 全球直连"]}, 38 | {"tag": "🇭🇰 香港手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["🇭🇰|HK|hk|香港|港|HongKong"]}, {"action": "exclude", "keywords": ["免费"]}]}, 39 | {"tag": "🇯🇵 日本手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["🇯🇵|JP|jp|日本|日|Japan"]}, {"action": "exclude", "keywords": ["免费"]}]}, 40 | {"tag": "🇸🇬 狮城手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["新加坡|坡|狮城|SG|Singapore"]}, {"action": "exclude", "keywords": ["免费"]}]}, 41 | {"tag": "🇺🇲 美国手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["🇺🇸|US|us|美国|美|United States"]}, {"action": "exclude", "keywords": ["AUS|RUS|免费"]}]}, 42 | {"tag": "🐸 手动选择", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "exclude", "keywords": ["网站|流量|地址|剩余|过期|免费|时间|有效|Traffic|ExpireDate|GB|Expire Date"]}]}, 43 | {"tag": "♻️ 自动选择", "type": "urltest", "outbounds": ["{all}"], "filter": [{"action": "exclude", "keywords": ["官网|到期时间|剩余|流量|套餐|免费|订阅|全球直连|GB|Expire Date|Traffic|ExpireDate"]}], "interval": "10m", "tolerance": 100}, 44 | {"tag": "🍃 延迟辅助", "type": "urltest", "outbounds": ["🚀 默认代理", "🎯 全球直连"]}, 45 | {"tag": "GLOBAL", "type": "selector", "outbounds": ["🚀 默认代理", "🧠 AI", "📹 YouTube", "🍀 Google", "👨‍💻 Github", "📲 Telegram", "🎵 TikTok", "🎥 Netflix", "💶 PayPal", "🎮 Steam", "🪟 Microsoft", "🐬 OneDrive", "🍏 Apple", "🐠 漏网之鱼", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择", "♻️ 自动选择", "🍃 延迟辅助", "🎯 全球直连"]}, 46 | {"tag": "🎯 全球直连", "type": "direct"} 47 | ], 48 | "route": { 49 | "rules": [ 50 | {"action": "sniff", "sniffer": ["http", "tls", "quic", "dns"]}, 51 | {"type": "logical", "mode": "or", "rules": [{"port": 53}, {"protocol": "dns"}], "action": "hijack-dns"}, 52 | {"ip_is_private": true, "outbound": "🎯 全球直连"}, 53 | {"clash_mode": "direct", "outbound": "🎯 全球直连"}, 54 | {"clash_mode": "global", "outbound": "GLOBAL"}, 55 | {"rule_set": "geosite-ai", "outbound": "🧠 AI"}, 56 | {"rule_set": "geosite-youtube", "outbound": "📹 YouTube"}, 57 | {"rule_set": "geosite-google", "outbound": "🍀 Google"}, 58 | {"rule_set": "geosite-github", "outbound": "👨‍💻 Github"}, 59 | {"rule_set": "geosite-onedrive", "outbound": "🐬 OneDrive"}, 60 | {"rule_set": "geosite-microsoft", "outbound": "🪟 Microsoft"}, 61 | {"rule_set": "geosite-apple", "outbound": "🍏 Apple"}, 62 | {"rule_set": "geosite-telegram", "outbound": "📲 Telegram"}, 63 | {"rule_set": "geosite-tiktok", "outbound": "🎵 TikTok"}, 64 | {"rule_set": "geosite-netflix", "outbound": "🎥 Netflix"}, 65 | {"rule_set": "geosite-paypal", "outbound": "💶 PayPal"}, 66 | {"rule_set": "geosite-steamcn", "outbound": "🎯 全球直连"}, 67 | {"rule_set": "geosite-steam", "outbound": "🎮 Steam"}, 68 | {"rule_set": "geosite-!cn", "outbound": "🚀 默认代理"}, 69 | {"rule_set": "geosite-cn", "outbound": "🎯 全球直连"}, 70 | {"action": "resolve"}, 71 | {"rule_set": "geoip-google", "outbound": "🍀 Google"}, 72 | {"rule_set": "geoip-apple", "outbound": "🍏 Apple"}, 73 | {"rule_set": "geoip-telegram", "outbound": "📲 Telegram"}, 74 | {"rule_set": "geoip-netflix", "outbound": "🎥 Netflix"}, 75 | {"rule_set": "geoip-cn", "outbound": "🎯 全球直连"} 76 | ], 77 | "rule_set": [ 78 | {"tag": "geosite-fakeipfilter", "type": "remote", "format": "source", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/qichiyuhub/rule/refs/heads/main/fakeipfilter.json", "download_detour": "🎯 全球直连"}, 79 | {"tag": "geosite-ai", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/category-ai-!cn.srs", "download_detour": "🎯 全球直连"}, 80 | {"tag": "geosite-youtube", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/youtube.srs", "download_detour": "🎯 全球直连"}, 81 | {"tag": "geosite-google", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/google.srs", "download_detour": "🎯 全球直连"}, 82 | {"tag": "geosite-github", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/github.srs", "download_detour": "🎯 全球直连"}, 83 | {"tag": "geosite-onedrive", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/onedrive.srs", "download_detour": "🎯 全球直连"}, 84 | {"tag": "geosite-microsoft", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/microsoft.srs", "download_detour": "🎯 全球直连"}, 85 | {"tag": "geosite-apple", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/apple.srs", "download_detour": "🎯 全球直连"}, 86 | {"tag": "geosite-telegram", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/telegram.srs", "download_detour": "🎯 全球直连"}, 87 | {"tag": "geosite-tiktok", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/tiktok.srs", "download_detour": "🎯 全球直连"}, 88 | {"tag": "geosite-netflix", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/netflix.srs", "download_detour": "🎯 全球直连"}, 89 | {"tag": "geosite-paypal", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/paypal.srs", "download_detour": "🎯 全球直连"}, 90 | {"tag": "geosite-steamcn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/steam@cn.srs", "download_detour": "🎯 全球直连"}, 91 | {"tag": "geosite-steam", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/steam.srs", "download_detour": "🎯 全球直连"}, 92 | {"tag": "geosite-!cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/geolocation-!cn.srs", "download_detour": "🎯 全球直连"}, 93 | {"tag": "geosite-cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/cn.srs", "download_detour": "🎯 全球直连"}, 94 | {"tag": "geoip-google", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/google.srs", "download_detour": "🎯 全球直连"}, 95 | {"tag": "geoip-apple", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo-lite/geoip/apple.srs", "download_detour": "🎯 全球直连"}, 96 | {"tag": "geoip-telegram", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/telegram.srs", "download_detour": "🎯 全球直连"}, 97 | {"tag": "geoip-netflix", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/netflix.srs", "download_detour": "🎯 全球直连"}, 98 | {"tag": "geoip-cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://github.com/qljsyph/ruleset-icon/raw/refs/heads/main/sing-box/geoip/China-ASN-combined-ip.srs", "download_detour": "🎯 全球直连"} 99 | ], 100 | "final": "🐠 漏网之鱼", 101 | "auto_detect_interface": true, 102 | "default_domain_resolver": {"server": "public"} 103 | }, 104 | "inbounds": [ 105 | { 106 | "tag": "tun-in", 107 | "type": "tun", 108 | "address": [ 109 | "172.19.0.1/30", 110 | "fdfe:dcba:9876::1/126" 111 | ], 112 | "mtu": 9000, 113 | "auto_route": true, 114 | "auto_redirect": true, 115 | "strict_route": false 116 | }, 117 | { 118 | "type": "mixed", 119 | "listen": "127.0.0.1", 120 | "listen_port": 7890 121 | } 122 | ], 123 | "experimental": { 124 | "cache_file": { 125 | "enabled": true, 126 | "path": "/etc/momo/run/cache.db", 127 | "store_fakeip": true 128 | }, 129 | "clash_api": { 130 | "external_controller": "0.0.0.0:9095", 131 | "external_ui": "/etc/momo/run/ui", 132 | "external_ui_download_url": "https://gh-proxy.com/https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip", 133 | "external_ui_download_detour": "🎯 全球直连", 134 | "secret": "", 135 | "default_mode": "rule" 136 | } 137 | }, 138 | "log": { 139 | "disabled": false, 140 | "level": "info", 141 | "timestamp": true 142 | } 143 | } -------------------------------------------------------------------------------- /config/singbox/1.12.x/momo.json: -------------------------------------------------------------------------------- 1 | { 2 | "dns": { 3 | "servers": [ 4 | {"tag": "local", "type": "udp", "server": "223.5.5.5"}, 5 | {"tag": "public", "type": "https", "server": "dns.alidns.com", "domain_resolver": "local"}, 6 | {"tag": "foreign", "type": "https", "server": "8.8.8.8", "detour": "🚀 默认代理"} 7 | ], 8 | "rules": [ 9 | {"clash_mode": "direct", "server": "local"}, 10 | {"clash_mode": "global", "server": "fakeip"}, 11 | {"query_type": "HTTPS", "action": "reject"}, 12 | {"domain_suffix": ["services.googleapis.cn", "googleapis.cn", "xn--ngstr-lra8j.com"], "server": "foreign"}, 13 | {"rule_set": ["geosite-cn", "geosite-steamcn", "geosite-apple"], "server": "local"} 14 | ], 15 | "final": "foreign", 16 | "strategy": "ipv4_only", 17 | "independent_cache": true, 18 | "reverse_mapping": true 19 | }, 20 | "outbounds": [ 21 | {"tag": "🚀 默认代理", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择", "♻️ 自动选择"]}, 22 | {"tag": "🧠 AI", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动"]}, 23 | {"tag": "📹 YouTube", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 24 | {"tag": "🍀 Google", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 25 | {"tag": "👨‍💻 Github", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇭🇰 香港手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 26 | {"tag": "📲 Telegram", "type": "selector", "outbounds": ["🇸🇬 狮城手动", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 27 | {"tag": "🎵 TikTok", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 28 | {"tag": "🎥 Netflix", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 29 | {"tag": "💶 PayPal", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 30 | {"tag": "🎮 Steam", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 31 | {"tag": "🪟 Microsoft", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 32 | {"tag": "🐬 OneDrive", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 33 | {"tag": "🍏 Apple", "type": "selector", "outbounds": ["🎯 全球直连", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动"]}, 34 | {"tag": "🐠 漏网之鱼", "type": "selector", "outbounds": ["🚀 默认代理", "🎯 全球直连"]}, 35 | {"tag": "🇭🇰 香港手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["🇭🇰|HK|hk|香港|港|HongKong"]}, {"action": "exclude", "keywords": ["免费"]}]}, 36 | {"tag": "🇯🇵 日本手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["🇯🇵|JP|jp|日本|日|Japan"]}, {"action": "exclude", "keywords": ["免费"]}]}, 37 | {"tag": "🇸🇬 狮城手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["新加坡|坡|狮城|SG|Singapore"]}, {"action": "exclude", "keywords": ["免费"]}]}, 38 | {"tag": "🇺🇲 美国手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["🇺🇸|US|us|美国|美|United States"]}, {"action": "exclude", "keywords": ["AUS|RUS|免费"]}]}, 39 | {"tag": "🐸 手动选择", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "exclude", "keywords": ["网站|流量|地址|剩余|过期|免费|时间|有效|Traffic|ExpireDate|GB|Expire Date"]}]}, 40 | {"tag": "♻️ 自动选择", "type": "urltest", "outbounds": ["{all}"], "filter": [{"action": "exclude", "keywords": ["官网|到期时间|剩余|流量|套餐|免费|订阅|全球直连|GB|Expire Date|Traffic|ExpireDate"]}], "interval": "10m", "tolerance": 100}, 41 | {"tag": "🍃 延迟辅助", "type": "urltest", "outbounds": ["🚀 默认代理", "🎯 全球直连"]}, 42 | {"tag": "GLOBAL", "type": "selector", "outbounds": ["🚀 默认代理", "🧠 AI", "📹 YouTube", "🍀 Google", "👨‍💻 Github", "📲 Telegram", "🎵 TikTok", "🎥 Netflix", "💶 PayPal", "🎮 Steam", "🪟 Microsoft", "🐬 OneDrive", "🍏 Apple", "🐠 漏网之鱼", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择", "♻️ 自动选择", "🍃 延迟辅助", "🎯 全球直连"]}, 43 | {"tag": "🎯 全球直连", "type": "direct"} 44 | ], 45 | "route": { 46 | "rules": [ 47 | {"action": "sniff", "sniffer": ["http", "tls", "quic", "dns"]}, 48 | {"inbound": "dns-in", "action": "hijack-dns"}, 49 | {"ip_is_private": true, "outbound": "🎯 全球直连"}, 50 | {"clash_mode": "direct", "outbound": "🎯 全球直连"}, 51 | {"clash_mode": "global", "outbound": "GLOBAL"}, 52 | {"rule_set": "geosite-ai", "outbound": "🧠 AI"}, 53 | {"rule_set": "geosite-youtube", "outbound": "📹 YouTube"}, 54 | {"rule_set": "geosite-google", "outbound": "🍀 Google"}, 55 | {"rule_set": "geosite-github", "outbound": "👨‍💻 Github"}, 56 | {"rule_set": "geosite-onedrive", "outbound": "🐬 OneDrive"}, 57 | {"rule_set": "geosite-microsoft", "outbound": "🪟 Microsoft"}, 58 | {"rule_set": "geosite-apple", "outbound": "🍏 Apple"}, 59 | {"rule_set": "geosite-telegram", "outbound": "📲 Telegram"}, 60 | {"rule_set": "geosite-tiktok", "outbound": "🎵 TikTok"}, 61 | {"rule_set": "geosite-netflix", "outbound": "🎥 Netflix"}, 62 | {"rule_set": "geosite-paypal", "outbound": "💶 PayPal"}, 63 | {"rule_set": "geosite-steamcn", "outbound": "🎯 全球直连"}, 64 | {"rule_set": "geosite-steam", "outbound": "🎮 Steam"}, 65 | {"rule_set": "geosite-!cn", "outbound": "🚀 默认代理"}, 66 | {"rule_set": "geosite-cn", "outbound": "🎯 全球直连"}, 67 | {"rule_set": "geoip-google", "outbound": "🍀 Google"}, 68 | {"rule_set": "geoip-apple", "outbound": "🍏 Apple"}, 69 | {"rule_set": "geoip-telegram", "outbound": "📲 Telegram"}, 70 | {"rule_set": "geoip-netflix", "outbound": "🎥 Netflix"}, 71 | {"rule_set": "geoip-cn", "outbound": "🎯 全球直连"} 72 | ], 73 | "rule_set": [ 74 | {"tag": "geosite-ai", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/category-ai-!cn.srs", "download_detour": "🎯 全球直连"}, 75 | {"tag": "geosite-youtube", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/youtube.srs", "download_detour": "🎯 全球直连"}, 76 | {"tag": "geosite-google", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/google.srs", "download_detour": "🎯 全球直连"}, 77 | {"tag": "geosite-github", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/github.srs", "download_detour": "🎯 全球直连"}, 78 | {"tag": "geosite-onedrive", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/onedrive.srs", "download_detour": "🎯 全球直连"}, 79 | {"tag": "geosite-microsoft", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/microsoft.srs", "download_detour": "🎯 全球直连"}, 80 | {"tag": "geosite-apple", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/apple.srs", "download_detour": "🎯 全球直连"}, 81 | {"tag": "geosite-telegram", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/telegram.srs", "download_detour": "🎯 全球直连"}, 82 | {"tag": "geosite-tiktok", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/tiktok.srs", "download_detour": "🎯 全球直连"}, 83 | {"tag": "geosite-netflix", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/netflix.srs", "download_detour": "🎯 全球直连"}, 84 | {"tag": "geosite-paypal", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/paypal.srs", "download_detour": "🎯 全球直连"}, 85 | {"tag": "geosite-steamcn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/steam@cn.srs", "download_detour": "🎯 全球直连"}, 86 | {"tag": "geosite-steam", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/steam.srs", "download_detour": "🎯 全球直连"}, 87 | {"tag": "geosite-!cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/geolocation-!cn.srs", "download_detour": "🎯 全球直连"}, 88 | {"tag": "geosite-cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/cn.srs", "download_detour": "🎯 全球直连"}, 89 | {"tag": "geoip-google", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/google.srs", "download_detour": "🎯 全球直连"}, 90 | {"tag": "geoip-apple", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo-lite/geoip/apple.srs", "download_detour": "🎯 全球直连"}, 91 | {"tag": "geoip-telegram", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/telegram.srs", "download_detour": "🎯 全球直连"}, 92 | {"tag": "geoip-netflix", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/netflix.srs", "download_detour": "🎯 全球直连"}, 93 | {"tag": "geoip-cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://github.com/qljsyph/ruleset-icon/raw/refs/heads/main/sing-box/geoip/China-ASN-combined-ip.srs", "download_detour": "🎯 全球直连"} 94 | ], 95 | "final": "🐠 漏网之鱼", 96 | "default_domain_resolver": {"server": "public"} 97 | }, 98 | "inbounds": [ 99 | { 100 | "tag": "dns-in", 101 | "type": "direct", 102 | "listen": "::", 103 | "listen_port": 1053 104 | }, 105 | { 106 | "tag": "http-in", 107 | "type": "http", 108 | "listen": "::", 109 | "listen_port": 8080 110 | }, 111 | { 112 | "tag": "socks-in", 113 | "type": "socks", 114 | "listen": "::", 115 | "listen_port": 1080 116 | }, 117 | { 118 | "tag": "redirect-in", 119 | "type": "redirect", 120 | "listen": "::", 121 | "listen_port": 7890 122 | }, 123 | { 124 | "tag": "tproxy-in", 125 | "type": "tproxy", 126 | "listen": "::", 127 | "listen_port": 7891 128 | }, 129 | { 130 | "tag": "tun-in", 131 | "type": "tun", 132 | "interface_name": "momo", 133 | "address": [ 134 | "172.31.0.1/30", 135 | "fdfe:dcba:9876::1/126" 136 | ], 137 | "auto_route": false, 138 | "auto_redirect": false 139 | } 140 | ], 141 | "experimental": { 142 | "cache_file": { 143 | "enabled": true, 144 | "path": "/etc/momo/run/cache.db", 145 | "store_fakeip": false 146 | }, 147 | "clash_api": { 148 | "external_controller": "0.0.0.0:9095", 149 | "external_ui": "/etc/momo/run/ui", 150 | "external_ui_download_url": "https://gh-proxy.com/https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip", 151 | "external_ui_download_detour": "🎯 全球直连", 152 | "secret": "", 153 | "default_mode": "rule" 154 | } 155 | }, 156 | "log": { 157 | "disabled": false, 158 | "level": "info", 159 | "timestamp": true 160 | } 161 | } 162 | -------------------------------------------------------------------------------- /config/singbox/1.12.x/momofake.json: -------------------------------------------------------------------------------- 1 | { 2 | "dns": { 3 | "servers": [ 4 | {"tag": "local", "type": "udp", "server": "223.5.5.5"}, 5 | {"tag": "public", "type": "https", "server": "dns.alidns.com", "domain_resolver": "local"}, 6 | {"tag": "foreign", "type": "https", "server": "8.8.8.8", "detour": "🚀 默认代理"}, 7 | {"tag": "fakeip", "type": "fakeip", "inet4_range": "198.18.0.0/15", "inet6_range": "fc00::/18"} 8 | ], 9 | "rules": [ 10 | {"clash_mode": "direct", "server": "local"}, 11 | {"clash_mode": "global", "server": "fakeip"}, 12 | {"query_type": "HTTPS", "action": "reject"}, 13 | {"rule_set": "geosite-fakeipfilter", "server": "local"}, 14 | {"query_type": ["A", "AAAA"], "server": "fakeip", "rewrite_ttl": 1}, 15 | {"rule_set": "geosite-cn", "server": "local"} 16 | ], 17 | "final": "foreign", 18 | "client_subnet": "223.5.5.0/24", 19 | "strategy": "prefer_ipv4", 20 | "independent_cache": true, 21 | "reverse_mapping": true 22 | }, 23 | "outbounds": [ 24 | {"tag": "🚀 默认代理", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择", "♻️ 自动选择"]}, 25 | {"tag": "🧠 AI", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动"]}, 26 | {"tag": "📹 YouTube", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 27 | {"tag": "🍀 Google", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 28 | {"tag": "👨‍💻 Github", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇭🇰 香港手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 29 | {"tag": "📲 Telegram", "type": "selector", "outbounds": ["🇸🇬 狮城手动", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 30 | {"tag": "🎵 TikTok", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 31 | {"tag": "🎥 Netflix", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 32 | {"tag": "💶 PayPal", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 33 | {"tag": "🎮 Steam", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 34 | {"tag": "🪟 Microsoft", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 35 | {"tag": "🐬 OneDrive", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 36 | {"tag": "🍏 Apple", "type": "selector", "outbounds": ["🎯 全球直连", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动"]}, 37 | {"tag": "🐠 漏网之鱼", "type": "selector", "outbounds": ["🚀 默认代理", "🎯 全球直连"]}, 38 | {"tag": "🇭🇰 香港手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["🇭🇰|HK|hk|香港|港|HongKong"]}, {"action": "exclude", "keywords": ["免费"]}]}, 39 | {"tag": "🇯🇵 日本手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["🇯🇵|JP|jp|日本|日|Japan"]}, {"action": "exclude", "keywords": ["免费"]}]}, 40 | {"tag": "🇸🇬 狮城手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["新加坡|坡|狮城|SG|Singapore"]}, {"action": "exclude", "keywords": ["免费"]}]}, 41 | {"tag": "🇺🇲 美国手动", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "include", "keywords": ["🇺🇸|US|us|美国|美|United States"]}, {"action": "exclude", "keywords": ["AUS|RUS|免费"]}]}, 42 | {"tag": "🐸 手动选择", "type": "selector", "outbounds": ["{all}"], "filter": [{"action": "exclude", "keywords": ["网站|流量|地址|剩余|过期|免费|时间|有效|Traffic|ExpireDate|GB|Expire Date"]}]}, 43 | {"tag": "♻️ 自动选择", "type": "urltest", "outbounds": ["{all}"], "filter": [{"action": "exclude", "keywords": ["官网|到期时间|剩余|流量|套餐|免费|订阅|全球直连|GB|Expire Date|Traffic|ExpireDate"]}], "interval": "10m", "tolerance": 100}, 44 | {"tag": "🍃 延迟辅助", "type": "urltest", "outbounds": ["🚀 默认代理", "🎯 全球直连"]}, 45 | {"tag": "GLOBAL", "type": "selector", "outbounds": ["🚀 默认代理", "🧠 AI", "📹 YouTube", "🍀 Google", "👨‍💻 Github", "📲 Telegram", "🎵 TikTok", "🎥 Netflix", "💶 PayPal", "🎮 Steam", "🪟 Microsoft", "🐬 OneDrive", "🍏 Apple", "🐠 漏网之鱼", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择", "♻️ 自动选择", "🍃 延迟辅助", "🎯 全球直连"]}, 46 | {"tag": "🎯 全球直连", "type": "direct"} 47 | ], 48 | "route": { 49 | "rules": [ 50 | {"action": "sniff", "sniffer": ["http", "tls", "quic", "dns"]}, 51 | {"inbound": "dns-in", "action": "hijack-dns"}, 52 | {"ip_is_private": true, "outbound": "🎯 全球直连"}, 53 | {"clash_mode": "direct", "outbound": "🎯 全球直连"}, 54 | {"clash_mode": "global", "outbound": "GLOBAL"}, 55 | {"rule_set": "geosite-ai", "outbound": "🧠 AI"}, 56 | {"rule_set": "geosite-youtube", "outbound": "📹 YouTube"}, 57 | {"rule_set": "geosite-google", "outbound": "🍀 Google"}, 58 | {"rule_set": "geosite-github", "outbound": "👨‍💻 Github"}, 59 | {"rule_set": "geosite-onedrive", "outbound": "🐬 OneDrive"}, 60 | {"rule_set": "geosite-microsoft", "outbound": "🪟 Microsoft"}, 61 | {"rule_set": "geosite-apple", "outbound": "🍏 Apple"}, 62 | {"rule_set": "geosite-telegram", "outbound": "📲 Telegram"}, 63 | {"rule_set": "geosite-tiktok", "outbound": "🎵 TikTok"}, 64 | {"rule_set": "geosite-netflix", "outbound": "🎥 Netflix"}, 65 | {"rule_set": "geosite-paypal", "outbound": "💶 PayPal"}, 66 | {"rule_set": "geosite-steamcn", "outbound": "🎯 全球直连"}, 67 | {"rule_set": "geosite-steam", "outbound": "🎮 Steam"}, 68 | {"rule_set": "geosite-!cn", "outbound": "🚀 默认代理"}, 69 | {"rule_set": "geosite-cn", "outbound": "🎯 全球直连"}, 70 | {"action": "resolve"}, 71 | {"rule_set": "geoip-google", "outbound": "🍀 Google"}, 72 | {"rule_set": "geoip-apple", "outbound": "🍏 Apple"}, 73 | {"rule_set": "geoip-telegram", "outbound": "📲 Telegram"}, 74 | {"rule_set": "geoip-netflix", "outbound": "🎥 Netflix"}, 75 | {"rule_set": "geoip-cn", "outbound": "🎯 全球直连"} 76 | ], 77 | "rule_set": [ 78 | {"tag": "geosite-fakeipfilter", "type": "remote", "format": "source", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/qichiyuhub/rule/refs/heads/main/fakeipfilter.json", "download_detour": "🎯 全球直连"}, 79 | {"tag": "geosite-ai", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/category-ai-!cn.srs", "download_detour": "🎯 全球直连"}, 80 | {"tag": "geosite-youtube", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/youtube.srs", "download_detour": "🎯 全球直连"}, 81 | {"tag": "geosite-google", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/google.srs", "download_detour": "🎯 全球直连"}, 82 | {"tag": "geosite-github", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/github.srs", "download_detour": "🎯 全球直连"}, 83 | {"tag": "geosite-onedrive", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/onedrive.srs", "download_detour": "🎯 全球直连"}, 84 | {"tag": "geosite-microsoft", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/microsoft.srs", "download_detour": "🎯 全球直连"}, 85 | {"tag": "geosite-apple", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/apple.srs", "download_detour": "🎯 全球直连"}, 86 | {"tag": "geosite-telegram", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/telegram.srs", "download_detour": "🎯 全球直连"}, 87 | {"tag": "geosite-tiktok", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/tiktok.srs", "download_detour": "🎯 全球直连"}, 88 | {"tag": "geosite-netflix", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/netflix.srs", "download_detour": "🎯 全球直连"}, 89 | {"tag": "geosite-paypal", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/paypal.srs", "download_detour": "🎯 全球直连"}, 90 | {"tag": "geosite-steamcn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/steam@cn.srs", "download_detour": "🎯 全球直连"}, 91 | {"tag": "geosite-steam", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/steam.srs", "download_detour": "🎯 全球直连"}, 92 | {"tag": "geosite-!cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/geolocation-!cn.srs", "download_detour": "🎯 全球直连"}, 93 | {"tag": "geosite-cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/cn.srs", "download_detour": "🎯 全球直连"}, 94 | {"tag": "geoip-google", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/google.srs", "download_detour": "🎯 全球直连"}, 95 | {"tag": "geoip-apple", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo-lite/geoip/apple.srs", "download_detour": "🎯 全球直连"}, 96 | {"tag": "geoip-telegram", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/telegram.srs", "download_detour": "🎯 全球直连"}, 97 | {"tag": "geoip-netflix", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/netflix.srs", "download_detour": "🎯 全球直连"}, 98 | {"tag": "geoip-cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://github.com/qljsyph/ruleset-icon/raw/refs/heads/main/sing-box/geoip/China-ASN-combined-ip.srs", "download_detour": "🎯 全球直连"} 99 | ], 100 | "final": "🐠 漏网之鱼", 101 | "default_domain_resolver": {"server": "public"} 102 | }, 103 | "inbounds": [ 104 | { 105 | "tag": "dns-in", 106 | "type": "direct", 107 | "listen": "::", 108 | "listen_port": 1053 109 | }, 110 | { 111 | "tag": "http-in", 112 | "type": "http", 113 | "listen": "::", 114 | "listen_port": 8080 115 | }, 116 | { 117 | "tag": "socks-in", 118 | "type": "socks", 119 | "listen": "::", 120 | "listen_port": 1080 121 | }, 122 | { 123 | "tag": "redirect-in", 124 | "type": "redirect", 125 | "listen": "::", 126 | "listen_port": 7890 127 | }, 128 | { 129 | "tag": "tproxy-in", 130 | "type": "tproxy", 131 | "listen": "::", 132 | "listen_port": 7891 133 | }, 134 | { 135 | "tag": "tun-in", 136 | "type": "tun", 137 | "interface_name": "momo", 138 | "address": [ 139 | "172.31.0.1/30", 140 | "fdfe:dcba:9876::1/126" 141 | ], 142 | "auto_route": false, 143 | "auto_redirect": false 144 | } 145 | ], 146 | "experimental": { 147 | "cache_file": { 148 | "enabled": true, 149 | "path": "/etc/momo/run/cache.db", 150 | "store_fakeip": true 151 | }, 152 | "clash_api": { 153 | "external_controller": "0.0.0.0:9095", 154 | "external_ui": "/etc/momo/run/ui", 155 | "external_ui_download_url": "https://gh-proxy.com/https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip", 156 | "external_ui_download_detour": "🎯 全球直连", 157 | "secret": "", 158 | "default_mode": "rule" 159 | } 160 | }, 161 | "log": { 162 | "disabled": false, 163 | "level": "info", 164 | "timestamp": true 165 | } 166 | } -------------------------------------------------------------------------------- /config/singbox/1.12.x/fork-momofake.json: -------------------------------------------------------------------------------- 1 | { 2 | "providers": [ 3 | { 4 | "type": "remote", 5 | "tag": "QCY", 6 | "health_check": { 7 | "enabled": false, 8 | "url": "https://www.gstatic.com/generate_204", 9 | "interval": "10m", 10 | "timeout": "3s" 11 | }, 12 | "url": "http://192.168.10.41:3001/NFsfkHeICpSNO4mvWzJt/download/collection/singbox?target=sing-box", 13 | "exclude": "官网|剩余|流量|套餐|免费|订阅|全球直连|到期时间|GB|Expire Date|Traffic|ExpireDate", 14 | "download_detour": "🎯 全球直连", 15 | "update_interval": "12h" 16 | } 17 | ], 18 | "dns": { 19 | "servers": [ 20 | {"tag": "local", "type": "udp", "server": "223.5.5.5"}, 21 | {"tag": "public", "type": "https", "server": "dns.alidns.com", "domain_resolver": "local"}, 22 | {"tag": "foreign", "type": "https", "server": "8.8.8.8", "detour": "🚀 默认代理"}, 23 | {"tag": "fakeip", "type": "fakeip", "inet4_range": "198.18.0.0/15", "inet6_range": "fc00::/18"} 24 | ], 25 | "rules": [ 26 | {"clash_mode": "direct", "server": "local"}, 27 | {"clash_mode": "global", "server": "fakeip"}, 28 | {"query_type": "HTTPS", "action": "reject"}, 29 | {"rule_set": "geosite-fakeipfilter", "server": "local"}, 30 | {"query_type": ["A", "AAAA"], "server": "fakeip", "rewrite_ttl": 1}, 31 | {"rule_set": "geosite-cn", "server": "local"} 32 | ], 33 | "final": "foreign", 34 | "client_subnet": "223.5.5.0/24", 35 | "strategy": "prefer_ipv4", 36 | "independent_cache": true, 37 | "reverse_mapping": true 38 | }, 39 | "outbounds": [ 40 | {"tag": "🚀 默认代理", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择", "♻️ 自动选择"]}, 41 | {"tag": "🧠 AI", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动"]}, 42 | {"tag": "📹 YouTube", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 43 | {"tag": "🍀 Google", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 44 | {"tag": "👨‍💻 Github", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇭🇰 香港手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 45 | {"tag": "📲 Telegram", "type": "selector", "outbounds": ["🇸🇬 狮城手动", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 46 | {"tag": "🎵 TikTok", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 47 | {"tag": "🎥 Netflix", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 48 | {"tag": "💶 PayPal", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 49 | {"tag": "🎮 Steam", "type": "selector", "outbounds": ["🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 50 | {"tag": "🪟 Microsoft", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 51 | {"tag": "🐬 OneDrive", "type": "selector", "outbounds": ["🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择"]}, 52 | {"tag": "🍏 Apple", "type": "selector", "outbounds": ["🎯 全球直连", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动"]}, 53 | {"tag": "🐠 漏网之鱼", "type": "selector", "outbounds": ["🚀 默认代理", "🎯 全球直连"]}, 54 | {"tag": "🇭🇰 香港手动", "type": "selector", "outbounds": null, "use_all_providers": true, "include" :"港|HK|(?i)Hong", "exclude": "日"}, 55 | {"tag": "🇯🇵 日本手动", "type": "selector", "outbounds": null, "use_all_providers": true, "include": "🇯🇵|JP|jp|日本|日|Japan", "exclude": "HK"}, 56 | {"tag": "🇸🇬 狮城手动", "type": "selector", "outbounds": null, "use_all_providers": true, "include": "新加坡|坡|狮城|SG|Singapore", "exclude": "日"}, 57 | {"tag": "🇺🇲 美国手动", "type": "selector", "outbounds": null, "use_all_providers": true, "include": "🇺🇸|US|us|美国|美|United States", "exclude": "日"}, 58 | {"tag": "🐸 手动选择", "type": "selector", "outbounds": null, "use_all_providers": true, "exclude": "网站|流量|地址|剩余|过期|免费|时间|有效|Traffic|ExpireDate|GB|Expire Date"}, 59 | {"tag": "♻️ 自动选择", "type": "urltest", "outbounds": null, "fallback": { "enabled": true, "max_delay": "200ms" }, "use_all_providers": true, "interval": "10m","exclude":"网站|流量|地址|剩余|过期|免费|时间|有效|Traffic|ExpireDate|GB|Expire Date"}, 60 | {"tag": "🍃 延迟辅助", "type": "urltest", "outbounds": ["🚀 默认代理", "🎯 全球直连"]}, 61 | {"tag": "GLOBAL", "type": "selector", "outbounds": ["🚀 默认代理", "🧠 AI", "📹 YouTube", "🍀 Google", "👨‍💻 Github", "📲 Telegram", "🎵 TikTok", "🎥 Netflix", "💶 PayPal", "🎮 Steam", "🪟 Microsoft", "🐬 OneDrive", "🍏 Apple", "🐠 漏网之鱼", "🇭🇰 香港手动", "🇯🇵 日本手动", "🇸🇬 狮城手动", "🇺🇲 美国手动", "🐸 手动选择", "♻️ 自动选择", "🍃 延迟辅助", "🎯 全球直连"]}, 62 | {"tag": "🎯 全球直连", "type": "direct"} 63 | ], 64 | "route": { 65 | "rules": [ 66 | {"action": "sniff", "sniffer": ["http", "tls", "quic", "dns"]}, 67 | {"inbound": "dns-in", "action": "hijack-dns"}, 68 | {"ip_is_private": true, "outbound": "🎯 全球直连"}, 69 | {"clash_mode": "direct", "outbound": "🎯 全球直连"}, 70 | {"clash_mode": "global", "outbound": "GLOBAL"}, 71 | {"rule_set": "geosite-ai", "outbound": "🧠 AI"}, 72 | {"rule_set": "geosite-youtube", "outbound": "📹 YouTube"}, 73 | {"rule_set": "geosite-google", "outbound": "🍀 Google"}, 74 | {"rule_set": "geosite-github", "outbound": "👨‍💻 Github"}, 75 | {"rule_set": "geosite-onedrive", "outbound": "🐬 OneDrive"}, 76 | {"rule_set": "geosite-microsoft", "outbound": "🪟 Microsoft"}, 77 | {"rule_set": "geosite-apple", "outbound": "🍏 Apple"}, 78 | {"rule_set": "geosite-telegram", "outbound": "📲 Telegram"}, 79 | {"rule_set": "geosite-tiktok", "outbound": "🎵 TikTok"}, 80 | {"rule_set": "geosite-netflix", "outbound": "🎥 Netflix"}, 81 | {"rule_set": "geosite-paypal", "outbound": "💶 PayPal"}, 82 | {"rule_set": "geosite-steamcn", "outbound": "🎯 全球直连"}, 83 | {"rule_set": "geosite-steam", "outbound": "🎮 Steam"}, 84 | {"rule_set": "geosite-!cn", "outbound": "🚀 默认代理"}, 85 | {"rule_set": "geosite-cn", "outbound": "🎯 全球直连"}, 86 | {"action": "resolve","match_only": true}, 87 | {"rule_set": "geoip-google", "outbound": "🍀 Google"}, 88 | {"rule_set": "geoip-apple", "outbound": "🍏 Apple"}, 89 | {"rule_set": "geoip-telegram", "outbound": "📲 Telegram"}, 90 | {"rule_set": "geoip-netflix", "outbound": "🎥 Netflix"}, 91 | {"rule_set": "geoip-cn", "outbound": "🎯 全球直连"} 92 | ], 93 | "rule_set": [ 94 | {"tag": "geosite-fakeipfilter", "type": "remote", "format": "source", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/qichiyuhub/rule/refs/heads/main/fakeipfilter.json", "download_detour": "🎯 全球直连"}, 95 | {"tag": "geosite-ai", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/category-ai-!cn.srs", "download_detour": "🎯 全球直连"}, 96 | {"tag": "geosite-youtube", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/youtube.srs", "download_detour": "🎯 全球直连"}, 97 | {"tag": "geosite-google", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/google.srs", "download_detour": "🎯 全球直连"}, 98 | {"tag": "geosite-github", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/github.srs", "download_detour": "🎯 全球直连"}, 99 | {"tag": "geosite-onedrive", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/onedrive.srs", "download_detour": "🎯 全球直连"}, 100 | {"tag": "geosite-microsoft", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/microsoft.srs", "download_detour": "🎯 全球直连"}, 101 | {"tag": "geosite-apple", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/apple.srs", "download_detour": "🎯 全球直连"}, 102 | {"tag": "geosite-telegram", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/telegram.srs", "download_detour": "🎯 全球直连"}, 103 | {"tag": "geosite-tiktok", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/tiktok.srs", "download_detour": "🎯 全球直连"}, 104 | {"tag": "geosite-netflix", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/netflix.srs", "download_detour": "🎯 全球直连"}, 105 | {"tag": "geosite-paypal", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/paypal.srs", "download_detour": "🎯 全球直连"}, 106 | {"tag": "geosite-steamcn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/steam@cn.srs", "download_detour": "🎯 全球直连"}, 107 | {"tag": "geosite-steam", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/steam.srs", "download_detour": "🎯 全球直连"}, 108 | {"tag": "geosite-!cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/geolocation-!cn.srs", "download_detour": "🎯 全球直连"}, 109 | {"tag": "geosite-cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/cn.srs", "download_detour": "🎯 全球直连"}, 110 | {"tag": "geoip-google", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/google.srs", "download_detour": "🎯 全球直连"}, 111 | {"tag": "geoip-apple", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo-lite/geoip/apple.srs", "download_detour": "🎯 全球直连"}, 112 | {"tag": "geoip-telegram", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/telegram.srs", "download_detour": "🎯 全球直连"}, 113 | {"tag": "geoip-netflix", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/netflix.srs", "download_detour": "🎯 全球直连"}, 114 | {"tag": "geoip-cn", "type": "remote", "format": "binary", "url": "https://gh-proxy.com/https://github.com/qljsyph/ruleset-icon/raw/refs/heads/main/sing-box/geoip/China-ASN-combined-ip.srs", "download_detour": "🎯 全球直连"} 115 | ], 116 | "final": "🐠 漏网之鱼", 117 | "default_domain_resolver": {"server": "public"} 118 | }, 119 | "inbounds": [ 120 | { 121 | "tag": "dns-in", 122 | "type": "direct", 123 | "listen": "::", 124 | "listen_port": 1053 125 | }, 126 | { 127 | "tag": "http-in", 128 | "type": "http", 129 | "listen": "::", 130 | "listen_port": 8080 131 | }, 132 | { 133 | "tag": "socks-in", 134 | "type": "socks", 135 | "listen": "::", 136 | "listen_port": 1080 137 | }, 138 | { 139 | "tag": "redirect-in", 140 | "type": "redirect", 141 | "listen": "::", 142 | "listen_port": 7890 143 | }, 144 | { 145 | "tag": "tproxy-in", 146 | "type": "tproxy", 147 | "listen": "::", 148 | "listen_port": 7891 149 | }, 150 | { 151 | "tag": "tun-in", 152 | "type": "tun", 153 | "interface_name": "momo", 154 | "address": [ 155 | "172.31.0.1/30", 156 | "fdfe:dcba:9876::1/126" 157 | ], 158 | "auto_route": false, 159 | "auto_redirect": false 160 | } 161 | ], 162 | "experimental": { 163 | "cache_file": { 164 | "enabled": true, 165 | "path": "/etc/momo/run/cache.db", 166 | "store_fakeip": true 167 | }, 168 | "clash_api": { 169 | "external_controller": "0.0.0.0:9095", 170 | "external_ui": "/etc/momo/run/ui", 171 | "external_ui_download_url": "https://gh-proxy.com/https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip", 172 | "external_ui_download_detour": "🎯 全球直连", 173 | "secret": "", 174 | "default_mode": "rule" 175 | } 176 | }, 177 | "log": { 178 | "disabled": false, 179 | "level": "info", 180 | "timestamp": true 181 | } 182 | } -------------------------------------------------------------------------------- /config/zijian/client/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "dns": { 3 | "servers": [ 4 | { 5 | "tag": "local", 6 | "type": "udp", 7 | "server": "119.29.29.29" 8 | }, 9 | { 10 | "tag": "public", 11 | "type": "https", 12 | "server": "dns.alidns.com", 13 | "domain_resolver": "local" 14 | }, 15 | { 16 | "tag": "foreign", 17 | "type": "https", 18 | "server": "dns.google", 19 | "domain_resolver": "local" 20 | }, 21 | { 22 | "tag": "fakeip", 23 | "type": "fakeip", 24 | "inet4_range": "198.18.0.0/15", 25 | "inet6_range": "fc00::/18" 26 | } 27 | ], 28 | "rules": [ 29 | { 30 | "clash_mode": "direct", 31 | "server": "local" 32 | }, 33 | { 34 | "clash_mode": "global", 35 | "server": "fakeip" 36 | }, 37 | { 38 | "query_type": "HTTPS", 39 | "action": "reject" 40 | }, 41 | { 42 | "rule_set": [ 43 | "geosite-cn", 44 | "geosite-steamcn", 45 | "geosite-apple" 46 | ], 47 | "server": "local" 48 | }, 49 | { 50 | "query_type": [ 51 | "A", 52 | "AAAA" 53 | ], 54 | "server": "fakeip", 55 | "rewrite_ttl": 1 56 | } 57 | ], 58 | "final": "foreign", 59 | "strategy": "ipv4_only", 60 | "independent_cache": true 61 | }, 62 | "outbounds": [ 63 | { 64 | "tag": "🚀 默认代理", 65 | "type": "selector", 66 | "outbounds": [ 67 | "🐸 手动选择", 68 | "♻️ 自动选择" 69 | ] 70 | }, 71 | { 72 | "tag": "🧠 AI", 73 | "type": "selector", 74 | "outbounds": [ 75 | "🚀 默认代理", 76 | "🐸 手动选择", 77 | "♻️ 自动选择" 78 | ] 79 | }, 80 | { 81 | "tag": "📹 YouTube", 82 | "type": "selector", 83 | "outbounds": [ 84 | "🚀 默认代理", 85 | "🐸 手动选择", 86 | "♻️ 自动选择" 87 | ] 88 | }, 89 | { 90 | "tag": "🍀 Google", 91 | "type": "selector", 92 | "outbounds": [ 93 | "🚀 默认代理", 94 | "🐸 手动选择", 95 | "♻️ 自动选择" 96 | ] 97 | }, 98 | { 99 | "tag": "👨‍💻 Github", 100 | "type": "selector", 101 | "outbounds": [ 102 | "🚀 默认代理", 103 | "🐸 手动选择", 104 | "♻️ 自动选择" 105 | ] 106 | }, 107 | { 108 | "tag": "📲 Telegram", 109 | "type": "selector", 110 | "outbounds": [ 111 | "🚀 默认代理", 112 | "🐸 手动选择", 113 | "♻️ 自动选择" 114 | ] 115 | }, 116 | { 117 | "tag": "🎵 TikTok", 118 | "type": "selector", 119 | "outbounds": [ 120 | "🚀 默认代理", 121 | "🐸 手动选择", 122 | "♻️ 自动选择" 123 | ] 124 | }, 125 | { 126 | "tag": "🎥 Netflix", 127 | "type": "selector", 128 | "outbounds": [ 129 | "🚀 默认代理", 130 | "🐸 手动选择", 131 | "♻️ 自动选择" 132 | ] 133 | }, 134 | { 135 | "tag": "💶 PayPal", 136 | "type": "selector", 137 | "outbounds": [ 138 | "🚀 默认代理", 139 | "🐸 手动选择", 140 | "♻️ 自动选择" 141 | ] 142 | }, 143 | { 144 | "tag": "🎮 Steam", 145 | "type": "selector", 146 | "outbounds": [ 147 | "🚀 默认代理", 148 | "🐸 手动选择", 149 | "♻️ 自动选择" 150 | ] 151 | }, 152 | { 153 | "tag": "🪟 Microsoft", 154 | "type": "selector", 155 | "outbounds": [ 156 | "🚀 默认代理", 157 | "🐸 手动选择", 158 | "♻️ 自动选择" 159 | ] 160 | }, 161 | { 162 | "tag": "🐬 OneDrive", 163 | "type": "selector", 164 | "outbounds": [ 165 | "🚀 默认代理", 166 | "🐸 手动选择", 167 | "♻️ 自动选择" 168 | ] 169 | }, 170 | { 171 | "tag": "🍏 Apple", 172 | "type": "selector", 173 | "outbounds": [ 174 | "🎯 全球直连", 175 | "🚀 默认代理", 176 | "🐸 手动选择", 177 | "♻️ 自动选择" 178 | ] 179 | }, 180 | { 181 | "tag": "🐠 漏网之鱼", 182 | "type": "selector", 183 | "outbounds": [ 184 | "🚀 默认代理", 185 | "🎯 全球直连" 186 | ] 187 | }, 188 | { 189 | "tag": "🐸 手动选择", 190 | "type": "selector", 191 | "outbounds": [ 192 | "SS", 193 | "VLESS-Vision-Reality", 194 | "HYSTERIA2" 195 | ] 196 | }, 197 | { 198 | "tag": "♻️ 自动选择", 199 | "type": "urltest", 200 | "outbounds": [ 201 | "SS", 202 | "VLESS-Vision-Reality", 203 | "HYSTERIA2" 204 | ], 205 | "interval": "10m", 206 | "tolerance": 100 207 | }, 208 | { 209 | "tag": "🍃 延迟辅助", 210 | "type": "urltest", 211 | "outbounds": [ 212 | "🚀 默认代理", 213 | "🎯 全球直连" 214 | ] 215 | }, 216 | { 217 | "tag": "GLOBAL", 218 | "type": "selector", 219 | "outbounds": [ 220 | "🚀 默认代理", 221 | "🧠 AI", 222 | "📹 YouTube", 223 | "🍀 Google", 224 | "👨‍💻 Github", 225 | "📲 Telegram", 226 | "🎵 TikTok", 227 | "🎥 Netflix", 228 | "💶 PayPal", 229 | "🎮 Steam", 230 | "🪟 Microsoft", 231 | "🐬 OneDrive", 232 | "🍏 Apple", 233 | "🐠 漏网之鱼", 234 | "🐸 手动选择", 235 | "♻️ 自动选择", 236 | "🍃 延迟辅助", 237 | "🎯 全球直连" 238 | ] 239 | }, 240 | { 241 | "tag": "🎯 全球直连", 242 | "type": "direct" 243 | }, 244 | { 245 | "tag": "SS", 246 | "type": "shadowsocks", 247 | "server": "147.79.20.99", 248 | "server_port": 80, 249 | "method": "2022-blake3-aes-128-gcm", 250 | "password": "hztQCU1ZB8CAuPMVFJiCJw==" 251 | }, 252 | { 253 | "tag": "VLESS-Vision-Reality", 254 | "type": "vless", 255 | "server": "147.79.20.99", 256 | "server_port": 443, 257 | "uuid": "625a08bb-d372-4f7c-a2d4-6a50ca3393ce", 258 | "tls": { 259 | "enabled": true, 260 | "server_name": "updates.cdn-apple.com", 261 | "insecure": false, 262 | "reality": { 263 | "enabled": true, 264 | "public_key": "2GPEbCh3ZVgGXbwzo1TzCe38JPvMm8HRSxuOuKspKAE", 265 | "short_id": "a118b9425a7e2dc5" 266 | }, 267 | "utls": { 268 | "enabled": true, 269 | "fingerprint": "chrome" 270 | } 271 | }, 272 | "flow": "xtls-rprx-vision" 273 | }, 274 | { 275 | "tag": "HYSTERIA2", 276 | "type": "hysteria2", 277 | "server": "yu.ykszckj.com", 278 | "server_port": 52021, 279 | "password": "c36d52aa-12b0-420c-a409-02f0410f6ac4", 280 | "tls": { 281 | "enabled": true, 282 | "server_name": "yu.ykszckj.com", 283 | "insecure": false, 284 | "alpn": [ 285 | "h3" 286 | ] 287 | }, 288 | "up_mbps": 100, 289 | "down_mbps": 800 290 | } 291 | ], 292 | "route": { 293 | "rules": [ 294 | { 295 | "action": "sniff", 296 | "sniffer": [ 297 | "http", 298 | "tls", 299 | "quic", 300 | "dns" 301 | ] 302 | }, 303 | { 304 | "type": "logical", 305 | "mode": "or", 306 | "rules": [ 307 | { 308 | "port": 53 309 | }, 310 | { 311 | "protocol": "dns" 312 | } 313 | ], 314 | "action": "hijack-dns" 315 | }, 316 | { 317 | "ip_is_private": true, 318 | "outbound": "🎯 全球直连" 319 | }, 320 | { 321 | "clash_mode": "direct", 322 | "outbound": "🎯 全球直连" 323 | }, 324 | { 325 | "clash_mode": "global", 326 | "outbound": "GLOBAL" 327 | }, 328 | { 329 | "rule_set": "geosite-adobe", 330 | "action": "reject" 331 | }, 332 | { 333 | "rule_set": "geosite-ai", 334 | "outbound": "🧠 AI" 335 | }, 336 | { 337 | "rule_set": "geosite-youtube", 338 | "outbound": "📹 YouTube" 339 | }, 340 | { 341 | "rule_set": "geosite-google", 342 | "outbound": "🍀 Google" 343 | }, 344 | { 345 | "rule_set": "geosite-github", 346 | "outbound": "👨‍💻 Github" 347 | }, 348 | { 349 | "rule_set": "geosite-onedrive", 350 | "outbound": "🐬 OneDrive" 351 | }, 352 | { 353 | "rule_set": "geosite-microsoft", 354 | "outbound": "🪟 Microsoft" 355 | }, 356 | { 357 | "rule_set": "geosite-apple", 358 | "outbound": "🍏 Apple" 359 | }, 360 | { 361 | "rule_set": "geosite-telegram", 362 | "outbound": "📲 Telegram" 363 | }, 364 | { 365 | "rule_set": "geosite-tiktok", 366 | "outbound": "🎵 TikTok" 367 | }, 368 | { 369 | "rule_set": "geosite-netflix", 370 | "outbound": "🎥 Netflix" 371 | }, 372 | { 373 | "rule_set": "geosite-paypal", 374 | "outbound": "💶 PayPal" 375 | }, 376 | { 377 | "rule_set": "geosite-steamcn", 378 | "outbound": "🎯 全球直连" 379 | }, 380 | { 381 | "rule_set": "geosite-steam", 382 | "outbound": "🎮 Steam" 383 | }, 384 | { 385 | "rule_set": "geosite-!cn", 386 | "outbound": "🚀 默认代理" 387 | }, 388 | { 389 | "rule_set": "geosite-cn", 390 | "outbound": "🎯 全球直连" 391 | }, 392 | { 393 | "rule_set": "geoip-google", 394 | "outbound": "🍀 Google" 395 | }, 396 | { 397 | "rule_set": "geoip-apple", 398 | "outbound": "🍏 Apple" 399 | }, 400 | { 401 | "rule_set": "geoip-telegram", 402 | "outbound": "📲 Telegram" 403 | }, 404 | { 405 | "rule_set": "geoip-netflix", 406 | "outbound": "🎥 Netflix" 407 | }, 408 | { 409 | "rule_set": "geoip-cn", 410 | "outbound": "🎯 全球直连" 411 | } 412 | ], 413 | "rule_set": [ 414 | { 415 | "tag": "geosite-adobe", 416 | "type": "remote", 417 | "format": "binary", 418 | "url": "https://gh-proxy.com/https://github.com/qljsyph/ruleset-icon/raw/refs/heads/main/sing-box/geosite/adobe.srs", 419 | "download_detour": "🎯 全球直连" 420 | }, 421 | { 422 | "tag": "geosite-ai", 423 | "type": "remote", 424 | "format": "binary", 425 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/category-ai-!cn.srs", 426 | "download_detour": "🎯 全球直连" 427 | }, 428 | { 429 | "tag": "geosite-youtube", 430 | "type": "remote", 431 | "format": "binary", 432 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/youtube.srs", 433 | "download_detour": "🎯 全球直连" 434 | }, 435 | { 436 | "tag": "geosite-google", 437 | "type": "remote", 438 | "format": "binary", 439 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/google.srs", 440 | "download_detour": "🎯 全球直连" 441 | }, 442 | { 443 | "tag": "geosite-github", 444 | "type": "remote", 445 | "format": "binary", 446 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/github.srs", 447 | "download_detour": "🎯 全球直连" 448 | }, 449 | { 450 | "tag": "geosite-onedrive", 451 | "type": "remote", 452 | "format": "binary", 453 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/onedrive.srs", 454 | "download_detour": "🎯 全球直连" 455 | }, 456 | { 457 | "tag": "geosite-microsoft", 458 | "type": "remote", 459 | "format": "binary", 460 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/microsoft.srs", 461 | "download_detour": "🎯 全球直连" 462 | }, 463 | { 464 | "tag": "geosite-apple", 465 | "type": "remote", 466 | "format": "binary", 467 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/apple.srs", 468 | "download_detour": "🎯 全球直连" 469 | }, 470 | { 471 | "tag": "geosite-telegram", 472 | "type": "remote", 473 | "format": "binary", 474 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/telegram.srs", 475 | "download_detour": "🎯 全球直连" 476 | }, 477 | { 478 | "tag": "geosite-tiktok", 479 | "type": "remote", 480 | "format": "binary", 481 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/tiktok.srs", 482 | "download_detour": "🎯 全球直连" 483 | }, 484 | { 485 | "tag": "geosite-netflix", 486 | "type": "remote", 487 | "format": "binary", 488 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/netflix.srs", 489 | "download_detour": "🎯 全球直连" 490 | }, 491 | { 492 | "tag": "geosite-paypal", 493 | "type": "remote", 494 | "format": "binary", 495 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/paypal.srs", 496 | "download_detour": "🎯 全球直连" 497 | }, 498 | { 499 | "tag": "geosite-steamcn", 500 | "type": "remote", 501 | "format": "binary", 502 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/steam@cn.srs", 503 | "download_detour": "🎯 全球直连" 504 | }, 505 | { 506 | "tag": "geosite-steam", 507 | "type": "remote", 508 | "format": "binary", 509 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/steam.srs", 510 | "download_detour": "🎯 全球直连" 511 | }, 512 | { 513 | "tag": "geosite-!cn", 514 | "type": "remote", 515 | "format": "binary", 516 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/geolocation-!cn.srs", 517 | "download_detour": "🎯 全球直连" 518 | }, 519 | { 520 | "tag": "geosite-cn", 521 | "type": "remote", 522 | "format": "binary", 523 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geosite/cn.srs", 524 | "download_detour": "🎯 全球直连" 525 | }, 526 | { 527 | "tag": "geoip-google", 528 | "type": "remote", 529 | "format": "binary", 530 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/google.srs", 531 | "download_detour": "🎯 全球直连" 532 | }, 533 | { 534 | "tag": "geoip-apple", 535 | "type": "remote", 536 | "format": "binary", 537 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo-lite/geoip/apple.srs", 538 | "download_detour": "🎯 全球直连" 539 | }, 540 | { 541 | "tag": "geoip-telegram", 542 | "type": "remote", 543 | "format": "binary", 544 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/telegram.srs", 545 | "download_detour": "🎯 全球直连" 546 | }, 547 | { 548 | "tag": "geoip-netflix", 549 | "type": "remote", 550 | "format": "binary", 551 | "url": "https://gh-proxy.com/https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/sing/geo/geoip/netflix.srs", 552 | "download_detour": "🎯 全球直连" 553 | }, 554 | { 555 | "tag": "geoip-cn", 556 | "type": "remote", 557 | "format": "binary", 558 | "url": "https://gh-proxy.com/https://github.com/qljsyph/ruleset-icon/raw/refs/heads/main/sing-box/geoip/China-ASN-combined-ip.srs", 559 | "download_detour": "🎯 全球直连" 560 | } 561 | ], 562 | "final": "🐠 漏网之鱼", 563 | "auto_detect_interface": true, 564 | "default_domain_resolver": {"server": "public"} 565 | }, 566 | "inbounds": [ 567 | { 568 | "tag": "tun-in", 569 | "type": "tun", 570 | "address": [ 571 | "172.19.0.1/30", 572 | "fdfe:dcba:9876::1/126" 573 | ], 574 | "mtu": 9000, 575 | "auto_route": true, 576 | "auto_redirect": true, 577 | "strict_route": true 578 | }, 579 | { 580 | "tag": "mixed-in", 581 | "type": "mixed", 582 | "listen": "0.0.0.0", 583 | "listen_port": 7893 584 | } 585 | ], 586 | "experimental": { 587 | "cache_file": { 588 | "enabled": true, 589 | "path": "/etc/sing-box/cache.db", 590 | "store_fakeip": true 591 | }, 592 | "clash_api": { 593 | "external_controller": "0.0.0.0:9090", 594 | "external_ui": "/etc/sing-box/ui", 595 | "external_ui_download_url": "https://gh-proxy.com/https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip", 596 | "external_ui_download_detour": "🎯 全球直连", 597 | "secret": "", 598 | "default_mode": "rule" 599 | } 600 | }, 601 | "log": { 602 | "disabled": false, 603 | "level": "info", 604 | "timestamp": true 605 | } 606 | } -------------------------------------------------------------------------------- /config/mihomo/AI/transform.go: -------------------------------------------------------------------------------- 1 | package lightgbm 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | "strconv" 7 | "strings" 8 | "sync" 9 | 10 | "github.com/metacubex/mihomo/log" 11 | ) 12 | 13 | // parseTransformsContent parses the [transforms] section from the model file. 14 | // The expected format is as follows: 15 | // 16 | // [transforms] 17 | // [order] 18 | // 0=success 19 | // 1=failure 20 | // ... (index=feature_name, one per line, up to MaxFeatureSize) 21 | // [/order] 22 | // 23 | // [definitions] 24 | // std_type=StandardScaler 25 | // std_features=2,3,4,5,6,7,15 26 | // std_mean=...comma separated float values... 27 | // std_scale=...comma separated float values... 28 | // 29 | // robust_type=RobustScaler 30 | // robust_features=0,1 31 | // robust_center=...comma separated float values... 32 | // robust_scale=...comma separated float values... 33 | // [/definitions] 34 | // 35 | // untransformed_features=8:is_udp,9:is_tcp,10:asn_feature,... 36 | // transform=true 37 | // [/transforms] 38 | // 39 | // - Each transform block (e.g. std_*, robust_*) must include: 40 | // - *_type: the transform type, e.g. "StandardScaler" or "RobustScaler" 41 | // - *_features: comma-separated feature indices (int, based on order) 42 | // - other parameters: comma-separated float values, length must match features 43 | // - All indices and parameter arrays must match the feature order and count. 44 | // - Only features listed in *_features are transformed; others remain unchanged. 45 | // - The Go parser expects strict adherence to this structure for correct parsing. 46 | 47 | type TransformType string 48 | 49 | const ( 50 | StandardScalerTransform TransformType = "StandardScaler" 51 | RobustScalerTransform TransformType = "RobustScaler" 52 | ) 53 | 54 | type TransformParams struct { 55 | Type TransformType `json:"type"` 56 | FeatureIndices []int `json:"feature_indices"` 57 | Parameters map[string][]float64 `json:"parameters"` 58 | } 59 | 60 | type FeatureTransforms struct { 61 | TransformsEnabled bool `json:"transforms_enabled"` 62 | FeatureOrder map[int]string `json:"order"` 63 | Transforms []TransformParams `json:"transforms"` 64 | UntransformedFeatures []string `json:"untransformed_features"` 65 | } 66 | 67 | var transformPool = sync.Pool{ 68 | New: func() interface{} { 69 | return make([]float64, MaxFeatureSize) 70 | }, 71 | } 72 | 73 | // 读取transforms参数 74 | func LoadTransformsFromModel(modelPath string) (*FeatureTransforms, error) { 75 | file, err := os.Open(modelPath) 76 | if err != nil { 77 | return nil, fmt.Errorf("failed to open model file: %v", err) 78 | } 79 | defer file.Close() 80 | 81 | stat, err := file.Stat() 82 | if err != nil { 83 | return nil, fmt.Errorf("failed to get file info: %v", err) 84 | } 85 | 86 | readSize := int64(16384) 87 | if stat.Size() < readSize { 88 | readSize = stat.Size() 89 | } 90 | 91 | _, err = file.Seek(-readSize, 2) 92 | if err != nil { 93 | return nil, fmt.Errorf("failed to seek file position: %v", err) 94 | } 95 | 96 | buffer := make([]byte, readSize) 97 | _, err = file.Read(buffer) 98 | if err != nil { 99 | return nil, fmt.Errorf("failed to read file content: %v", err) 100 | } 101 | 102 | content := string(buffer) 103 | 104 | startMarker := "[transforms]" 105 | endMarker := "[/transforms]" 106 | 107 | startIdx := strings.Index(content, startMarker) 108 | if startIdx == -1 { 109 | return &FeatureTransforms{ 110 | TransformsEnabled: false, 111 | FeatureOrder: getDefaultFeatureOrder(), 112 | Transforms: []TransformParams{}, 113 | }, nil 114 | } 115 | 116 | endIdx := strings.Index(content, endMarker) 117 | if endIdx == -1 { 118 | return nil, fmt.Errorf("found transforms start marker but no end marker") 119 | } 120 | 121 | transformsContent := content[startIdx+len(startMarker):endIdx] 122 | 123 | featureTransforms, err := parseTransformsContent(transformsContent) 124 | if err != nil { 125 | return nil, fmt.Errorf("failed to parse transforms parameters: %v", err) 126 | } 127 | 128 | return featureTransforms, nil 129 | } 130 | 131 | func parseTransformsContent(content string) (*FeatureTransforms, error) { 132 | featureTransforms := &FeatureTransforms{ 133 | FeatureOrder: make(map[int]string), 134 | Transforms: []TransformParams{}, 135 | } 136 | 137 | lines := strings.Split(content, "\n") 138 | currentSection := "" 139 | 140 | transformDefs := make(map[string]map[string]string) 141 | errors := []string{} 142 | 143 | for lineNum, line := range lines { 144 | line = strings.TrimSpace(line) 145 | 146 | if line == "" || strings.HasPrefix(line, "#") { 147 | continue 148 | } 149 | 150 | if strings.HasPrefix(line, "[") && strings.HasSuffix(line, "]") { 151 | sectionName := strings.Trim(line, "[]") 152 | 153 | if strings.HasPrefix(sectionName, "/") { 154 | currentSection = "" 155 | continue 156 | } else { 157 | currentSection = sectionName 158 | continue 159 | } 160 | } 161 | 162 | if !strings.Contains(line, "=") { 163 | continue 164 | } 165 | 166 | parts := strings.SplitN(line, "=", 2) 167 | if len(parts) != 2 { 168 | continue 169 | } 170 | 171 | key := strings.TrimSpace(parts[0]) 172 | value := strings.TrimSpace(parts[1]) 173 | 174 | switch currentSection { 175 | case "order": 176 | idx, err := strconv.Atoi(key) 177 | if err != nil { 178 | errors = append(errors, fmt.Sprintf("invalid feature index '%s' at line %d", key, lineNum+1)) 179 | continue 180 | } 181 | if idx < 0 || idx >= MaxFeatureSize { 182 | errors = append(errors, fmt.Sprintf("feature index %d out of range [0, %d) at line %d", idx, MaxFeatureSize, lineNum+1)) 183 | continue 184 | } 185 | featureTransforms.FeatureOrder[idx] = value 186 | 187 | case "definitions": 188 | if strings.Contains(key, "_") { 189 | parts := strings.SplitN(key, "_", 2) 190 | if len(parts) == 2 { 191 | transformID := parts[0] 192 | paramName := parts[1] 193 | 194 | if transformDefs[transformID] == nil { 195 | transformDefs[transformID] = make(map[string]string) 196 | } 197 | transformDefs[transformID][paramName] = value 198 | } 199 | } 200 | 201 | default: 202 | switch key { 203 | case "transform": 204 | featureTransforms.TransformsEnabled = value == "true" 205 | case "untransformed_features": 206 | featureTransforms.UntransformedFeatures = parseStringArray(value) 207 | } 208 | } 209 | } 210 | 211 | validTransformCount := 0 212 | for transformID, params := range transformDefs { 213 | transform, err := buildTransformParams(params) 214 | if err != nil { 215 | errors = append(errors, fmt.Sprintf("failed to build transform %s: %v", transformID, err)) 216 | continue 217 | } 218 | 219 | if len(transform.FeatureIndices) == 0 { 220 | errors = append(errors, fmt.Sprintf("transform %s has no feature indices", transformID)) 221 | continue 222 | } 223 | 224 | validIndices := true 225 | for _, idx := range transform.FeatureIndices { 226 | if idx < 0 || idx >= MaxFeatureSize { 227 | errors = append(errors, fmt.Sprintf("transform %s contains invalid feature index %d", transformID, idx)) 228 | validIndices = false 229 | break 230 | } 231 | } 232 | 233 | if !validIndices { 234 | continue 235 | } 236 | 237 | featureTransforms.Transforms = append(featureTransforms.Transforms, *transform) 238 | validTransformCount++ 239 | } 240 | 241 | if len(featureTransforms.FeatureOrder) == 0 { 242 | featureTransforms.FeatureOrder = getDefaultFeatureOrder() 243 | } else { 244 | expectedCount := 21 245 | if len(featureTransforms.FeatureOrder) != expectedCount { 246 | defaultOrder := getDefaultFeatureOrder() 247 | for idx, name := range defaultOrder { 248 | if _, exists := featureTransforms.FeatureOrder[idx]; !exists { 249 | featureTransforms.FeatureOrder[idx] = name 250 | } 251 | } 252 | } 253 | } 254 | 255 | if len(errors) > 0 { 256 | log.Errorln("[Smart] Transform parsing errors: %s", strings.Join(errors, "; ")) 257 | } 258 | 259 | return featureTransforms, nil 260 | } 261 | 262 | func buildTransformParams(params map[string]string) (*TransformParams, error) { 263 | transform := &TransformParams{ 264 | Parameters: make(map[string][]float64), 265 | } 266 | 267 | if typeStr, exists := params["type"]; exists { 268 | transform.Type = TransformType(typeStr) 269 | } else { 270 | return nil, fmt.Errorf("missing transform type") 271 | } 272 | 273 | if featuresStr, exists := params["features"]; exists { 274 | indices, err := parseIntArray(featuresStr) 275 | if err != nil { 276 | return nil, fmt.Errorf("failed to parse feature indices: %v", err) 277 | } 278 | transform.FeatureIndices = indices 279 | } else { 280 | return nil, fmt.Errorf("missing feature indices") 281 | } 282 | 283 | for paramName, paramValue := range params { 284 | if paramName != "type" && paramName != "features" { 285 | values, err := parseFloatArray(paramValue) 286 | if err != nil { 287 | return nil, fmt.Errorf("failed to parse parameter %s: %v", paramName, err) 288 | } 289 | transform.Parameters[paramName] = values 290 | } 291 | } 292 | 293 | return transform, nil 294 | } 295 | 296 | func parseFloatArray(value string) ([]float64, error) { 297 | if value == "" { 298 | return []float64{}, nil 299 | } 300 | 301 | parts := strings.Split(value, ",") 302 | result := make([]float64, len(parts)) 303 | 304 | for i, part := range parts { 305 | val, err := strconv.ParseFloat(strings.TrimSpace(part), 64) 306 | if err != nil { 307 | return nil, fmt.Errorf("failed to parse float '%s': %v", part, err) 308 | } 309 | result[i] = val 310 | } 311 | 312 | return result, nil 313 | } 314 | 315 | func parseIntArray(value string) ([]int, error) { 316 | if value == "" { 317 | return []int{}, nil 318 | } 319 | 320 | parts := strings.Split(value, ",") 321 | result := make([]int, len(parts)) 322 | 323 | for i, part := range parts { 324 | val, err := strconv.Atoi(strings.TrimSpace(part)) 325 | if err != nil { 326 | return nil, fmt.Errorf("failed to parse integer '%s': %v", part, err) 327 | } 328 | result[i] = val 329 | } 330 | 331 | return result, nil 332 | } 333 | 334 | func parseStringArray(value string) []string { 335 | if value == "" { 336 | return []string{} 337 | } 338 | 339 | parts := strings.Split(value, ",") 340 | result := make([]string, len(parts)) 341 | 342 | for i, part := range parts { 343 | result[i] = strings.TrimSpace(part) 344 | } 345 | 346 | return result 347 | } 348 | 349 | func getDefaultFeatureOrder() map[int]string { 350 | return map[int]string{ 351 | 0: "success", 1: "failure", 2: "connect_time", 3: "latency", 352 | 4: "upload_mb", 5: "download_mb", 6: "duration_minutes", 353 | 7: "last_used_seconds", 8: "is_udp", 9: "is_tcp", 354 | 10: "asn_feature", 11: "country_feature", 12: "address_feature", 355 | 13: "port_feature", 14: "traffic_ratio", 15: "traffic_density", 356 | 16: "connection_type_feature", 17: "asn_hash", 18: "host_hash", 357 | 19: "ip_hash", 20: "geoip_hash", 358 | } 359 | } 360 | 361 | func (ft *FeatureTransforms) ApplyTransforms(features []float64) []float64 { 362 | if ft == nil || !ft.TransformsEnabled || len(ft.Transforms) == 0 { 363 | return features 364 | } 365 | 366 | var result []float64 367 | poolObj := transformPool.Get() 368 | if arr, ok := poolObj.([]float64); ok && len(arr) >= len(features) { 369 | result = arr[:len(features)] 370 | } else { 371 | result = make([]float64, len(features)) 372 | } 373 | copy(result, features) 374 | 375 | errors := []string{} 376 | for i, transform := range ft.Transforms { 377 | validTransform := true 378 | for _, idx := range transform.FeatureIndices { 379 | if idx < 0 || idx >= len(result) { 380 | errors = append(errors, fmt.Sprintf("transform %d feature index %d out of range", i, idx)) 381 | validTransform = false 382 | break 383 | } 384 | } 385 | 386 | if validTransform { 387 | ft.applyTransformInPlace(result, transform) 388 | } 389 | } 390 | 391 | if len(errors) > 0 { 392 | log.Errorln("[Smart] Apply transforms errors: %s", strings.Join(errors, "; ")) 393 | } 394 | 395 | transformPool.Put(result) 396 | 397 | out := make([]float64, len(result)) 398 | copy(out, result) 399 | return out 400 | } 401 | 402 | func (ft *FeatureTransforms) applyTransformInPlace(features []float64, transform TransformParams) { 403 | switch transform.Type { 404 | case StandardScalerTransform: 405 | ft.applyStandardScaler(features, transform) 406 | case RobustScalerTransform: 407 | ft.applyRobustScaler(features, transform) 408 | default: 409 | log.Errorln("[Smart] Unknown transform type: %s", transform.Type) 410 | } 411 | } 412 | 413 | // 标准化 414 | func (ft *FeatureTransforms) applyStandardScaler(features []float64, transform TransformParams) { 415 | mean := transform.Parameters["mean"] 416 | scale := transform.Parameters["scale"] 417 | 418 | if len(mean) == 0 || len(scale) == 0 { 419 | return 420 | } 421 | 422 | expectedCount := len(transform.FeatureIndices) 423 | if len(mean) != expectedCount || len(scale) != expectedCount { 424 | log.Errorln("[Smart] StandardScaler parameter count mismatch, expected %d, got mean=%d scale=%d", 425 | expectedCount, len(mean), len(scale)) 426 | return 427 | } 428 | 429 | errors := []string{} 430 | for i, featureIdx := range transform.FeatureIndices { 431 | if featureIdx < len(features) && i < len(mean) && i < len(scale) { 432 | if scale[i] != 0 { 433 | features[featureIdx] = (features[featureIdx] - mean[i]) / scale[i] 434 | } else { 435 | errors = append(errors, fmt.Sprintf("scale[%d] is zero for feature %d", i, featureIdx)) 436 | } 437 | } 438 | } 439 | 440 | if len(errors) > 0 { 441 | log.Errorln("[Smart] StandardScaler errors: %s", strings.Join(errors, "; ")) 442 | } 443 | } 444 | 445 | // 鲁棒缩放 446 | func (ft *FeatureTransforms) applyRobustScaler(features []float64, transform TransformParams) { 447 | center := transform.Parameters["center"] 448 | scale := transform.Parameters["scale"] 449 | 450 | if len(center) == 0 || len(scale) == 0 { 451 | return 452 | } 453 | 454 | for i, featureIdx := range transform.FeatureIndices { 455 | if featureIdx < len(features) && i < len(center) && i < len(scale) { 456 | if scale[i] != 0 { 457 | features[featureIdx] = (features[featureIdx] - center[i]) / scale[i] 458 | } 459 | } 460 | } 461 | } 462 | 463 | func (ft *FeatureTransforms) ValidateTransforms(expectedFeatureCount int) error { 464 | if ft == nil { 465 | return fmt.Errorf("FeatureTransforms is nil") 466 | } 467 | 468 | if !ft.TransformsEnabled { 469 | return nil 470 | } 471 | 472 | if len(ft.FeatureOrder) == 0 { 473 | return fmt.Errorf("feature order mapping is empty") 474 | } 475 | 476 | for i := 0; i < expectedFeatureCount; i++ { 477 | if _, exists := ft.FeatureOrder[i]; !exists { 478 | return fmt.Errorf("feature index %d missing in feature order mapping", i) 479 | } 480 | } 481 | 482 | for i, transform := range ft.Transforms { 483 | switch transform.Type { 484 | case StandardScalerTransform, RobustScalerTransform: 485 | default: 486 | return fmt.Errorf("transform %d: unsupported transform type %s", i, transform.Type) 487 | } 488 | 489 | if len(transform.FeatureIndices) == 0 { 490 | return fmt.Errorf("transform %d: feature indices list is empty", i) 491 | } 492 | 493 | for _, idx := range transform.FeatureIndices { 494 | if idx < 0 || idx >= expectedFeatureCount { 495 | return fmt.Errorf("transform %d: feature index %d out of range [0, %d)", 496 | i, idx, expectedFeatureCount) 497 | } 498 | } 499 | 500 | if err := ft.validateTransformParams(transform); err != nil { 501 | return fmt.Errorf("transform %d parameter validation failed: %v", i, err) 502 | } 503 | } 504 | 505 | return nil 506 | } 507 | 508 | func (ft *FeatureTransforms) validateTransformParams(transform TransformParams) error { 509 | switch transform.Type { 510 | case StandardScalerTransform: 511 | mean := transform.Parameters["mean"] 512 | scale := transform.Parameters["scale"] 513 | if len(mean) != len(transform.FeatureIndices) { 514 | return fmt.Errorf("StandardScaler mean parameter count mismatch") 515 | } 516 | if len(scale) != len(transform.FeatureIndices) { 517 | return fmt.Errorf("StandardScaler scale parameter count mismatch") 518 | } 519 | for i, s := range scale { 520 | if s == 0 { 521 | return fmt.Errorf("StandardScaler scale[%d] is zero", i) 522 | } 523 | } 524 | 525 | case RobustScalerTransform: 526 | center := transform.Parameters["center"] 527 | scale := transform.Parameters["scale"] 528 | if len(center) != len(transform.FeatureIndices) { 529 | return fmt.Errorf("RobustScaler center parameter count mismatch") 530 | } 531 | if len(scale) != len(transform.FeatureIndices) { 532 | return fmt.Errorf("RobustScaler scale parameter count mismatch") 533 | } 534 | for i, s := range scale { 535 | if s == 0 { 536 | return fmt.Errorf("RobustScaler scale[%d] is zero", i) 537 | } 538 | } 539 | } 540 | 541 | return nil 542 | } 543 | 544 | func (ft *FeatureTransforms) DebugTransforms() { 545 | if ft == nil { 546 | log.Debugln("[Smart] FeatureTransforms is nil") 547 | return 548 | } 549 | 550 | transformSummary := make([]string, len(ft.Transforms)) 551 | for i, transform := range ft.Transforms { 552 | transformSummary[i] = fmt.Sprintf("%s[%d features]", transform.Type, len(transform.FeatureIndices)) 553 | } 554 | 555 | log.Debugln("[Smart] FeatureTransforms: enabled=%v, features=%d, transforms=%d [%s], untransformed=%v", 556 | ft.TransformsEnabled, len(ft.FeatureOrder), len(ft.Transforms), 557 | strings.Join(transformSummary, ", "), ft.UntransformedFeatures) 558 | } --------------------------------------------------------------------------------