· 생태계와 선택 · 약 9분

Project V, V2Fly, Xray의 관계와 차이: 코어 계보 및 v2rayN·v2rayNG·v2flyNG 선택 가이드

Project V에서 V2Fly 커뮤니티의 유지 관리와 Xray 분기까지 살펴보고, v2rayN·v2rayNG·v2flyNG가 사용하는 코어를 비교해 적합한 클라이언트를 선택하세요.

핵심 내용

Project V는 프로젝트 체계이고 V2Ray는 그 안의 핵심 도구입니다. V2Fly는 커뮤니티 차원에서 유지 관리를 이어가며, Xray는 V2Ray에서 갈라져 나온 독립 코어입니다. 클라이언트를 선택할 때는 먼저 서버가 요구하는 프로토콜·전송 방식·보안 계층을 확인한 뒤, 클라이언트가 실제로 사용하는 코어를 살펴보세요. 데스크톱이나 Android 클라이언트를 고르는 중이거나 ‘링크는 가져왔는데 연결되지 않는’ 문제를 겪는 분에게 유용한 안내입니다.

프로젝트·코어·클라이언트 구분하기

일상적인 대화에서 ‘V2Ray 설치’는 그래픽 클라이언트를 설치한다는 뜻일 수도 있고, 코어 프로그램을 배포한다는 뜻일 수도 있습니다. 두 가지는 서로 다른 계층입니다. 클라이언트는 구독, 노드 목록, 시스템 프록시와 화면 조작을 담당하고, 코어는 설정을 읽어 연결을 수립하며 DNS 조회와 라우팅 규칙을 처리합니다. 구독 서비스는 노드 정보를 제공할 뿐 코어 자체에 해당하지 않습니다.

문제를 해결하려면 각 이름이 가리키는 대상을 구체적으로 구분해야 합니다. 창이 열린다는 사실은 클라이언트 화면이 실행된다는 뜻일 뿐입니다. 구독이 갱신된다는 것은 구독 주소에 접속할 수 있다는 의미입니다. 코어가 시작되는지, 원격 서버와 핸드셰이크가 성공하는지, 앱 트래픽이 로컬 프록시로 들어가는지는 각각 따로 확인해야 합니다.

이름계층주요 역할
Project V프로젝트 체계네트워크 통신 도구를 중심으로 구성된 프로젝트 및 설계 체계입니다.
V2Ray / V2Fly핵심 도구 및 유지 관리 커뮤니티V2Fly 커뮤니티가 V2Ray 코어와 관련 작업을 유지 관리합니다.
Xray독립 코어 분기V2Ray에서 분기되어 프로토콜과 전송 기능을 독립적으로 발전시킵니다.
v2rayN데스크톱 클라이언트노드와 구독을 관리하고, 버전과 설정에 따라 적절한 코어를 실행합니다.
v2rayNG / v2flyNGAndroid 클라이언트각각 Xray 및 V2Fly 코어를 기반으로 작동하며 Android에서 프록시를 관리합니다.

Project V에서 두 코어 분기로

Project V 초기 작업을 바탕으로 V2Ray의 설정 체계와 모듈식 설계가 자리 잡았습니다. 인바운드, 아웃바운드, 라우팅, DNS가 각각 역할을 맡으며 모든 동작을 하나의 ‘프록시 스위치’에 몰아넣지 않습니다. 오늘날 두 코어 분기의 설정을 살펴봐도 이러한 공통된 배경을 확인할 수 있습니다.

  1. Project V와 V2Ray의 시작: V2Ray는 Project V의 핵심 도구입니다. VMess 프로토콜과 조합 가능한 전송·라우팅 설정은 초기 생태계를 이해하는 중요한 출발점입니다.
  2. V2Fly 커뮤니티의 유지 관리: V2Fly는 V2Ray 코어를 중심으로 개발과 유지 관리를 이어갑니다. ‘V2Fly 코어’는 일반적으로 해당 커뮤니티가 관리하는 V2Ray를 뜻하며, V2Fly라는 연결 프로토콜을 가리키는 말이 아닙니다.
  3. 2020년에 분기한 Xray: Xray는 V2Ray에서 분기한 뒤 독립적으로 발전했습니다. VLESS, XTLS 관련 흐름 제어, REALITY 등의 기능 지원 여부는 해당 분기와 버전을 기준으로 확인해야 합니다. 출발점이 같다는 이유만으로 지원 범위를 추정해서는 안 됩니다.

