Project V / V2Fly / Xray
코어와 클라이언트의 역할 구분
클라이언트 UI, 프록시 코어, 원격 서버는 서로 다른 구성 요소입니다. 오픈소스는 코드와 라이선스가 공개되는 방식을 설명합니다. 실제 연결 여부는 로컬 설정, 네트워크 경로, 서버 상태에 따라 달라집니다. 각 계층의 역할을 알아야 업데이트와 문제 해결을 적절한 위치에서 진행할 수 있습니다.
01 / Project V
도구 모음에서 설정 체계까지
Project V는 네트워크 통신 도구를 중심으로 구성되어 있으며 V2Ray는 널리 사용되는 프록시 소프트웨어입니다. V2Ray는 단일 전송 프로토콜의 이름이 아니라 인바운드, 아웃바운드, 라우팅, DNS를 구성하는 체계입니다. 흔히 말하는 ‘V2Ray 클라이언트’는 이런 설정을 만들고 코어를 실행하는 GUI 프로그램을 가리키는 경우가 많습니다. 이를 이해하면 특정 UI의 스위치를 모든 코어에서 공통으로 지원하는 기능이라고 오해하지 않을 수 있습니다.
일반적으로 연결은 로컬 인바운드로 들어온 뒤 라우팅에 따라 아웃바운드가 선택되고, 해당 프로토콜을 통해 원격 서버와 통신합니다. 서버 목록은 매개변수 관리, 시스템 프록시는 트래픽 진입점, 라우팅 모드는 목적지 선택을 담당합니다. 세 요소는 사용 경험에 함께 영향을 주지만 서로 대체할 수는 없습니다. 문제가 생기면 먼저 요청이 클라이언트에 들어왔는지 확인하고, 예상한 아웃바운드와 매칭되었는지 살펴본 다음 원격 핸드셰이크를 확인하세요. 이 순서로 점검하면 원인을 더 명확하게 찾을 수 있습니다.
02 / V2Fly · Xray
같은 생태계의 서로 다른 코어
V2Fly는 V2Ray를 이어 커뮤니티에서 유지 관리하고, Xray는 관련 기술 체계에서 발전해 별도의 코어 방향을 갖추었습니다. 두 코어는 여러 설정 개념을 공유하지만 기능과 항목 세부 사항이 완전히 같지는 않습니다. 공유 링크를 UI가 인식하더라도 현재 코어가 모든 매개변수를 지원한다고 볼 수 없습니다. 특히 특정 보안 기능, 흐름 제어 설정, 새로운 전송 방식 조합은 클라이언트의 가져오기 기능과 실제 실행 코어를 모두 확인해야 합니다.
v2rayNG는 Xray 코어를 기반으로 하며 v2flyNG는 안드로이드에서 V2Fly 코어를 선택할 수 있는 클라이언트입니다. v2rayN은 데스크톱 UI에서 서버, 규칙, 코어 실행 매개변수를 관리하며, 선택 가능한 항목은 배포 패키지와 설정에 따라 다릅니다. 코어를 바꾸기 전에 기존 매개변수를 보존하고 생성된 설정의 차이를 확인하세요. 연결이 실패했다는 이유만으로 코어를 반복해서 바꾸지 마세요. 주소, 시간, 포트, TLS 이름이 맞지 않으면 다른 코어로 바꿔도 대개 해결되지 않습니다.
03 / Open source
오픈소스 코드와 라이선스
v2rayN, v2rayNG, v2flyNG는 모두 오픈소스 클라이언트 프로젝트입니다. V2Fly와 Xray 코어는 MPL 2.0을 따르며, GUI 클라이언트와 함께 제공되는 구성 요소는 각각의 라이선스를 확인해야 합니다. 오픈소스는 설정 구현과 코드 수정, 문제 논의를 공개적으로 확인할 수 있게 해 줍니다. 하지만 현재 기기에 적합한지는 운영체제 요구 사항과 실제 테스트를 바탕으로 판단해야 합니다. 앱 배포, 코드 수정, 구성 요소 재배포 시에도 각 라이선스 조건을 따라야 하며, 모든 프로젝트에 같은 라이선스가 적용된다고 볼 수는 없습니다.
일상적으로 사용할 때는 설정과 권한의 경계를 특히 주의해야 합니다. 구독 주소에는 접근 자격 증명이 포함될 수 있고, 공유 링크에는 사용자 식별 정보가 담길 수 있으며, 로그에는 접속 대상이 기록될 수도 있습니다. 다른 사람에게 문제 해결 자료를 보낼 때는 이런 정보를 먼저 삭제하고 오류 유형, 발생 순서, 필요한 항목만 남기세요. 오픈소스라고 해서 원격 서비스에 대한 신뢰 관계가 달라지는 것은 아니며 구독 출처를 직접 확인하는 일도 대신해 주지 않습니다. 클라이언트 설치와 서비스 출처 선택은 별개의 결정입니다.
04 / Configuration maintenance
UI·코어·규칙 데이터 업데이트
클라이언트, 코어, 구독, 규칙 데이터 업데이트는 각각 다른 내용을 다룹니다. 클라이언트 업데이트는 메뉴와 설정 생성 방식을 바꿀 수 있고, 코어 업데이트는 프로토콜 구현과 실행 동작에 영향을 줍니다. 구독 업데이트는 원격 서버 매개변수를 새로 고치며, 규칙 데이터 업데이트는 geosite, geoip 등의 분류 매칭 결과를 바꿉니다. 구독 업데이트가 성공했다고 클라이언트까지 최신 버전이라는 뜻은 아닙니다. 마찬가지로 클라이언트를 새로 설치해도 만료된 구독이 다시 유효해지지는 않습니다.
업데이트 전에 현재 사용 중인 설정을 저장하세요. 특히 사용자 지정 라우팅, DNS, 수신 포트, 앱별 설정은 따로 보관하는 것이 좋습니다. 업데이트 후에는 기존 모드로 기본 연결을 확인한 다음 추가 기능을 테스트하세요. 특정 규칙 하나만 달라졌다면 데이터 세트와 규칙 순서를 확인하고, 모든 서버가 실행되지 않는다면 먼저 코어 시작 로그를 살펴보세요. 한 번에 한 계층만 변경하면 모든 설정을 초기화하는 것보다 원인을 파악하고 기존의 정상 상태로 복구하기 쉽습니다.
05 / Reading path
설치 안내부터 설정 가이드까지
처음 사용하는 경우 먼저 가이드에 따라 설치, 구독 가져오기, 서버 선택, 연결 확인을 마치세요. 기본 경로가 정상적으로 작동하면 용어집을 참고해 시스템 프록시, 전역 라우팅, TUN, DNS의 차이를 이해하세요. 일반적으로 말하는 전역 프록시는 라우팅 정책을 가리키며, 모든 프로그램의 트래픽이 클라이언트로 전달된다는 뜻은 아닙니다. 반대로 가상 네트워크 어댑터를 활성화해도 규칙에 따라 일부 주소를 직접 연결할 수 있습니다. 두 개념을 따로 이해해야 현재 네트워크 상태를 정확히 설명할 수 있습니다.
이미 정상 작동하는 설정이 있다면 예시를 따라 하기 위해 전부 다시 작성할 필요는 없습니다. 먼저 LAN 직접 연결 유지, 특정 도메인 예외 추가, 여러 구독 출처 정리처럼 구체적인 목적 하나를 정하세요. 변경 전후 동작을 기록하고 로그로 결과를 확인하면 됩니다. 사이트의 설정 예시는 항목과 관계를 설명하기 위한 자료입니다. 실제 실행에는 인바운드, 아웃바운드, 인증 매개변수, 데이터 파일이 필요하므로 JSON 일부만 복사해서는 클라이언트 설정 전체를 대체할 수 없습니다.