클라이언트는 인터페이스와 설정 관리를 담당하고, 코어는 연결을 처리합니다. 이 역할 구분을 알면 기능을 제공하는 구성 요소와 업데이트 때 확인할 항목을 판단할 수 있습니다.
Project V와 V2Ray의 시작
Project V는 프록시 통신 도구를 중심으로 형성된 오픈 소스 기술 생태계이며, V2Ray는 널리 알려진 핵심 프로젝트입니다. 인바운드, 아웃바운드, 전송, 라우팅 등의 단계를 조합 가능한 설정으로 구성해 하나의 그래픽 인터페이스에서 여러 연결 방식을 관리할 수 있습니다. 일상적으로 말하는 ‘V2Ray 클라이언트’는 그래픽 프로그램과 기반 코어를 함께 가리키는 경우가 많지만, 두 요소는 서로 다른 소프트웨어 계층입니다. 다운로드 페이지에서는 클라이언트별 다운로드 항목을 안내하고, 프로토콜 안내서에서는 기반 프로토콜과 코어의 관계를 설명합니다.
이런 계층 구분은 두 클라이언트가 비슷한 공유 링크를 가져오면서도 메뉴와 실행 모드는 다를 수 있는 이유이기도 합니다. 인터페이스는 클라이언트에 따라 달라지고, 연결 항목을 인식할 수 있는지는 코어 기능과 가져오기 기능에 따라 달라집니다. 설정을 찾을 때는 먼저 클라이언트 이름을 확인하고, 프로토콜 지원 여부를 판단할 때는 사용 중인 코어를 확인하세요. 한 플랫폼의 조작 화면을 다른 소프트웨어에 그대로 적용하지 않도록 주의해야 합니다.
V2Fly와 Xray의 분기 관계
V2Fly는 V2Ray 코어를 이어받아 커뮤니티에서 유지 관리하고, Xray는 관련 코드 기반에서 별도의 코어 계열로 발전했습니다. 두 코어는 일부 개념과 설정 방식이 같지만, 각각 발전하면서 새로 추가된 항목이나 보안 계층 방식을 모두 서로 인식하는 것은 아닙니다. 클라이언트가 VMess나 VLESS를 지원한다고 해서 해당 프로토콜의 모든 전송 조합을 지원한다는 뜻도 아닙니다. 코어 이름만 비교하거나 한 계열을 모든 상황의 정답으로 간주하지 말고, 서버에서 제공한 전체 설정을 기준으로 선택하세요.
모바일 기기의 실제 리소스 사용량은 전송 방식, 연결 수, 네트워크 전환, 백그라운드 정책에도 영향을 받습니다. 프로토콜 이름만으로 모든 상황에 적용되는 배터리 소모 순위를 정할 수는 없습니다. 현재 설정으로 필요한 기능을 이용할 수 있다면 값을 그대로 유지하세요. 기능을 추가해야 할 때 코어 지원 범위, 클라이언트의 가져오기 기능, 서버 조건을 확인하는 편이 여러 클라이언트 사이에서 설정을 반복해서 옮기는 것보다 관리하기 쉽습니다.
세 클라이언트의 역할
v2rayN, v2rayNG, v2flyNG는 모두 설정 관리와 일상적인 조작을 간편하게 해 주는 오픈 소스 그래픽 클라이언트입니다. v2rayN은 데스크톱용으로 구독 그룹, 시스템 프록시, 라우팅 메뉴를 제공합니다. v2rayNG는 Android용으로 시스템 VPN 인터페이스를 통해 요청을 관리합니다. v2flyNG는 V2Fly 코어를 사용하는 Android 클라이언트입니다. 인터페이스가 비슷해도 모든 옵션이 동일한 것은 아니므로 옮기기 전에 항목별로 확인하세요.
클라이언트 자체가 연결 서비스는 아니며, 설치를 마쳤다고 사용할 수 있는 구독이 자동으로 생기는 것도 아닙니다. 구독 제공처는 연결 매개변수를 제공하고, 클라이언트는 설정을 해석하고 실행합니다. 문제를 진단할 때 두 부분을 구분해야 설치, 가져오기, 서버 상태, 로컬 라우팅 중 어디에 원인이 있는지 판단할 수 있습니다. 이 사이트는 세 클라이언트를 중심으로 가이드를 구성하며, 설정 제공처와 소프트웨어 배포를 같은 것으로 취급하지 않습니다.
오픈 소스 라이선스와 업데이트 범위
V2Ray 코어와 Xray 코어는 MPL 2.0 오픈 소스 라이선스를 사용하며, 그래픽 클라이언트는 각자의 라이선스 고지와 의존성 안내를 따릅니다. 오픈 소스 라이선스는 코드의 사용, 수정, 재배포 조건을 정하며, 모든 소프트웨어 계층에 완전히 동일한 라이선스 조건이 적용된다는 뜻은 아닙니다. 일반 사용자는 기능과 배포 안내를 확인하면 됩니다. 코드를 수정하거나 재배포할 때는 클라이언트, 코어, 관련 의존성의 실제 라이선스 문서를 각각 확인하세요.
업데이트 대상도 여러 계층으로 나뉩니다. 클라이언트 업데이트는 인터페이스와 가져오기 기능을 바꿀 수 있고, 코어 업데이트는 프로토콜 항목 지원을 추가할 수 있습니다. 구독 업데이트는 연결 설정을 새로고침하고, 규칙 리소스 업데이트는 분류 매칭에 영향을 줍니다. 구독 업데이트에 성공했다고 코어 기능까지 바뀐 것은 아닙니다. 업그레이드 전에 필요한 로컬 설정을 보관하고, 업데이트 후 기존 연결과 자주 쓰는 앱을 먼저 확인한 다음 새 옵션을 사용하면 여러 변수가 동시에 바뀌어 생기는 문제를 줄일 수 있습니다.