Project V: 프로토콜과 도구의 공통 기반
Project V는 네트워크 프록시 도구를 중심으로 형성된 프로젝트 생태계이며, V2Ray는 그중 하나의 주요 구현체입니다. 인바운드, 아웃바운드, 라우팅, 전송 기능을 설정 가능한 모듈로 나누기 때문에 하나의 그래픽 인터페이스에서 여러 프로토콜을 사용할 수 있고, 규칙에 따라 대상별로 다른 출구 경로를 선택할 수도 있습니다. ‘프로토콜’은 연결 양쪽이 통신하는 방식을, ‘전송’은 데이터를 전달하는 방식을 뜻하므로 두 항목을 하나의 설정으로 혼동하면 안 됩니다.
일상적인 사용에서는 전체 설정을 처음부터 작성할 필요가 없습니다. 그래픽 클라이언트는 구독 매개변수를 바탕으로 코어에 필요한 설정을 생성하지만, 누락된 정보까지 자동으로 채워 주는 것은 아닙니다. 서버 주소, 인증 매개변수, 전송 옵션, 보안 설정이 서로 맞아야 합니다. 이 관계를 이해하면 구독 내용의 문제를 설치 문제로 오해하지 않을 수 있고, 클라이언트를 다시 설치해도 연결 결과가 달라지지 않는 이유도 알 수 있습니다.
V2Fly와 Xray: 공통 기반에서 발전한 별도 구현체
V2Fly 커뮤니티는 V2Ray 관련 구현체를 계속 유지 관리하고 있습니다. Xray는 V2Ray에서 파생되어 자체 기능과 릴리스 주기를 갖추게 됐습니다. 두 프로젝트는 기술적 기반을 공유하지만 지원하는 프로토콜 확장, 전송 세부 사항, 설정 필드는 서로 다를 수 있습니다. 가이드를 참고할 때는 클라이언트 이름뿐 아니라 실제 실행 중인 코어도 확인하세요. ‘V2Ray 설정’이라는 이름만 보고 모든 구현체에서 사용할 수 있다고 판단하면 안 됩니다.
지원하지 않는 필드나 인식할 수 없는 전송 옵션이 나타나면 코어 시작 로그를 확인한 다음 연결 설정 요구 사항과 대조하세요. 코어 전환은 호환성을 위한 선택이지 모든 문제를 해결하는 만능 기능이 아닙니다. 노드를 사용할 수 있는지는 클라이언트가 해당 매개변수를 설정할 수 있는지, 코어가 처리할 수 있는지, 서버가 필요한 기능을 제공하는지에 달려 있습니다. 어느 한 단계라도 맞지 않으면 연결에 실패할 수 있습니다.
세 가지 클라이언트: 인터페이스와 코어의 역할
v2rayN은 서버 관리, 구독 그룹, 프록시 모드, 라우팅 설정 등을 제공하는 데스크톱 그래픽 클라이언트입니다. Android용 v2rayNG는 Xray 코어를 사용하고, Android용 v2flyNG는 V2Fly 코어를 사용합니다. 세 클라이언트 모두 오픈 소스로 제공됩니다. 기기 운영체제와 설정 요구 사항을 기준으로 선택하세요. 같은 구독을 사용하기 위해 모든 클라이언트를 설치할 필요는 없습니다.
데스크톱의 시스템 프록시와 Android의 VpnService 트래픽 처리 방식은 다릅니다. 따라서 연결됨이라는 화면 표시도 플랫폼에 맞게 이해해야 합니다. Android 앱은 시스템 VPN 서비스를 통해 트래픽을 전달하지만, 원격 설정이 기존 VPN 프로토콜이어야 한다는 뜻은 아닙니다. 데스크톱 앱이 시스템 프록시를 따른다고 해서 모든 백그라운드 프로세스까지 자동으로 프록시를 사용하는 것도 아닙니다. 플랫폼 권한은 트래픽 처리 범위를 결정하고, 코어와 노드 매개변수는 이후의 연결 과정을 결정합니다.
오픈 소스 라이선스: 구성 요소와 사용 범위 확인
오픈 소스 소프트웨어는 해당 라이선스에 따라 소스 코드를 제공하지만, 사용·수정·재배포 시에는 각 프로젝트의 라이선스 조건을 따라야 합니다. 클라이언트, 코어, 포함된 구성 요소에 서로 다른 라이선스가 적용될 수 있으므로 배포하거나 재배포하기 전에 각각의 안내를 확인하세요. 한 프로젝트의 조건을 모든 구성 요소에 그대로 적용해서는 안 됩니다. 일반 사용자는 앱이 요청하는 권한, 설정 파일의 저장 위치, 로그에 포함될 수 있는 연결 정보를 확인하는 것이 좋습니다.
클라이언트는 설정을 관리하고 실행하며, 구독 출처는 원격 서버 매개변수를 제공합니다. 두 역할은 서로 다릅니다. 오픈 소스라고 해서 구독 출처를 확인할 필요가 없어지는 것도 아니고 원격 서비스의 가용성이 보장되는 것도 아닙니다. 설정을 저장하거나 스크린샷을 공유하고 문제를 보고할 때는 재현에 필요한 정보만 남기세요. 구독 주소, 사용자 식별자, 인증 정보가 공개 기록에 노출되지 않도록 주의해야 합니다.
업데이트와 문제 해결: 복구 가능한 기준 설정 유지
클라이언트 업데이트, 코어 업데이트, 구독 업데이트는 각각 인터페이스 기능, 프로토콜 구현, 서버 매개변수에 영향을 줍니다. 구독을 업데이트해도 클라이언트가 자동으로 업그레이드되지는 않으며, 클라이언트를 업그레이드해도 구독의 원격 설정이 바뀌는 것은 아닙니다. 업데이트 전에 구독 그룹, 사용자 지정 라우팅, 주요 설정을 백업하고 현재 사용하는 코어 유형을 기록하세요. 업데이트 후에는 기존과 같은 대상으로 다시 테스트해 인터페이스 변화만 보고 결과를 판단하지 않도록 합니다.
업데이트 후 문제가 발생하면 먼저 릴리스 노트에서 호환성 변경 사항을 확인하고, 로그가 코어 시작, 설정 파싱, 네트워크 요청 중 어느 부분을 가리키는지 살펴보세요. 검증된 간단한 설정을 기준으로 보관하고 사용자 지정 설정을 하나씩 복원하면 차이를 찾기 쉽습니다. 속도가 느리다면 노드 부하, 네트워크 품질, 로컬 설정을 구분해 비교하세요. 여러 매개변수를 한꺼번에 바꾸면 우연한 개선을 지속 가능한 해결책으로 오인하기 쉽습니다.
‘구독’, ‘노드’, ‘라우팅’, ‘DNS’의 차이가 헷갈린다면 용어집을 먼저 확인하세요. 구체적인 오류가 이미 발생했다면 문제 해결 가이드로 이동하세요. 용어집은 설정을 이해하는 데, 문제 해결 가이드는 증상에 따라 원인을 좁히는 데 도움이 되므로 두 경로를 섞을 필요는 없습니다.