Project V와 V2Ray의 관계
Project V는 네트워크 통신을 위한 도구와 구성 요소를 개발하는 프로젝트이며, V2Ray는 그중 널리 쓰이는 코어 이름입니다. 코어는 연결을 수신하고 프로토콜을 해석하며 라우팅 규칙을 적용해 아웃바운드 연결을 만듭니다. 그래픽 클라이언트는 이러한 기능을 조작하기 쉬운 설정 화면으로 제공합니다. 일상적으로 말하는 ‘V2Ray 설치’는 실제로 코어를 관리하는 클라이언트를 설치한다는 뜻인 경우가 많습니다. 따라서 메뉴나 구독 작업에 문제가 생기면 V2Ray라는 포괄적인 이름만으로 버튼을 찾기보다 사용 중인 클라이언트부터 확인하세요.
이러한 계층 구조를 이해하면 같은 기술 문서라도 인터페이스별 안내가 필요한 이유를 알 수 있습니다. 코어 문서는 필드가 유효한지 다루고, 클라이언트 문서는 인터페이스에서 필드를 어떻게 생성하는지 다룹니다. 두 문서가 해결하는 문제는 다릅니다. 클라이언트 하나에서 코어를 선택하고 설정을 생성해 프로세스를 실행할 수 있지만, 그렇다고 서로 다른 코어의 기능이 모두 같아지는 것은 아닙니다. 이 사이트에서는 처음 설치하고 자주 쓰는 작업은 사용 가이드에, 원본 필드와 상호 의존성은 설정 참고 자료에 정리해 문제에 맞는 계층을 찾아볼 수 있도록 했습니다.
V2Fly와 Xray의 분기 관계
V2Fly는 V2Ray 커뮤니티에서 유지 관리하는 중요한 프로젝트이며, Xray는 관련 코드를 바탕으로 발전한 코어 분기입니다. 두 코어는 일부 역사와 설정 개념을 공유하지만 프로토콜 구현, 전송 기능, 필드 제약은 각자 발전해 왔습니다. JSON 예시를 읽을 때는 inbounds, outbounds, routing 같은 공통 구조로 각 항목의 역할을 파악한 다음, 구체적인 필드가 현재 코어에서 지원되는지 확인하세요. 루트 항목 이름이 같다고 내부 옵션까지 자유롭게 서로 바꿔 쓸 수 있는 것은 아닙니다.
코어 선택은 분기 이름에 대한 일반적인 성능 평가가 아니라 현재 설정의 요구 사항을 기준으로 해야 합니다. 서버에서 요구하는 프로토콜, 보안 계층, 전송 조합을 클라이언트 코어가 각각 지원해야 합니다. 하나라도 빠지면 인터페이스에서 항목을 저장할 수 있어도 연결되지 않습니다. 특정 분기의 확장 기능을 사용할 때는 해당 문서를 우선 확인하고 실제 실행 중인 코어 정보를 기록하세요. 호환성 문제가 생겼을 때 ‘필드를 인식하지 못함’과 ‘매개변수는 인식했지만 연결 실패’를 구분하면 불필요한 수정을 줄일 수 있습니다.
세 가지 오픈 소스 클라이언트의 역할
v2rayN은 Windows, macOS, Linux 데스크톱용 클라이언트로 서버 관리, 구독 그룹, 시스템 프록시, 라우팅 설정 기능을 제공합니다. 선택할 수 있는 코어는 클라이언트 기능에 따라 달라집니다. v2rayNG는 Android용 Xray 코어 클라이언트이며, v2flyNG는 Android용 V2Fly 코어 클라이언트입니다. 세 가지 모두 오픈 소스지만 그래픽 인터페이스, 권한 모델, 설정 저장 방식은 서로 다릅니다. 데스크톱 설정 스크린샷을 Android 메뉴의 기준으로 삼지 마세요. 설정을 옮길 때는 작업 디렉터리 전체를 복사하기보다 연결 매개변수를 확인하는 편이 좋습니다.
오픈 소스는 구현과 라이선스 조건을 검토할 수 있다는 뜻이지, 설정 검토를 대신하지 않습니다. 클라이언트 소프트웨어, 코어 프로그램, 실행 중 사용하는 데이터 파일은 각각 다른 오픈 소스 라이선스를 따를 수 있습니다. V2Fly의 v2ray-core는 MIT 라이선스를, Xray-core는 MPL-2.0 라이선스를 사용합니다. 클라이언트와 종속 항목의 재배포 조건도 해당 라이선스 원문을 각각 확인해야 합니다. 사용자는 오픈 소스라는 표시만으로 모든 구성 요소의 조건이 같다고 판단하기보다 출처, 기능 범위, 설정 호환성을 살펴봐야 합니다.
클라이언트, 코어, 구독은 각각 업데이트
클라이언트 업데이트는 인터페이스와 설정 생성 방식에 영향을 줄 수 있고, 코어 업데이트는 프로토콜 구현과 필드 요구 사항을 바꿀 수 있습니다. 구독 업데이트는 주로 원격 서버 정보를 새로 고칩니다. 각 업데이트는 대상이 다르므로 ‘구독 업데이트 완료’를 프로그램 업데이트로 여기면 안 되며, 클라이언트 업데이트가 만료된 구독 주소를 자동으로 복구해 주지도 않습니다. 업데이트 전에 현재 설정을 기록하고 필요한 구성을 내보내세요. 업데이트 후에는 시작 로그, 코어 선택, 라우팅 데이터 로드를 확인하고 실제 앱에서 요청을 보내 검증하세요.
다운로드 페이지에서는 플랫폼별 다운로드 경로와 설치 안내를 제공하며, 홈페이지는 안정적인 사용 안내를 중심으로 구성하고 특정 클라이언트 버전을 고정해 표시하지 않습니다. 설정 문제를 다룰 때는 실제 설치한 클라이언트, 현재 실행 중인 코어, 서버 요구 사항을 함께 고려하세요. 문서의 JSON 예시는 구조를 설명하기 위한 것이며, 실행 환경의 기본값과 생성 방식, 지원 범위는 각각 확인해야 합니다. 이러한 차이를 이해하면 설치, 이전, 문제 해결을 명확한 대상을 기준으로 진행할 수 있고 여러 설정 화면을 오가며 무작정 바꿀 필요가 없습니다.