Windows
v2rayN은 데스크톱 버전과 기존 WPF 버전을 제공합니다. 데스크톱 버전은 크로스 플랫폼 UI를 사용하고, WPF 버전은 익숙한 창 기반 인터페이스를 유지합니다. 처음 설치할 때는 시스템 요구 사항을 확인하고 PC 아키텍처에 맞는 파일을 선택하세요. 실행해도 창이 나타나지 않으면 런타임 환경과 압축 해제 폴더의 권한을 확인하고, 같은 설정 폴더에 파일을 반복해서 덮어쓰지 마세요.
다운로드 페이지로 이동 →운영체제에 맞는 오픈 소스 클라이언트를 선택하고, 실제 설정 항목을 확인하며 구독을 가져오고 라우팅을 구성하세요. 프로토콜과 코어의 지원 범위도 구분해 살펴보세요.
설정 창은 항목을 확인하기 위한 예시입니다. example.com, your-uuid, your-public-key는 설명용 값이므로 실제 연결에 사용할 수 없습니다. 클라이언트 업데이트에 따라 메뉴 이름이 조금 달라질 수 있습니다.
CLIENT / PLATFORM
데스크톱에서는 v2rayN부터 살펴보고, 안드로이드에서는 v2rayNG를 우선 확인한 뒤 코어 요구 사항에 따라 v2flyNG를 선택하세요. 플랫폼에 맞는 설치 파일을 고른 다음, 프로세서 아키텍처도 별도로 확인해야 합니다.
v2rayN은 데스크톱 버전과 기존 WPF 버전을 제공합니다. 데스크톱 버전은 크로스 플랫폼 UI를 사용하고, WPF 버전은 익숙한 창 기반 인터페이스를 유지합니다. 처음 설치할 때는 시스템 요구 사항을 확인하고 PC 아키텍처에 맞는 파일을 선택하세요. 실행해도 창이 나타나지 않으면 런타임 환경과 압축 해제 폴더의 권한을 확인하고, 같은 설정 폴더에 파일을 반복해서 덮어쓰지 마세요.
다운로드 페이지로 이동 →기기에 맞는 v2rayN 설치 파일을 선택하세요. 시스템의 ‘이 Mac에 관하여’에서 칩을 확인할 수 있습니다. Apple Silicon은 arm64, Intel은 x64에 해당합니다. 설치 후 설정을 가져오고 시스템 프록시가 적용되는지 확인하세요. 다른 프록시 도구를 사용 중이라면 여러 프로그램이 네트워크 설정을 동시에 바꾸지 않도록 먼저 해당 도구의 네트워크 제어 기능을 종료하세요.
다운로드 페이지로 이동 →v2rayNG는 Xray 코어를 사용하며 VLESS, REALITY 등을 지원하는 설정에 적합합니다. v2flyNG는 V2Fly 코어를 사용하는 대안입니다. 비교적 최신 스마트폰은 대개 arm64를 선택할 수 있으며, 아키텍처를 모르면 범용 버전 안내를 확인하세요. 처음 연결할 때는 시스템 VPN 권한을 허용해야 합니다. 백그라운드 연결이 끊기면 배터리 최적화와 백그라운드 실행 권한을 확인하세요.
다운로드 페이지로 이동 →v2rayN은 deb 및 rpm 패키지 설치를 지원하며 x64와 arm64 아키텍처를 구분합니다. 데스크톱 환경 이름만 보지 말고 배포판의 패키지 형식에 맞춰 선택하세요. GUI를 실행한 뒤 시스템 프록시로 브라우저 연결을 확인하고, 가상 네트워크 인터페이스로 트래픽을 처리하려면 TUN 권한과 기존 네트워크 관리 규칙을 따로 확인하세요.
다운로드 페이지로 이동 →클라이언트 설치와 서버 설정 확보는 별개의 일입니다. 클라이언트는 설정을 관리하고 코어를 실행해 로컬 프록시를 구성합니다. 실제로 연결하려면 유효한 구독 주소나 서버 정보가 필요합니다. 구독에는 보통 접속 인증 정보가 포함되므로 신뢰할 수 있는 기기에만 저장하고, 문제를 진단할 때 전체 링크를 공개하지 마세요.
다른 기기에서 설정을 옮길 때는 기존 설정의 프로토콜, 전송 방식, 보안 계층부터 확인하세요. 클라이언트 이름이 비슷해도 모든 기능이 동일한 것은 아닙니다. 특히 REALITY 설정은 코어와 매개변수가 모두 호환되어야 합니다. 프로토콜 드롭다운에서 VLESS만 선택한다고 설정이 변환되는 것은 아닙니다.
SETTINGS / REFERENCE
먼저 ‘서버 설정’과 ‘기기에서 트래픽을 처리하는 방식’을 구분하세요. 서버 설정은 서버와 일치해야 하고, 트래픽 처리 방식은 어떤 프로그램이 프록시를 사용하는지 결정합니다. 아래에는 자주 쓰는 작업의 설정 경로를 정리했습니다. 오른쪽 예시는 옵션 이름만 보여 주며 기기의 설정을 변경하지 않습니다.
구독 주소는 서버 설정을 한꺼번에 가져오는 데 사용하며, 브라우저 프록시 주소와는 다릅니다. ‘구독 그룹 설정’으로 이동해 알아보기 쉬운 별칭과 구독 주소를 입력하고 저장한 다음 구독을 업데이트하세요. 이후 해당 그룹에서 서버를 선택하면 됩니다. 개별 공유 링크가 있다면 ‘클립보드에서 URL 일괄 가져오기’를 사용할 수도 있습니다. 항목을 하나씩 입력하는 것보다 구독을 이용하면 설정 변경 사항을 쉽게 동기화할 수 있지만, 업데이트 과정에서 기존 항목이 덮어써질 수 있습니다. 직접 수정한 내용을 보존하려면 먼저 설정을 별도로 저장하세요. 가져온 뒤에도 사용할 서버와 로컬 프록시를 설정해야 합니다. 목록에 항목이 보인다고 해서 트래픽이 자동으로 처리되는 것은 아닙니다.
구독 가져오기 단계 보기 →라우팅 규칙은 코어에 들어온 연결을 프록시로 보낼지, 직접 연결할지, 차단할지 결정합니다. 먼저 ‘중국 본토 우회’와 같은 기본 라우팅 설정으로 작동 기준을 만든 뒤 이용 목적에 따라 규칙을 조정하세요. 규칙은 보통 순서대로 적용되며 앞선 규칙의 일치 여부가 뒤의 판단에 영향을 줍니다. 도메인 규칙은 DNS 및 도메인 스니핑 설정에 따라 달라질 수도 있습니다. 전체 라우팅을 사용하는 것보다 불필요한 중계를 줄일 수 있지만, 코어에 들어오지 않은 프로그램의 연결까지 제어하지는 않습니다. 특정 사이트에서 문제가 생기면 구독, DNS, 프로토콜을 한꺼번에 바꾸지 말고 라우팅 규칙의 적용 결과와 로그부터 확인하세요.
라우팅과 프로토콜의 역할 구분 →클라이언트는 인터페이스를 제공하고, 코어는 설정을 해석해 연결을 구성합니다. v2rayN에서는 사용하는 프로토콜에 맞는 코어를 선택할 수 있습니다. VLESS와 REALITY를 함께 사용할 때는 클라이언트에서 프로토콜 이름을 찾을 수 있는지만 볼 것이 아니라 Xray가 해당 설정을 지원하는지 확인해야 합니다. 전환 전에 현재 Core 유형과 서버 설정을 기록하고, 전환 후에는 서비스를 다시 시작해 로그를 확인하세요. 설치 파일 교체와 달리 코어를 바꾸면 지원하는 항목과 기본 동작이 달라질 수 있으므로 설정이 완전히 호환된다고 가정해서는 안 됩니다. v2rayNG와 v2flyNG는 서로 다른 안드로이드 클라이언트이므로 각 코어의 지원 기능에 따라 선택하세요.
Xray와 V2Fly 비교 보기 →TUN은 가상 네트워크 인터페이스를 통해 설정에 맞는 트래픽을 처리하므로 시스템 프록시 설정을 따르지 않는 프로그램에 적합합니다. 먼저 일반 프록시 연결이 작동하는지 확인한 다음, 플랫폼에서 요구하는 관리자 권한이나 네트워크 권한을 허용하고 ‘TUN 모드’를 켜 라우팅과 DNS 동작을 살펴보세요. 시스템 프록시와의 차이는 트래픽이 유입되는 경로에 있습니다. 모든 연결이 원격 프록시를 거친다는 뜻은 아니며 최종 경로는 라우팅 규칙에 따라 결정됩니다. 다른 가상 네트워크 인터페이스나 VPN 도구를 사용 중이라면 하나씩 종료해 충돌 여부를 확인하세요. 테스트를 마친 뒤 네트워크가 정상적으로 복구되었는지 확인하고, 로그를 살피는 대신 스위치를 반복해서 켜고 끄지 마세요.
TUN 설정 참고 사항 →로컬 수신 포트는 앱의 연결을 클라이언트로 전달하는 입구이며 원격 서버 포트와는 다릅니다. 먼저 매개변수 설정에서 수신 주소와 포트를 확인한 뒤 ‘시스템 프록시 자동 설정’을 선택하세요. 브라우저에서 직접 설정할 때도 같은 로컬 포트를 입력해야 합니다. TUN과 달리 시스템 프록시는 해당 설정을 따르는 프로그램에만 적용되는 경우가 많습니다. 포트가 이미 사용 중이라면 충돌하는 프로그램을 찾고 수신 포트를 변경한 다음 앱 설정도 함께 업데이트하세요. 일반적인 단일 기기 사용에는 루프백 주소를 그대로 두면 됩니다. ‘LAN 연결 허용’을 켜면 수신 범위가 넓어지므로 접근 권한도 함께 고려해야 합니다.
로컬 포트 문제 해결 →옵션 이름은 설정 위치를 찾기 위한 것이며, 항상 권장되는 값이라는 뜻은 아닙니다. 변경 전에 기존 값을 기록하고 한 번에 하나씩 조정하세요. 연결이 정상이라면 기존 설정을 우선 유지하고 새 설정의 효과를 확인하는 편이 좋습니다.
QUICK START / THREE STEPS
먼저 최소한의 설정으로 연결을 확인한 뒤 라우팅 규칙과 트래픽 처리 기능을 추가하세요. 데스크톱 v2rayN과 안드로이드 v2rayNG의 메뉴는 다르지만 ‘설정 가져오기, 출구 선택, 연결 확인’의 순서는 같습니다.
유효한 구독 주소나 서버 공유 링크를 준비하세요. v2rayN에서는 구독 그룹 설정을 열어 주소를 저장하고 업데이트합니다. 개별 링크는 클립보드에서 가져올 수 있습니다. v2rayNG에서는 추가 메뉴에서 가져오기 방식을 선택하세요. 가져온 뒤 프로토콜 유형, 서버 주소, 포트를 확인하고 보안 계층과 전송 설정이 빠짐없이 유지되었는지도 살펴보세요.
목록이 비어 있다면 먼저 주소에 접근할 수 없는 문제인지, 응답 형식이 호환되지 않는 문제인지 구분하세요. 브라우저에서 구독 주소가 열린다고 해서 클라이언트가 응답 내용을 해석할 수 있는 것은 아닙니다. 이때는 오류 메시지를 보관하고 구독 제공업체의 클라이언트 안내를 확인하세요. 구독 주소를 서버 주소 입력란에 넣지 마세요.
사용할 항목을 활성 서버로 지정하고 적절한 라우팅 설정을 선택하세요. 데스크톱에서는 시스템 프록시 자동 설정부터 시작할 수 있습니다. 안드로이드에서는 처음 연결할 때 시스템 VPN 권한을 허용하세요. 다른 네트워크 도구는 종료해 두면 현재 연결을 어느 클라이언트가 처리하는지 쉽게 확인할 수 있습니다.
‘전체 라우팅’과 ‘모든 프로그램의 트래픽 처리’는 같은 뜻이 아닙니다. 라우팅은 코어에 들어온 연결만 처리하며 일부 프로그램은 시스템 프록시를 따르지 않을 수 있습니다. 기본 연결이 정상이고 처리 범위를 넓혀야 할 때만 TUN을 고려하세요. 그래야 권한 문제와 서버 설정 오류를 구분하기 쉽습니다.
평소 이용하는 웹페이지를 열어 콘텐츠가 정상적으로 표시되는지 확인한 뒤, 클라이언트 로그에서 이름 해석이나 핸드셰이크 오류가 있는지 살펴보세요. 목록에 표시되는 테스트 결과는 특정 탐지 방식만 반영하므로 실제 접속을 대신할 수 없습니다. 테스트에 실패해도 설정을 바로 삭제하지 말고, 탐지 대상과 현재 라우팅 규칙이 일치하는지 먼저 확인하세요.
연결이 시작된 것으로 표시되는데 웹페이지가 열리지 않는다면 시스템 프록시, 로컬 포트, DNS, 시스템 시간을 차례로 확인하세요. 기본값으로 되돌리기 전에 설정을 백업하고 마지막으로 정상 작동한 상태를 기록해 두세요. 여러 기능을 한꺼번에 켜기보다 하나씩 확인해야 원인을 찾고 변경 사항을 되돌리기도 쉽습니다.
PROJECT V / CORE / CLIENT
V2Ray, V2Fly, Xray, v2rayN은 같은 계층의 이름이 아닙니다. 프로젝트, 코어, 클라이언트, 프로토콜을 구분한 다음 어떤 프로그램을 다운로드하고 어떤 서버 유형을 선택할지 판단하세요.
Project V
V2Fly / Xray
v2rayN / v2rayNG / v2flyNG
Project V 생태계는 V2Ray 등의 도구를 바탕으로 인바운드, 아웃바운드, 라우팅, 전송, DNS를 조합 가능한 모듈로 구성합니다. GUI 클라이언트 사용자는 하나의 인터페이스에서 여러 유형의 서버를 관리할 수 있어 프로토콜마다 별도 프로그램을 설치할 필요가 없습니다. 클라이언트가 메뉴 조작을 코어 설정으로 변환하고, 코어가 실제 연결을 처리합니다. 이러한 역할을 이해하면 ‘인터페이스에서 저장에 성공한 것’과 ‘코어가 설정을 지원하는 것’이 별도로 확인해야 할 사항임을 알 수 있습니다.
생태계의 프로젝트는 각자 발전하므로 메뉴 이름, 기본 매개변수, 지원 전송 방식도 달라질 수 있습니다. 튜토리얼의 경로는 기능을 찾는 데 참고하고, 최종적으로는 현재 클라이언트 화면과 서버 안내를 따르세요. 낯선 항목이 보이면 프로토콜 인증 정보인지, 전송 방식인지, 보안 계층인지 먼저 확인하고 이름이 비슷하다는 이유로 서로 바꾸지 마세요.
V2Fly 커뮤니티는 V2Ray 관련 코어를 관리하며, Xray는 공통 기술 기반에서 자체 기능을 발전시켜 왔습니다. 두 코어는 일부 프로토콜과 설정을 공유하지만 모든 항목, 확장 기능, 기본 동작이 같다고 볼 수는 없습니다. 예를 들어 REALITY 설정에는 해당 기능을 명확히 지원하는 코어를 선택하고 흐름 제어, 핑거프린트, 공개 키 등 관련 항목도 확인해야 합니다. GUI에 기능이 표시되더라도 실제로 활성화된 코어가 지원하는지 확인하세요.
설정을 옮길 때는 현재 작동하는 항목을 보존한 뒤 대상 코어의 지원 범위를 확인하세요. 같은 공유 링크를 인식한다는 것은 가져오기 기능이 일부 정보를 해석했다는 뜻일 뿐, 연결 성공을 보장하지는 않습니다. 서버에서 특정 코어 사용을 안내한다면 해당 지침을 우선 따르세요. 확장 기능이 필요하지 않다면 이름을 최신 상태로 유지하려고 코어를 자주 바꿀 필요는 없습니다.
v2rayN은 데스크톱용으로 서버 관리, 구독 업데이트, 라우팅, 로컬 프록시 설정을 제공합니다. v2rayNG는 안드로이드용이며 Xray 코어를 사용합니다. v2flyNG도 안드로이드용이지만 코어 선택에 따라 활용 범위가 다릅니다. 세 클라이언트는 모두 오픈 소스입니다. 오픈 소스는 각 프로젝트의 라이선스에 따라 코드를 공개한다는 뜻이며, 라이선스 조건과 의존성, 배포 요건은 프로젝트별로 확인해야 합니다. 한 프로젝트의 라이선스를 생태계 전체에 적용해서는 안 됩니다.
클라이언트를 선택할 때는 외관보다 플랫폼 호환성과 프로토콜 지원 여부가 중요합니다. 데스크톱에서는 v2rayN으로 하나의 관리 화면에서 다양한 서버 유형을 정리할 수 있습니다. 안드로이드에서 v2rayNG와 v2flyNG 중 선택할 때는 기존 설정에 필요한 코어를 확인하세요. 클라이언트를 여러 개 설치해도 구독이 자동으로 통합되지는 않으며 시스템 프록시나 VPN의 트래픽 처리 상태도 별도로 확인해야 합니다.
VMess와 VLESS는 프록시 프로토콜이며, Trojan과 Shadowsocks도 각각 별도의 인증 및 전송 규칙을 사용합니다. REALITY는 전송 계층 보안 방식으로, 일반적으로 VLESS와 함께 구성합니다. 따라서 이 이름들을 같은 메뉴에서 서로 대체하는 옵션으로 보면 안 됩니다. 설정을 파악할 때는 공유 링크 제목만 보지 말고 프로토콜, 전송 방식, 보안 계층을 함께 확인하세요.
더 빠른 방식을 고를 때도 프로토콜 이름만 비교해서는 안 됩니다. 서버 부하, 네트워크 경로, 핸드셰이크, 연결 재사용, 기기 성능이 실제 속도에 영향을 줍니다. 모바일에서는 백그라운드 연결 유지와 네트워크 전환도 배터리 사용량과 연결 지속성에 영향을 미칩니다. 초보자는 먼저 서버에서 명시적으로 제공하고 클라이언트가 완전히 지원하는 조합을 사용한 뒤, 같은 조건에서 실제 사용 경험을 확인하세요.
구독에는 개별 공유 링크의 모음이 들어갈 수도 있고 특정 클라이언트 전용 설정 형식이 사용될 수도 있습니다. 클라이언트마다 확장 매개변수를 해석하는 방식이 다르며 변환 중 흐름 제어, 보안 계층, 전송 항목이 누락될 수도 있습니다. 구독을 업데이트한 뒤 일부 항목만 작동하지 않는다면 원래 설정과 로그를 비교해 가져오기 누락인지, 코어 미지원인지, 서버 정보 변경인지 확인하세요.
구독을 추가한다고 클라이언트에 프로토콜 기능이 새로 생기는 것은 아닙니다. 같은 주소를 다른 클라이언트에 복사하기 전에 서버 안내에서 해당 형식을 지원하는지 확인하세요. 문제 해결을 위해 화면을 공유해야 한다면 구독 주소, 사용자 ID, 인증 정보를 가리세요. 프로토콜 이름, 메뉴 경로, 민감 정보를 가린 오류 내용만으로도 대개 문제를 설명할 수 있습니다.
GUI 클라이언트와 코어는 각각 업데이트될 수 있습니다. 클라이언트 업데이트는 메뉴와 설정 생성 방식을 바꿀 수 있고, 코어 업데이트는 기능 지원이나 항목 처리 방식을 바꿀 수 있습니다. 업데이트 전에 구독 그룹과 수동 설정을 보관하고 현재 프록시 및 라우팅 설정을 기록하세요. 업데이트 후에는 원래 작동하던 서버부터 확인한 다음 새 기능을 테스트하세요. 한 번의 테스트에서 클라이언트, 코어, 라우팅 규칙, DNS를 동시에 바꾸지 마세요.
문제가 생기면 구체적인 오류를 기준으로 확인 순서를 정하세요. 실행이 안 되면 런타임 환경부터, 코어가 설정을 거부하면 항목 호환성부터, 연결이 되지 않으면 서버 설정부터, 웹 접속에 문제가 있으면 트래픽 처리 방식과 라우팅부터 확인합니다. 이렇게 하면 ‘프로그램이 열리지 않음’, ‘서버에 연결할 수 없음’, ‘프로그램이 프록시를 사용하지 않음’을 각각 구분할 수 있어 반복해서 재설치할 필요가 없습니다.
프로토콜 및 코어 기술 자료 보기 →NOTES / RECENT
구체적인 증상에 맞는 해결 절차를 찾아보세요. 기본 연결을 먼저 확인한 뒤 TUN, FakeDNS 등의 고급 설정을 살펴보세요. 각 노트는 특정 설정의 범위나 문제 해결 시작점을 다룹니다.
FakeDNS는 예약된 대역의 가상 IP를 먼저 반환한 뒤 도메인에 따라 라우팅하므로 DNS 조회 대기 시간을 줄일 수 있습니다. 이 글에서는 TUN과 함께 사용하는 경우와 캐시가 남는 등의 부작용을 설명합니다.
노트 읽기 →실행 중 포트 사용 중 오류가 나타나면 netstat 또는 lsof로 해당 포트를 사용하는 프로세스를 찾으세요. 그런 다음 매개변수 설정에서 로컬 수신 포트를 바꾸고 브라우저와 시스템 프록시의 포트 설정도 함께 업데이트하세요.
노트 읽기 →시스템 프록시는 해당 설정을 따르는 프로그램에만 적용되지만, TUN 모드는 가상 네트워크 인터페이스로 설정에 맞는 트래픽을 처리합니다. 두 방식의 차이, 관리자 권한 요건, 활성화 단계와 자주 발생하는 충돌을 설명합니다.
노트 읽기 →