Project V: 생태계 배경 이해하기
Project V는 네트워크 프록시 도구를 중심으로 형성된 오픈 소스 생태계이며, V2Ray는 널리 알려진 프로젝트 중 하나입니다. 검색할 때 ‘V2Ray’는 코어를 가리키기도 하고, 호환 설정이나 전체 사용 방식을 뜻하기도 합니다. 따라서 이 이름만 보고 어떤 설치 파일을 받아야 할지 결정할 수는 없습니다. GUI 클라이언트는 하위 설정을 메뉴, 그룹, 스위치로 정리해 매번 전체 설정을 직접 작성하지 않아도 되게 합니다. 다만 프로토콜, 전송 방식, 인증 정보는 원격 서버의 요구 사항에 맞아야 합니다.
이 사이트에서는 설치와 연결을 나누어 설명합니다. 먼저 기기에 맞는 GUI 클라이언트를 선택하고, 구독에 어떤 매개변수가 포함되는지 확인한 다음, 시스템 프록시와 라우팅이 앱 트래픽에 미치는 영향을 안내합니다. 이 순서대로 살펴보면 문제 발생 지점을 구체적으로 찾기 쉽고, ‘클라이언트가 켜져 있다’는 사실을 ‘모든 네트워크 요청이 예상대로 전달된다’고 오해하지 않을 수 있습니다.
V2Fly와 Xray: 관련은 있지만 서로 다릅니다
V2Fly 커뮤니티는 V2Ray의 유지 관리와 개발을 이어 가고 있습니다. Xray는 관련 코드에서 발전해 자체 기능을 계속 확장하고 있습니다. 두 프로젝트는 일부 기술적 배경을 공유하지만 프로토콜 확장, 설정 필드, 업데이트 주기는 다릅니다. VMess, VLESS, Trojan은 각각 구분해서 이해해야 하는 프로토콜이며, REALITY는 연결 보안 계층의 구체적인 방식입니다. 이 이름들을 서로 바꿔 쓸 수 있는 스위치처럼 취급하지 마세요.
설정을 선택할 때는 먼저 제공자가 요구하는 프로토콜, 전송 방식, 코어 지원 여부를 확인한 뒤 TLS 서버 이름 등의 필드를 살펴보세요. 한 코어에서 사용할 수 있는 기능이 다른 코어에서도 자동으로 호환되는 것은 아닙니다. 오래된 가이드의 기본값도 현재 빌드에 맞지 않을 수 있습니다. 모르는 매개변수가 있다면 원래 설정을 보존하고 해당 설명을 확인하세요. 이름이 비슷하다는 이유로 직접 바꾸는 것보다 안전합니다.
오픈 소스 클라이언트 3종: 사용 목적에 따라 선택
v2rayN은 데스크톱용으로 서버 관리, 구독 그룹, 시스템 프록시, 라우팅 설정 등을 GUI에서 제공합니다. 크로스 플랫폼 빌드와 클래식 인터페이스는 메뉴 위치가 다를 수 있지만, 먼저 설정을 가져온 뒤 코어와 프록시 적용 범위를 확인하는 순서는 같습니다. 데스크톱에서는 로컬 수신 포트와 종료 후에도 남아 있는 시스템 프록시 설정에 특히 주의하세요. 포트를 변경할 때는 해당 포트를 사용하는 앱의 설정도 함께 바꿔야 합니다.
v2rayNG는 Android 기기용이며 Xray 코어를 사용합니다. 클립보드, QR 코드, 구독 그룹 설정 등으로 설정을 가져올 수 있습니다. Android에서는 시스템 VPN 인터페이스로 트래픽을 처리하므로 권한 알림, 앱별 프록시, 백그라운드 실행 설정이 사용 결과에 영향을 줄 수 있습니다. QR 코드는 설정 내용을 전달하는 방법일 뿐입니다. 스캔에 성공해도 원격 설정이 유효하거나 구독 업데이트가 완료됐다는 뜻은 아닙니다.
v2flyNG는 V2Fly 코어를 사용하는 Android용 대체 클라이언트로, 해당 코어의 동작이나 설정 호환성이 필요한 경우에 적합합니다. 여러 클라이언트를 동시에 실행하는 방식으로 문제를 해결하려 하지 말고 실제 설정 요구 사항에 따라 선택하세요. 일반적으로 VPN 서비스는 한 번에 하나만 활성화할 수 있습니다. 클라이언트를 바꾸기 전에 기존 연결을 중지하고 새 클라이언트에서 가져온 설정과 프록시 적용 범위를 다시 확인하세요.
오픈 소스 라이선스: 코드와 사용 조건 이해하기
세 클라이언트는 모두 오픈 소스 프로젝트로 코드를 제공합니다. v2rayN은 GPL-3.0 라이선스를 사용하고, v2rayNG와 v2flyNG는 GPL-3.0 계열 라이선스를 사용합니다. V2Fly와 Xray 코어는 MPL-2.0 라이선스를 사용합니다. 사용, 수정, 재배포 의무는 실제로 사용하는 빌드에 포함된 라이선스와 의존성 안내를 기준으로 확인하세요. 클라이언트, 코어, 포함된 구성 요소를 모두 같은 라이선스로 간주해서는 안 됩니다.
코드가 공개되어 있다는 것은 구현을 살펴보고 논의할 수 있다는 뜻이지, 모든 원격 서비스를 신뢰해도 된다는 뜻은 아닙니다. 구독 주소에 인증 정보가 포함될 수 있고 로그에서 서버 정보가 노출될 수도 있습니다. 도움을 요청할 때는 필요한 오류 내용만 남기고 인증 정보, 구독 주소, 개인 정보를 가리세요. 클라이언트의 오픈 소스 여부와 서비스 제공자의 운영 방식은 별개의 문제이므로 각각 판단해야 합니다.
업데이트 관리: 먼저 백업하고 변경 사항 확인
클라이언트, 코어, 라우팅 리소스, 구독 내용은 각각 업데이트 경로와 주기가 다릅니다. 구독 업데이트는 원격 설정을 동기화하는 기능이며 클라이언트 업그레이드를 대신하지 않습니다. 클라이언트를 업데이트해도 구독 주소가 계속 유효하다는 보장은 없습니다. 연결 문제가 생기면 최근에 어느 부분이 바뀌었는지 먼저 확인한 뒤 업데이트 여부를 결정하세요. 업그레이드 전에는 현재 프록시 모드, 라우팅 선택, 사용자 지정 포트를 기록하고 설정을 백업하세요. 업그레이드와 여러 설정 변경을 동시에 진행하지 않는 것이 좋습니다.
커뮤니티에서 유지 관리하면 기능이 조정되고 문제가 수정될 수 있지만 메뉴 이름이나 기본 동작이 바뀌기도 합니다. 따라서 이 가이드는 각 버튼의 위치보다 작업 목적을 중심으로 설명합니다. 업데이트 후에는 먼저 정상적으로 시작되는지 확인한 다음 자주 사용하는 앱과 직접 연결 대상을 점검하세요. 새 설정이 안정적으로 동작하는 것을 확인한 뒤 이전 백업을 정리하면 됩니다. 문제가 계속되면 로그에서 설정 파싱, DNS, 연결 수립, TLS 오류를 구분해 살펴보세요.