Project V는 프로젝트 전체를 가리키고, V2Ray는 그 안에서 연결을 처리하는 핵심 소프트웨어입니다. V2Fly와 Xray는 서로 다른 커뮤니티 유지보수 계열이며, v2rayN 등은 코어를 조작하는 그래픽 클라이언트입니다. 구독과 코어 선택이 낯선 사용자라면 먼저 각 구성 요소의 역할을 구분한 뒤 서버 설정에 맞는 클라이언트를 고르고, 로그로 설정이 제대로 적용됐는지 확인하세요.
프로젝트·코어·프로토콜·클라이언트, 네 가지 구분하기
‘V2Ray 다운로드’를 검색하면 Project V, V2Fly, Xray, v2rayN이 함께 검색되는 경우가 많습니다. 하지만 이 이름들은 같은 범주에 속하지 않습니다. Project V는 조합 가능한 네트워크 프록시 도구를 중심으로 시작했고, V2Ray는 연결 처리를 담당하는 핵심 소프트웨어입니다. 일상적인 대화에서는 ‘V2Ray’를 관련 도구 생태계 전체를 가리키는 말로 쓰기도 해 프로젝트명, 프로토콜명, 데스크톱 프로그램을 혼동하기 쉽습니다.
| 구분 | 대표 명칭 | 주요 역할 |
|---|---|---|
| 프로젝트와 커뮤니티 | Project V、V2Fly | 개발을 주도하고 문서를 관리하며 코어 프로그램과 관련 구성 요소를 배포합니다. |
| 실행 코어 | V2Fly가 유지보수하는 V2Ray, Xray-core | 설정을 읽고 인바운드·라우팅·DNS·아웃바운드 연결을 처리합니다. |
| 프록시 프로토콜 | VMess、VLESS | 클라이언트와 서버 사이의 프록시 통신 방식을 정의합니다. |
| 그래픽 클라이언트 | v2rayN、v2rayNG、v2flyNG | 노드와 구독을 관리하고 설정을 생성하며 코어를 실행하고 로그를 표시합니다. |
예를 들어 v2rayN에서 구독 업데이트 버튼을 누르면 그래픽 클라이언트가 데이터를 가져와 해석합니다. VMess 연결은 코어가 설정에 따라 처리합니다. 화면에 노드가 표시된다고 해서 현재 코어에서 반드시 작동하는 것은 아닙니다. 프로토콜, 전송 방식, 보안 계층을 확인하고 클라이언트가 해당 필드를 올바르게 생성했는지도 살펴봐야 합니다.
- 구독은 코어가 아닙니다: 노드 정보를 전달하는 수단일 뿐, 구독 주소만으로 필요한 코어를 판단할 수 없습니다.
- 프로토콜과 전송 방식은 다릅니다: VMess·VLESS와 TCP·WebSocket은 서로 다른 설정 항목이므로 서로 대체할 수 없습니다.
- 클라이언트는 서버가 아닙니다: 로컬 프로그램을 바꿔도 원격 서버의 수신 포트, 사용자 식별자, 보안 설정은 자동으로 변경되지 않습니다.
Project V에서 V2Fly·Xray까지: 주요 흐름
이 역사를 이해할 때 중요한 것은 버전 번호를 외우는 일이 아니라, 유지보수 주체가 현재의 호환성에 어떤 영향을 미치는지 아는 것입니다. 초기 코드와 설정 개념을 공유해 서로 비슷해 보이지만, 이후 각자 기능을 추가하면서 완전히 호환되는 프로그램은 아니게 됐습니다.
- 2015년 전후: V2Ray가 모습을 갖추기 시작했습니다. Project V는 모듈형 네트워크 프록시 기능을 바탕으로 인바운드, 아웃바운드, 라우팅을 구성하는 설정 체계를 발전시켰습니다. VMess는 생태계에서 널리 쓰이는 프로토콜이 됐고, 그래픽 클라이언트는 설정을 직접 작성해야 하는 부담을 줄였습니다.
- 2020년: V2Fly 커뮤니티가 유지보수를 이어받았습니다. 기존 프로젝트의 유지보수에 변화가 생긴 뒤 커뮤니티가 V2Ray 코어와 문서, 관련 개발을 이어갔습니다. ‘V2Fly’는 주로 유지보수 커뮤니티를 가리킵니다. VMess의 이름이 바뀐 것도 아니고, 별도로 설치해야 하는 데스크톱 인터페이스도 아닙니다.
- 2020년 말: Xray가 독립 계열로 발전했습니다. Xray는 관련 코드 기반에서 출발해 독자적인 코어 유지보수 노선을 갖추었습니다. V2Ray와 여러 개념을 공유하지만, 점차 기능 구현과 설정 지원, 배포 주기에서 차이를 보이게 됐습니다.
- 이후 발전: 클라이언트가 여러 코어를 지원합니다. 데스크톱과 안드로이드 클라이언트는 구독 관리, 라우팅 규칙, 실행 상태 표시 기능을 계속 개선했습니다. 메뉴가 비슷해 보여도 실제로 지원하는 노드는 클라이언트의 설정 생성 기능과 코어 구현에 따라 달라집니다.
V2Fly와 Xray: 개념을 공유해도 설정이 호환되는 것은 아닙니다
두 계열 모두 인바운드, 아웃바운드, 라우팅, DNS를 처리할 수 있습니다. 하지만 같은 모듈 개념이 있다는 사실만으로 설정까지 호환되는 것은 아닙니다. VMess는 두 코어에서 흔히 지원하는 프로토콜입니다. VLESS를 ‘Xray만 지원하는 기능’이라고 단순하게 구분해서도 안 됩니다. VLESS 노드에 REALITY, 특정 flow 또는 구현별 매개변수가 조합됐는지 확인해야 합니다.
REALITY는 보안 계층과 관련된 기능이지 VMess·VLESS와 같은 종류의 프록시 프로토콜이 아닙니다. ‘VLESS + REALITY’ 노드라면 해당 조합을 지원하는 Xray 구성을 선택하고 서버에서 제공한 공개 키, 서버 이름, 짧은 ID, flow 등의 설정을 확인하세요. 노드 유형만 VLESS로 바꿔서는 필요한 설정이 갖춰지지 않습니다.
| 확인 항목 | 판단 기준 | 흔한 오해 |
|---|---|---|
| 일반 VMess 노드 | 주소, 포트, 사용자 식별자, 전송 방식, TLS 설정을 대조한 다음 현재 코어의 지원 여부를 확인합니다. | 모든 연결 실패를 코어 계열 탓으로 돌립니다. |
| VLESS와 REALITY 조합 | 해당 조합을 지원하는 Xray를 사용하고 서버 안내에 따라 필요한 매개변수를 모두 입력합니다. | 가져오기에 성공하면 코어에서도 지원된다고 생각합니다. |
| 전체 JSON 설정 | 대상 코어와 설정 형식, 필드 설명을 확인한 뒤 설정을 먼저 검사합니다. | 이름이 비슷한 필드는 완전히 호환된다고 여깁니다. |
| 라우팅과 DNS | 규칙 순서, 아웃바운드 태그, 참조하는 데이터 파일의 존재 여부를 확인합니다. | 규칙만 복사하고 필요한 아웃바운드와 리소스는 빠뜨립니다. |
정리: 노드가 요구하는 기능에 맞춰 코어 선택
서버에서 제공한 프로토콜, 전송 방식, 보안 계층, flow를 목록으로 정리한 다음 클라이언트와 코어를 선택하세요. 한 계열의 업데이트가 더 빠르다는 이유만으로 이미 잘 맞고 정상 작동하는 설정을 바꾸지는 마세요.
그래픽 클라이언트 3종: 플랫폼과 코어 요구 사항으로 선택하기
v2rayN은 데스크톱용으로 구독, 서버 선택, 라우팅, 시스템 프록시 설정 기능을 제공합니다. 단순히 ‘V2Fly의 인터페이스’라고 볼 수는 없습니다. 실제로 호출되는 코어는 클라이언트 버전, 설정 유형, 선택한 노드에 따라 달라집니다. 문제를 확인할 때는 창에 표시된 프로그램 이름만 제시하지 말고 클라이언트 버전과 코어 버전을 각각 기록하세요.
v2rayN: 데스크톱 클라이언트
추천Windows, macOS, Linux 데스크톱에서 노드를 관리하고 로그를 확인하며 라우팅을 조정하는 데 적합합니다. 이 글에서는 데스크톱 입문용으로 추천하지만 안드로이드 클라이언트를 대체한다는 뜻은 아닙니다. 지원 시스템과 아키텍처는 다운로드 페이지의 설치 파일을 확인하세요.
적합한 용도: 데스크톱 일상 사용, 구독 관리, 분할 라우팅 문제 해결
v2rayNG: 안드로이드와 Xray
Xray 코어를 사용해 연결을 처리하는 안드로이드 클라이언트입니다. Xray의 특정 기능이 필요하다면 클라이언트 버전과 함께 제공되는 코어 버전을 확인하세요. 오래된 설치 파일이 모든 최신 기능을 지원한다고 볼 수는 없습니다.
적합한 용도: 안드로이드 기기, Xray 전용 조합이 필요한 노드
v2flyNG: 안드로이드와 V2Fly
V2Fly의 V2Ray 코어를 사용하는 안드로이드 클라이언트입니다. V2Fly 기능에 맞춰 준비된 노드와 설정이 있다면 이 계열을 사용할 수 있습니다. 특정 확장 매개변수가 필요한 경우에는 먼저 지원 여부를 확인하세요.
적합한 용도: 안드로이드 기기, V2Fly 코어 기반 설정
안드로이드에서는 시스템 VPN 인터페이스를 통해 트래픽을 가로채 로컬 프록시로 전달합니다. 이는 원격 노드의 프로토콜이 아니라 트래픽을 처리하는 방식입니다. 권한 요청을 승인해도 로컬에서 트래픽을 가로챌 조건이 갖춰졌다는 뜻일 뿐입니다. 원격 연결 가능 여부는 노드 설정, 네트워크 연결 상태, 코어 로그를 확인해야 합니다.
설정 점검 한 번으로 인터페이스·코어·네트워크 확인하기
아래에서는 v2rayN에서 흔히 볼 수 있는 메뉴를 기준으로 점검 순서를 설명합니다. 데스크톱 인터페이스에 따라 메뉴 위치는 달라질 수 있습니다. 현재 버전에 코어 선택 항목이 없다면 실제로 표시되는 메뉴를 기준으로 확인하고, 변경된 설정을 예전 튜토리얼에서 찾으려 하지 마세요. 테스트할 때는 한 번에 한 항목만 바꿔 어느 단계가 영향을 주는지 확인하세요.
-
버전 기록
「도움말」→「정보」에서 클라이언트 버전을 기록한 다음 코어 시작 로그에서 코어 이름과 버전을 확인하세요. 두 버전을 따로 기록해야 인터페이스의 설정 해석 문제인지 코어 실행 문제인지 판단할 수 있습니다.
-
코어 확인
「설정」→「매개변수 설정」→「Core 유형」에서 현재 설정의 코어 연결 상태를 확인하세요. 메뉴 이름이 다르거나 해당 항목이 없다면 설치 폴더로 추측하지 말고 실행 로그에서 실제로 시작된 코어를 확인하세요.
-
구독 업데이트
「구독 그룹」→「구독 그룹 설정」에서 구독 주소를 확인한 뒤 「구독 그룹」 메뉴에서 업데이트를 실행하세요. 업데이트가 끝나면 대상 서버의 편집 창을 열어 주소, 포트, 프로토콜, 전송 방식, 보안 계층을 대조합니다.
-
트래픽 진입 경로 확인
「설정」→「매개변수 설정」에서 로컬 수신 포트를 확인한 뒤 메인 화면 아래쪽의 「시스템 프록시」 상태를 점검하세요. 시스템 프록시를 따르는 브라우저로 먼저 테스트하고 TUN과 라우팅 규칙을 동시에 바꾸지는 마세요.
-
실행 로그 확인
접속을 한 번 시도하고 해당 연결과 아웃바운드 정보가 로그에 표시되는지 확인하세요. 코어 시작 단계에서 필드 오류가 발생하면 먼저 설정을 수정합니다. 코어는 정상적으로 시작됐지만 연결 시간이 초과된다면 원격 주소, 포트, 네트워크 상태를 확인하세요.
포트는 각 구성 요소의 차이를 잘 보여 줍니다. 아래 세 가지 숫자는 포트의 역할을 설명하는 예시입니다. 모든 클라이언트의 기본값이 같다는 뜻도 아니고, 실제 네트워크를 테스트한 결과도 아닙니다.
로컬 주소의 127.0.0.1:10808과 원격 주소의 443은 같을 필요가 없습니다. 브라우저는 로컬 수신 포트로 연결을 전달하고 코어는 노드 설정에 따라 원격 서버에 접속합니다. 혼합 수신을 사용하면 로컬 포트 하나에서 여러 프록시 프로토콜을 받을 수도 있습니다. 실제로 실행하지 않은 HTTP 포트를 추가로 입력하라는 예전 튜토리얼을 그대로 따라 하지 마세요.
생태계 자주 묻는 질문: 계열 전환, 구독 이전, 설정 재사용
v2rayN을 설치했는데 V2Ray용 인터페이스도 설치해야 하나요?
같은 작업을 위해 인터페이스를 하나 더 설치할 필요는 없습니다. 먼저 v2rayN을 실행하고 로그에서 필요한 코어가 정상적으로 시작됐는지 확인하세요. 코어 파일이 없다는 메시지가 나오면 다운로드 페이지와 튜토리얼을 참고해 필요한 구성 요소가 포함된 패키지를 선택하세요. 아무 코어 프로그램이나 이름만 바꿔 넣어 대체해서는 안 됩니다.
같은 구독을 v2rayNG에서 v2flyNG로 옮겨 사용할 수 있나요?
같은 구독을 가져와 사용할 수는 있지만 노드별 지원 여부를 확인해야 합니다. 기존 클라이언트를 그대로 둔 채 매개변수가 명확한 노드 하나만 가져와 테스트하세요. REALITY처럼 Xray에 의존하는 설정이 포함됐다면 V2Fly 계열로 바꿔도 그대로 작동한다고 기대해서는 안 됩니다.
구독 업데이트는 성공했는데 왜 연결되지 않나요?
업데이트 성공은 데이터를 가져와 해석했다는 의미일 뿐입니다. 노드 편집 창에서 서버 주소, 포트, 사용자 식별자, TLS 서버 이름을 확인하고 코어 로그도 살펴보세요. 연결 기록이 전혀 없다면 시스템 프록시나 트래픽 가로채기 설정부터 확인합니다. 연결 기록이 있지만 오류가 발생한다면 오류 내용에 따라 원격 서버를 점검하세요.
인터넷에서 찾은 라우팅 JSON을 그대로 복사해도 되나요?
먼저 현재 설정을 백업한 다음 대상 코어와 설정 형식을 확인하세요. 아웃바운드 태그, 규칙 순서, 규칙에서 참조하는 데이터 파일을 하나씩 점검합니다. 설정 전체를 덮어쓰지 말고 테스트 규칙 하나만 복사해 적용 결과를 확인한 뒤 단계적으로 추가하세요.
Project V는 생태계의 배경, V2Fly와 Xray는 코어 유지보수 계열, 세 가지 클라이언트는 플랫폼별 조작 도구로 구분하면 선택이 한결 쉬워집니다. 문제가 생기면 ‘클라이언트 버전, 코어 버전, 노드 조합, 오류 발생 단계’를 함께 설명하는 편이 막연히 ‘V2Ray가 안 된다’고 말하는 것보다 원인을 찾기 쉽습니다. 로그를 공유하기 전에는 구독 주소, 사용자 식별자, 기타 접속 정보도 가리세요.