文档 配置 传输层配置

传输层配置

VMess/VLESS/Trojan 等协议可以选择不同的底层传输方式(network),每种传输方式有各自的 *-opts 配置块。

ws-opts(WebSocket)

config.yaml YAML
network: ws
ws-opts:
  path: /path
  headers:
    Host: example.com
  v2ray-http-upgrade: false

path 请求路径;headers 请求头;max-early-data/early-data-header-name 配置 Early Data 首包长度阈值;v2ray-http-upgrade/v2ray-http-upgrade-fast-open 使用 HTTP Upgrade 方式建立连接(部分 CDN 环境需要)。

grpc-opts

config.yaml YAML
network: grpc
grpc-opts:
  grpc-service-name: example

grpc-service-name gRPC 服务名称;ping-interval 心跳间隔(秒),默认关闭;max-connections 最大连接数默认 1(只用一条底层连接);min-streams/max-streams 控制单条连接内的流数量,三者两两冲突,按需选一种策略。Mihomo 的 H2 传输层未实现多路复用,需要多路复用更建议用 gRPC 或 sing-mux(见通用字段的 smux)。

h2-opts / http-opts

config.yaml YAML
network: http
http-opts:
  method: "GET"
  path:
    - '/'
    - '/video'
  headers:
    Connection:
      - keep-alive

h2-optshost 是主机域名列表(客户端随机选,服务端负责校验),path 是请求路径。

mkcp-opts

目前仅 VMess 支持 mKCP 传输层,请勿在其他协议上使用。

字段说明
mtu / tti最大传输单元 / 传输时间间隔(毫秒)
uplink-capacity / downlink-capacity上/下行容量,单位 MB/s
congestion是否启用拥塞控制
write-buffer / read-buffer读写缓冲区大小,单位字节
seed启用 AES-GCM 认证时使用的种子,留空使用默认认证
header伪装包头,可选 none/srtp/utp/wechat-video/dtls/wireguard

xhttp-opts

目前仅 VLESS 支持 xhttp 传输层。默认仅支持 h2 模式,开启 h3 需要设置 alpn: [h3],开启 HTTP/1.1 需要设置 alpn: [http/1.1]

config.yaml YAML
network: xhttp
xhttp-opts:
  path: "/"
  host: xxx.com
  # mode: "stream-one" # 可选 stream-one / stream-up / packet-up
  # x-padding-bytes: "100-1000"
  # reuse-settings:     # 即 XMUX 链接复用
  #   max-concurrency: "16-32"

字段较多,核心是 path/host(请求路径与主机名)、mode(流模式)、一批 x-padding-* 填充混淆参数,以及 reuse-settings(即 XMUX 链接复用设置,控制单条底层连接可承载多少并发请求)。没有特殊 CDN 兼容需求的话,保持默认值即可。

mekya-opts

目前仅 VMess 支持 Mekya 传输层。

基于 HTTP 的轮询传输,内部包含一份 KCP 参数(字段含义同上面的 mkcp-opts)。核心字段:url 服务端地址、max-write-delay 首包后最大聚合等待时间(毫秒)、max-request-size 单次 HTTP 请求最大负载(字节)、h2-pool-size HTTP/2 连接池大小。