搭建中转+落地节点
链式代理搭建-中转节点+落地节点配置
#tech / network
#type / howto
#status / growing
[!info] related notes
搭建中转+落地节点
基础概念
利用机场的专线 + 自己搭建的节点(使用ss协议即可) = 低延迟+干净(ip) 的网络环境
使用链式代理
样例文件
# 必读!!!
# 注意规则在满足自己需求情况下,尽量做到精简,不要过度复杂,以免影响性能。
# 跑裸核用户请自行去掉下方控制面板模块的注释。
# 机场订阅
proxy-providers:
Airport1:
url: "http://192.168.10.42:3001/CKg2abstVnOeRpm1aB4G/download/DOG?target=ClashMeta"
type: http
interval: 86400
health-check:
enable: true
url: https://www.gstatic.com/generate_204
interval: 300
proxy: 直连
#override:
#dialer-proxy: 🇭🇰 香港节点
#payload:
#- {"name":"香港落地1", "type":"ss","server":"23.175.201.164","port":80,"cipher":"2022-blake3-aes-128-gcm","password":"UETm2mAIRiCaVJuIe1t0cA==","udp":true}
#- { name: "香港落地2", type: "ss" }
# 节点信息
proxies:
- name: "香港落地"
dialer-proxy: 🇭🇰 香港节点
type: ss
server: "23.175.201.164"
port: 80
cipher: "2022-blake3-aes-128-gcm"
password: "UETm2mAIRiCaVJuIe1t0cA=="
udp: true
- {name: 直连, type: direct}
# 全局配置
port: 7890
socks-port: 7891
redir-port: 7892
mixed-port: 7893
tproxy-port: 7894
allow-lan: true
bind-address: "*"
ipv6: false
unified-delay: true
tcp-concurrent: true
# interface-name: enp6s18
log-level: warning
find-process-mode: 'off'
global-client-fingerprint: chrome
keep-alive-idle: 600
keep-alive-interval: 15
profile:
store-selected: true
store-fake-ip: true
# 为防止使用插件朋友遇到面板问题,我注释掉了此模块。
# 跑裸核朋友自行删除注释即可,使用nikki仅内核的ui路径改为/etc/nikki/run/ui
#external-controller: 0.0.0.0:9090
#secret: ""
#external-ui: "/etc/mihomo/ui"
#external-ui-name: zashboard
#external-ui-url: "https://github.com/Zephyruso/zashboard/archive/refs/heads/gh-pages.zip"
# 嗅探
sniffer:
enable: true
sniff:
HTTP:
ports: [80, 8080-8880]
override-destination: false
TLS:
ports: [443, 8443]
QUIC:
ports: [443, 8443]
skip-domain:
- "Mijia Cloud"
- "+.push.apple.com"
# 入站
tun:
enable: true
# system/gvisor/mixed
stack: mixed
dns-hijack: ["any:53", "tcp://any:53"]
#使用nikki,混入全部不修改的情况,开启接口指定为nikki
#使用仅内核自行修改下面三项为true
#device: nikki
auto-route: false
auto-redirect: false
auto-detect-interface: false
# DNS模块
dns:
enable: true
listen: 0.0.0.0:1053
ipv6: false
respect-rules: true
enhanced-mode: fake-ip
fake-ip-range: 28.0.0.1/8
fake-ip-filter-mode: blacklist
fake-ip-filter:
- "*"
- "+.lan"
- "+.local"
- "rule-set:private_domain,cn_domain"
- "+.msftconnecttest.com"
- "+.msftncsi.com"
- "time.*.com"
- "+.market.xiaomi.com"
default-nameserver:
- 223.5.5.5
proxy-server-nameserver:
- 119.29.29.29
nameserver:
- 223.5.5.5
- 119.29.29.29
# 出站策略,根据自己情况调整每个策略里分组排序,增删都可以,比如把美国自动放到第一个,比如删除香港故转,注意别漏掉表情逗号等。
# 如果相应分组没有筛选到对应的国家,请根据自己节点名字调整筛选关键字。
# 没有再使用锚点,是考虑很多新手修改难度,这样新手修改某个分组更容易些。
proxy-groups:
- {name: 🚀 默认代理, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]}
- {name: 📹 YouTube, type: select, proxies: [🔯 美国故转, 🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, ♻️ 美国自动, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]}
- {name: 🍀 Google, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]}
- {name: 🤖 ChatGPT, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]}
- {name: 👨🏿💻 GitHub, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]}
- {name: 🐬 OneDrive, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]}
- {name: 🪟 Microsoft, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]}
- {name: 🎵 TikTok, type: select, proxies: [🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]}
- {name: 📲 Telegram, type: select, proxies: [🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]}
- {name: 🎥 NETFLIX, type: select, proxies: [🔯 狮城故转, 🔯 香港故转, 🔯 日本故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]}
- {name: 💶 PayPal, type: select, proxies: [🔯 日本故转, 🔯 香港故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]}
- {name: 🐟 漏网之鱼, type: select, proxies: [🚀 默认代理, 🔯 香港故转, 🔯 日本故转, 🔯 狮城故转, 🔯 美国故转, ♻️ 香港自动, ♻️ 日本自动, ♻️ 狮城自动, ♻️ 美国自动, ♻️ 自动选择, 🇭🇰 香港节点, 🇯🇵 日本节点, 🇸🇬 狮城节点, 🇺🇲 美国节点, 🌐 全部节点, 直连]}
- {name: 🇭🇰 香港节点, type: select, include-all: true, filter: "(?i)港|hk|hongkong|hong kong"}
- {name: 🇯🇵 日本节点, type: select, include-all: true, filter: "(?i)日|jp|japan"}
- {name: 🇸🇬 狮城节点, type: select, include-all: true, filter: "(?i)新加坡|坡|狮城|SG|Singapore"}
- {name: 🇺🇲 美国节点, type: select, include-all: true, filter: "(?i)美|us|unitedstates|united states"}
- {name: 🔯 香港故转, type: fallback, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"}
- {name: 🔯 日本故转, type: fallback, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$" }
- {name: 🔯 狮城故转, type: fallback, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(台|日|韩|深|美)).)*$"}
- {name: 🔯 美国故转, type: fallback, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|韩|新|日)).)*$" }
- {name: ♻️ 香港自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(港|HK|(?i)Hong))^((?!(台|日|韩|新|深|美)).)*$"}
- {name: ♻️ 日本自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(日|JP|(?i)Japan))^((?!(港|台|韩|新|美)).)*$" }
- {name: ♻️ 狮城自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(新加坡|坡|狮城|SG|Singapore))^((?!(港|台|韩|日|美)).)*$" }
- {name: ♻️ 美国自动, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "(?=.*(美|US|(?i)States|America))^((?!(港|台|日|韩|新)).)*$"}
- {name: ♻️ 自动选择, type: url-test, include-all: true, tolerance: 20, interval: 300, filter: "^((?!(直连)).)*$"}
- {name: 🌐 全部节点, type: select, include-all: true}
# 规则匹配
rules:
- RULE-SET,private_ip,直连,no-resolve
- RULE-SET,private_domain,直连
- DOMAIN-SUFFIX,qichiyu.com,🚀 默认代理
- RULE-SET,proxylite,🚀 默认代理
- RULE-SET,ai,🤖 ChatGPT
- RULE-SET,github_domain,👨🏿💻 GitHub
- RULE-SET,youtube_domain,📹 YouTube
- RULE-SET,google_domain,🍀 Google
- RULE-SET,onedrive_domain,🐬 OneDrive
- RULE-SET,microsoft_domain,🪟 Microsoft
- RULE-SET,apple_domain,直连
- RULE-SET,tiktok_domain,🎵 TikTok
- RULE-SET,telegram_domain,📲 Telegram
- RULE-SET,netflix_domain,🎥 NETFLIX
- RULE-SET,paypal_domain,💶 PayPal
- RULE-SET,apple_ip,直连
- RULE-SET,google_ip,🍀 Google
- RULE-SET,netflix_ip,🎥 NETFLIX
- RULE-SET,telegram_ip,📲 Telegram
- RULE-SET,cn_domain,直连
- RULE-SET,cn_ip,直连
- MATCH,🐟 漏网之鱼
# 规则集
## type:可选http/file/inline behavior:可选domain/ipcidr/classical format:可选yaml/text/mrs
rule-anchor:
ip: &ip {type: http, interval: 86400, behavior: ipcidr, format: mrs}
domain: &domain {type: http, interval: 86400, behavior: domain, format: mrs}
class: &class {type: http, interval: 86400, behavior: classical, format: text}
rule-providers:
private_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/private.mrs"}
proxylite: { <<: *class, url: "https://raw.githubusercontent.com/qichiyuhub/rule/refs/heads/main/proxy.list"}
ai: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/category-ai-!cn.mrs" }
youtube_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/youtube.mrs"}
google_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/google.mrs"}
github_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/github.mrs"}
telegram_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/telegram.mrs"}
netflix_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/netflix.mrs"}
paypal_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/paypal.mrs"}
onedrive_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/onedrive.mrs"}
microsoft_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/microsoft.mrs"}
apple_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/apple.mrs"}
speedtest_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/ookla-speedtest.mrs"}
tiktok_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/tiktok.mrs"}
geolocation-!cn: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/geolocation-!cn.mrs"}
cn_domain: { <<: *domain, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geosite/cn.mrs"}
private_ip: {<<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/private.mrs"}
cn_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/cn.mrs"}
google_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/google.mrs"}
telegram_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/telegram.mrs"}
netflix_ip: { <<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo/geoip/netflix.mrs"}
apple_ip: {<<: *ip, url: "https://raw.githubusercontent.com/MetaCubeX/meta-rules-dat/meta/geo-lite/geoip/apple.mrs"}
方法一
proxy-providers:
Airport1:
url: "http://192.168.10.42:3001/CKg2abstVnOeRpm1aB4G/download/DOG?target=ClashMeta"
type: http
interval: 86400
health-check:
enable: true
url: https://www.gstatic.com/generate_204
interval: 300
proxy: 直连
#override: // 中转节点
#dialer-proxy: 🇭🇰 香港节点
#payload: // 落地节点
#- {"name":"香港落地1", "type":"ss","server":"23.175.201.164","port":80,"cipher":"2022-blake3-aes-128-gcm","password":"UETm2mAIRiCaVJuIe1t0cA==","udp":true}
#- { name: "香港落地2", type: "ss" }
- 中转节点可以是策略组,即可以变化
- 落地节点是固定的
方法二
# 节点信息
proxies:
- name: "香港落地"
dialer-proxy: 🇭🇰 香港节点 # 节点信息里添加中转节点
type: ss
server: "23.175.201.164"
port: 80
cipher: "2022-blake3-aes-128-gcm"
password: "UETm2mAIRiCaVJuIe1t0cA=="
udp: true
难点: 当你的落地节点为策略组时,落地节点的信息要把 自己按节点 筛选出来;中转节点不能包含落地节点(形成回环)
方法三(更灵活)
使用 sub-store 的组合订阅,将 落地节点 作为一个节点,
# 节点信息
proxies:
- name: "香港落地"
dialer-proxy: 🇭🇰 香港节点 # 节点信息里添加中转节点
type: ss
server: "23.175.201.164"
port: 80
cipher: "2022-blake3-aes-128-gcm"
password: "UETm2mAIRiCaVJuIe1t0cA=="
udp: true
- name: "xxx"
dialer-proxy: hk 香港节点
dialer-proxy 的中转节点在 机场 配置文件里 一定要有
实战经验
坑1(复制链接的位置)
- clash-party
https://sub.ba.cln.com/cD7wiTGit2/download/collection/%E4%B8%93%E7%BA%BF%2B%E8%90%BD%E5%9C%B0?target=ClshMeta 点击组合节点中间 选择 mihomo 的订阅连接(如上),结果导致生成的 land 组只有一个 Compatible 节点,而非两个 land 节点。问ai 说这绝对不是正确节点,后面试了右侧出现的复制订阅连接的按钮(如下),还真成功了 https://sub.ba.cln.com/cD7wiTGit2/download/collection/%E4%B8%93%E7%BA%BF%2B%E8%90%BD%E5%9C%B0
按道理 clash-party 是 mihomo 类型的吧
经验总结
测试
看 clash 的节点速率测试,结果好像经常直连比 中转落地 低,是 DO 直连太吊了吗? 打算用更全面的测试
中转后

直连
