프록시 프로토콜 · Clash 문서

VLESS

현재 Mihomo 필드를 기준으로 Clash 생태계의 VLESS 아웃바운드를 설정하고 UUID, Vision, VLESS Encryption, Reality, UDP, 전송 계층의 차이를 구분합니다.

  • uuid
  • encryption
  • Vision
  • Reality
  • UDP
프록시 프로토콜

VLESS 아웃바운드 필드

이 페이지에서는 Clash 생태계 클라이언트의 proxies 배열의 VLESS 아웃바운드 필드입니다. VLESS의 사용자 인증, 흐름 제어, 프로토콜 암호화, 전송 계층 및 TLS 보안 계층은 서로 다른 수준이므로 한 필드로 다른 수준을 추론할 수 없습니다.

최소 설정에는 일반 필수 필드와 uuidflowencryption만 포함됩니다. TLS, Reality, UDP 및 TCP 이외의 전송 계층은 서버의 실제 설정에 따라 추가해야 합니다.

name필수
같은 설정 안에서 중복될 수 없는 노드 이름입니다.
type필수
고정값 vless이며 VLESS를 지원하는 최신 코어를 사용해야 합니다.
server필수
VLESS 서버의 도메인 또는 IP 주소입니다.
port필수
서버 수신 포트이며 서버와 일치해야 합니다.
uuid필수
VLESS 사용자 ID이며 서버에서 할당한 값을 사용해야 합니다.

Flow 및 XTLS Vision

flow VLESS 하위 프로토콜을 선택합니다. 현재 필드 참고 자료에는 xtls-rprx-vision만 나와 있으며 입력하지 않으면 해당 흐름 제어를 사용하지 않습니다.

flow선택 사항
현재 사용 가능한 값은 xtls-rprx-vision이며 서버 사용자 설정과 일치해야 합니다.
xtls-rprx-vision흐름 제어
Vision은 TLS 또는 Reality를 자동으로 활성화하지 않으며 다음 항목을 대신하지도 않습니다: uuid 또는 encryption

VLESS Encryption

encryption 은 VLESS 프로토콜 계층의 선택적 암호화 설정이며 VMess의 cipher가 아닙니다. TLS 또는 Reality를 자동으로 활성화하지도 않습니다. 현재 공식 기본 예시에서는 빈 문자열을 사용하며 이는 새로운 VLESS Encryption 매개변수를 활성화하지 않는다는 뜻입니다.

활성화할 때는 서버에서 생성해 전달한 전체 문자열을 그대로 사용해야 합니다. 이 문자열에는 알고리즘, 작동 모드, 핸드셰이크 모드, 선택적 패딩 및 키 자료가 포함되며 클라이언트와 서버를 한 쌍으로 설정해야 합니다.

encryption서버 설정 기준
새 방식을 활성화하지 않은 경우 공식 예시의 빈 문자열을 사용하세요. 서버가 활성화했다면 완전히 일치하는 값을 입력해야 합니다.
mlkem768x25519plus알고리즘
현재 문서에서 제시하는 하이브리드 키 교환 방식의 식별자이며 기록되지 않은 알고리즘 이름으로 직접 바꾸면 안 됩니다.
native / xorpub / random세 가지 중 하나
작동 모드는 하나만 선택할 수 있으며 nativexorpub 는 Vision과 함께 사용할 때 Splice를 사용할 수 있습니다.
1rtt / 0rtt두 가지 중 하나
핸드셰이크 모드는 하나만 선택할 수 있습니다. 0-RTT 재사용은 서버의 ticket 설정에도 영향을 받습니다.
vless-x25519생성 명령
다음을 사용해 mihomo generate vless-x25519 X25519 관련 자료를 생성하고 임의로 만들지 마세요.
vless-mlkem768생성 명령
다음을 사용해 mihomo generate vless-mlkem768 ML-KEM-768 관련 자료를 생성합니다.
padding1-RTT 전용
패딩 매개변수는 1-RTT에만 적용되며 생략할 수 있습니다. 첫 구간의 패딩 확률은 100%이고 최소 35바이트여야 합니다.

UDP 및 패킷 인코딩

udp 노드를 통한 UDP 허용 여부를 제어하고,packet-encoding VLESS의 UDP 캡슐화 방식을 제어합니다. 서로 다른 필드입니다.