이는 ‘기존 소프트웨어의 이름이 바뀌어 새 소프트웨어가 된’ 단순한 업그레이드 관계가 아닙니다. V2Fly와 Xray는 각자 버전, 설정 문서, 릴리스 주기를 갖습니다. 한 분기에 추가된 필드가 다른 분기에서도 JSON을 읽을 수 있다는 이유만으로 호환되는 것은 아닙니다. 같은 이름의 필드도 허용 값과 동작 방식은 해당 코어의 문서를 기준으로 확인해야 합니다.

프로토콜 호환성은 전체 설정을 확인해야 합니다

VMess와 VLESS는 프로토콜 이름이고 WebSocket은 전송 방식입니다. TLS와 REALITY는 별도로 확인해야 하는 보안 계층 설정입니다. 이들은 서로 다른 항목입니다. ‘VLESS 지원’이 모든 VLESS 조합을 지원한다는 뜻은 아니며, 양쪽 설정을 임의로 바꿔 끼울 수 있다는 의미도 아닙니다.

구독 링크는 노드 정보를 배포하는 방식이지 호환성을 보장하지 않습니다. 클라이언트가 주소와 포트를 읽어오더라도 일부 확장 매개변수를 인식하지 못할 수 있습니다. 가져오기에 성공한 뒤에도 노드 편집 화면에서 주요 항목이 유지됐는지 확인하고 연결 로그를 살펴보세요.

확인 순서: 서버 설정 조합을 먼저 확인한 뒤 코어 선택

서버가 VLESS + REALITY를 요구한다면 먼저 Xray 경로를 확인하세요. 기존 설정이 VMess + WebSocket + TLS라면 현재 코어가 요구 사항을 충족하는지 항목별로 확인하면 됩니다. 이름이 최신이라는 이유만으로 설정 전체를 옮길 필요는 없습니다.

세 클라이언트 중 무엇을 선택할까요?

데스크톱에서는 Windows, macOS, Linux와 프로세서 아키텍처에 맞는 v2rayN 릴리스 패키지를 먼저 선택하세요. 버전에 따라 제공되는 코어 옵션, 화면 구성, 플랫폼 기능이 다를 수 있습니다. 특정 Windows 버전의 메뉴 화면을 보고 다른 플랫폼에서도 완전히 같다고 단정하지 마세요.

Android 클라이언트의 차이는 더 분명합니다. v2rayNG는 Xray 코어를 사용하고 v2flyNG는 V2Fly 코어를 사용합니다. 이름이 비슷하다고 해서 화면만 다른 것은 아닙니다. 노드가 요구하는 기능이 어느 코어 계열에 속하는지가 사용하던 화면보다 더 중요한 선택 기준인 경우가 많습니다.

v2rayNG: Android용 Xray 계열

추천

이 카드의 추천은 Android에서 Xray 기능이 필요한 노드를 사용하는 경우에 한합니다. 노드를 가져온 뒤에도 REALITY, 흐름 제어, 전송 매개변수를 확인하세요. 노드 이름에 적힌 프로토콜 약자만으로 판단하면 안 됩니다.

추천 대상: Xray 기능이 필요한 노드에 연결하는 Android 기기

v2rayN: 데스크톱 설정 관리

