클라이언트 화면은 복잡한 필드를 폼으로 정리하지만, 연결 결과는 전송·위장·프로토콜·라우팅 네 가지 매개변수에 의해 결정됩니다. 노드를 계속 바꾸기보다 계층별로 확인하는 편이 문제 원인을 찾기 쉽습니다.
TRANSPORT / 01
전송 방식이 데이터의 서버 도달 방식을 결정합니다
전송 계층은 TCP, WebSocket 같은 전달 방식과 포트, 경로, 호스트명, 보안 계층의 조합을 처리합니다. 구독을 가져오면 클라이언트가 보통 이 필드를 자동으로 입력하지만, 수동으로 수정할 때는 서버 설정과 항목별로 일치해야 합니다. 노드 시간 초과, 핸드셰이크 실패 또는 연결 직후 끊김이 발생하면 시스템 프록시를 바로 변경하기보다 주소, 포트, 전송 유형, TLS 설정부터 확인하는 것이 좋습니다. 전달 방식을 별도의 계층으로 보면 프로토콜 이름이 같다는 이유만으로 설정이 완전히 같다고 오판하는 일을 피할 수 있습니다.
v2rayN 또는 모바일 클라이언트에서 먼저 노드 편집 화면을 열고 현재 전송 유형을 기록한 뒤 경로, Host, SNI 및 보안 옵션을 확인하세요. 한 번에 한 그룹의 필드만 수정하고 다시 테스트하면 문제 해결 과정을 명확하게 추적할 수 있습니다.
PRESENTATION / 02
위장 매개변수는 전송 계층을 보완하는 정보입니다
WebSocket 경로, HTTP Host, gRPC 서비스명, TLS 서버 이름은 쉽게 놓치는 보조 필드입니다. 노드 메모에 적힌 장식 정보가 아니라 연결 수립 과정의 일부입니다. 구독 변환, QR 코드 이전 또는 설정 수동 복사 과정에서 서버 주소와 포트만 남기면 네트워크에는 도달하지만 핸드셰이크가 완료되지 않는 경우가 많습니다. 이 계층을 확인할 때는 경로 앞부분의 기호, 도메인 철자, 대소문자, 보안 옵션을 하나의 묶음으로 살펴봐야 합니다.
클라이언트 간에 설정을 옮길 때는 전체 구독 또는 설정 내보내기 기능을 우선 사용하세요. 수동 입력이 필요하다면 먼저 원본 설정 화면을 저장한 뒤 항목별로 입력하면 입력기가 문장 부호를 바꾸거나 빈 필드가 나타내는 기본값을 누락하는 일을 줄일 수 있습니다.
PROTOCOL / 03
프로토콜 계층은 인증 매개변수와 아웃바운드 캡슐화를 담당합니다
VMess, VLESS, Trojan 같은 프로토콜은 클라이언트와 서버가 인증 정보와 데이터 흐름을 구성하는 방식을 정의합니다. 프로토콜 필드는 서버 설정과 대응해야 하며 이름이 비슷하다는 이유만으로 서로 바꿀 수 없습니다. 예를 들어 VMess에서는 사용자 식별자, 암호화 옵션, 추가 식별자가 연결에 관여할 수 있고, VLESS는 다양한 전송 보안 방식과 함께 사용되는 경우가 많습니다. 그래픽 클라이언트의 장점은 이러한 필드를 확인 가능한 폼으로 바꾸면서 가져오기, 내보내기, 일괄 업데이트 기능도 제공한다는 데 있습니다.
노드 목록은 표시되지만 모두 연결에 실패한다면 같은 구독 안에서 노드별 프로토콜과 전송 조합을 비교해 보세요. 특정 조합만 실패한다면 해당 필드로 범위를 좁혀 확인하는 편이 클라이언트를 전체 초기화하는 것보다 효율적입니다.
ROUTING / 04
라우팅 계층은 요청별 아웃바운드 경로를 결정합니다
연결에 성공했다는 것은 링크가 수립될 수 있다는 뜻일 뿐이며, 실제 접근 경로는 시스템 프록시 모드, 인바운드 포트, 도메인 규칙, 주소 규칙, 아웃바운드 태그의 영향을 받습니다. 라우팅 계층은 도메인, 대상 주소 또는 규칙 집합에 따라 요청을 서로 다른 아웃바운드로 보낼 수 있으므로 잘못된 규칙은 일부 사이트만 열리거나, 브라우저와 다른 앱의 결과가 달라지는 현상으로 나타날 수 있습니다. 문제를 해결할 때는 먼저 시스템 프록시가 적용되는지 확인한 다음 현재 모드와 규칙 우선순위를 점검하세요.
분할 라우팅을 변경하기 전에는 기존 모드와 규칙 출처를 기록하고, 가장 작은 규칙 집합부터 검증하세요. DNS 조회 경로도 라우팅 로직과 함께 살펴봐야 합니다. 해석 결과, 도메인 일치, 최종 아웃바운드는 연속적으로 연결되어 있으므로 DNS 주소만 바꾼다고 규칙 충돌이 해결되지는 않습니다.
CLIENT ENTRY
기기에 맞는 클라이언트 선택
데스크톱은 v2rayN을 기본 다운로드 경로로 사용하고, Android에서는 코어 요구 사항에 따라 v2rayNG와 v2flyNG 중에서 선택할 수 있습니다. 홈에서는 플랫폼별 경로만 안내하며, 구체적인 설치 파일, 아키텍처 설명, 시스템 요구 사항은 다운로드 페이지에 정리했습니다.
DESKTOP / WINDOWS
Windows
Windows 데스크톱에서는 v2rayN을 사용합니다. 다운로드 페이지에서 최신 크로스 플랫폼 데스크톱 인터페이스와 기존 WPF 인터페이스의 선택 방법을 구분하고, 실행 환경, 시스템 프록시, 시작 프로그램 등록, 구독 업데이트 경로를 정리했습니다. 처음 설치할 때는 시스템 아키텍처를 확인한 뒤 평소 사용 방식에 맞는 인터페이스 버전을 선택하세요. 기존 설정을 옮길 때는 먼저 현재 노드와 라우팅 설정을 내보내는 것이 좋습니다.
macOS 데스크톱에서도 v2rayN을 사용하며, 설치 전에 시스템 정보에서 칩 종류를 확인해야 합니다. Apple Silicon과 Intel 설치 파일은 파일 크기만 보고 판단할 수 없으므로 다운로드 페이지에서 두 경로를 분리했습니다. 설치 후에는 첫 실행 권한, 구독 가져오기, 시스템 프록시 상태를 차례로 확인하세요. 메뉴 막대에는 연결됨으로 표시되지만 앱 트래픽에 변화가 없다면 프록시 모드와 앱 자체의 네트워크 설정도 점검해야 합니다.
Android에서는 Xray 코어를 사용하는 v2rayNG를 기본 그래픽 클라이언트로 사용하며, V2Fly 코어가 필요한 경우 v2flyNG를 선택할 수 있습니다. 최근 기기 대부분은 arm64 경로부터 확인하면 되고, 아키텍처를 알 수 없다면 범용 설치 파일을 살펴보세요. 모바일 연결은 배터리 최적화, 백그라운드 활동 제한, 로컬 네트워크 전환의 영향도 받으므로 구독을 가져온 뒤 먼저 단일 노드를 테스트하고, 이후 앱별 프록시와 백그라운드 유지 설정을 조정하세요.
Linux 데스크톱에서는 v2rayN을 사용합니다. 다운로드 페이지에서 deb 및 rpm 패키지 체계별 경로를 정리하고 x64와 arm64의 아키텍처 차이도 설명합니다. 파일을 선택하기 전에 배포판의 패키지 관리 체계와 프로세서 아키텍처를 확인하세요. 설치 후 클라이언트 화면에서 구독을 가져오고 노드를 선택한 다음 시스템 프록시를 활성화할 수 있습니다. 데스크톱 환경이 프록시 변수를 인계하지 않는다면 앱이 시스템 프록시 설정을 읽는지도 확인해야 합니다.
클라이언트, 코어, 프로토콜은 서로 다른 계층입니다. 세 요소의 역할과 경계를 이해해야 업데이트, 이전, 문제 해결 과정에서 어느 부분을 확인해야 할지 정확히 판단할 수 있습니다.
생태계 이름에서 실제 구성 요소까지
Project V는 프록시 프로토콜, 전송 방식, 라우팅 기능을 중심으로 형성된 오픈 소스 기술 생태계입니다. 초기 V2Ray가 설정 구조와 모듈화 방식을 마련했고, 이후 커뮤니티는 여러 방향에서 코어와 클라이언트를 지속적으로 유지 관리했습니다. 사용자가 일상적으로 조작하는 v2rayN, v2rayNG, v2flyNG는 그래픽 클라이언트이며, 인바운드·아웃바운드·전송·보안 계층·라우팅 규칙을 실제로 처리하는 것은 클라이언트가 호출하는 코어입니다. 인터페이스 업데이트와 코어 업데이트는 별도로 진행될 수 있으므로 문제 해결 시 클라이언트 이름, 코어 계열, 설정 출처를 함께 기록해야 합니다.
V2Fly는 V2Ray의 커뮤니티 중심 유지 관리 노선을 이어가며 모듈 조합과 크로스 플랫폼 실행을 중시하는 핵심 구성 요소를 제공합니다. Xray는 유사한 설정 체계를 바탕으로 독자적인 코어 구현과 기능 발전을 이어가고 있습니다. 두 노선은 공통 개념을 공유하지만 지원하는 전송 및 보안 기능에는 차이가 있습니다. 구독 제공자가 작성한 필드는 현재 클라이언트가 사용하는 코어와 호환되어야 하며, 인터페이스에서 가져오기가 된다는 이유만으로 모든 필드가 예상대로 작동한다고 단정해서는 안 됩니다.
CORE FAMILY / 01
V2Fly: 모듈형 코어 노선
V2Fly는 V2Ray 핵심 체계의 프로토콜, 전송, DNS, 라우팅 모듈을 유지 관리합니다. 설정은 일반적으로 inbounds, outbounds, dns, routing 등의 블록으로 구성되며, 그래픽 클라이언트는 자주 사용하는 필드를 폼으로 변환한 뒤 코어가 생성된 설정을 읽도록 합니다. 수동으로 세부 조정할 때는 개별 스위치를 외우기보다 블록 간 참조 관계를 이해하는 것이 중요합니다. 인바운드는 로컬 트래픽을 받고, 아웃바운드는 전송 경로를 정하며, 라우팅은 일치한 결과를 지정된 아웃바운드로 넘깁니다.
CORE FAMILY / 02
Xray: 호환되는 개념 위에서의 독자적 발전
Xray는 V2Ray와 많은 설정 개념을 공유하지만 독자적으로 발전한 코어 노선입니다. v2rayNG는 실제 연결 처리에 Xray를 주로 사용하므로 클라이언트 업데이트 후 설정 동작이 달라졌다면 코어 기능과 구독 필드를 함께 확인해야 합니다. 프로토콜 이름과 전송 이름이 같더라도 코어마다 선택 가능한 모든 항목이 완전히 일치하는 것은 아닙니다. 클라이언트 간에 이전할 때는 구독 출처와 기본 노드 정보를 먼저 옮긴 뒤 라우팅, DNS, 앱별 분할 설정 같은 로컬 설정을 다시 확인하세요.
CLIENT / 03
v2rayN: 데스크톱 설정 진입점
v2rayN은 Windows, macOS, Linux 데스크톱 환경에서 구독 관리, 노드 편집, 시스템 프록시, 라우팅 모드, 코어 호출을 담당합니다. 단순히 연결 버튼을 제공하는 데 그치지 않고 여러 설정 계층을 확인 가능한 화면에 모아 보여주는 것이 장점입니다. 데스크톱에서 문제를 해결할 때는 먼저 “코어 연결 실패”와 “시스템 트래픽이 로컬 프록시로 들어오지 않음”을 구분하세요. 전자는 노드와 전송 매개변수를, 후자는 시스템 프록시, 브라우저 설정, 로컬 포트 사용 여부를 확인해야 합니다.
CLIENT / 04
v2rayNG와 v2flyNG: 모바일 코어별 두 가지 노선
v2rayNG는 Xray 코어 노선을 중심으로 구독 가져오기, QR 코드 이전, 라우팅 설정, 앱별 프록시 등 모바일 작업 기능을 제공합니다. v2flyNG는 V2Fly 코어 노선에 해당하며 해당 코어와의 호환성이 필요한 설정에 사용할 수 있습니다. 두 클라이언트 모두 커뮤니티가 유지 관리하는 오픈 소스 소프트웨어이며, 업데이트 일정은 인터페이스 대응, 시스템 네트워크 인터페이스 변경, 코어 릴리스의 영향을 각각 받을 수 있습니다. 선택할 때는 화면 디자인보다 설정 호환성을 기준으로 판단해야 합니다.
LICENSE & MAINTENANCE
오픈 소스 라이선스와 업데이트 흐름
V2Ray 관련 코어와 그래픽 클라이언트는 공개 오픈 소스 라이선스를 사용하며, 소스 코드·빌드 방식·변경 기록은 각 프로젝트가 관리합니다. 라이선스는 코드 사용 및 재배포 범위를 정하고, 클라이언트 릴리스에는 보통 인터페이스 코드, 코어 구성 요소, 시스템 호환 작업이 함께 포함됩니다. 새 버전을 다운로드하기 전 기능 변경 사항을 확인하고 기존 설정을 보존하세요. 오랜 기간을 건너뛰어 업데이트한다면 먼저 구독, 라우팅, 로컬 설정을 내보낸 뒤 새 클라이언트가 시스템 프록시를 올바르게 인계받는지 검증하는 것이 좋습니다. 사이트의 다운로드 페이지는 플랫폼별 설치 경로를 정리하고, 가이드와 문제 해결 문서는 설정 방법을 설명하므로 인터페이스 버전 변화와 프로토콜 자체의 변화를 혼동하지 않도록 구분합니다.
TECH NOTES
설정 분석 및 문제 해결 문서
최근 문서는 DNS 조회 경로, JSON 설정 구조, 구독 파싱을 중심으로 구성했습니다. 각 글은 재현 가능한 현상에서 출발해 확인 순서와 설정 위치를 안내합니다.
문제 해결
V2Ray DNS 유출 검사 및 유출 방지 설정 실전 가이드
시스템 해석, 클라이언트 내장 DNS, 라우팅 차단이라는 세 가지 경로를 먼저 구분한 뒤 조회 출구를 확인하고 평문 요청의 출처를 찾는 방법을 설명합니다. v2rayN과 v2rayNG에서 관련 설정을 조정하는 방법도 다룹니다. 핵심은 DNS 주소를 기계적으로 바꾸는 것이 아니라 도메인 해석 결과와 최종 아웃바운드 규칙이 일치하는지 확인하는 것입니다.
실제 구조를 바탕으로 inbounds, outbounds, routing 세 핵심 블록을 나누어 살펴보고, 태그 간 참조 방식과 요청이 로컬 인바운드에서 지정된 아웃바운드로 이동하는 과정을 설명합니다. 라우팅 규칙이 전체 연결이 아닌 일부 요청에만 영향을 주는 이유도 다룹니다. 내보낸 설정을 이해하거나 규칙을 직접 조정하려는 사용자에게 적합합니다.
구독 업데이트 오류, 빈 노드 목록, 새 노드가 기존 설정을 덮어쓰지 않는 문제가 발생하면 링크 유효성, 응답 내용, 인코딩 형식, 업데이트 시 프록시 경로, 클라이언트 호환성을 차례로 확인하세요. v2rayN과 v2rayNG의 구독 업데이트 위치를 각각 안내하고 기존 설정을 보존해 비교하는 방법도 설명합니다.