udp선택 사항
범용 필드이며 기본값은 false입니다. UDP를 프록시해야 할 때는 다음 값으로 설정하고 true서버도 이를 지원하는지 확인하세요.
packet-encoding선택 사항
현재 VLESS 구현은 비워 두면 기본적으로 xudp을 사용하며 다음 값을 명시적으로 입력할 수도 있습니다: packetaddr 또는 xudp입니다. 서버 구현과 호환되어야 합니다.

TLS, Reality 및 인증서 필드

TLS와 Reality는 전송 보안 계층에 있습니다.reality-opts 값이 비어 있지 않으면 Reality를 활성화하며 tls 도 동시에 다음 값으로 설정해야 합니다: true그렇지 않으면 현재 코어가 노드 생성을 거부합니다.

tlsReality 사용 시 필수
다음 값으로 설정하면 true 로 설정하면 TLS를 활성화합니다. 다음 항목을 입력했다면 reality-opts 도 함께 활성화해야 합니다.
servername선택 사항
VLESS의 SNI 필드입니다. 비워 두면 일반적으로 server을 사용합니다. WebSocket 설정에 Host 요청 헤더가 있으면 현재 구현에서는 해당 Host를 SNI로 우선 사용합니다.
alpn선택 사항
TLS 애플리케이션 계층 프로토콜 목록이며 선택한 전송 계층과 서버에 일치해야 합니다.
client-fingerprint선택 사항
uTLS 클라이언트 지문(예: chrome이며 인증서 지문이 아닙니다.
fingerprint선택 사항
서버 인증서의 SHA-256 지문이며 client-fingerprint 와는 의미가 다릅니다.
reality-opts.public-keyReality
서버 Reality 개인 키에 해당하는 공개 키입니다.
reality-opts.short-idReality
서버에서 허용하는 short ID 중 하나를 입력합니다.
reality-opts.support-x25519mlkem768선택 사항
X25519-MLKEM768 키 교환 지원을 선언할 때 사용하며 서버도 이를 지원해야 합니다.
skip-cert-verify주의
인증서 검증을 건너뛰면 신원 확인 기능이 약해지므로 장기적인 문제 해결 방식으로 사용해서는 안 됩니다.

VLESS 전송 계층 선택

다음을 입력하지 않거나 network 지원되지 않는 값을 입력하면 현재 코어가 TCP로 처리합니다. 해당 *-opts 은 이 network 을 선택했을 때만 적용됩니다.

현재 VLESS 전송 계층 값
network연계 필드적용 설명
tcp전용 opts 없음기본 전송 계층, Vision과 함께 사용 가능
wsws-optsWebSocket 경로, Host 및 Early Data
httphttp-optsHTTP 메서드, 경로 및 요청 헤더
h2h2-optsHTTP/2 Host 및 경로
grpcgrpc-optsgRPC 서비스 이름 및 연결 매개변수
xhttpxhttp-optsVLESS에서만 지원하는 XHTTP 전송
xhttp-opts.path서버 설정 기준
XHTTP 요청 경로이며 서버나 리버스 프록시 라우팅과 일치해야 합니다.
xhttp-opts.host서버 설정 기준
XHTTP Host는 servername 와 역할이 다르므로 서버 배포에 맞춰 입력하세요.
xhttp-opts.mode선택 사항
사용 가능 autostream-onestream-up 또는 packet-up

Reality 및 Vision 설정 예시

이 예시는 VLESS, Reality 및 Vision의 필드 계층을 보여 줍니다. 여기서는 encryption 에 빈 문자열을 유지하며, 이는 새로운 VLESS Encryption 매개변수를 활성화하지 않는다는 뜻입니다.

  • VMess의 alterId 또는 cipher 을 VLESS 노드에 입력하지 마세요.
  • 서버에서 VLESS Encryption을 활성화했는데 클라이언트에서 계속 빈 문자열을 사용하면 설정이 일치하지 않습니다.
  • flow: xtls-rprx-vision, TLS 및 Reality는 서로 독립된 세 가지 설정 항목이므로 각각 확인해야 합니다.
  • XHTTP의 경로, Host, 모드 또는 ALPN이 서버와 일치하지 않으면 연결 설정에 실패할 수 있습니다.
YAML
proxies:
  - name: vless-reality-vision
    type: vless
    server: 203.0.113.10
    port: 443
    uuid: 00000000-0000-0000-0000-000000000001
    udp: true
    packet-encoding: xudp
    flow: xtls-rprx-vision
    encryption: ""
    tls: true
    servername: cover.example.com
    client-fingerprint: chrome
    reality-opts:
      public-key: your-public-key
      short-id: your-short-id
    network: tcp