데스크톱은 v2rayN을 우선 선택하고, Android 일상용은 Xray 코어를 탑재한 v2rayNG을 우선 사용하세요. 기존에 v2fly 노드 구성이 있거나 두 코어의 동작을 비교해야 하거나 VMess 호환성이 중요할 때는 v2flyNG을 Android 대안으로 고려하면 됩니다. 아래에서 플랫폼 지원, 프로토콜, 구독 관리, 라우팅 분할, 리소스 사용량을 차례로 판단하는 방법을 설명합니다.
먼저 플랫폼으로 고르고, 프로토콜 이름부터 보지 마세요
가장 간단한 결론은 다음과 같습니다. Windows, macOS, Linux는 데스크톱 환경이므로 먼저 v2rayN을 확인하고, Android는 모바일 환경이므로 v2rayNG과 v2flyNG 중에서 선택하세요. 세 소프트웨어는 같은 화면의 버전별 차이가 아니라, 서로 다른 플랫폼과 코어 계열을 대상으로 하는 독립 클라이언트입니다.
v2rayN 7.x는 크로스 플랫폼 데스크톱 인터페이스를 사용하며 Windows, macOS, Linux에서 노드, 구독, 시스템 프록시와 라우팅 규칙을 관리할 수 있습니다. Windows 사용자는 여러 데스크톱 빌드 형식을 접할 수 있지만 모두 v2rayN에 해당하므로 화면 차이 때문에 노드 구독을 바꿀 필요는 없습니다.
v2rayNG과 v2flyNG은 모두 Android용입니다. 두 클라이언트 모두 단일 노드 링크와 구독 주소를 가져올 수 있고, 시스템 VPN 인터페이스를 통해 앱 트래픽을 처리할 수 있습니다. 핵심 차이는 연결 가능 여부가 아니라 탑재된 코어, 프로토콜 지원 방향, 라우팅 세부 설정, 문제를 추적하는 방식에 있습니다.
| 클라이언트 | 플랫폼 범위 | 주요 코어 | 추천 상황 |
|---|---|---|---|
| v2rayN 7.x | Windows、macOS、Linux | Xray, v2fly 등 데스크톱 코어 관리 | 데스크톱 주력, 구독 관리, 규칙 디버깅 |
| v2rayNG 1.10.x | Android | Xray | Android 주력, VLESS, 세밀한 트래픽 분할 |
| v2flyNG 1.9.x | Android | v2fly | VMess 호환, v2fly 구성 검증 |
코어 계열이 프로토콜 지원과 설정 해석 방식을 결정합니다
클라이언트는 화면, 구독, 시스템 트래픽 처리를 담당하고, 실제로 VMess, VLESS, 전송 계층과 라우팅을 처리하는 것은 코어입니다. v2rayNG의 핵심은 Xray이고 v2flyNG은 v2fly를 사용합니다. v2rayN은 설정된 코어를 호출할 수 있는 데스크톱 관리 도구에 가까워 지원 범위가 더 넓습니다.
구독이 VLESS 중심이고 Reality, XTLS Vision 등의 매개변수를 포함한다면 Xray 계열을 선택하는 편이 수월합니다. 클라이언트로는 데스크톱에서 v2rayN과 Xray 코어를 사용하고, Android에서는 v2rayNG을 선택하면 됩니다. 노드 공유 링크의 핵심 필드는 모두 유지해야 하며, 특히 전송 방식, 서비스 이름, 서버 이름과 지문 매개변수를 빠뜨리지 않아야 합니다.
기존 노드가 주로 VMess와 WebSocket, HTTP/2 또는 TCP를 조합하고 서버 설정도 오랫동안 v2fly 기반이었다면 v2flyNG에도 분명한 용도가 있습니다. “구독 내용은 정상인데 두 코어의 동작이 다를 때” 원인을 찾는 데도 도움이 됩니다. 같은 노드를 각각 테스트하면 코어 설정, 라우팅 규칙 또는 시스템 네트워크 계층으로 원인을 좁힐 수 있습니다.
Xray 코어 계열
추천VLESS, Reality, XTLS Vision을 직접적으로 지원하므로 현재 많이 사용하는 노드 구성의 기본 선택으로 적합합니다.
적합: 데스크톱 주력, Android 주력, VLESS 노드
v2fly 코어 계열
기존 VMess 구성, 표준 전송 조합, v2fly 동작을 비교해야 하는 문제 해결 환경에 적합합니다.
적합: 기존 VMess 구성, 호환성 비교, 코어 테스트
두 코어를 지원하는 데스크톱 관리
v2rayN은 노드와 구성에 따라 코어를 전환할 수 있으며, 로그, 포트, 라우팅 규칙도 한곳에서 확인하기 쉽습니다.
적합: 다중 구독, 프로토콜 혼용, 데스크톱 디버깅
이름이 비슷해도 설정을 그대로 공용할 수 있는 것은 아닙니다
VMess의 일반적인 필드는 두 코어에서 비교적 안정적이지만, 완전한 JSON 설정을 그대로 바꿔 쓸 수 있다고 보장할 수는 없습니다. 라우팅 객체, DNS 객체, 아웃바운드 태그, 실험적 기능에는 차이가 있을 수 있습니다. 구독 링크는 대개 클라이언트가 로컬 설정으로 변환하므로 전체 JSON을 수동으로 복사하는 것보다 안전합니다.
- 공유 링크 하나만 있다면 클라이언트의 “클립보드에서 가져오기” 기능을 우선 사용하세요.
- 서비스 제공업체가 구독 주소를 제공했다면 별도의 구독 그룹을 만들고, 링크를 서버 주소 입력란에 붙여 넣지 마세요.
- 설정을 직접 작성할 때는 먼저 대상 코어를 확인한 다음 프로토콜 필드와 라우팅 태그를 대조하세요.
- 노드는 연결되지만 트래픽이 없을 때는 먼저 코어 로그를 확인하고, 구독을 반복해서 삭제하지 마세요.
구독 관리 차이: 진입점은 다르지만 처리 흐름은 거의 같습니다
세 클라이언트는 모두 같은 흐름을 따릅니다. 구독 주소 저장, 구독 내용 요청, 노드 파싱, 로컬 그룹 저장, 활성 노드 선택 순서입니다. 실제 사용성에 영향을 주는 것은 구독 링크 자체가 아니라 진입 위치, 업데이트 방식, 실패 알림입니다.
v2rayN 7.x에서는 “구독 그룹” → “구독 그룹 설정”으로 이동해 주소를 추가할 수 있습니다. 저장한 뒤 “구독 그룹” → “모든 구독 업데이트”를 사용해 노드를 가져오세요. 현재 네트워크에서 기존 노드를 통해서만 구독 서버에 접근할 수 있다면 프록시를 통한 업데이트 옵션을 선택하세요. 업데이트 후에는 그룹 이름, 노드 수, 최근 업데이트 시간을 확인해야 합니다.
v2rayNG 1.10.x에서는 메인 메뉴의 “구독 그룹 설정”을 열고 오른쪽 상단의 추가 버튼을 눌러 메모와 구독 주소를 입력한 뒤 저장하세요. 노드 목록으로 돌아와 “구독 업데이트”를 실행하면 됩니다. v2flyNG 1.9.x의 흐름도 비슷하며, 세부 버전에 따라 메뉴 문구가 달라질 수 있지만 구독 설정 화면에서 추가와 업데이트를 진행합니다.
- 구독 주소 전체를 복사하고 시작과 끝에 공백이나 줄바꿈이 없는지 확인하세요.
- “업무용 노드” 또는 “备用线路”처럼 알아보기 쉬운 메모를 구독에 입력하세요.
- 처음 업데이트한 뒤 노드 수를 기록하세요. 예를 들어 서버에 12개 노드가 표시된다면 클라이언트에서도 12개 항목으로 파싱되어야 합니다.
- 노드 하나를 선택해 지연 시간을 측정한 뒤 연결을 시작하세요. 지연 시간 결과를 실제 다운로드 속도로 간주해서는 안 됩니다.
- 구독 업데이트에 실패해도 기존 그룹은 유지하고, 먼저 업데이트 방식과 현재 네트워크를 바꾸세요. 같은 이름의 그룹을 반복해서 만들지 마세요.
추천 구성: 데스크톱과 Android에서 하나의 구독 공유
데스크톱(v2rayN)
- Xray 코어 우선 사용
- 구독 그룹별로 노드 관리
- 시스템 프록시를 먼저 활성화한 뒤 브라우저 테스트
Android(v2rayNG)
- 같은 구독 링크 가져오기
- 필요할 때만 앱별 프록시 활성화
- 모바일 네트워크와 Wi-Fi를 각각 테스트
두 기기에서 같은 구독 소스를 사용하면 노드 목록을 통일할 수 있지만, 속도 측정 결과, 현재 노드, 라우팅 설정은 각 기기에 별도로 저장됩니다.
라우팅 분할: 데스크톱은 시스템 프록시, Android는 적용 범위를 확인하세요
라우팅 분할은 “어떤 트래픽을 직접 연결하고, 어떤 트래픽을 노드로 보내며, 어떤 트래픽을 차단할지”를 정합니다. 같은 구독을 세 클라이언트에 가져와도 노드 매개변수는 같을 수 있지만 로컬 분할 규칙은 자동으로 동기화되지 않습니다. 클라이언트를 바꿀 때는 노드 수만 비교하지 말고 규칙 구성도 별도로 옮겨야 합니다.
v2rayN에서는 보통 “설정” → “라우팅 설정”에서 시작합니다. 일상적인 사용은 기본 제공 규칙으로 시작한 뒤 도메인, IP, 프로세스 요구에 따라 사용자 지정 항목을 추가하세요. 시스템 프록시는 프록시 설정을 따르는 데스크톱 프로그램이 클라이언트를 사용하게 합니다. 더 많은 프로그램을 적용해야 할 때 TUN을 검토하고, 처음부터 시스템 프록시, TUN, DNS, 방화벽을 동시에 바꾸지는 마세요.
Android에서는 보통 시스템 VPN 인터페이스가 트래픽을 처리합니다. v2rayNG과 v2flyNG 모두 앱별 프록시 설정을 확인해야 합니다. 특정 앱만 프록시로 보내거나 로컬 서비스, 뱅킹 도구, LAN에서만 접근해야 하는 앱을 제외할 수 있습니다. 규칙 방향을 반대로 선택하면 브라우저만 작동하고 다른 앱은 연결되지 않거나, 모든 앱이 노드를 우회하는 문제가 생길 수 있습니다.
| 목표 | v2rayN 설정 중점 | Android 설정 중점 |
|---|---|---|
| 브라우저부터 연결 확인 | 코어를 시작하고 시스템 프록시 활성화 | 시스템 VPN 트래픽 처리 시작 |
| LAN 직접 연결 | 사설 주소 규칙을 프록시 규칙보다 앞에 배치 | LAN 우회 규칙 유지 |
| 특정 앱 프록시 | 프로세스 또는 TUN 규칙으로 처리 | 앱별 프록시에서 대상 앱 선택 |
| 규칙 적용 여부 확인 | 라우팅 및 코어 로그 확인 | 실행 로그를 확인하고 사용자 지정 규칙을 일시적으로 비활성화 |
포트도 구분해야 합니다. 수동 테스트 설정의 예로 로컬 SOCKS 리스닝을 127.0.0.1:10808, HTTP 리스닝을 127.0.0.1:10809로 지정할 수 있습니다. 프로그램에서 프로토콜이나 포트를 잘못 입력하면 코어는 정상적으로 실행되어도 앱에서 연결을 만들 수 없습니다. 구체적인 포트는 클라이언트의 현재 매개변수 화면과 로그를 기준으로 확인하세요.
데스크톱 문제 해결 순서
1. 코어 상태: 실행 중
2. SOCKS 진입점: 127.0.0.1:10808
3. HTTP 진입점: 127.0.0.1:10809
4. 시스템 프록시: 켜짐
5. 라우팅 규칙: LAN 직접 연결이 프록시 규칙보다 앞에 있음
6. 로그 확인: 포트 충돌 또는 설정 파싱 오류 없음
기능과 리소스 사용량: 차이는 대개 네트워크보다 작습니다
클라이언트 선택은 속도 측정 화면만 보고 결정해서는 안 됩니다. 같은 노드라도 시간과 접속 네트워크에 따라 달라지는 폭이 Android 클라이언트 자체의 처리 차이보다 큰 경우가 많습니다. 더 중요한 기준은 시작 안정성, 구독 누락 여부, 규칙 적용 결과, 절전 모드 후 연결 복구 여부입니다.
이 글에서는 재현 가능한 관찰 방법을 사용했습니다. 데스크톱에는 노드 100개를 가져오고 Android에는 같은 구독을 가져왔으며, 다른 다운로드 작업을 끈 뒤 코어를 10회 연속 시작했습니다. 이후 직접 연결 도메인, 프록시 도메인, LAN 주소에 각각 접속했습니다. 테스트 샘플은 v2rayN 7.x, v2rayNG 1.10.x, v2flyNG 1.9.x이며 수치는 규모를 설명하기 위한 것으로 모든 기기의 고정 결과를 의미하지 않습니다.
8코어 데스크톱 기기에서 v2rayN은 일반적인 VMess 및 VLESS 노드 100개를 파싱하는 데 약 0.7~1.1초가 걸렸습니다. 8GB 메모리의 Android 기기에서는 v2rayNG과 v2flyNG의 파싱 시간이 약 1.0~1.6초였습니다. 실제 차이는 1초도 되지 않아 구독 서버 응답 속도의 영향보다 훨씬 작았습니다.
기기에서 배터리 소모가 눈에 띄게 늘거나 백그라운드 연결이 끊긴다면 먼저 시스템의 백그라운드 제한, 상시 연결 VPN 설정, 네트워크 전환 동작을 확인하세요. 클라이언트 이름만으로 배터리 소모를 판단하지 마세요. 상세 로그를 계속 출력하거나 모든 노드의 속도를 반복 측정하거나 많은 동시 연결을 오래 유지하면 프로세서가 깨어나는 횟수가 늘어납니다.
- 일상적인 사용에서는 필요한 구독 그룹만 남기고 중복되거나 만료된 그룹은 비활성화하세요.
- 노드 300개를 모두 자동 속도 측정에 넣지 말고, 먼저 지역이나 용도별로 범위를 좁히세요.
- 문제를 해결할 때는 상세 로그를 켜고, 해결한 뒤 일반 로그 수준으로 되돌리세요.
- Wi-Fi와 모바일 네트워크를 전환한 뒤에는 먼저 현재 노드가 다시 연결되었는지 확인하세요.
최종 선택: 기기 역할에 따라 간단한 규칙 세우기
대부분의 사용자는 두 문장으로 정리할 수 있습니다. 데스크톱은 v2rayN, Android는 v2rayNG을 사용하세요. v2fly 코어 호환, 기존 VMess 설정 검증, 비교 테스트가 필요할 때만 v2flyNG을 사용하면 됩니다. 이렇게 구성하면 중복 설정을 줄이고 로그가 어느 코어에서 나온 것인지도 쉽게 파악할 수 있습니다.
데스크톱과 Android에서 구독을 함께 사용하더라도 모든 설정을 완전히 같게 맞출 필요는 없습니다. 구독은 노드를 전달하고, 로컬 클라이언트는 시스템 트래픽 처리, DNS, 라우팅을 담당합니다. 데스크톱은 시스템 프록시와 프로세스 규칙이 필요할 수 있고 Android는 시스템 VPN, 앱별 프록시, 백그라운드 복구가 더 중요하므로 원래 서로 다른 실행 환경입니다.
VMess 노드만 있다면 Android에서 어떤 클라이언트를 선택해야 할까요?
먼저 v2rayNG에 가져와 테스트하세요. 노드가 명확한 v2fly 구성 체계에서 제공되었거나 두 코어의 로그와 라우팅 결과를 비교해야 한다면 v2flyNG을 추가로 설치해 두 번째 테스트를 진행하세요.
v2rayN에는 구독 노드가 있는데 Android에서는 목록이 비어 있나요?
Android 클라이언트에서 “구독 그룹 설정”으로 들어가 주소에 줄바꿈이 없는지 확인한 다음 메인 화면에서 “구독 업데이트”를 실행하세요. 그래도 비어 있다면 로그의 응답 상태와 파싱 오류를 확인하고, 구독 주소를 수동 노드 화면에 입력하지 마세요.
v2rayNG은 연결되지만 특정 앱이 노드를 사용하지 않나요?
“설정”에서 앱별 프록시 스위치와 선택 방향을 확인하세요. 앱별 규칙을 일시적으로 끄고 다시 테스트한 뒤 정상으로 돌아오면 프록시가 필요한 앱이나 우회해야 하는 앱을 하나씩 추가하세요.
v2rayN 코어는 정상적으로 실행되는데 브라우저에서 여전히 웹 페이지가 열리지 않나요?
먼저 시스템 프록시가 켜져 있는지 확인한 다음 매개변수 화면의 리스닝 프로토콜과 포트를 대조하세요. 수동 설정이 SOCKS 10808, HTTP 10809라면 브라우저 확장 프로그램도 같은 프로토콜과 해당 포트를 선택해야 합니다.
v2rayNG과 v2flyNG을 동시에 유지해야 할까요?
일반적인 사용에는 필요하지 않습니다. 주력 클라이언트 하나만 유지하는 편이 구독과 규칙을 관리하기 쉽습니다. 코어 호환성을 테스트할 때만 두 클라이언트에 같은 노드를 사용해 각각 연결하고, 테스트 중에는 동시에 실행하지 마세요.
실행 가능한 선택 체크리스트
- Windows, macOS, Linux: v2rayN을 다운로드하고 시스템 프록시로 기본 연결을 먼저 설정하세요.
- Android에서 노드가 VLESS, Reality 중심이라면 v2rayNG을 다운로드하세요.
- Android에서 v2fly 코어가 명시적으로 필요하거나 기존 VMess 설정을 검증해야 한다면 v2flyNG을 선택하세요.
- 구독에 여러 프로토콜이 함께 포함되어 있다면 먼저 각 노드에 필요한 코어를 확인한 뒤 그룹을 나눌지 결정하세요.
- 연결 이상: 구독 파싱, 코어 시작, 로컬 포트, 시스템 트래픽 처리, 라우팅 적용 순서로 확인하세요.