VMess
Project V 생태계의 프록시 프로토콜로, 사용자 ID를 인증에 사용하며 기존 설정이나 구독에서 자주 볼 수 있습니다. 연결하려면 서버 주소와 포트, 전송 방식, 보안 매개변수도 일치해야 합니다. 사용자 ID만으로는 충분하지 않습니다. 인증 오류가 발생하면 가져온 설정뿐 아니라 기기의 시간도 확인하세요. 시간 오차가 인증에 영향을 줄 수 있습니다.
설정 참고 · 용어 25개
프로토콜, 코어, 구독, 라우팅, DNS를 설정 계층별로 확인하세요.
먼저 용어가 어떤 계층을 가리키는지 파악한 다음 해당 설정을 변경하세요. 프로토콜은 연결 규약을 정하고, 코어는 네트워크 처리를 수행하며, 클라이언트는 조작 화면을 제공합니다. 서로 대체할 수 없습니다. 각 용어 제목에는 개별 링크가 있어 저장하거나 공유할 수 있습니다.
하나의 프로토콜을 여러 전송 방식과 조합할 수 있습니다. 설정을 가져온 뒤에는 프로토콜 이름만 보지 말고 전체 매개변수를 기준으로 호환성을 확인하세요.
Project V 생태계의 프록시 프로토콜로, 사용자 ID를 인증에 사용하며 기존 설정이나 구독에서 자주 볼 수 있습니다. 연결하려면 서버 주소와 포트, 전송 방식, 보안 매개변수도 일치해야 합니다. 사용자 ID만으로는 충분하지 않습니다. 인증 오류가 발생하면 가져온 설정뿐 아니라 기기의 시간도 확인하세요. 시간 오차가 인증에 영향을 줄 수 있습니다.
사용자 ID로 인증하는 경량 프록시 프로토콜이며, 프로토콜 자체는 페이로드를 암호화하지 않습니다. 실제 배포에서는 보통 TLS나 REALITY 같은 보안 설정과 함께 사용하며, 프로토콜 이름을 암호화 방식으로 오해해서는 안 됩니다. 노드를 수정할 때는 전송, 보안, 흐름 제어 옵션을 서버에서 제공한 매개변수에 맞추세요. 다른 설정을 참고해 값을 추측해서 입력하지 마세요.
일반적으로 TLS와 함께 사용하는 프록시 프로토콜로, 비밀번호로 인증합니다. 클라이언트에는 서버 주소와 포트, 비밀번호, TLS 매개변수가 모두 필요하며 도메인 및 인증서 설정도 연결에 영향을 줍니다. 핸드셰이크 오류가 발생하면 인증 실패와 인증서 검증 실패를 구분하세요. 인증서 검증을 끄는 것은 일반적인 해결 방법이 아닙니다.
Xray 생태계의 전송 보안 방식으로, VLESS와 나란히 쓰이는 독립 프록시 프로토콜은 아닙니다. 설정하려면 일반적으로 서버에서 제공한 공개 키, 서버 이름, 짧은 ID 등의 정보가 필요하며 각 항목이 서로 맞아야 합니다. 화면에 옵션이 보인다고 현재 코어가 모든 조합을 지원하는 것은 아닙니다. 코어 버전과 서버 요구 사항을 함께 확인하세요.
TCP, WebSocket, gRPC 등이 프록시 연결에서 데이터를 전달하는 방식을 설정합니다. 전송 옵션은 VMess, VLESS 등의 프록시 프로토콜과 별개이며 TLS 설정을 대신하지 않습니다. WebSocket 경로나 gRPC 서비스 이름 같은 추가 항목은 서버 설정과 일치해야 합니다. 드롭다운만 바꾸고 이전 매개변수를 그대로 두지 마세요.
클라이언트는 설정을 가져오고 편집하며, 코어는 연결과 규칙 실행을 담당합니다. 호환성 문제를 해결할 때는 두 항목의 정보를 모두 기록하세요.
모듈형 네트워크 프록시를 중심으로 형성된 프로젝트 및 기술 생태계로, V2Ray는 그 핵심 구성 요소입니다. 문서에서 이 이름은 보통 프로젝트 배경과 아키텍처를 가리키며, 클라이언트에서 켜고 끄는 옵션을 뜻하지 않습니다. 생태계의 여러 구현이 일부 개념을 공유하더라도 기능, 필드, 기본 동작은 각각 확인해야 합니다. 설정이 완전히 호환된다고 볼 수 없습니다.
V2Ray 관련 코드와 문서를 지속적으로 관리하며 프록시 코어를 제공하는 커뮤니티 프로젝트입니다. 그래픽 클라이언트와는 서로 다른 계층으로, 클라이언트가 설정을 만든 뒤 코어에 전달해 실행할 수 있습니다. 다른 코어용으로 작성된 안내를 참고할 때는 먼저 각 필드의 지원 여부를 확인하세요. 특히 특정 코어 전용 전송 보안 옵션을 설정에 그대로 넣지 마세요.
V2Ray 기술을 바탕으로 발전한 프록시 코어로, 프로토콜 처리와 라우팅, DNS 등의 네트워크 작업을 담당합니다. 구독 출처가 아니며 연결 가능한 원격 서버를 자동으로 제공하지도 않습니다. 기능 사용 여부는 코어 구현과 버전, 클라이언트가 매개변수를 올바르게 생성하는지에 따라 달라집니다. 인터페이스 프로그램을 업데이트한 뒤에도 실제로 실행 중인 코어를 확인하세요.
데스크톱용 그래픽 클라이언트로 구독 그룹, 서버 선택, 라우팅 설정, 시스템 프록시 등의 기능을 제공합니다. 클라이언트와 프록시 코어는 서로 다른 역할을 하므로 클라이언트 버전 번호를 코어 버전으로 볼 수 없습니다. 문제를 해결할 때는 먼저 실행 로그와 현재 코어를 확인한 다음 운영체제 프록시나 TUN 설정이 적용되었는지 점검하세요.
시스템 VPN 인터페이스로 기기의 트래픽을 받아 설정에 따라 코어에서 처리하는 Android 그래픽 클라이언트입니다. 처음 연결할 때 시스템 권한을 허용하는 것은 로컬 트래픽 통로를 만드는 작업일 뿐, 원격 연결 성공을 의미하지 않습니다. 앱별 프록시를 사용한다면 앱 목록과 포함·제외 조건도 확인해, 프록시를 적용하지 않은 앱의 문제를 노드 오류로 오해하지 않도록 하세요.
설정을 가져오기, 서버 선택, 연결 테스트는 각각 별개의 작업입니다. 구독 업데이트가 성공해도 목록의 모든 서버를 사용할 수 있는 것은 아닙니다.
클라이언트가 하나의 주소를 통해 서버 설정을 한꺼번에 가져오는 방식이며, 응답은 클라이언트가 인식할 수 있는 형식이어야 합니다. 구독 업데이트는 설정을 다시 읽는 작업이지 서비스 갱신이 아니며, 원격 연결 문제를 자동으로 해결하지도 않습니다. 구독 주소에 접근 정보가 포함될 수 있으므로 화면 캡처나 로그, 문의 내용을 공유하기 전에 주소의 민감한 부분을 가리세요.
원격 서버 연결에 필요한 매개변수 묶음을 가리키며, 클라이언트 화면에서는 서버라고 부르기도 합니다. 노드에는 보통 주소, 포트, 프로토콜, 인증, 전송 설정이 포함되며 IP 주소 하나만을 뜻하지 않습니다. 이름은 구분을 위한 메모일 뿐 실제 위치나 대역폭, 사용 가능 여부를 보장하지 않습니다. 테스트와 서비스 안내를 함께 확인하세요.
구독 출처와 관리 범위를 구분하는 클라이언트 내 정리 방식으로, 서버를 따로 업데이트하고 필터링하거나 관리하기 편리합니다. 그룹이 자동으로 라우팅 규칙이 되는 것은 아니며, 노드를 그룹으로 옮겨도 특정 앱이 해당 노드를 사용하게 되는 것은 아닙니다. 삭제하거나 업데이트하기 전에 작업이 현재 그룹에만 적용되는지 전체 그룹에 적용되는지 확인해 수동으로 관리한 항목을 덮어쓰지 않도록 하세요.
특정 테스트를 시작한 뒤 응답을 받을 때까지 걸린 시간이며, 테스트 종류에 따라 의미가 달라집니다. TCP 포트 확인, HTTP 요청, 전체 프록시 연결은 측정 단계가 서로 달라 결과를 직접 비교할 수 없습니다. 지연 시간이 낮다고 다운로드 속도가 빠른 것은 아닙니다. 테스트 대상과 네트워크 혼잡, 원격 서버 부하에 따라 결과가 달라지며, 시간 초과는 해당 테스트가 제한 시간 안에 완료되지 않았다는 뜻입니다.
일반적으로 프록시 연결을 통해 테스트 주소에 접속해 측정한 시간으로, 서버 포트만 확인하는 것보다 실제 요청 경로에 가깝습니다. 프록시 핸드셰이크, 도메인 조회, 대상 서버의 응답 등이 측정에 포함될 수 있으며, 구체적인 방식은 클라이언트 구현에 따라 다릅니다. 테스트가 실패하면 로그를 확인해 노드 연결 실패와 테스트 사이트 접속 불가를 구분하세요. 한 번의 결과만으로 모든 서비스의 접속 가능 여부를 판단해서는 안 됩니다.
먼저 매칭 조건을 확인한 다음 출구를 정하세요. 도메인 집합, IP 집합, 시스템 프록시는 서로 다른 단계에서 작동하므로 서로 대체할 수 없습니다.
도메인, IP, 포트, 프로토콜 등의 조건으로 요청을 분류해 해당 출구를 선택하는 설정입니다. 흔히 쓰는 조건에는 domain:example.com과 geosite:private가 있으며, 사용할 수 있는 문법은 코어와 편집 화면에 따라 다릅니다. 규칙 순서와 일치하는 항목이 없을 때의 기본 동작이 결과에 영향을 줍니다. 규칙이 저장되었는지만 확인하지 말고 로그에서 실제로 어떤 규칙이 적용되었는지 확인하세요.
조건에 따라 요청을 직접 연결, 프록시, 차단 등의 서로 다른 출구로 보내는 방식이며, 별도의 프록시 프로토콜은 아닙니다. 하나의 앱이 여러 도메인에 접속할 수 있으므로 요청마다 경로가 달라질 수도 있습니다. 문제를 확인할 때는 라우팅 조건과 DNS 응답, 대상 정보를 식별할 수 있는지 함께 점검하세요. 한 번의 접속 결과가 앱 전체에서 항상 동일하게 적용된다고 볼 수 없습니다.
범주별로 정리한 IP 주소 집합으로, 예를 들어 geoip:private 같은 집합 태그를 라우팅 규칙에서 사용할 수 있습니다. 태그는 데이터 파일에 포함된 집합을 가리킬 뿐 대상의 실시간 위치를 증명하거나 연결 속도를 측정하지 않습니다. 집합의 내용과 업데이트 시점에 따라 매칭 결과가 달라집니다. 대상이 여러 주소를 사용하거나 DNS 결과가 바뀌면 다른 규칙에 해당할 수도 있습니다.
서비스나 용도별 도메인 집합으로, 도메인을 하나씩 관리하는 수고를 줄여 줍니다. IP를 기준으로 매칭하는 GeoIP와는 다릅니다. 태그가 그럴듯해 보여도 현재 불러온 데이터 파일에 포함되어 있지 않으면 사용할 수 없습니다. 규칙이 적용되지 않는다면 연결에 도메인 정보가 유지되는지, 실제 접속 도메인이 해당 집합에 포함되는지 확인하세요.
로컬 HTTP 수신 포트와 같은 프록시 주소를 운영체제 설정에 등록해 해당 설정을 따르는 앱에서 사용하도록 합니다. 모든 트래픽을 자동으로 가로채지는 않습니다. 터미널 도구나 일부 앱, 직접 프록시를 설정한 브라우저는 다른 경로를 사용할 수 있습니다. 설정을 켠 뒤에는 대상 앱별로 확인하고 수신 포트가 시스템 설정과 일치하는지 점검하세요. 클라이언트가 실행 중이라는 사실만으로는 충분하지 않습니다.
도메인 조회와 연결 설정은 서로 다른 단계입니다. DNS, TUN, 스니핑 옵션을 변경할 때는 기존 값을 기록하고 한 번에 하나씩 조정하세요.
도메인을 IP 주소 등의 레코드로 변환하는 시스템입니다. 앱은 보통 먼저 조회 결과를 받은 다음 대상에 연결합니다. 어떤 DNS 서버를 사용할지와 해당 서버에 접속할 때 어떤 경로를 이용할지는 각각 확인해야 합니다. 브라우저의 암호화 DNS, 시스템 리졸버, 클라이언트 내장 DNS가 동시에 작동할 수 있으므로 한 곳을 변경해도 모든 앱의 동작이 바뀌지는 않을 수 있습니다.
가상 네트워크 인터페이스로 IP 패킷을 받아 프로그램에서 처리하는 트래픽 가로채기 방식으로, 시스템 프록시 설정을 읽지 않는 일부 앱에 사용할 수 있습니다. 시스템 프록시와는 별개의 설정이며 일반적으로 권한, 시스템 라우팅, DNS, 제외 규칙도 함께 다뤄야 합니다. 켠 뒤에는 로컬 네트워크 접속과 다른 가상 네트워크 어댑터의 영향을 확인하세요. 모든 연결이 제대로 가로채진다고 단정할 수 없습니다.
도메인에 가상 IP 주소를 할당하고 매핑을 저장하는 DNS 처리 방식입니다. 이 주소는 대상 서비스의 실제 공인 IP가 아닙니다. 이후 연결이 매핑을 인식하는 처리 경로를 거쳐야 프로그램이 도메인을 복원하고 라우팅을 계속할 수 있습니다. 한 프로그램에서 주소를 조회한 뒤 연결이 그 프로그램을 우회하면 접속에 실패할 수 있으므로, 트래픽 가로채기 및 주소 풀 라우팅과 함께 설정해야 합니다.
DNS 요청이 예상한 경로로 처리되지 않고 다른 DNS 서버로 전송되는 현상입니다. 먼저 어떤 조회 경로를 기대하는지 명확히 해야 합니다. 테스트 페이지에 표시된 DNS 서버 이름만으로는 요청이 거친 전체 경로를 알 수 없습니다. 시스템 DNS, 브라우저 암호화 DNS, 클라이언트 규칙, 앱 자체 설정을 각각 확인하세요. 암호화된 DNS를 사용한다고 해서 예상한 출구를 경유하는 것도 아닙니다.
일부 핸드셰이크에서 확인할 수 있는 정보를 활용해 연결 초기 데이터에서 프로토콜이나 대상 도메인을 식별하고 라우팅 매칭을 돕는 기능입니다. 서비스 데이터를 복호화하는 것은 아니며 모든 연결에서 도메인을 알아낼 수 있는 것도 아닙니다. 스니핑 결과가 매칭에만 쓰이는지 대상 주소에도 영향을 주는지는 구체적인 옵션에 따라 다릅니다. 호환성 문제가 생기면 적용 범위를 확인하고 기능을 끄기 전후의 로그를 비교하세요.