사용자 식별자와 시간 검증을 사용하는 프로토콜
VMess는 Project V 생태계에서 초기에 널리 사용된 프록시 프로토콜로, 노드에는 보통 사용자 식별자, 주소, 포트 및 전송 매개변수가 포함됩니다. 클라이언트와 서버의 시간 차이에 민감하므로 기기 시간이 잘못되면 인증에 실패할 수 있습니다. VMess와 WebSocket, TCP 같은 전송 방식은 서로 다른 계층의 개념이므로 가져온 뒤에도 전송 필드를 계속 확인해야 합니다.
CONFIGURATION GLOSSARY
이 페이지에서는 클라이언트 화면과 노드 정보에 등장하는 핵심 용어를 나누어 설명합니다. 각 항목은 먼저 중국어 주석을 제시한 뒤 설정에서의 위치, 인접 개념과의 차이, 매개변수 확인 시 주의할 범위를 안내합니다.
PROTOCOL & SECURITY
프로토콜은 인증 정보와 데이터 캡슐화 방식을 정의하고, 보안 계층은 전송 과정을 보호합니다. 클라이언트에서 프로토콜 이름이 같다고 해서 다른 매개변수까지 서로 호환되는 것은 아닙니다.
VMess는 Project V 생태계에서 초기에 널리 사용된 프록시 프로토콜로, 노드에는 보통 사용자 식별자, 주소, 포트 및 전송 매개변수가 포함됩니다. 클라이언트와 서버의 시간 차이에 민감하므로 기기 시간이 잘못되면 인증에 실패할 수 있습니다. VMess와 WebSocket, TCP 같은 전송 방식은 서로 다른 계층의 개념이므로 가져온 뒤에도 전송 필드를 계속 확인해야 합니다.
VLESS는 비교적 간소화된 프로토콜 구조를 사용하며, 일반적으로 완전한 전송 암호화 기능 자체를 담당하지 않습니다. 실제 노드에서는 VLESS를 TLS, REALITY 또는 XTLS Vision과 조합하는 경우가 많고, 보안 기능은 해당 계층이 제공합니다. VLESS 노드를 확인할 때는 사용자 식별자, 전송 방식, 보안 유형 및 흐름 제어 필드를 함께 살펴봐야 합니다.
Trojan은 일반적으로 비밀번호로 클라이언트를 인증하고 TLS 위에 연결을 설정합니다. 노드의 비밀번호, 서버 이름, 포트 및 인증서 관련 설정은 서로 일치해야 합니다. VLESS와 인증 필드가 다르므로 프로토콜 드롭다운만 바꾸고 기존 매개변수를 그대로 사용할 수는 없습니다.
REALITY는 Xray 체계의 보안 전송 방식으로, VLESS 및 XTLS Vision과 함께 사용되는 경우가 많습니다. 클라이언트에는 보통 서버 이름, 공개 키, 짧은 식별자 및 지문 등의 매개변수가 필요하며, 노드 정보에 따라 하나씩 입력해야 합니다. REALITY는 독립적인 클라이언트 이름이 아니며 노드의 프로토콜 유형을 대신할 수도 없습니다.
TLS는 연결 내용을 보호하고 통신 끝점을 검증하며, 웹의 HTTPS도 이 프로토콜군을 기반으로 합니다. V2Ray 설정에서 TLS는 보통 전송 보안 옵션으로 표시되고 서버 이름 및 인증서 도메인 등의 정보와 연결됩니다. 프로토콜 필드와 TLS 필드는 서로 다른 계층이므로 하나를 활성화했다고 다른 하나가 자동으로 맞춰지는 것은 아닙니다.
CORE & CLIENT
코어는 설정을 해석하고 연결을 수립하며 라우팅을 실행합니다. 클라이언트는 코어 위에서 구독 관리, 노드 선택 및 시스템 설정 화면을 제공합니다.
Project V는 프록시 프로토콜, 전송 및 라우팅 기능을 중심으로 형성된 오픈 소스 기술 생태계이며, V2Ray는 그중 중요한 프로젝트입니다. 일상적인 문맥에서 “V2Ray”는 코어를 뜻하기도 하고, 관련 설정과 호환되는 클라이언트를 통칭하기도 합니다. 문서를 읽을 때는 문맥에 따라 프로토콜 체계, 코어 또는 그래픽 클라이언트 중 무엇을 가리키는지 판단해야 합니다.
V2Fly는 V2Ray의 커뮤니티 유지 노선을 이어가며, 일반적인 설정은 인바운드, 아웃바운드, 라우팅 및 DNS 등의 모듈로 구성됩니다. Xray와 많은 기본 개념을 공유하지만 지원하는 프로토콜 확장과 필드는 다를 수 있습니다. 설정을 이전할 때는 대상 코어가 실제로 지원하는 옵션을 기준으로 해야 합니다.
Xray는 V2Ray 설정 체계와 많은 구조를 공유하면서 VLESS, XTLS Vision, REALITY 등의 기능을 확장했습니다. 많은 클라이언트가 Xray 매개변수를 화면에서 감싸 제공하므로 사용자가 완전한 JSON을 직접 편집할 필요는 없습니다. 필드를 인식하지 못한다면 먼저 클라이언트가 현재 사용하는 코어 유형을 확인해야 합니다.
v2rayN은 Windows, macOS 및 Linux를 대상으로 하며 구독 업데이트, 노드 관리, 라우팅 모드 및 시스템 프록시 진입점을 제공합니다. 관리 화면일 뿐 VMess 또는 VLESS 프로토콜 자체는 아닙니다. 설정 사용 가능 여부는 포함된 코어, 노드 매개변수 및 로컬 네트워크 설정에도 좌우됩니다.
v2rayNG는 Android 그래픽 클라이언트로, 일반적으로 Xray 코어를 사용해 노드 연결과 라우팅을 처리합니다. 구독을 가져오면 노드 정보를 화면의 서버 항목으로 변환합니다. 노드 선택은 현재 설정을 지정하는 것일 뿐이며, 연결을 시작한 뒤 실제 요청으로 상태를 확인해야 합니다.
v2flyNG는 V2Fly 코어 노선을 사용하며 해당 코어의 동작과 설정 호환성이 필요한 환경에 적합합니다. v2rayNG와 화면 개념은 비슷하지만 하위 코어는 다릅니다. 클라이언트를 선택할 때는 구독의 프로토콜 유형과 전송 매개변수를 지원하는지를 기준으로 판단해야 합니다.
SUBSCRIPTION & NODE
구독은 여러 노드를 일괄 업데이트하고, 노드는 하나의 구체적인 연결을 담당합니다. 속도 측정 결과는 측정 시점의 상태만 보여주므로 프로토콜과 매개변수 확인을 대신할 수 없습니다.
구독은 서버가 노드 목록을 일괄 제공하는 업데이트 방식으로, 클라이언트가 구독 주소를 저장하면 내용을 직접 가져올 수 있습니다. 구독 주소를 추가하는 것과 구독을 업데이트하는 것은 별개의 작업이므로 주소만 추가하면 노드 목록이 비어 있을 수 있습니다. 구독을 업데이트하면 기존 노드 이름과 매개변수가 바뀔 수도 있으므로 수동으로 수정하기 전에 이후 업데이트가 덮어쓸지 확인해야 합니다.
노드는 클라이언트에 저장되는 하나의 완전한 원격 연결 설정으로, 보통 프로토콜, 서버 주소, 포트, 인증 정보 및 전송 설정을 포함합니다. 하나의 구독에 여러 노드가 포함될 수 있으며 노드마다 프로토콜과 회선 상태가 다를 수 있습니다. 노드 이름은 식별용 라벨일 뿐 실제 속도나 사용 가능 상태를 판단하는 기준은 아닙니다.
공유 링크는 프로토콜 접두사로 하나의 노드 매개변수를 감싸며, vmess://, vless://, trojan://으로 시작하는 형식이 대표적입니다. 클라이언트는 링크의 주소, 포트, 사용자 정보 및 쿼리 매개변수를 해석합니다. 복사할 때 마지막 문자가 빠지거나 줄바꿈으로 잘리면 가져온 설정이 완전하지 않을 수 있습니다.
Base64는 내용을 인쇄 가능한 문자 집합으로 변환해 구독 본문이나 공유 텍스트에 넣기 쉽게 합니다. 이는 인코딩 방식이지 암호화가 아니며, 노드가 어떤 보안 프로토콜을 사용하는지도 나타내지 않습니다. 클라이언트는 가져올 때 보통 자동으로 인식하고 디코딩하지만, 직접 편집하면 원래 구조가 손상되기 쉽습니다.
지연 시간은 데이터를 보낸 뒤 응답을 받을 때까지 걸리는 시간입니다. 하지만 테스트 버튼마다 사용하는 방식이 다를 수 있습니다. 네트워크 탐색, TCP 연결 수립 및 실제 프록시 요청으로 측정한 값은 직접 비교할 수 없습니다. 노드를 판단할 때는 한 번의 결과만 보지 말고 연속 요청의 안정성도 함께 확인해야 합니다.
실제 연결 지연 시간은 프록시 연결을 실제로 수립하고 대상 요청을 완료하는 데 걸린 시간을 측정하므로 프로토콜 핸드셰이크와 전송 계층을 거칩니다. 단순한 네트워크 탐색보다 일상적인 접속 환경에 가깝습니다. 테스트 실패는 해당 완전한 요청이 끝나지 않았다는 뜻이므로, 로그를 통해 매개변수 오류인지 노드 상태인지 로컬 설정 문제인지 추가로 판단해야 합니다.
TRANSPORT SETTINGS
전송 계층은 프록시 데이터가 네트워크 연결에서 어떻게 전달되는지 설명합니다. 클라이언트와 서버의 전송 유형, 경로, 서비스 이름 및 보안 매개변수는 서로 대응해야 합니다.
streamSettings는 V2Ray JSON 설정에서 하위 전송 및 보안 계층을 설명하는 필드 모음입니다. 네트워크 유형, 보안 유형, WebSocket, gRPC, TLS 또는 REALITY의 세부 매개변수가 포함될 수 있습니다. 연결을 점검할 때는 protocol만 보지 말고 이 설정 모음을 노드 정보와 항목별로 대조해야 합니다.
TCP는 연결 지향형 신뢰성 전송 프로토콜이며, 여러 프록시 프로토콜에서 선택할 수 있는 하위 전달 방식입니다. 화면에 TCP가 표시되면 프록시 데이터가 직접 또는 추가 헤더를 거쳐 TCP 연결로 전송된다는 뜻입니다. 이는 노드의 VMess, VLESS 또는 Trojan 프로토콜 유형과는 별개의 필드입니다.
WebSocket은 HTTP 연결 업그레이드 메커니즘을 통해 지속적인 양방향 통신을 설정하며, 설정에서는 흔히 ws로 줄여 씁니다. 노드에서 경로와 호스트 필드를 동시에 요구할 수 있으며, 이 값은 서버 진입점과 일치해야 합니다. 경로의 슬래시, 대소문자 및 추가 문자는 모두 실제 매개변수의 일부입니다.
gRPC는 HTTP/2 위에서 동작하는 원격 호출 및 스트리밍 전송 방식입니다. V2Ray 노드에서는 서비스 이름으로 서비스 진입점을 구분하는 경우가 많으며, 클라이언트와 서버의 입력값이 일치해야 합니다. gRPC와 WebSocket은 하나의 전송 필드에서 임의로 서로 바꿔 사용할 수 없습니다.
SNI는 TLS 핸드셰이크에서 대상 서버 이름을 지정하는 정보이며, 클라이언트 화면에서는 serverName으로 표시되기도 합니다. 이 값은 보통 노드 표시 이름이 아닌 도메인이며 보안 계층 설정과 일치해야 합니다. 잘못 입력하면 TLS 또는 REALITY 핸드셰이크가 예상대로 완료되지 않을 수 있습니다.
ROUTING & SPLIT
라우팅 시스템은 요청의 특성을 읽고 아웃바운드를 선택합니다. 시스템 프록시와 TUN은 트래픽이 클라이언트로 들어오는 방식을 결정하고, 분할 규칙은 유입된 트래픽을 어느 출구로 보낼지 결정합니다.
라우팅 규칙은 도메인, IP 주소, 포트, 네트워크 유형 또는 프로토콜 등의 조건에 따라 아웃바운드를 선택합니다. 여러 규칙이 있으면 배열 순서와 일치 방식이 최종 결과에 영향을 줍니다. 규칙을 수정한 뒤에는 프록시 대상과 직접 연결 대상을 각각 테스트해 두 요청이 모두 예상한 경로로 들어가는지 확인해야 합니다.
트래픽 분할은 서로 다른 요청을 프록시, 직접 연결 또는 차단 등의 아웃바운드로 처리하는 설정 방법입니다. 일반적인 기준으로는 도메인 범주, IP 범위 및 앱이 생성한 대상 주소가 있습니다. 분할은 노드 프로토콜을 바꾸지 않고 특정 요청이 해당 노드를 사용할지만 결정합니다.
GeoIP는 IP 주소가 속한 지역 또는 네트워크 범위별로 데이터를 정리하며, 라우팅 규칙의 일치 조건으로 사용할 수 있습니다. 이는 해석된 주소를 대상으로 하며 웹페이지 제목이나 노드 이름을 기준으로 하지 않습니다. 데이터에는 업데이트 주기가 있으므로 분류 결과는 현재 규칙 파일과 함께 해석해야 합니다.
GeoSite는 도메인을 용도나 범주별 집합으로 정리하며, 라우팅 규칙에서 집합 이름을 직접 참조할 수 있습니다. 도메인을 하나씩 관리하는 수고를 줄여주지만 분류 태그의 구체적인 내용은 클라이언트가 사용하는 데이터 버전에 따라 달라집니다. GeoSite는 도메인을, GeoIP는 주소를 매칭하며 두 가지를 함께 사용할 수도 있습니다.
시스템 프록시는 클라이언트의 로컬 수신 주소를 운영체제 프록시 설정에 기록해, 해당 설정을 따르는 앱의 요청을 클라이언트로 전달합니다. 일부 앱은 자체 네트워크 설정을 사용하므로 시스템 프록시의 적용 범위는 일정하지 않습니다. 클라이언트를 종료하기 전에 시스템 프록시 상태를 복원하면 앱이 중지된 로컬 포트를 계속 가리키는 일을 막을 수 있습니다.
TUN 모드는 가상 네트워크 인터페이스를 통해 시스템 트래픽을 수신하며, 일반적인 시스템 프록시보다 적용 범위가 넓은 경우가 많습니다. 라우팅 테이블, DNS 및 로컬 네트워크 권한과 관련되므로 활성화 후 점검 범위도 넓어집니다. 시스템 프록시는 작동하지만 TUN에 문제가 있다면 가상 인터페이스 상태, DNS 설정 및 분할 규칙을 따로 확인해야 합니다.
FakeDNS는 도메인에 임시 예약 주소를 할당하고 클라이언트 내부에 도메인과 주소의 대응 관계를 저장합니다. 이후 트래픽이 해당 주소에 도달하면 클라이언트가 도메인을 복원해 도메인 라우팅을 계속 적용할 수 있습니다. TUN, DNS 및 라우팅 설정과 함께 사용해야 하며 일반 공용 DNS 주소가 아닙니다.
DNS 유출은 도메인 조회가 예상한 해석 경로로 들어가지 않아 조회 출구와 트래픽 라우팅 정책이 서로 달라지는 현상입니다. 주요 점검 항목은 시스템 DNS, 클라이언트 DNS, 브라우저 자체 설정 및 TUN 인계 상태입니다. 처리할 때는 먼저 조회를 직접 연결로 보낼지 프록시로 보낼지 정한 뒤 관련 규칙을 일관되게 맞춰야 합니다.