v2rayN은 데스크톱 버전과 클래식 WPF 버전을 제공합니다. 데스크톱 버전은 크로스 플랫폼 인터페이스를 사용하고, WPF 버전은 기존의 익숙한 화면 구성을 유지합니다. 처음 설치한다면 먼저 시스템 요구 사항을 확인하세요. 기존 설정이 있다면 구독 그룹과 라우팅 설정을 미리 백업하는 것이 좋습니다.
설치 후 유효한 구독 하나를 가져온 다음 서버를 선택하고 시스템 프록시를 설정하세요. TUN은 추가 권한과 네트워크 인터페이스가 필요하므로 처음 연결을 확인할 때 함께 켤 필요는 없습니다. 기본 프록시가 작동하는지 먼저 확인하면 설정 오류와 권한 문제를 구분하기 쉽습니다.
v2rayN은 Apple Silicon과 Intel 칩에 맞는 설치 파일을 제공합니다. 시스템의 ‘이 Mac에 관하여’에서 칩 또는 프로세서 정보를 확인하고, 컴퓨터 외관이나 구매 연도가 아니라 실제 아키텍처에 맞춰 선택하세요.
적절한 위치에 앱을 설치한 뒤 실행하세요. 시스템 보안 경고가 표시되면 다운로드 출처와 앱 정보를 확인하고 시스템 설정 안내에 따라 처리하세요. 구독을 가져온 후에는 프록시 모드도 선택해야 합니다. 창을 여는 것만으로 모든 앱이 자동으로 프록시를 사용하는 것은 아닙니다.
v2rayNG는 Xray 코어를, v2flyNG는 V2Fly 코어를 사용합니다. 비교적 최근 기기라면 대개 arm64를 선택하면 됩니다. 아키텍처를 모르겠다면 범용 버전을 확인하세요. 두 앱의 프로토콜 지원과 매개변수 처리는 실제 코어가 지원하는 범위를 기준으로 판단해야 합니다.
처음 실행해 연결할 때 시스템 VPN 권한을 요청합니다. 권한 승인은 트래픽을 전달하기 위한 조건일 뿐, 원격 서버가 작동한다는 뜻은 아닙니다. 화면을 잠근 뒤 연결이 끊긴다면 백그라운드 실행, 배터리 절전 제한, 앱별 프록시 규칙을 확인하세요. 시스템의 앱 종료를 구독 만료로 오해하지 않도록 주의하세요.
v2rayN은 deb와 rpm 설치 파일을 제공하며 x64와 arm64를 구분합니다. 먼저 배포판의 패키지 형식을 확인하고 CPU 아키텍처도 확인하세요. 패키지 형식이 같아도 데스크톱 의존성, 권한 정책과 시스템 프록시 동작까지 동일한 것은 아닙니다.
그래픽 데스크톱의 시스템 프록시는 보통 해당 설정을 따르는 프로그램에만 적용됩니다. 터미널 도구, 컨테이너, 자체 프록시 설정을 사용하는 앱은 별도로 확인해야 합니다. TUN을 켜기 전에 권한과 기존 가상 네트워크를 점검하세요. 문제가 생기면 먼저 원래 네트워크 경로로 되돌린 뒤 원인을 살펴보세요.
클라이언트는 설정을 저장하고 코어를 실행하는 도구이며, 사용 가능한 서버와는 다릅니다. 구독은 서버 매개변수를 한꺼번에 가져오는 방법 중 하나로, 유효 기간과 접근 권한, 형식은 제공자가 정합니다. 설치 전에 신뢰할 수 있는 구독이나 완전한 설정을 준비하세요. 설치가 끝났다고 연결까지 완료된 것은 아닙니다.
재현 가능한 기본 설정부터 구성하세요
처음에는 한 곳에서 제공된 구독 하나만 가져오고, 서버 하나와 프록시 모드 하나로 연결을 확인하세요. 성공한 뒤 구독 그룹, 사용자 지정 라우팅 또는 TUN을 추가하면 됩니다. 한 번에 설정 하나만 변경하고 전후 상황을 기록하세요. 그래야 문제가 생겼을 때 되돌릴 지점을 명확히 알 수 있습니다.
그래픽 클라이언트는 자주 쓰는 설정을 메뉴로 구성하고, 코어는 생성된 설정에 따라 트래픽을 처리합니다. 아래 내용은 필드 간 관계를 설명하기 위한 예시이며, 그대로 연결할 수 있는 완전한 설정 파일은 아닙니다.
구독 링크와 그룹 출처
구독은 서버 매개변수를 일괄 업데이트하는 기능이며 클라이언트 로그인 계정이 아닙니다. 먼저 구독 그룹에 링크를 저장하고 이름을 지정한 다음 업데이트하세요. 가져오기에 성공해도 사용할 서버를 직접 선택해야 합니다. 출처가 여러 곳이라면 그룹별로 저장해 만료된 링크를 찾기 쉽게 하고, 업데이트 시 수동 설정과 혼동되지 않도록 하세요. 구문 분석에 실패하면 링크 유효 기간, 응답 내용과 형식 지원 여부를 먼저 확인하세요. 클라이언트를 반복해서 재설치할 필요는 없습니다. 구독에는 접근 자격 정보가 포함될 수 있으므로 로그나 화면을 공유하기 전에 전체 링크를 가리세요. 아래는 사용할 수 없는 형식 예시입니다.
https://subscription.example.com/list?token=xxxx
규칙 순서에 따라 매칭 결과가 달라집니다
라우팅은 도메인, 대상 주소, 포트 등의 조건에 따라 트래픽 출구를 선택하며 규칙 순서가 최종 결과에 영향을 줍니다. 구체적인 예외 규칙을 범용 규칙보다 앞에 두고, 참조하는 출구 태그가 정의되어 있는지 확인하세요. 도메인 규칙과 주소 규칙은 서로 다른 정보를 기준으로 하므로 DNS를 변경한 뒤에는 매칭 결과도 다시 확인해야 합니다. 아래 예시는 사설 주소를 직접 연결 출구로 보내 규칙 구조를 설명합니다. 완전한 분기 설정이 아니며 DNS 설정도 모두 포함하지 않습니다. 다른 사람의 규칙을 가져오기 전에는 코어가 해당 문법과 규칙 리소스를 지원하는지 확인하세요.
시스템 프록시는 로컬 프록시 주소를 운영체제 설정에 등록하며, 주로 해당 설정을 따르는 앱에 적용됩니다. TUN은 가상 네트워크 인터페이스를 통해 라우팅 조건에 맞는 트래픽을 전달하며 추가 권한이 필요한 경우가 많습니다. 어느 쪽이 연결 품질이 더 높은 설정인 것은 아닙니다. 문제를 확인할 때는 한 가지 방식만 선택하고 다른 네트워크 도구와 겹치지 않게 하세요. 아래는 로컬 SOCKS 인바운드 필드 예시이며, 포트 번호는 설명용으로 모든 설치에서 동일하게 사용되는 값이 아닙니다. 앱에 프록시를 직접 입력한다면 클라이언트가 실제로 수신하는 주소, 포트와 프로토콜을 정확히 맞춰야 합니다.
클라이언트는 설정을 편집하고 관리하며, 코어는 프로토콜을 처리합니다. 코어를 바꾼다고 모든 설정이 자동 변환되는 것은 아닙니다. 먼저 프로토콜, 전송 방식과 보안 매개변수가 대상 코어에서 지원되는지 확인한 뒤 생성된 설정과 시작 로그를 점검하세요. 데스크톱에서는 클라이언트가 제공하는 옵션에 따라 코어를 선택할 수 있습니다. 안드로이드의 두 클라이언트는 서로 다른 코어를 사용하므로 이름만 다른 같은 앱으로 보면 안 됩니다. 아래 로그 필드는 코어 설정을 이해하는 데 도움이 되지만, 로그 수준만으로 특정 서버의 호환성을 판단할 수는 없습니다.
{
"log": {
"loglevel": "warning"
}
}
구독을 옮긴 뒤 로컬 설정을 다시 확인하세요
여기서 멀티 플랫폼 설정 이전은 구독이나 설정을 옮긴다는 뜻이며, 클라이언트에 클라우드 동기화 기능이 내장되어 있다는 의미는 아닙니다. 구독은 기기마다 가져올 수 있지만 로컬 수신 포트, 시스템 프록시, TUN 권한과 앱별 규칙은 플랫폼에 맞게 다시 설정해야 합니다. 이전 전에 기존 설정을 백업하고, 이전 후에는 구독을 업데이트한 다음 서버 하나로 테스트한 뒤 라우팅을 복원하세요. 아래는 직접 연결 출구를 이해하기 위한 설정 예시입니다. 전체 설정을 재사용할 수 있는지는 코어와 필드 지원 여부에 따라 달라지며 파일 확장자만으로 호환성을 판단할 수 없습니다.
서버 목록에 항목이 표시된다는 것은 클라이언트가 설정을 읽었다는 뜻일 뿐입니다. 선택한 서버, 시스템 시간, 프록시 모드와 대상 앱의 네트워크 설정도 확인해야 합니다. 브라우저는 되는데 다른 프로그램이 안 된다면 해당 프로그램이 시스템 프록시를 따르는지 먼저 확인하세요. 모든 요청이 실패한다면 코어가 실행 중인지, 로그에 설정 필드 오류가 있는지, 구독의 주소와 포트가 유효한지 살펴보세요.
지연 시간 테스트도 측정 방법을 구분해야 합니다. Ping은 대체로 네트워크 응답을 측정하고, 실제 연결 지연은 프록시 연결 과정의 영향을 받습니다. 다운로드 속도는 대역폭, 테스트 대상과 시간대에 따라서도 달라집니다. 수치가 낮다고 실제 접속이 잘 된다는 보장은 없습니다. 처음 사용하는 전체 절차는 빠른 시작 가이드를, 운영체제별 설치와 권한, 라우팅을 확인하려면 전체 플랫폼 가이드를 참고하세요.
PROJECT / CORE / CLIENT
Project V 생태계와 오픈 소스 클라이언트
프로젝트, 코어와 그래픽 인터페이스는 서로 다른 계층입니다. 각 계층을 구분하면 클라이언트를 선택하기 쉽고 설정 오류의 원인도 좁힐 수 있습니다.
PROJECT V
생태계의 출발점: 프록시 도구와 설정 체계
V2Ray는 Project V 생태계의 프록시 도구로, 인바운드·아웃바운드·라우팅·전송 등의 개념을 바탕으로 설정을 구성합니다. 일상적으로 말하는 ‘V2Ray 클라이언트’는 대개 이러한 설정을 관리하는 그래픽 앱을 뜻하며, 단일 코어 프로그램을 가리키는 것은 아닙니다. 이 차이를 이해하면 같은 구독이 앱마다 다른 메뉴로 보이는 이유와 인터페이스 업데이트 및 프로토콜 지원 업데이트가 항상 동시에 이루어지지 않는 이유를 알 수 있습니다.
서버 설정은 보통 프로토콜, 주소, 포트, 인증 정보, 전송 방식과 보안 매개변수로 구성됩니다. VMess, VLESS 등 프로토콜 이름만으로는 연결 가능 여부를 판단할 수 없습니다. 전송 계층 옵션, 서버 측 요구 사항과 클라이언트가 실제로 사용하는 코어가 서로 맞아야 합니다. 가이드에 나오는 용어는 매개변수를 확인하는 단서로 활용하세요. 특정 프로토콜 이름이 속도나 안정성을 보장하는 것은 아닙니다.
V2FLY / XRAY
코어 계열: 비슷한 개념, 서로 다른 지원 범위
V2Fly 커뮤니티는 V2Ray 관련 구현을 지속적으로 유지 관리하고 있으며, Xray는 V2Ray에서 발전한 또 다른 코어 계열입니다. 두 코어는 일부 설정 개념을 공유하지만 각각 별도로 발전합니다. 비슷한 JSON 필드가 있다고 해서 새로 추가된 모든 옵션을 서로 사용할 수 있는 것은 아닙니다. 가져오기 실패, 시작 오류, 실행 후 연결 실패는 서로 다른 단계에서 발생합니다. 문제를 해결할 때는 먼저 실제 코어를 확인한 다음 해당 단계의 오류 메시지를 살펴보세요.
그래픽 클라이언트를 바꿀 때는 양쪽에서 지원하는 구독이나 공유 링크부터 옮기는 것이 좋습니다. 사용자 지정 설정 파일 전체를 그대로 복사하면 플랫폼별 경로, 리소스 파일 참조와 수신 설정까지 함께 옮겨질 수 있습니다. 호환되지 않는 필드가 있다면 원본 설정을 보존하고 용도를 먼저 파악하세요. 오류 필드를 지운 뒤 실행되더라도 기존 라우팅이나 보안 동작이 달라질 수 있습니다. 코어는 이름의 최신 여부가 아니라 설정 요구 사항에 맞춰 선택해야 합니다.
OPEN SOURCE
세 가지 클라이언트: 인터페이스의 역할과 라이선스 범위
v2rayN은 서버, 구독 그룹, 라우팅과 코어 실행을 한곳에서 관리하는 데스크톱 오픈 소스 그래픽 클라이언트입니다. v2rayNG는 Xray 코어를 사용하는 안드로이드 오픈 소스 클라이언트이며, v2flyNG는 V2Fly 코어 계열을 사용합니다. 세 앱은 설정과 연결을 위한 도구입니다. 서버는 별도로 준비해야 하며 구독 서비스의 사용 가능 여부는 그래픽 인터페이스가 결정하지 않습니다. 플랫폼을 먼저 확인하고 필요한 프로토콜과 설정을 지원하는지 살펴보세요.
V2Ray와 Xray 코어는 MPL-2.0 라이선스를, 세 가지 그래픽 클라이언트는 GPL-3.0 라이선스를 사용합니다. 라이선스는 코드 사용, 수정과 배포 조건을 설명하며 원격 서비스의 이용 약관과는 다릅니다. 구독 출처의 신뢰성을 판단하는 기준도 아닙니다. 클라이언트, 코어와 패키지에 포함된 구성 요소마다 다른 라이선스가 적용될 수 있으므로 재배포하거나 수정할 때는 해당 프로젝트에 포함된 라이선스 전문을 확인하세요.
오픈 소스는 코드와 개발 과정을 확인할 수 있다는 뜻이지, 모든 설치 파일과 설정, 구독 출처가 똑같이 신뢰할 만하다는 뜻은 아닙니다. 계정 정보나 구독 인증 정보는 접근이 제한된 곳에 보관하세요. 공개적으로 도움을 요청할 때는 필요한 오류 정보만 제공하고 사용자 정보, 전체 주소에 포함된 접근 토큰, 구독 권한을 복구할 수 있는 내용은 가리세요.
MAINTENANCE
업데이트 순서: 백업, 변경 사항 확인, 항목별 테스트
클라이언트 업데이트로 인터페이스, 의존 환경, 설정 생성 방식이나 포함된 코어가 바뀔 수 있습니다. 업데이트 전 구독 출처, 사용자 지정 라우팅과 중요한 로컬 설정을 보존하고 최신 릴리스 정보를 확인하세요. 업데이트 후에는 먼저 실행과 구독 업데이트를 확인하고, 이어서 시스템 프록시 또는 TUN을 테스트한 다음 사용자 지정 규칙을 점검하세요. 한 번에 여러 부분을 바꾸면 원인을 찾기 어렵습니다. 특히 구독을 교체하고 코어를 바꾸면서 DNS까지 조정하면 더욱 그렇습니다.
코어 업데이트만으로 모든 연결 문제가 해결되는 것은 아닙니다. 만료된 구독은 출처를 업데이트해야 하고, 시스템 시간이 틀렸다면 먼저 바로잡아야 합니다. 권한이 부족하면 시스템 권한을 설정하고, 원격 서버에 문제가 있다면 서버 상태를 확인하세요. 반복 설치보다 재현 가능한 조건을 유지하는 편이 효과적입니다. 같은 네트워크, 같은 서버, 같은 대상 앱을 사용하고 한 번에 하나씩 변경한 뒤 로그 변화를 기록하세요.
READING PATH
읽는 순서: 시작 절차와 플랫폼별 세부 설정을 구분하세요
처음 설정한다면 빠른 시작 가이드를 따라 구독을 가져오고 서버를 선택한 뒤 프록시를 설정해 접속을 확인하세요. 연결은 되지만 트래픽 범위를 조정하고 싶다면 전체 플랫폼 가이드에서 라우팅, 권한과 플랫폼별 차이를 살펴보세요. 기본 설정을 먼저 안정화하면 특정 옵션을 이해하려고 네트워크 설정 전체를 한꺼번에 바꾸는 일을 피할 수 있습니다.
구독 업데이트 중 문제가 생겼다면 링크가 유효한지, 응답 내용이 클라이언트에서 지원하는 구독 형식인지 먼저 확인하세요. 연결 단계에서 발생한 문제라면 코어 로그와 시스템 프록시 경로를 살펴보세요. 두 문제는 필요한 근거가 다릅니다. 다른 사람에게 도움을 요청할 때는 클라이언트, 운영체제, 프록시 모드와 오류가 발생한 단계를 함께 설명하면 ‘연결할 수 없음’만 적는 것보다 정확한 진단을 받기 쉽습니다.
RECENT NOTES
설정 가이드와 문제 해결
로컬 네트워크, 구독 그룹, 안드로이드 백그라운드 권한부터 확인하세요. 문제가 발생한 단계를 먼저 찾고 설정 변경 여부를 결정하면 됩니다.