생태계의 출발점: Project V에서 여러 코어로
Project V는 네트워크 통신 도구를 중심으로 형성된 오픈 소스 프로젝트 생태계이며, V2Ray는 그중 주요 구현체입니다. V2Fly 커뮤니티는 V2Ray 관련 구현을 지속적으로 유지 관리하고, Xray는 관련 코드 기반에서 발전해 독립적인 코어 분기가 되었습니다. 두 계열은 비슷한 개념과 설정 방식을 공유하지만 기능, 프로토콜 확장, 구현 세부 사항은 각각 발전해 왔습니다. 이름만 다른 같은 소프트웨어로 보면 안 됩니다.
일상적인 검색에서 ‘V2Ray 클라이언트’는 이 생태계의 그래픽 도구를 가리키는 경우가 많지만, 모든 도구가 같은 코어를 실행하는 것은 아닙니다. 서버 설정에 특정 프로토콜 확장이 필요하다면 앱 이름에 V2Ray가 포함됐는지만 보지 말고 실제 코어가 지원하는지 확인하세요. 설정 항목이 비슷해 보여도 서로 그대로 바꿔 쓸 수 있는 것은 아닙니다.
가이드를 읽을 때 그래픽 메뉴와 코어 설정 파일도 구분해야 합니다. 메뉴의 스위치 하나가 여러 하위 설정을 생성할 수 있으며, 설정 파일을 직접 편집해도 다음에 그래픽 인터페이스에서 저장할 때 내용이 다시 생성될 수 있습니다. 평소에는 그래픽 인터페이스로 관리하고, 사용자 지정 설정이 필요하면 클라이언트의 생성 및 병합 방식을 먼저 확인하세요.
클라이언트 세 가지: 인터페이스와 코어의 역할
v2rayN은 데스크톱 환경에서 서버 관리, 구독 업데이트, 라우팅 선택 및 관련 설정을 담당하고 해당 코어를 호출해 연결합니다. v2rayNG는 Android용 Xray 코어 클라이언트이며, v2flyNG는 V2Fly 기반 Android 클라이언트입니다. 세 클라이언트는 모두 오픈 소스 소프트웨어지만, 구체적인 사용법은 각 인터페이스와 포함된 코어에 따라 확인해야 합니다.
그래픽 인터페이스는 출처 저장, 서버 선택, 실행 설정 생성, 상태 표시 등 설정 관리를 담당합니다. 코어는 프로토콜 핸드셰이크, 전송, DNS 해석, 라우팅을 처리합니다. 인터페이스가 구독을 읽었다고 해서 코어가 구독에 포함된 모든 조합을 지원하는 것은 아닙니다. 반대로 코어 시작에 실패했다고 구독 URL이 잘못된 것은 아니며, 특정 매개변수나 실행 조건이 맞지 않을 수도 있습니다.
데스크톱과 모바일은 트래픽 진입 방식도 다릅니다. 데스크톱은 보통 시스템 프록시를 사용하고, 모바일은 대개 시스템 VPN 권한이 필요합니다. 설정을 옮길 때는 먼저 같은 서버 설정을 가져와 연결을 확인한 뒤 그룹, 규칙, 기타 설정을 적용하세요. 플랫폼마다 다른 트래픽 처리 방식을 그대로 옮길 수 있는 옵션으로 착각하지 마세요.
오픈 소스 라이선스: 구성 요소별로 이해하기
오픈 소스는 해당 라이선스에 따라 소스 코드를 공개하고, 라이선스 조건에 맞게 사용·연구·배포할 수 있다는 뜻입니다. V2Fly의 V2Ray 코어는 MIT 라이선스, Xray 코어는 MPL 2.0 라이선스를 사용합니다. 그래픽 클라이언트와 의존 구성 요소에는 각각 다른 라이선스가 적용될 수 있습니다. 소프트웨어 라이선스를 살펴볼 때는 클라이언트, 코어, 포함된 구성 요소를 구분해야 하며 한 구성 요소의 라이선스를 전체 소프트웨어에 적용해서는 안 됩니다.
일반 사용자에게 오픈 소스 여부는 프로젝트의 출처와 기술 구현을 이해하는 데 도움이 되지만, 개별 설정을 확인하는 일을 대신하지는 않습니다. 구독 출처는 서버 매개변수를 제공하고, 서버 운영자는 서비스 조건을 정하며, 클라이언트는 로컬 연결과 관리를 담당합니다. 각 요소는 함께 작동하지만 역할은 서로 다릅니다. 클라이언트를 설치한다고 사용할 수 있는 구독이나 서버가 자동으로 만들어지지는 않습니다.
문제를 공유할 때는 프로토콜 종류, 운영체제 환경, 오류 정보만으로도 대개 충분합니다. 전체 구독 URL, 사용자 식별 정보, 비공개 연결 매개변수는 공개하지 마세요. 문서의 설정 예시는 구조를 설명하기 위한 것으로, 바로 연결할 수 있는 서비스가 아니며 출처에서 제공한 실제 매개변수를 대신할 수 없습니다.
업데이트 순서: 호환성을 확인한 뒤 설정 변경
클라이언트 인터페이스, 코어 프로그램, 구독 내용, 라우팅 데이터는 각각 따로 변경될 수 있습니다. 클라이언트를 업데이트해도 구독이 바뀌는 것은 아니며, 구독을 업데이트한다고 코어가 업그레이드되는 것도 아닙니다. 연결 상태가 달라졌다면 최근에 어느 계층을 변경했는지 먼저 기록하고 해당 부분을 점검하세요. 화면 모양이나 파일 날짜만으로 실제 실행 중인 코어가 설정과 호환되는지 판단하기는 어렵습니다.
업데이트 전에 현재 작동하는 설정을 저장하고 설치 형식, 권한, 데이터 디렉터리 안내를 읽으세요. 업데이트 후에는 기존 서버와 모드로 먼저 테스트한 다음 새 기능을 하나씩 켜세요. 코어가 시작되지 않으면 시작 정보와 설정 호환성을 우선 확인하고, 특정 구독 출처에서만 문제가 생기면 전체 클라이언트를 다시 설치하기 전에 출처에서 반환한 내용을 확인하세요.
고급 설정을 변경할 때는 라우팅, DNS 정책, TUN 상태를 간단히 기록해 두세요. 되돌릴 때 변경 사항을 역순으로 취소하면 시스템 프록시나 가상 인터페이스 설정이 남는 일을 방지할 수 있습니다. 추가로 문제를 점검할 때는 같은 구독을 반복해서 가져오기보다 ‘앱 진입점, DNS 해석, 라우팅 규칙, 서버 연결’ 순서로 안내서를 확인하세요.