03 / PROJECT V · V2FLY · XRAY
V2Ray 생태계: 클라이언트와 코어의 역할 구분
오픈 소스는 코드와 라이선스의 공개 방식을 뜻합니다. 프로토콜 지원, 설정 호환성, 연결 결과는 각각 따로 확인해야 합니다.
‘V2Ray 클라이언트’는 여러 그래픽 도구를 통칭하는 말로 자주 쓰이지만, 인터페이스 프로그램과 연결 코어, 서버는 서로 다른 구성 요소입니다. 인터페이스는 사용자의 선택을 설정으로 바꾸고, 코어는 설정에 따라 연결을 처리하며, 서버도 호환되는 설정을 사용해야 합니다. 이 흐름을 이해하면 다운로드, 설정, 문제 해결의 출발점을 각각 찾을 수 있고 모든 문제를 클라이언트 탓으로 돌리지 않아도 됩니다.
Project V
프로젝트 이름부터 설정 체계까지
Project V는 네트워크 프록시 기능을 중심으로 구성된 오픈 소스 프로젝트 생태계이며, V2Ray는 널리 사용되는 핵심 구현체입니다. 인바운드, 아웃바운드, 라우팅, DNS 등의 설정 개념은 생태계의 도구를 이해하는 공통 언어가 되었습니다. 이러한 설정은 연결 처리 과정을 설명하며 특정 서비스 업체를 가리키거나 바로 사용할 수 있는 구독을 뜻하지 않습니다. 이 매뉴얼은 설정 화면의 옵션을 구성 계층의 의미와 연결해 이해할 수 있도록 내용을 정리했습니다.
연결 흐름을 따라가며 익히면 이해하기 쉽습니다. 앱이 로컬 인바운드에 연결되면 코어가 대상 정보를 확인하고, 라우팅 규칙이 아웃바운드를 선택한 뒤 원격 연결을 시작합니다. DNS는 대상 해석과 규칙 판정에 관여할 수 있고 로그에는 실행 결과가 기록됩니다. 모든 설정 항목을 외우는 것보다 이 순서를 이해하는 편이 실용적이며, ‘로컬 포트가 열렸다’고 해서 원격 핸드셰이크까지 성공한 것은 아닌 이유도 설명할 수 있습니다.
V2Fly / Xray
개념이 같아도 설정 항목까지 완전히 호환되는 것은 아닙니다
V2Fly 커뮤니티는 V2Ray 개발을 이어가고 있으며, Xray는 관련 코드에서 분기해 독자적인 기능과 릴리스 방향으로 발전했습니다. 두 코어는 비슷한 설정 개념을 많이 공유하지만, 새 프로토콜 기능과 전송 옵션, 기본 동작, 항목별 제약은 다를 수 있습니다. REALITY, XTLS 등의 기능을 사용할 때는 선택한 코어가 실제로 지원하는지 확인하세요. 파일 이름이 모두 config.json이라는 이유만으로 설정을 서로 바꿔 쓸 수 있다고 판단하면 안 됩니다.
클라이언트에 표시되는 프로토콜 이름은 확인의 첫 단계일 뿐입니다. 전송 방식, TLS 설정, 서버 이름, 서버 측 요구 사항도 점검해야 합니다. 다른 코어 계열에서 지원하는 항목이라고 해서 현재 코어도 받아들이는 것은 아닙니다. 설정을 불러오지 못하면 로그에 표시된 항목과 계층을 먼저 확인하세요. 설정을 불러올 수 있지만 연결되지 않는다면 양쪽 설정과 네트워크 경로를 점검해 구문 오류와 핸드셰이크 오류를 혼동하지 않도록 하세요.
코어별 차이 안내 보기 →
v2rayN / v2rayNG / v2flyNG
오픈 소스 클라이언트 세 가지, 각기 다른 인터페이스
v2rayN은 데스크톱용으로 서버 목록, 구독 그룹, 시스템 프록시, 설정 관리 메뉴를 제공합니다. v2rayNG는 안드로이드용이며 Xray 코어를 사용합니다. v2flyNG는 V2Fly 기반의 안드로이드 대안입니다. 모두 오픈 소스 클라이언트지만 같은 프로그램의 테마만 다른 것은 아닙니다. 메뉴 위치, 기본 설정, 가져올 수 있는 형식, 함께 사용하는 코어 관리 방식은 각 클라이언트에 맞춰 확인해야 합니다.
그래픽 클라이언트는 원시 JSON을 직접 입력하는 부담을 줄여주지만, 서버가 요구하는 인증 및 전송 조건까지 바꾸지는 않습니다. 공유 링크를 복사할 때는 전체 내용이 포함되었는지 확인하세요. 가져온 뒤에도 프로토콜, 주소, 포트, 전송 설정을 점검해야 합니다. 클라이언트를 바꾸기 전에는 필요한 정보를 내보내 두면 인터페이스의 기본값을 서버가 지정한 값으로 착각하는 일을 줄일 수 있습니다. 데스크톱과 안드로이드 사이에서 옮길 때는 시스템 프록시와 VPN 트래픽 처리 방식의 차이도 다시 확인하세요.
LICENSE / SOURCE
구성 요소별 라이선스 확인
오픈 소스 라이선스는 코드의 사용, 수정, 재배포 조건을 정합니다. 클라이언트와 코어, 모든 종속 구성 요소를 하나의 라이선스로 설명할 수는 없습니다. V2Ray 코어는 MIT 라이선스, Xray 코어는 MPL 2.0 라이선스를 사용합니다. 그래픽 클라이언트와 함께 제공되는 구성 요소에도 각각 라이선스가 적용됩니다. 재배포하거나 코드를 수정하려면 해당 조건을 하나씩 읽고 필요한 고지를 유지하세요. ‘무료 사용’을 아무 조건도 없다는 뜻으로 받아들이면 안 됩니다.
소스 코드가 공개되면 구현 내용을 살펴보고 논의할 수 있지만, 구독 출처나 서버 동작, 로컬 설정의 안전성까지 보장되는 것은 아닙니다. 실제로 사용할 때는 구독 링크와 인증 정보를 안전하게 보관하고 신뢰할 수 있는 출처의 설정만 가져오며 스크립트, 인증서, 네트워크 권한의 역할을 이해해야 합니다. 이 사이트는 다운로드 경로와 설정 안내를 정리하며, 각 구성 요소의 라이선스 전문을 대체하거나 오픈 소스라는 이유로 연결 품질을 보장하지 않습니다.
UPDATE / BACKUP
소프트웨어 업데이트와 구독 업데이트는 서로 다릅니다
소프트웨어를 업데이트하면 클라이언트 프로그램이나 함께 사용하는 코어가 바뀝니다. 구독 업데이트는 서버 목록과 그룹 정보를 바꿉니다. 전자는 인터페이스 메뉴, 기본 옵션, 설정 호환성을 바꿀 수 있고 후자는 주소와 연결 설정을 바꿀 수 있습니다. 업데이트 후 문제가 생기면 먼저 어느 계층이 업데이트되었는지 기록하고 전후 차이를 비교하세요. 구독을 다시 가져오는 것만으로 로컬 포트 충돌이 해결되지는 않으며, 기능이 없는 코어에 새 기능이 추가되는 것도 아닙니다.
업데이트 전에는 클라이언트 설정과 필요한 사용자 지정 규칙을 저장하세요. 업데이트 후에는 기존에 작동하던 개별 설정 하나로 먼저 확인합니다. 코어가 시작되고 기본 연결이 되는지 확인한 다음 라우팅, DNS, TUN 등의 복합 기능을 테스트하세요. 클라이언트와 코어의 릴리스 일정은 다를 수 있으므로 함께 제공되는 조합과 실제 필요한 기능을 기준으로 코어 교체 여부를 판단하세요. 호환성을 확인하지 않은 채 구성 요소를 모두 바꾸지 마세요.
가져오기 및 연결 단계 보기 →
DIAGNOSIS / REFERENCE
연결되지 않을 때는 실패한 단계부터 확인
먼저 구독을 가져올 수 있는지 확인하고, 서버 정보를 제대로 해석했는지 살펴보세요. 다음으로 코어 실행 여부와 로컬 리스닝 포트 생성 여부를 확인한 뒤 대상 요청을 테스트합니다. 일부 도메인만 문제가 있다면 해석 결과와 라우팅 규칙 적용 여부를 점검하세요. 모든 요청이 실패한다면 현재 선택된 서버와 핸드셰이크 로그부터 확인하는 것이 좋습니다. 지연 시간 테스트와 실제 앱 요청은 같지 않습니다. 테스트 결과는 특정 방식으로 한 번 탐색한 결과일 뿐, 전체 연결 상태를 대신하지 않습니다.
문제를 기록할 때는 오류 문구, 작업 순서, 프록시 모드, 사용 중인 코어 이름을 남기고 구독 주소, 인증 정보, 서버를 식별할 수 있는 내용은 삭제하세요. 용어가 낯설다면 인바운드, 아웃바운드, 구독, 분할 라우팅의 뜻을 먼저 확인한 뒤 실제 설정과 연결하세요. 이렇게 정리하면 문제를 재현하기 쉽고 ‘브라우저가 프록시를 사용하지 않음’을 ‘프로토콜 미지원’으로 오해할 가능성도 줄어듭니다. JSON 예시를 합칠 때는 괄호, 쉼표, 배열 구조, 아웃바운드 참조도 확인해야 합니다.
설정 및 연결 용어 보기 →