Windows, macOS, Linux 데스크톱에서 노드와 구독을 관리할 때 사용합니다. 실제로 실행되는 코어는 릴리스 버전, 코어 설정, 노드 유형에 따라 달라지므로 시작 로그를 기준으로 확인하세요.

추천 대상: 데스크톱 시스템 프록시, 구독 그룹, 라우팅 관리

v2flyNG: Android용 V2Fly 계열

V2Fly 설정과 기능 범위를 기준으로 관리하는 환경에 적합합니다. 기존 노드를 옮기기 전에 현재 코어가 해당 프로토콜 조합을 지원하는지 확인하세요. 특히 Xray 전용 매개변수를 그대로 적용하지 마세요.

추천 대상: V2Fly 서버와 설정 규칙을 이미 사용하는 Android 기기

여기서의 선택은 속도 순위가 아닙니다. 처리량과 지연 시간은 회선, 서버 부하, 전송 설정, 로컬 네트워크에도 영향을 받습니다. 동일한 조건에서 테스트하지 않았다면 특정 코어 이름만으로 성능 차이가 몇 퍼센트라고 단정할 수 없습니다.

데스크톱과 Android에서 구독을 함께 쓸 때의 조건

하나의 구독을 여러 기기에서 사용할 수 있지만, 구독 형식과 포함된 노드 조합을 두 기기 모두 지원해야 합니다. 구독은 보통 기기별 로컬 수신 포트, 시스템 프록시 상태, 앱별 설정까지 동기화하지 않습니다. 이는 클라이언트마다 따로 관리되는 동작입니다.

설정 방법: 노드 정보는 공유하고 로컬 진입점은 별도로 관리

데스크톱: v2rayN
  • 구독을 가져온 뒤 활성 노드가 실제로 사용하는 코어를 확인합니다.
  • 먼저 노드를 시작한 다음 시스템 프록시 또는 앱 내 프록시 설정을 확인합니다.
  • 로컬 수신 주소, 포트, 라우팅 모드를 기록합니다.
Android: v2rayNG
  • 같은 구독을 가져온 뒤 대상 노드의 전송 방식과 보안 계층 항목을 확인합니다.
  • 처음 시작할 때 시스템 VPN 연결 권한을 확인합니다.
  • 앱별 프록시를 켰다면 대상 앱이 의도한 범위에 포함됐는지 확인합니다.

구독을 공유하면 정보를 반복해서 입력하는 수고를 줄일 수 있지만, 두 기기에서 각각 갱신해야 합니다. 노드 목록, 라우팅 규칙, 프록시 상태가 자동으로 완전히 일치하는 것은 아닙니다.

예를 들어 데스크톱 앱에 127.0.0.1:10808을 수동으로 설정했더라도 클라이언트가 실제로 해당 포트에서 대기 중이고 앱에서 SOCKS 또는 HTTP 유형을 올바르게 선택해야 작동합니다. 여기의 10808은 확인을 위한 예시일 뿐, 모든 버전에서 같은 기본값을 사용하라는 뜻은 아닙니다. 문제 해결을 위해 수신 주소를 임의로 0.0.0.0으로 바꾸지 마세요. 로컬 프록시에 접근할 수 있는 범위가 넓어질 수 있습니다.

라우팅은 두 계층으로 나눠 이해해야 합니다. 시스템 프록시 또는 Android VPN 진입점은 어떤 트래픽이 클라이언트로 들어갈지 결정하고, routing.rules는 코어에 들어온 트래픽이 어떤 아웃바운드로 나갈지 결정합니다. 노드는 연결되는데 특정 앱만 실패한다면 코어를 바로 바꾸기보다 진입점과 앱별 적용 범위를 먼저 확인하세요.

노드 가져오기부터 연결까지 확인하는 순서

