Windows
v2rayN을 선택하세요. 데스크톱 버전은 크로스 플랫폼 인터페이스를 제공하며, 클래식 WPF 버전은 익숙한 데스크톱 조작 방식을 유지합니다. 사용 습관에 맞춰 선택하면 됩니다. 설치 후 먼저 구독을 가져오고 시스템 프록시를 설정하면 설치 문제와 연결 문제를 구분하기 쉽습니다.
다운로드 페이지로 이동CLIENT / 플랫폼별 선택
데스크톱에서는 v2rayN을, Android에서는 필요한 코어에 맞는 클라이언트를 선택하세요.
먼저 운영체제와 프로세서 아키텍처를 확인한 뒤 해당 플랫폼의 다운로드 페이지로 이동하세요. 클라이언트는 설정을 관리하고 코어를 실행하지만, 실제로 연결하려면 사용 가능한 서버 정보나 구독 주소가 필요합니다. 이미 구독이 있더라도 아키텍처 선택을 건너뛰지 마세요. 설치 파일의 실행 여부와 구독 연결 여부는 서로 별개의 문제입니다.
v2rayN을 선택하세요. 데스크톱 버전은 크로스 플랫폼 인터페이스를 제공하며, 클래식 WPF 버전은 익숙한 데스크톱 조작 방식을 유지합니다. 사용 습관에 맞춰 선택하면 됩니다. 설치 후 먼저 구독을 가져오고 시스템 프록시를 설정하면 설치 문제와 연결 문제를 구분하기 쉽습니다.
다운로드 페이지로 이동v2rayN을 사용하고 Apple Silicon 또는 Intel 칩에 맞는 설치 파일을 선택하세요. ‘이 Mac에 관하여’에서 칩 정보를 확인할 수 있습니다. 처음 실행할 때 시스템 보안 경고가 표시되면 파일 출처를 확인한 뒤 시스템 설정의 안내에 따라 진행하세요.
다운로드 페이지로 이동먼저 Xray 기반 v2rayNG를 선택하고, V2Fly 코어가 필요할 때 v2flyNG를 고려하세요. 대부분의 스마트폰에서는 arm64를 선택하면 됩니다. 아키텍처를 모르겠다면 범용 버전 안내를 확인하세요. 처음 연결할 때는 시스템 VPN 권한을 허용해야 하며, 백그라운드에서 연결이 끊기면 배터리 제한도 확인하세요.
다운로드 페이지로 이동배포판과 프로세서 아키텍처에 맞는 v2rayN deb 또는 rpm 설치 파일을 사용하세요. 데스크톱 환경의 프록시 설정을 터미널 프로그램이 읽지 않을 수도 있습니다. 먼저 브라우저에서 연결을 확인한 다음 명령줄 도구의 프록시 환경 변수를 별도로 점검하세요.
다운로드 페이지로 이동플랫폼을 바꾼다고 프로토콜까지 바뀌는 것은 아닙니다. 사용 가능 여부는 클라이언트 코어, 서버 설정, 전송 매개변수가 서로 맞는지에 달려 있습니다.
모든 클라이언트 보기 →CONFIGURATION / 설정 관계
각 설정이 어느 계층을 제어하는지 먼저 파악한 뒤 값을 변경하세요. 아래는 일부 설정 예시이며, 그대로 연결할 수 있는 완성된 파일은 아닙니다.
구독 관리에서 신뢰할 수 있는 출처의 주소를 추가하고 저장한 다음 업데이트를 실행하세요. 목록에서 서버를 선택해야 합니다. 구독은 여러 설정을 한꺼번에 제공하는 기능일 뿐 시스템 프록시나 VPN 권한을 대신하지 않습니다. 공유 링크를 하나씩 붙여넣는 것보다 구독을 사용하면 설정을 한곳에서 갱신하기 편하지만, 출처에서 관리하는 항목이 덮어써질 수도 있습니다. 처음에는 기본 그룹을 유지하고 업데이트가 성공한 뒤 이름을 정리하세요. 접속 정보가 포함된 구독 주소를 공개 스크린샷에 노출하지 마세요. 오른쪽은 로컬 인바운드 설정 일부로, 구성을 가져온 뒤에도 트래픽을 받을 진입점이 필요하다는 점을 보여주는 예시입니다. 구독 파일 형식은 아닙니다.
순서: 구독 추가 → 업데이트 → 서버 선택 → 프록시 사용
{
"inbounds": [
{
"tag": "socks-in",
"listen": "127.0.0.1",
"port": 10808,
"protocol": "socks",
"settings": {
"udp": true
}
}
]
}
먼저 클라이언트에서 제공하는 라우팅 프리셋으로 연결을 확인한 뒤, 로컬 네트워크·특정 도메인·앱의 요구에 맞춰 규칙을 추가하세요. 라우팅은 보통 위에서 아래 순서로 일치 여부를 확인하므로, 구체적인 조건을 포괄적인 규칙보다 앞에 두어야 합니다. 전체 모드만 전환하는 것보다 분할 라우팅을 사용하면 로컬 리소스에 직접 접근할 수 있지만, 아웃바운드 태그가 정의되어 있는지 확인해야 합니다. 오른쪽 예시는 사설 주소를 direct라는 아웃바운드로 보냅니다. 실제 설정에서는 해당 아웃바운드와 필요한 규칙 리소스도 정의해야 합니다. 규칙을 추가한 뒤 코어를 다시 불러오고, 명확한 대상 하나로 결과를 확인하세요.
규칙 하나부터 확인한 뒤 적용 범위를 넓히세요.
{
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "direct"
}
]
}
}
브라우저처럼 시스템 프록시 설정을 따르는 앱은 먼저 시스템 프록시 자동 설정을 사용하면 됩니다. 이 설정을 읽지 않는 프로그램은 프록시를 별도로 지정하거나 TUN을 사용해야 합니다. TUN은 가상 네트워크 어댑터로 트래픽을 처리하며 권한, 라우팅, DNS와 관련이 있습니다. 속도를 높이는 스위치로 생각하면 안 됩니다. 시스템 프록시만 변경할 때보다 적용 범위가 넓은 만큼 다른 네트워크 도구와의 충돌도 주의해야 합니다. 처음 설정할 때는 여러 트래픽 처리 방식을 동시에 켜지 마세요. 오른쪽은 로컬 HTTP 프록시 진입점의 예시입니다. 포트는 앱에 입력한 값과 일치해야 하며, 구체적인 값은 클라이언트 설정을 따르세요.
먼저 시스템 프록시로 확인한 뒤 필요에 따라 TUN을 사용하세요.
{
"inbounds": [
{
"tag": "http-in",
"listen": "127.0.0.1",
"port": 10809,
"protocol": "http",
"settings": {}
}
]
}
먼저 서버에서 요구하는 프로토콜, 전송 방식, 보안 매개변수를 확인한 뒤 코어가 이를 지원하는지 살펴보세요. v2rayN은 여러 코어 설정을 관리할 수 있으며, Android에서는 필요에 따라 v2rayNG와 v2flyNG 중에서 선택할 수 있습니다. 클라이언트 이름만 보는 것보다 실제로 실행 중인 코어를 확인해야 호환성 문제를 더 정확히 파악할 수 있습니다. 전환하기 전에 정상 작동하는 설정을 저장하고, 전환 후에는 시작 로그에서 필드가 올바르게 인식됐는지 확인하세요. 두 코어는 공통 문법을 사용하지만 확장 기능까지 서로 호환된다고 단정할 수는 없습니다. 오른쪽 freedom 아웃바운드는 기본 예시일 뿐 모든 설정을 그대로 옮길 수 있다는 뜻은 아닙니다.
이름이나 사용 편의성보다 프로토콜 호환성을 먼저 확인하세요.
{
"outbounds": [
{
"tag": "direct",
"protocol": "freedom",
"settings": {}
}
]
}
먼저 도메인 조회를 시스템, 브라우저, 코어 중 어디서 처리하는지 확인한 뒤 DNS를 변경할지 결정하세요. 브라우저의 별도 암호화 DNS는 시스템 설정을 우회할 수 있고, TUN 환경에서도 다른 조회 경로를 사용할 수 있습니다. 서버 주소 하나만 바꾸기보다 조회 요청이 상위 DNS 서버에 어떻게 전달되는지 확인하면 문제를 찾는 데 도움이 됩니다. 오른쪽은 코어 DNS의 servers 배열을 보여줍니다. 원격 DNS 서비스를 사용할 경우 해당 서비스로 연결되는 경로도 도달 가능한지 확인해야 합니다. IP 주소로는 접속되지만 도메인으로는 실패한다면 라우팅과 전송 매개변수를 동시에 바꾸지 말고 조회 결과와 로그부터 확인하세요.
한 번에 DNS 조회 경로 하나만 변경하고 되돌릴 수 있도록 설정을 보관하세요.
{
"dns": {
"servers": [
"https://1.1.1.1/dns-query",
"localhost"
],
"queryStrategy": "UseIP"
}
}
설치 후 진행 순서
최소 설정으로 먼저 연결한 뒤 분할 라우팅, TUN, 사용자 지정 규칙을 추가하세요.
클라이언트마다 메뉴 이름은 조금씩 다를 수 있지만 설정 흐름은 같습니다. 먼저 클라이언트에 서버 정보를 등록하고, 앱의 요청이 클라이언트로 전달되도록 설정한 다음, 요청이 의도한 아웃바운드를 거치는지 확인하세요. 이 세 계층을 분리해 두면 문제가 생겼을 때 구독, 시스템 설정, 라우팅 중 어디를 점검해야 할지 알 수 있습니다. 소프트웨어를 반복해서 다시 설치할 필요가 없습니다.
신뢰할 수 있는 출처에서 구독 주소를 준비하세요. v2rayN의 구독 관리에서 그룹을 추가하고 저장한 뒤 업데이트를 실행합니다. Android 사용자는 v2rayNG의 구독 그룹 설정에서 같은 작업을 할 수 있습니다. 업데이트 후 설정 항목이 표시되어야 합니다. 목록이 비어 있다면 주소가 완전한지, 구독이 유효한지, 업데이트 로그에 형식 또는 네트워크 오류가 있는지 먼저 확인하세요.
목록에서 항목 하나를 선택해 활성 서버로 지정하세요. ‘가져옴’ 상태에만 머물러서는 안 됩니다. 프로토콜, 전송 방식, 포트, 보안 매개변수는 서버 설정과 일치해야 하며 이름만 보고 임의로 바꾸면 안 됩니다. 구독을 업데이트하면 기존 항목이 변경될 수 있으니 현재 활성 그룹을 기록해 두세요. 나중에 문제를 해결할 때 어떤 설정을 사용 중인지 확인하기도 쉽습니다.
데스크톱에서는 먼저 코어를 실행한 다음 시스템 프록시 자동 설정을 선택하고 브라우저로 처음 연결을 테스트하세요. 프록시 확장 프로그램을 사용 중이라면 브라우저 설정을 해당 확장 프로그램이 제어하는지 확인하세요. 다른 프록시 프로그램을 동시에 실행하면 시스템 프록시가 잘못된 포트를 가리킬 수도 있습니다. Android에서 처음 연결할 때는 시스템 VPN 권한을 허용해야 하며, 이는 구독 가져오기의 성공 여부와는 별개의 문제입니다.
처음에는 현재 요구에 맞는 라우팅 프리셋을 선택하고 DNS, 아웃바운드 규칙, TUN을 동시에 변경하지 마세요. 시스템 프록시를 따르지 않는 앱까지 처리해야 한다면 해당 플랫폼의 TUN 설정 안내를 확인하세요. 클라이언트를 종료하기 전에 사용하지 않는 시스템 프록시를 해제해야 앱이 닫힌 로컬 포트로 계속 요청을 보내는 일을 막을 수 있습니다.
프록시를 통해 접속해야 하는 웹페이지를 열고 클라이언트 로그에서 연결 및 아웃바운드 정보를 확인하세요. 웹페이지 하나가 열린다고 해서 모든 앱이 프록시를 사용하는 것은 아닙니다. 터미널 도구, 브라우저, 데스크톱 앱은 각각 별도 설정을 가질 수 있으므로 필요한 앱을 하나씩 확인하세요.
연결된 것으로 표시되는데도 접속할 수 없다면 서버 상태, 기기 시간, DNS 조회, 라우팅 규칙 일치 여부, 로컬 포트를 순서대로 확인하세요. 오류 문구를 먼저 기록하고 변수 하나만 바꾼 뒤 테스트하여 변경을 유지할지 되돌릴지 결정하세요. 연결 상태 표시는 보통 코어가 실행됐거나 네트워크 트래픽 처리가 시작됐다는 뜻이지, 원격 서비스가 반드시 정상이라는 의미는 아닙니다.
클라이언트, 코어 및 오픈 소스 라이선스
인터페이스는 설정을 관리하고 코어는 연결을 처리하며 프로토콜은 통신 방식을 정합니다.
V2Ray는 Project V의 모듈형 프록시 도구 체계에서 시작됐습니다. 설정에서 자주 보는 인바운드, 아웃바운드, 라우팅, DNS는 각각 트래픽 진입점, 연결 출구, 규칙 선택, 도메인 조회를 담당합니다. 일상적으로 말하는 ‘V2Ray 클라이언트’는 코어를 가리킬 수도 있고 그래픽 인터페이스를 갖춘 관리 프로그램을 뜻할 수도 있습니다. 다운로드 전에 둘을 구분해야 같은 구독을 여러 클라이언트에서 읽을 수 있어도 모든 코어에서 동작이 완전히 같지는 않은 이유를 이해할 수 있습니다.
V2Fly 커뮤니티는 V2Ray 코어의 개발과 유지 관리를 이어가고 있으며, Xray는 관련 기술을 바탕으로 독자적으로 발전하고 있습니다. 두 코어 모두 설정 기반 프록시 구조를 사용하지만 기능 확장, 지원 필드, 업데이트 주기는 완전히 같지 않습니다. VMess, VLESS, Trojan, Shadowsocks는 프로토콜 이름이며 TLS, 전송 계층, 라우팅 정책은 서로 다른 항목입니다. 익숙한 프로토콜 이름이 보여도 전송 방식과 보안 매개변수 확인을 생략할 수는 없습니다. V2Ray라는 이름이 붙은 모든 프로그램을 같은 소프트웨어로 봐서도 안 됩니다.
코어를 선택할 때는 먼저 서버에서 제공한 전체 매개변수와 호환되는지 확인하고, 그다음 클라이언트 관리 편의성을 고려하세요. 가져온 뒤 ‘지원하지 않는 프로토콜’이나 설정 필드 오류가 발생하면 시스템 프록시 모드를 계속 바꾸기보다 실제 실행 중인 코어와 해당 기능 안내를 먼저 확인해야 합니다. 시스템 프록시는 요청이 클라이언트로 들어오는 방식을 결정하고, 코어 호환성은 요청을 받은 뒤 원격 연결을 올바르게 설정할 수 있는지를 결정합니다. 두 문제는 따로 점검해야 합니다.
v2rayN은 데스크톱 플랫폼용으로 구독 그룹, 서버 선택, 라우팅 관리, 코어 설정 등을 그래픽 인터페이스에서 다룰 수 있어 여러 데스크톱 환경에서 비슷한 방식으로 사용하려는 사용자에게 적합합니다. v2rayNG는 Android용으로 Xray 코어 기반의 모바일 프록시 관리 기능을 제공합니다. v2flyNG도 Android용이며 V2Fly 코어를 사용하는 대안입니다. 데스크톱과 모바일은 네트워크 권한 처리 방식이 다릅니다. 가이드의 설정 목적은 같더라도 버튼 위치와 권한 부여 절차를 그대로 따라 해서는 안 됩니다.
세 클라이언트 모두 오픈 소스로 제공되지만, 클라이언트 인터페이스와 그 안에서 사용하는 코어는 별개의 프로젝트입니다. 클라이언트를 바꾼다고 구독에 포함된 사용할 수 없는 서버가 자동으로 복구되거나 다른 코어의 모든 확장 기능을 사용할 수 있는 것은 아닙니다. 이미 작동하는 설정이 있다면 해당 설정을 올바르게 처리할 수 있는 클라이언트를 우선 선택하세요. 다른 클라이언트로 옮길 때는 사용자 지정 규칙을 내보내거나 기록한 뒤 구독, 프록시 모드, DNS 설정이 모두 복원됐는지 확인하세요.
v2rayN과 v2rayNG는 GPL 계열 라이선스를 따르며 v2flyNG는 GPL 라이선스를 사용합니다. V2Fly 코어는 MIT 라이선스, Xray 코어는 MPL 2.0 라이선스를 따릅니다. 소프트웨어에는 별도의 라이선스가 적용되는 종속 구성요소가 포함될 수도 있습니다. 구체적인 권리와 의무는 배포 파일에 포함된 라이선스 문서를 확인하세요. 오픈 소스란 해당 라이선스에 따라 코드를 열람·사용·재배포할 수 있다는 뜻이지, 네트워크 서비스나 서버 리소스, 제3자 구독을 클라이언트 프로젝트가 제공한다는 의미는 아닙니다.
일반 사용자는 설정의 범위를 이해하는 것이 중요합니다. 클라이언트에는 서버 인증 정보와 구독 주소가 저장될 수 있으므로 스크린샷이나 로그를 공유하기 전에 민감한 내용을 지우세요. 핸드셰이크, DNS 조회, 포트 오류를 판단하는 데는 보통 로그만으로 충분하며 구독 전체를 공개할 필요는 없습니다. UUID, 아웃바운드 태그, 도메인 정책 같은 용어가 궁금하다면 먼저 용어집을 읽고 관련 필드를 조정할지 결정하세요.
클라이언트, 코어, 구독, 규칙 리소스 업데이트는 서로 다른 문제를 해결합니다. 클라이언트 업데이트는 인터페이스나 설정 생성 방식을 바꿀 수 있고, 코어 업데이트는 프로토콜 지원과 실행 기능에 영향을 줍니다. 구독 업데이트는 서버 정보를 동기화하고 규칙 리소스 업데이트는 도메인 및 주소 목록을 변경합니다. 문제가 생기면 먼저 어느 계층이 바뀌었는지 확인하세요. ‘구독 업데이트’를 모든 문제의 해결책으로 여겨서는 안 됩니다.
업데이트 전에 사용자 지정 라우팅과 중요 설정을 저장하고, 업데이트 후에는 활성 서버, 프록시 모드, 로컬 포트를 확인하세요. 새 설정이 제대로 작동하는지 확인하려면 같은 네트워크, 같은 앱, 같은 대상을 사용해 다시 테스트하여 환경 변화의 영향을 줄이세요. 이 사이트는 클라이언트 선택과 설정 방법을 안내하며, 실제 기능은 설치된 프로그램 버전에 따라 다를 수 있습니다. 플랫폼별 상세 절차는 전체 플랫폼 설치 및 설정 문서에서 확인하세요.
클라이언트 간 차이가 궁금하다면 비교 문서를, 설치 후 연결에 실패했다면 설정 문서를 확인하세요. 용어와 조작 단계, 증상을 서로 연결해 살펴보면 스위치를 이것저것 바꾸는 것보다 효과적으로 문제를 해결할 수 있습니다.
클라이언트 선택 및 문제 해결
기본 설정으로 연결을 확인한 뒤 실제 문제에 맞는 주제별 안내를 살펴보세요. 브라우저와 터미널의 프록시 동작, Android의 백그라운드 제한, 클라이언트와 코어의 차이는 각각 다른 문제 해결 방법이 필요합니다. 한 가지 문제 때문에 전체 설정을 다시 익힐 필요는 없습니다.
브라우저에서 프록시가 작동하지 않으면 확장 프로그램과 프록시 모드를 확인하세요. 터미널에서 작동하지 않으면 환경 변수와 포트 설정을 점검하고, TUN 모드로 트래픽을 처리해야 하는 경우도 설명합니다.
VpnService를 기반으로 작동하는 v2rayNG의 원리를 설명하고, 백그라운드 연결이 끊기지 않도록 배터리 최적화 예외에 추가하는 방법과 지정한 앱만 프록시를 사용하도록 설정하는 방법을 안내합니다.
세 클라이언트의 지원 플랫폼, 내장 코어, 구독 및 라우팅 기능, 인터페이스 사용성을 비교합니다. 데스크톱에서 v2rayN을 먼저 권하는 이유와 Android 클라이언트 두 종류의 선택 기준도 설명합니다.