VMess
VMess는 Project V 생태계의 프록시 프로토콜로, 사용자 인증과 데이터 암호화 기능을 제공합니다. 설정에는 보통 사용자 ID, 서버 주소와 포트가 필요합니다. 여러 전송 방식을 조합할 수 있으므로 프로토콜 이름만으로 설정이 완전한지 판단할 수는 없습니다. 일부 인증 절차는 시간에 의존하므로 기기 시계가 크게 어긋났다면 연결을 점검하기 전에 시간을 먼저 동기화하세요.
이 항목에는 프록시 프로토콜과 전송 보안 기능이 함께 포함됩니다. 서로 조합해 사용할 수 있지만, 이름만 보고 같은 계층의 대체 옵션으로 취급해서는 안 됩니다.
VMess는 Project V 생태계의 프록시 프로토콜로, 사용자 인증과 데이터 암호화 기능을 제공합니다. 설정에는 보통 사용자 ID, 서버 주소와 포트가 필요합니다. 여러 전송 방식을 조합할 수 있으므로 프로토콜 이름만으로 설정이 완전한지 판단할 수는 없습니다. 일부 인증 절차는 시간에 의존하므로 기기 시계가 크게 어긋났다면 연결을 점검하기 전에 시간을 먼저 동기화하세요.
VLESS는 자체적으로 데이터를 암호화하지 않는 경량 프록시 프로토콜입니다. 전송 보안은 보통 TLS나 REALITY 같은 기능으로 보완합니다. 설정을 가져올 때는 사용자 ID, 전송 방식, 보안 옵션, 사용 중인 경우 흐름 제어 항목을 서버 설정과 맞춰야 합니다. VMess와 설정 항목의 의미가 완전히 같지는 않으므로 프로토콜 선택만 바꿔서는 변환할 수 없습니다.
Trojan은 보통 TLS 연결을 통해 프록시 통신을 처리하며, 비밀번호로 프록시 계층에서 인증합니다. 서버 주소, 인증 비밀번호, TLS 서버 이름은 각각 연결 위치, 접근 인증, 통신 상대 검증에 쓰이므로 서로 다른 항목에 입력해야 합니다. 연결에 실패하면 로컬 수신 포트를 계속 바꾸기보다 인증 오류와 TLS 오류를 나눠 확인하세요.
REALITY는 Xray 생태계의 전송 보안 기능이며 독립적인 프록시 프로토콜은 아닙니다. 흔히 VLESS와 함께 사용합니다. 서버 이름, 공개 키 관련 매개변수, 짧은 ID 등은 서버에서 제공한 정보에 맞춰 입력해야 하며 임의로 조합해서는 안 됩니다. 클라이언트와 사용 중인 코어도 해당 설정을 지원해야 합니다. 설정 가져오기는 성공했지만 연결되지 않는다면 코어 호환성도 확인하세요.
TLS는 전송 데이터를 보호하고 인증서 등의 방식으로 통신 상대의 신원을 확인합니다. 프록시 프로토콜의 사용자 인증과는 별개입니다. 연결 주소로 IP를 사용하더라도 검증에 사용하는 서버 이름은 인증서 요구사항과 일치해야 합니다. 인증서 오류가 발생하면 기기 시간, 서버 이름, 인증서 설정을 확인하세요. 검증을 건너뛰는 방법은 일반적인 해결책으로 사용하지 않는 것이 좋습니다.
같은 GUI가 서로 다른 코어를 호출할 수 있습니다. 프로토콜 지원 여부를 확인할 때는 클라이언트뿐 아니라 실제로 사용하는 코어와 버전도 확인해야 합니다.
Project V는 V2Ray와 관련 도구를 이해할 때 자주 언급되는 생태계입니다. 주요 개념으로는 조합 가능한 인바운드, 아웃바운드, 라우팅 처리가 있습니다. 데스크톱 설치 프로그램이나 구독 서비스의 이름은 아닙니다. 생태계 내 프로젝트는 각자 발전하므로 모든 클라이언트가 같은 프로토콜과 설정을 지원한다고 볼 수 없습니다.
V2Fly는 V2Ray 개발을 이어가는 커뮤니티 프로젝트로, 관련 코어와 문서를 관리합니다. 인터페이스에서는 v2fly라고 표기하기도 합니다. Android 클라이언트 v2flyNG는 이 코어 생태계를 사용하므로 기존 설정에 맞춰 선택할 수 있습니다. 코어마다 확장 기능이 다를 수 있으므로 다른 클라이언트에서 옮길 때는 프로토콜과 전송 설정을 각각 지원하는지 확인하세요.
Xray는 V2Ray에서 발전한 프록시 코어 프로젝트로, 독자적으로 기능을 발전시켜 왔습니다. REALITY 등의 설정을 사용하려면 해당 코어가 필요합니다. v2rayNG는 Xray 코어를 사용하며, 데스크톱 클라이언트는 실제로 선택해 호출하는 코어를 확인해야 합니다. 설정 항목을 인식하지 못하거나 프로토콜을 지원하지 않는다는 오류가 발생하면 클라이언트 이름뿐 아니라 실제로 실행 중인 코어도 확인하세요.
v2rayN, v2rayNG, v2flyNG는 설정 가져오기, 구독 관리, 옵션 표시를 담당하는 GUI 클라이언트입니다. 실제 연결과 규칙 실행은 코어가 담당합니다. 화면에서 옵션을 저장할 수 있어도 현재 코어가 해당 기능을 지원한다는 뜻은 아닙니다. 업데이트, 이전, 문제 해결 시 두 구성요소의 정보를 확인하고 화면 조작 오류와 코어 실행 및 네트워크 연결 오류를 구분하세요.
구독은 설정을 배포하고, 노드는 선택 가능한 연결 설정입니다. 그룹 관리, 구독 갱신, 연결 테스트는 서로 다른 작업입니다.
구독은 주소를 통해 여러 연결 설정을 가져와 갱신하는 방식입니다. 주소에서 반환하는 형식은 클라이언트와 호환되어야 합니다. 구독을 갱신하면 설정 내용이 업데이트될 뿐, 프록시 연결이 자동으로 수립되거나 모든 설정이 사용 가능해지는 것은 아닙니다. 구독 주소에 접속 정보가 포함될 수 있으므로 공개 스크린샷, 로그, 채팅 기록에 노출하지 마세요. 클라이언트를 바꿀 때는 기존 그룹 설정도 보존해야 합니다.
노드는 보통 클라이언트에 저장된 원격 연결 설정 하나를 가리킵니다. 주소, 포트, 프로토콜, 인증 정보, 전송 매개변수 등이 포함됩니다. 표시 이름만으로 실제 위치, 회선 품질, 현재 연결 가능 여부를 판단할 수는 없습니다. 노드를 선택한 뒤에도 앱 트래픽이 프록시 처리 경로에 들어가려면 시스템 프록시, TUN 또는 클라이언트의 해당 모드를 거쳐야 합니다.
구독 그룹은 출처나 용도별로 설정을 정리해 개별 갱신, 필터링, 관리가 편리하도록 합니다. 보통 클라이언트의 관리 기능이며 자동 부하 분산이나 장애 전환과는 다릅니다. 구독으로 생성된 항목을 직접 편집하기 전에는 다음 갱신 때 변경 내용이 덮어써지는지 확인하세요. 중요한 사용자 설정은 별도로 저장해 두는 것이 좋습니다.
실제 연결 지연 시간은 일반적으로 선택한 프록시 설정으로 테스트 대상에 접속하는 데 걸린 시간입니다. 측정 범위는 클라이언트 구현에 따라 다릅니다. 테스트 대상, 연결 재사용, 제한 시간에 따라 결과가 달라지므로 서버의 순수 네트워크 왕복 시간이나 지속적인 다운로드 속도를 뜻하지 않습니다. 테스트에 실패해도 한 번의 결과만으로 설정이 잘못됐다고 단정하지 말고 대상에 접속 가능한지와 로그를 함께 확인하세요.
DNS 조회는 주소를 얻는 방법을, 라우팅은 연결이 나갈 경로를 결정합니다. 두 설정은 서로 영향을 주지만 하나의 옵션으로 전체 정책을 대신할 수는 없습니다.
라우팅 규칙은 도메인, IP, 포트 또는 지원되는 다른 조건에 따라 연결을 직접 연결, 프록시, 차단 등의 지정된 아웃바운드로 보냅니다. 규칙에는 보통 적용 순서가 있으므로 앞쪽의 조건이 지나치게 넓으면 뒤에 있는 세부 규칙이 적용되지 않을 수 있습니다. 수정할 때는 대상 조건뿐 아니라 일치하지 않는 연결의 기본 처리 방식도 확인하고, 실제 접속 상황에서 결과를 검증하세요.
트래픽 분기는 규칙에 따라 연결을 서로 다른 아웃바운드로 보내는 정책이지, 독립된 프로토콜이 아닙니다. 클라이언트의 ‘중국 본토 우회’, ‘전역’ 같은 이름은 보통 미리 설정된 규칙이나 처리 방식을 가리키지만, 실제 적용 범위는 현재 설정에서 확인해야 합니다. 특정 앱이 예상대로 접속하지 못한다면 먼저 트래픽이 클라이언트에 들어오는지 확인한 다음 적용된 규칙과 DNS 조회 결과를 살펴보세요.
라우팅 설정에서 GeoIP는 보통 지역이나 용도별로 정리한 IP 주소 집합을 가리키며, 주소 대역을 하나씩 입력하는 수고를 줄여 줍니다. 분류 결과는 데이터 출처와 업데이트 시점에 따라 달라지며 서버 위치를 실시간으로 측정하지는 않습니다. 규칙이 예상과 다르게 적용되면 웹사이트 이름만 믿기보다 실제 대상 IP, 데이터 파일, 분류 범위를 확인하세요.
GeoSite는 웹사이트, 서비스, 용도에 관련된 도메인을 집합으로 정리해 규칙에서 범주별로 매칭할 수 있게 합니다. 도메인 조건을 처리하며 IP 기준으로 분류하는 GeoIP와는 다르고, DNS 조회를 대신하지도 않습니다. 하나의 서비스가 여러 도메인과 서드파티 리소스를 사용할 수 있으므로 일부 기능이 열리지 않는다면 실제 요청에 사용된 도메인이 모두 포함되어 있는지도 확인하세요.
DNS는 도메인을 IP 주소 등의 레코드로 변환하며, 도메인 접속 과정의 기본 단계입니다. 운영체제, 브라우저, 프록시 코어가 각각 DNS 조회를 요청할 수 있으므로 한 곳의 DNS 주소만 변경해도 모든 앱에 적용되는 것은 아닙니다. 설정할 때는 조회 주체와 요청 경로, 결과가 라우팅에 반영되는 방식을 각각 확인한 뒤 DNS 서버 변경 여부를 결정하세요.
FakeDNS는 예약 주소 대역의 가상 주소를 반환하고 해당 주소와 원래 도메인의 매핑을 유지합니다. 이후 코어가 연결을 처리하면서 도메인을 복원합니다. 가상 주소가 실제 접속 대상의 위치를 뜻하는 것도, 모든 조회 결과를 하나의 주소로 고정하는 것도 아닙니다. DNS 조회와 트래픽 처리 경로가 함께 작동해야 하며, 기능을 켜거나 끈 뒤에는 앱 캐시에 이전 매핑이 남아 있지 않은지도 확인하세요.
DNS 유출은 조회가 예상하지 않은 리졸버나 네트워크 경로를 거치는 현상입니다. 판단하기 전에 먼저 사용할 DNS 정책을 명확히 해야 합니다. 테스트 페이지에 특정 리졸버 이름이 표시되어도 모든 앱의 DNS 경로를 확인한 것은 아니며 프록시 연결이 끊겼다는 뜻도 아닙니다. 앱 자체의 암호화 DNS, 시스템 설정, 클라이언트 규칙을 함께 확인해 실제 요청 주체와 경로를 하나씩 점검하세요.
라우팅의 도메인 전략은 IP 규칙을 적용하기 위해 도메인을 IP로 변환할지, 언제 변환할지를 결정합니다. 예를 들어 IPIfNonMatch는 도메인 규칙이 일치하지 않을 때 조회한 뒤 IP 규칙을 다시 적용하는 설정입니다. DNS 서버 주소나 모든 요청에 특정 주소 체계를 강제하는 옵션은 아닙니다. 비슷한 이름이 여러 설정 계층에 나타나면 각각의 의미를 따로 확인하세요.
먼저 어떤 앱의 트래픽을 가져올지 정한 다음, 코어에 들어온 연결에 적용할 규칙을 설정하세요. 트래픽을 가져오는 범위와 아웃바운드 선택은 별개의 문제입니다.
시스템 프록시는 운영체제에 로컬 프록시 주소를 등록해 해당 설정을 따르는 앱이 요청을 클라이언트에 전달하도록 합니다. 모든 앱의 트래픽을 처리하거나 모든 UDP 통신을 프록시로 보낸다는 뜻은 아닙니다. 클라이언트를 종료한 뒤 웹페이지 접속에 문제가 생기면 원격 설정을 바로 바꾸기보다 시스템에 로컬 수신 포트를 가리키는 프록시 설정이 남아 있는지 확인하세요.
TUN은 가상 네트워크 인터페이스로 조건에 맞는 IP 트래픽을 받은 다음 코어에 전달해 라우팅과 연결 처리를 수행합니다. 보통 시스템 프록시보다 더 많은 앱을 처리할 수 있습니다. 트래픽 처리 범위를 넓히는 기능이지 모든 연결을 자동으로 프록시 아웃바운드에 보내거나 DNS 설정을 대신하지는 않습니다. 사용 권한이 필요할 수 있으며 다른 가상 네트워크 도구와 라우팅이 충돌하지 않는지도 확인해야 합니다.
스니핑은 일부 연결의 초기 데이터에서 프로토콜이나 도메인 정보를 식별해 라우팅 규칙에 활용합니다. 임의의 암호화 데이터를 복호화하거나 모든 연결의 도메인을 복원할 수 있는 기능은 아닙니다. 식별 범위는 프로토콜과 설정에 따라 다릅니다. 대상 주소 대체 여부도 옵션에 따라 달라지므로 일반적인 오류 해결책으로 켜기보다 필요한 경우에만 사용하세요.
앱별 프록시는 앱을 선택해 트래픽 처리 범위에 포함하거나 제외하는 기능입니다. Android 클라이언트에서는 보통 VPN 모드와 함께 사용합니다. 목록이 선택한 앱만 프록시로 보내는지, 선택한 앱을 우회하는지 먼저 확인해야 합니다. 앱을 포함해도 트래픽은 계속 라우팅 규칙을 거치므로 모든 요청이 프록시 아웃바운드로 나가는 것은 아닙니다.