전송 계층 설정
VMess/VLESS/Trojan 등의 프로토콜은 서로 다른 하위 전송 방식(network)을 선택할 수 있으며, 각 전송 방식마다 별도의 *-opts 설정 블록이 있습니다.
ws-opts(WebSocket)
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
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
network: http http-opts: method: "GET" path: - '/' - '/video' headers: Connection: - keep-alive
h2-opts의 host는 호스트 도메인 목록입니다(클라이언트가 무작위로 선택하며 서버가 검증을 담당). 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]을 설정해야 합니다.
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 연결 풀 크기입니다.