PROJECT V / V2FLY / XRAY
오픈 소스 코어와 GUI 클라이언트 구분
클라이언트 다운로드는 설치와 관리에 필요한 단계이고, 코어 선택은 설정 기능을 결정하며, 서버 매개변수를 가져와야 연결을 구성할 수 있습니다. 이 세 단계를 각각 확인해야 합니다.
Project V와 코어 계열 알아보기
Project V는 네트워크 프록시 도구와 관련 기능을 중심으로 구성된 프로젝트 체계이며, V2Ray는 그 주요 구성 요소 중 하나입니다. V2Fly 커뮤니티는 V2Ray 코어의 개발과 유지 관리를 이어 왔고, Xray는 관련 기술을 바탕으로 독자적인 코어와 기능 발전 경로를 만들어 왔습니다. 일부 프로토콜 개념과 설정 방식은 공유하지만 같은 프로그램의 다른 화면은 아닙니다. ‘V2Ray 코어 차이’를 알아볼 때는 지원 프로토콜, 전송 조합, 설정 필드, 클라이언트 통합 방식을 함께 비교하세요.
코어는 설정을 읽고 인바운드 연결을 받아 라우팅을 매칭한 뒤 아웃바운드를 설정합니다. GUI 클라이언트는 구독과 설정을 코어가 이해할 수 있는 설정으로 변환하고 시작·중지·로그·시스템 연동 기능을 제공합니다. 이름이 비슷한 클라이언트라도 코어가 완전히 같다는 뜻은 아니며, 같은 클라이언트가 여러 코어를 사용할 수도 있습니다. 앱 이름만 보고 호환성을 판단하기보다 실제로 실행된 코어와 로그를 확인하는 편이 정확합니다.
프로토콜 이름은 연결 양쪽에서 데이터를 주고받는 방식을 설명하고, 전송 방식은 데이터가 어떤 통로를 이용하는지 나타내며, 보안 매개변수는 핸드셰이크와 인증에 영향을 줍니다. 공유 링크를 가져오면 클라이언트가 이 필드를 해석하지만 서버에서 빠진 설정까지 채워 주지는 않습니다. 연결되지 않는다면 먼저 서버 주소, 포트, 시간, 핸드셰이크 매개변수를 확인한 뒤 코어 기능 차이인지 살펴보세요. 모든 오류를 소프트웨어 설치 문제로 돌리지 마세요.
기기에 맞는 오픈 소스 클라이언트 3종 선택
v2rayN은 데스크톱용으로 구독 관리, 라우팅 설정, 멀티 코어 실행 등의 기능을 제공합니다. 데스크톱 버전은 크로스 플랫폼 UI를 사용하며, 클래식 WPF 버전은 별도의 데스크톱 UI와 사용 방식을 유지합니다. 시스템과 아키텍처를 먼저 확인하고 필요한 UI 기능에 따라 선택하세요. 이름이 같다고 두 배포판을 같은 폴더에 설치할 필요는 없습니다. 업그레이드하거나 이전하기 전에 구독 그룹, 라우팅, 사용자 지정 설정을 백업해 기존 설정을 덮어쓴 뒤 복구하지 못하는 일을 방지하세요.
v2rayNG는 Android 기기용으로 Xray 코어를 주요 연결 기능으로 사용하고 시스템 VPN 인터페이스를 통해 앱 트래픽을 받습니다. v2flyNG는 V2Fly 코어를 사용하는 대체 클라이언트입니다. 화면과 가져오기 방식은 비슷할 수 있지만 코어별 지원 범위는 각각 확인해야 합니다. 모바일 클라이언트를 선택할 때는 서버 설정과 코어 호환성을 먼저 확인한 다음 앱별 프록시, 백그라운드 실행, 배터리 설정을 살펴보세요. 클라이언트 이름만으로 연결이 보장되지는 않습니다.
세 클라이언트 모두 오픈 소스 프로젝트를 기반으로 합니다. 오픈 소스란 소스 코드와 관련 라이선스를 확인할 수 있다는 뜻이지, 임의로 수정한 배포 파일도 같은 출처라는 뜻은 아닙니다. 프로젝트 라이선스를 읽을 때는 클라이언트와 통합 코어를 구분해야 합니다. V2Ray 코어는 MIT 라이선스, Xray 코어는 MPL-2.0 라이선스를 사용하며 클라이언트 자체에도 각 프로젝트의 라이선스 조건이 적용됩니다. 수정하거나 재배포하려면 해당 조건을 각각 확인하세요.
프로그램·구독·규칙 업데이트를 구분해 관리
프로그램 업데이트는 클라이언트나 코어의 실행 기능을 바꾸고, 구독 업데이트는 서버 매개변수를 새로고침하며, 규칙 리소스 업데이트는 도메인 및 주소 분류 매칭에 영향을 줍니다. 세 가지는 서로 다른 업데이트입니다. 구독 업데이트 실패는 클라이언트를 재설치해도 대개 해결되지 않습니다. 특정 라우팅 규칙이 적용되지 않는 것도 서버 문제라고 단정할 수 없습니다. 분류 리소스, 매칭 순서, 대상 도메인 식별이 원인일 수 있습니다. 먼저 어떤 항목의 업데이트인지 파악한 뒤 해당 메뉴를 선택하세요.
구독 자동 업데이트를 설정하기 전에 전체 과정을 수동으로 확인하세요. 링크에 접근할 수 있는지, 콘텐츠 형식을 인식하는지, 그룹 필터 조건이 맞는지 점검한 다음 출처의 실제 변경 주기에 맞춰 업데이트 간격을 정하세요. 프록시를 통해 업데이트할지는 현재 네트워크에서 해당 구독 주소에 접근할 수 있는지에 따라 결정해야 합니다. 연결 자체가 작동하지 않을 때 업데이트가 그 연결에 의존하게 하지 마세요. 인증서 오류가 난다고 계속 새로고침하지 말고 시스템 시간과 구체적인 오류 메시지를 먼저 확인하세요.
코어나 규칙 리소스를 변경한 뒤에는 고정된 테스트 대상을 준비하세요. 직접 연결이 예상되는 도메인 하나, 프록시가 예상되는 도메인 하나, 실제로 접근해야 하는 로컬 네트워크 리소스 하나를 정하고 로그에서 예상한 규칙이 적용되는지 확인하세요. 결과를 확인한 다음 DNS를 바꾸거나 TUN을 켜면 여러 변수가 서로 영향을 주는 일을 줄일 수 있습니다. 설정을 내보내거나 스크린샷을 공유할 때는 서버 식별 정보, 구독 인증 정보, 문제 해결과 무관한 개인정보를 삭제하세요.
연결 흐름에 따라 핸드북과 로그 확인
시스템 프록시는 해당 설정을 읽는 앱에만 프록시 경로를 제공하며 모든 프로그램에 같은 경로를 강제하지 않습니다. 라우팅 규칙은 트래픽이 코어에 들어온 뒤 아웃바운드를 결정하므로 ‘전체 프록시’와 ‘모든 앱의 트래픽 처리’는 같은 뜻이 아닙니다. 브라우저는 정상인데 다른 프로그램에 문제가 있다면 규칙을 계속 바꾸기 전에 해당 프로그램이 시스템 프록시를 사용하는지, 로컬 프록시 주소를 별도로 입력해야 하는지 확인하세요. 그다음 TUN 적용을 고려하세요.
DNS 문제도 어느 단계에서 발생했는지 나누어 살펴봐야 합니다. 앱이 시스템 리졸버로 주소를 먼저 조회할 수도 있고, 코어가 라우팅 매칭 또는 연결 설정 과정에서 조회할 수도 있습니다. 로그에 주소가 표시된다고 원래 도메인이 유지된 것은 아닙니다. 트래픽 스니핑을 켜도 모든 연결에서 도메인을 복원할 수 있는 것은 아닙니다. 도메인별 라우팅이 필요하다면 인바운드, 조회 경로, sniffing 설정의 관계를 확인하세요. FakeDNS 설정은 트래픽 처리 범위와 함께 살펴봐야 하며 리졸버 주소 하나만 바꿔서는 안 됩니다.
오류 로그를 확인할 때는 먼저 작업 시간, 대상, 오류 유형을 기록하고 DNS 조회·연결·핸드셰이크·라우팅 중 어느 단계인지 찾으세요. 연결 시간 초과와 인증서 오류는 대응 방법이 다르며, 코어 시작 실패와 특정 대상에 접근할 수 없는 문제도 구분해야 합니다. 전체 설정 과정은 빠른 시작에서, 조합 설정은 고급 핸드북에서 확인하세요. 문제가 어느 단계에 속하는지 먼저 판단하려면 FAQ 분류에서 점검 순서를 확인한 뒤 해당 설정 페이지로 돌아오세요.