Github 有大佬写了 Xray 的 xhttp 五合一配置服务端和客户端
经过折腾,我终于在 mihomo 客户端也点亮五个节点了 😋
注意 mihomo 内核版本必须大于或等于 v1.19.22
配置如下
经过折腾,我终于在 mihomo 客户端也点亮五个节点了 😋
注意 mihomo 内核版本必须大于或等于 v1.19.22
配置如下
proxies:
# 1. XTLS(Vision)+Reality 直连
- name: "出站1-XTLS+Reality"
type: vless
server: "<VPS_IPV4>" # VPS 的 IP 或域名
port: 443
uuid: "YOUR_UUID_01"
encryption: "none"
flow: xtls-rprx-vision
network: tcp
tls: true
alpn: [h2]
servername: "reality.com" # Reality 伪装域名 (SNI)
client-fingerprint: chrome
reality-opts:
public-key: "YOUR_PUB_KEY"
short-id: "YOUR_SHORT_ID"
# 2. xhttp+Reality 直连
- name: "出站2-xhttp+Reality"
type: vless
server: "<VPS_IPV4>" # VPS 的 IP 或域名
port: 443
uuid: "YOUR_UUID_02"
encryption: "none"
flow: ""
network: xhttp
tls: true
alpn: [h2]
servername: "reality.com" # Reality 伪装域名 (SNI)
client-fingerprint: chrome
reality-opts:
public-key: "YOUR_PUB_KEY"
short-id: "YOUR_SHORT_ID"
xhttp-opts:
path: /xhttp_path # 必须与服务端配置的 path 一致
mode: auto # Reality 模式下 auto 会自动选择 stream-one
# host: "reality.com" # 直连时可省略,默认继承 servername
# 3. 上行 xhttp+TLS+CDN | 下行 xhttp+Reality
- name: "出站3-cdn上行+xhttp下行"
type: vless
server: x.x.x.x # CDN / 优选 IP / CNAME 域名 (上行连接地址)
port: 443
uuid: "YOUR_UUID_02"
encryption: "none"
flow: ""
network: xhttp
tls: true # 上行走 TLS+CDN
alpn: [h2]
servername: "cdn.com" # 写你套 CDN 对应的子域名,CDN 通过它回源服务器 (SNI)
client-fingerprint: chrome
skip-cert-verify: true
xhttp-opts:
host: "cdn.com" # CDN 转发所需的 HTTP Host,与 servername 保持相同
path: /xhttp_path
mode: auto # CDN 模式下 auto 会自动选择 stream-up (H2)
download-settings: # 下行设置
server: "<VPS_IPV4>" # 下行地址 (VPS 直连)
port: 443
servername: "reality.com" # Reality 伪装域名 (SNI)
reality-opts:
public-key: "YOUR_PUB_KEY"
short-id: "YOUR_SHORT_ID"
# host 继承自外层或省略;mode 强制继承外层
# 4. xhttp+TLS+CDN (上下行不分离)
- name: "出站4-cdn上下行"
type: vless
server: x.x.x.x # CDN / 优选 IP / CNAME 域名
port: 443
uuid: "YOUR_UUID_02"
encryption: "none"
flow: ""
network: xhttp
tls: true
alpn: [h2]
servername: "cdn.com" # 写你套 CDN 对应的子域名,CDN 通过它回源服务器 (SNI)
client-fingerprint: chrome
skip-cert-verify: true
xhttp-opts:
host: "cdn.com" # CDN 转发所需的 HTTP Host,与 servername 保持相同
path: /xhttp_path
mode: auto
# 5. 上行 xhttp+Reality | 下行 xhttp+TLS+CDN
- name: "出站5-上xhttp+Reality下xhttp+TLS+CDN"
type: vless
server: "<VPS_IPV4>" # 上行地址 (VPS 直连)
port: 443
uuid: "YOUR_UUID_02"
encryption: "none"
flow: ""
network: xhttp
tls: true
alpn: [h2]
servername: "reality.com" # Reality 伪装域名 (SNI)
client-fingerprint: chrome
skip-cert-verify: true
reality-opts:
public-key: "YOUR_PUB_KEY"
short-id: "YOUR_SHORT_ID"
xhttp-opts:
host: "cdn.com" # CDN 转发所需的 HTTP Host,与 servername 保持相同
path: /xhttp_path
mode: auto
download-settings:
path: /xhttp_path
host: "" # host 继承自外层或省略;mode 强制继承外层
server: x.x.x.x # CDN / 优选 IP / CNAME 域名 (下行连接地址)
port: 443
tls: true
alpn: [h2]
servername: "cdn.com" # 写你套 CDN 对应的子域名,CDN 通过它回源服务器 (SNI)
client-fingerprint: chrome
skip-cert-verify: true
reality-opts: { public-key: "" }
# 如果 download-settings 里的 reality-opts 为空,它会自动继承最外层的 Reality 公钥
# 导致下行连接虽然是去连 CDN,却带上了 Reality 的握手信息,CDN 识别不了 Reality,直接就把连接掐断了
# 所以必须在这里写一个 reality-opts: { public-key: "" } 来强制覆盖掉外层配置