문서 설정 전송 계층 설정

전송 계층 설정

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읽기/쓰기 버퍼 크기(단위: 바이트)
seedAES-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 연결 풀 크기입니다.