옮기기 전에 기존 클라이언트 설정을 보관하고 노드 하나로 최소한의 연결 경로부터 구성하세요. 구독, 라우팅, DNS, 코어 버전을 한꺼번에 바꾸면 로그의 오류가 어떤 변경에서 비롯됐는지 파악하기 어렵습니다.

  1. 실행 환경 기록: 운영체제, 클라이언트 버전, 코어 이름과 버전을 기록하세요. v2rayN의 코어 시작 로그는 실제로 어떤 프로그램이 실행됐는지 확인하는 중요한 근거입니다.
  2. 노드 매개변수 확인: 서버 주소, 원격 포트, 프로토콜, 사용자 식별자, 전송 경로, 보안 계층을 확인하세요. 원격 포트와 로컬 프록시 포트는 서로 다른 항목입니다.
  3. 시작 결과 확인: address already in use 오류가 표시되면 중복 실행 중인 인스턴스를 종료하거나 충돌하는 로컬 수신 포트를 변경하세요. 이 오류는 서버에 연결하기 전에 발생합니다.
  4. 트래픽 진입점 확인: 데스크톱에서는 시스템 프록시 또는 앱의 수동 프록시 설정을 확인하세요. Android에서는 VPN이 시작됐는지, 대상 앱이 제외됐는지 확인합니다.
  5. 복잡한 규칙 복원: 기본 연결이 작동한 뒤 사용자 지정 DNS, 라우팅 분기, 구독 갱신 설정을 하나씩 복원하고 변경할 때마다 로그를 확인하세요.

클라이언트 선택 및 마이그레이션 FAQ

v2rayN을 설치하면 반드시 V2Fly를 사용하나요?

아닙니다. 노드 하나를 시작한 뒤 로그에 표시된 코어 이름과 버전을 확인하세요. 클라이언트 이름이 현재 사용하는 코어를 뜻하지는 않습니다. 코어를 바꾸려면 현재 릴리스에서 제공하는 코어 옵션을 사용하고 노드 호환성도 다시 확인하세요.

VLESS 링크를 가져왔는데 연결되지 않는 이유는 무엇인가요?

노드 편집 화면을 열어 전송 방식, 보안 계층, 서버 이름, 흐름 제어를 차례로 확인하세요. REALITY를 사용한다면 공개 키와 짧은 ID도 확인해야 합니다. 그런 다음 코어 버전과 로그를 살펴보세요. ‘가져오기 성공’만으로 확장 매개변수가 제대로 적용됐다고 볼 수는 없습니다.

Xray로 바꾸면 기존 VMess 노드를 다시 만들어야 하나요?

대개는 서버 설정을 그대로 두고 새 코어가 기존의 전체 설정 조합을 지원하는지 확인한 다음 가져와 테스트하면 됩니다. 노드 프로토콜을 VMess에서 VLESS로 임의 변경하지 마세요. 서버 측 설정을 함께 바꾸지 않으면 클라이언트 항목만 수정해서는 마이그레이션이 완료되지 않습니다.

같은 구독이 데스크톱에서는 되는데 Android에서는 안 될 때 먼저 무엇을 확인해야 하나요?

먼저 양쪽에서 같은 노드를 선택했는지 확인한 뒤 코어 버전과 주요 매개변수를 비교하세요. 매개변수가 같다면 Android VPN 권한, 앱별 적용 범위, 기기 시간을 확인합니다. 데스크톱에서 연결된다는 사실은 해당 데스크톱 환경에서 그 연결이 작동한다는 것만 보여 줍니다.

최종 선택은 확인 가능한 조건을 기준으로 해야 합니다. 플랫폼에서 실행할 수 있는지, 코어가 노드 조합을 지원하는지, 진입점 설정이 올바른지, 로그에 설정 오류나 핸드셰이크 오류가 없는지 확인하세요. 분기 계보를 이해하는 목적은 문제 해결 범위를 좁히는 데 있으며, 분기 이름을 연결 품질의 보증으로 보는 데 있지 않습니다. 각 항목의 의미는 설정 참고서에서 확인하고, 처음 연결할 때는 사용 가이드를 따라 진행하세요.

클라이언트 및 설치 파일