VMess 아웃바운드 필드
이 페이지에서는 Clash 생태계 클라이언트의 proxies 배열에 포함되는 VMess 아웃바운드 필드를 설명하며 VMess 서버 문서를 대신하지 않습니다. 클라이언트의 인증, 전송 계층 및 TLS 매개변수는 서버와 항목별로 일치해야 합니다.
파싱 가능한 최소 노드는 일반 필수 필드와 VMess 필수 필드로 구성됩니다. UDP, TLS 또는 다른 전송 계층의 활성화 여부는 실제 서버 배포에 따라 달라집니다.
name필수- 같은 설정 안에서 중복될 수 없는 노드 이름입니다.
type필수- 고정값
vmess。 server필수- VMess 서버의 도메인 또는 IP 주소입니다.
port필수- 서버 수신 포트이며 서버와 일치해야 합니다.
인증, 버전 및 암호화 필드
uuid、alterId 및 cipher 은 모두 현재 필드 참고 자료에서 필수로 표시되어 있습니다. 서로 대체할 수 있는 인증 옵션이 아닙니다.
uuid필수- VMess 사용자 ID이며 서버에서 할당한 값을 사용해야 합니다.
alterId필수- 최신 설정에서는 일반적으로
0을 사용합니다. 영이 아닌 값은 이전 프로토콜 형태를 활성화하므로 서버에서 여전히 요구할 때만 사용할 수 있습니다. cipher필수- 사용 가능한 값은
auto、none、zero、aes-128-gcm또는chacha20-poly1305。 global-padding선택 사항- VMess 전역 패딩을 활성화해 추가 트래픽이 발생합니다. 서버 및 호환성 요구 사항과 무관하게 임의로 켜서는 안 됩니다.
authenticated-length선택 사항- 길이 블록 암호화를 제어하며 클라이언트와 서버의 기능이 일치해야 합니다.
UDP 및 패킷 인코딩
노드에서 UDP를 허용하는 것과 UDP 캡슐화 형식을 선택하는 것은 서로 다른 설정입니다. 두 필드 중 하나만 입력한다고 UDP 사용이 보장되지는 않습니다.
udp선택 사항- 범용 필드이며 기본값은
false입니다. UDP를 프록시해야 할 때는 다음 값으로 설정하고true서버도 이를 지원하는지 확인하세요. packet-encoding선택 사항- 비워 두면 원래 인코딩을 사용하며 선택 가능한 값은
packetaddr또는xudp입니다. 서버 구현과 호환되어야 합니다.
VMess 전송 계층 선택
network VMess를 전달할 전송 계층을 선택합니다. 입력하지 않거나 현재 코어가 인식하지 못하는 값을 입력하면 TCP로 처리되므로 잘못된 값이 직접 오류를 내는 대신 연결 시간 초과로 나타날 수 있습니다.
| network | 연계 필드 | 적용 설명 |
|---|---|---|
| tcp | 전용 opts 없음 | 기본 전송 계층 |
| ws | ws-opts | WebSocket 경로, Host 및 Early Data |
| http | http-opts | HTTP 메서드, 경로 및 요청 헤더 |
| h2 | h2-opts | HTTP/2 Host 및 경로 |
| grpc | grpc-opts | gRPC 서비스 이름 및 연결 매개변수 |
| mkcp | mkcp-opts | VMess에서만 지원하는 mKCP 전송 |
| mekya | mekya-opts | VMess에서만 지원하는 Mekya 전송 |
TLS, Reality 및 인증서 검증
TLS와 Reality는 전송 보안 계층에 있으며 VMess의 uuid、alterId 또는 cipher을 변경하지 않습니다. 일반 TLS, Reality 및 다른 TLS 전달 방식 중 서버에 맞는 설정을 선택해야 합니다.
tls선택 사항- 다음 값으로 설정하면
true로 설정하면 TLS를 활성화합니다. 서버에서 TLS를 사용하지 않으면 입력하지 마세요. servername선택 사항- VMess의 SNI 필드입니다. 비워 두면 일반적으로
server을 사용합니다. WebSocket 설정에 Host 요청 헤더가 있으면 현재 구현에서는 해당 Host를 SNI로 우선 사용합니다. alpn선택 사항- TLS 애플리케이션 계층 프로토콜 목록입니다. 순서와 사용 가능한 값은 서버 전송 계층과 일치해야 합니다.
client-fingerprint선택 사항- uTLS 클라이언트 지문(예:
chrome)이며 인증서 지문이 아닙니다. fingerprint선택 사항- 서버 인증서의 SHA-256 지문이며
client-fingerprint와는 의미가 다릅니다. reality-opts선택 사항- 값이 비어 있지 않으면 Reality를 활성화합니다. 최소한
public-key및short-id을 확인하고tls: true、servername와 함께 서버 설정에 맞춰 입력하세요. skip-cert-verify주의- TLS 인증서 검증을 건너뛰면 신원 확인 기능이 약해지므로 장기적인 문제 해결 방식으로 사용해서는 안 됩니다.
WebSocket 및 TLS 설정 예시
아래 예시는 VMess, WebSocket 및 TLS 필드 계층만 보여 줍니다. 도메인, 경로, UUID 및 인증서 이름은 모두 서버에서 제공한 값으로 바꿔야 합니다.
proxies:
- name: vmess-ws-tls
type: vmess
server: edge.example.com
port: 443
uuid: 00000000-0000-0000-0000-000000000001
alterId: 0
cipher: auto
udp: true
packet-encoding: xudp
tls: true
servername: origin.example.com
network: ws
ws-opts:
path: /vmess
headers:
Host: origin.example.com자주 발생하는 설정 불일치
VMess가 연결되지 않으면 여러 필드를 동시에 바꾸지 말고 서버 설정과 하나씩 대조하세요.
- 설정에서
network값을xhttp또는 지원되지 않는 다른 값으로 입력하면 현재 코어가 TCP로 처리해 서버 전송 계층과 일치하지 않게 됩니다. - 최신 서버는 다음을 요구하지만
alterId: 0클라이언트가 이전 구독의 영이 아닌 값을 그대로 사용하고 있습니다. - WebSocket의
path또는Host이 리버스 프록시 규칙과 일치하지 않습니다. - TLS를 활성화한 뒤
servername을 노드 IP로 입력해 인증서 이름이나 Reality 대상이 일치하지 않습니다.
