v2rayN·v2rayNG·v2flyNG 선택 가이드: 세 클라이언트 기능 및 플랫폼 비교

실행 플랫폼, 커널 계열, 구독 관리, 라우팅 기능을 기준으로 세 클라이언트를 비교하고 데스크톱·Android 기본 추천과 v2flyNG로 전환할 상황을 안내합니다.

세 클라이언트는 이름이 비슷하지만 용도는 서로 다릅니다. v2rayN은 Windows, macOS, Linux 데스크톱 환경용이고, v2rayNG와 v2flyNG는 Android용입니다. 두 Android 클라이언트의 화면과 조작 흐름은 비슷하지만, 핵심적인 차이는 커널 계열에 있습니다. v2rayNG는 Xray 커널을 사용하고 v2flyNG는 v2fly 커널을 사용합니다. 선택할 때는 먼저 기기 플랫폼을 확인한 다음 노드 프로토콜을 점검하는 편이 화면 버튼을 하나씩 비교하는 것보다 효율적입니다.

이 글 한눈에 보기

데스크톱 기기에는 v2rayN을 우선 선택하고, Android 일상 사용에는 Xray 커널을 사용하는 v2rayNG를 우선 추천합니다. v2fly 커널이 꼭 필요하거나 기존 VMess 설정을 유지해야 하거나 이미 구축된 v2fly 환경을 재현해야 할 때만 v2flyNG를 선택하세요. 아래에서 구독, 라우팅, 포트, 마이그레이션을 판단하는 방법을 구체적으로 설명합니다.

1단계: 실행 플랫폼에 맞지 않는 클라이언트부터 제외하기

플랫폼은 가장 확실한 1차 필터입니다. Windows, macOS, Linux 데스크톱에서 구독을 관리하고 시스템 프록시를 전환하며 실시간 로그를 확인해야 한다면 선택지는 v2rayN으로 좁혀집니다. v2rayN은 서버 목록, 구독 그룹, 라우팅 설정, 커널 로그를 하나의 데스크톱 창에 모아 마우스와 키보드로 조작하기 좋고, 수십 개의 노드 기록을 한 번에 관리하기에도 편리합니다.

Android에서는 v2rayNG와 v2flyNG 중에서 선택합니다. 두 클라이언트 모두 구독과 개별 공유 링크를 가져올 수 있으며, 시스템 VPN 인터페이스를 통해 지정 앱 또는 전체 트래픽을 처리합니다. 이름에 모두 “NG”가 들어간다고 해서 같은 앱의 테마 차이 정도로 생각하면 안 됩니다. 구독에 Xray 전용 전송 매개변수가 포함되어 있다면 커널 차이가 설정의 실행 가능 여부를 바로 결정합니다.

v2rayN

데스크톱에서는 서버 목록, 구독 그룹, 시스템 프록시, 로그 확인이 메인 창에 모여 있어 여러 노드 관리와 세밀한 라우팅에 적합합니다.

적합한 환경: Windows, macOS, Linux 데스크톱 기기

v2rayNG

추천

Xray 커널을 사용하며 일반적인 VMess, VLESS, Reality 설정을 지원하므로 Android에서 사용하는 최신 구독과의 호환 범위가 넓습니다.

적합한 환경: Android 주력 기기, 비교적 최신인 구독 설정

v2flyNG

v2fly 커널을 사용하고 조작 방식은 v2rayNG와 비슷하며, 기존 v2fly 설정과 전통적인 VMess 사용 환경에 초점을 둡니다.

적합한 환경: Android에서 v2fly 설정 재사용

커널 계열이 프로토콜과 전송 매개변수의 적용 여부를 결정합니다

클라이언트 화면은 설정을 편집하고 저장할 뿐, 실제 연결을 만드는 것은 하위 커널입니다. v2rayN은 지원하는 커널 옵션에서 Xray 계열을 사용해 일반적인 설정을 처리할 수 있고, v2rayNG 역시 Xray를 핵심으로 합니다. 반면 v2flyNG는 실행 계층을 v2fly로 전환하므로 설정 출처, 서버, 기존 규칙이 모두 v2fly를 중심으로 구성된 환경에 더 적합합니다.

VMess, VLESS, WebSocket, gRPC, TLS, Reality는 같은 계층의 용어가 아닙니다. VMess와 VLESS는 프록시 프로토콜이고, WebSocket과 gRPC는 전송 방식이며, TLS와 Reality는 연결 보안 및 핸드셰이크 매개변수와 관련됩니다. 구독의 한 노드는 여러 계층의 매개변수를 조합하는 경우가 많으므로 클라이언트가 이를 모두 정확히 인식해야 합니다. 노드 이름에 “고속”이나 “신규 프로토콜”이라고 적혀 있는지만 봐서는 안 됩니다.

확인 항목 v2rayN v2rayNG v2flyNG
주요 플랫폼 Windows、macOS、Linux Android Android
주요 커널 방향 Xray 데스크톱 관리 Xray v2fly
일반적인 VMess 노드 적합 적합 적합
VLESS 및 Reality 우선 후보 우선 후보 가져오기 전에 커널 지원 범위 확인
데스크톱 시스템 프록시 메뉴에서 제어 가능 부적합 부적합
Android 앱별 트래픽 분기 부적합 지원 지원

결론: 먼저 노드 매개변수를 확인한 뒤 Android 커널을 선택하세요

구독에 security=reality, Reality 공개 키 또는 짧은 식별자 매개변수가 포함되어 있다면 v2rayNG를 우선 사용하세요. 기존 설정이 v2fly로 생성되었고 전통적인 VMess, WebSocket, TLS를 중심으로 한다면 v2flyNG를 고려할 수 있습니다.

버전도 프로토콜 지원 범위와 함께 확인해야 합니다. 이 글의 조작 방법은 v2rayN 7.12.x, v2rayNG 1.10.x, v2flyNG 1.10.x 안정 버전을 기준으로 확인했습니다. 버전 번호는 글에 나온 화면 경로와 기능 위치를 이해하기 위한 기준일 뿐, 세 프로젝트의 커널 기능이 같다는 뜻은 아닙니다. 구버전에서 새 필드를 해석하지 못한다면 낯선 필드를 직접 삭제하지 말고 먼저 클라이언트를 업데이트한 뒤 구독을 다시 가져오세요.

구독 관리의 차이는 데스크톱의 일괄 작업과 모바일의 간소화된 흐름에서 두드러집니다

v2rayN은 여러 항목을 한꺼번에 관리할 때 더 적합합니다. 일반적인 순서는 「구독 그룹」→「구독 그룹 설정」을 열고 그룹을 만든 뒤 구독 주소를 입력한 다음 「구독 그룹」→「모든 구독 업데이트」를 실행하는 방식입니다. 업데이트가 끝나면 서버 목록에 그룹별 노드가 표시되며, 지연 시간 테스트와 필터, 정렬 기능으로 선택 범위를 줄일 수 있습니다. 업무용, 테스트용, 예비용 구독을 각각 운영한다면 그룹 관리로 노드를 잘못 전환하는 일을 줄일 수 있습니다.

v2rayNG와 v2flyNG는 터치 환경에서 짧은 조작 경로를 강조합니다. 일반적으로 오른쪽 상단 메뉴에서 「구독 그룹 설정」으로 들어가 주소를 추가하고 메인 화면으로 돌아온 뒤 「구독 업데이트」를 실행합니다. 노드가 많다면 먼저 현재 선택된 구독 그룹을 확인하세요. “업데이트는 성공했지만 예상한 노드가 보이지 않는” 문제는 다른 그룹을 업데이트한 경우가 많습니다.

  1. 먼저 구독 주소 저장: 주소가 https://로 시작하는지 확인하고, 복사할 때 줄바꿈이나 끝부분의 공백이 들어가지 않게 하세요.
  2. 그다음 수동 업데이트 실행: 주소만 추가한다고 노드 목록이 자동으로 생성되지는 않으므로, 처음 추가한 뒤 반드시 한 번 업데이트해야 합니다.
  3. 활성 노드 선택: 데스크톱에서는 노드를 더블클릭하거나 활성 서버로 지정하고, Android에서는 노드를 눌러 선택 상태로 만드세요.
  4. 마지막으로 프록시 시작: v2rayN에서는 시스템 프록시 모드도 확인해야 하며, Android에서는 연결 버튼을 누른 뒤 연결 상태를 확인해야 합니다.
3개 그룹
주 사용, 예비, 테스트 구독으로 나누는 것을 권장합니다
30초
모바일 네트워크에서 일반적인 업데이트 시간 초과 확인 기준
10808
일반적인 로컬 SOCKS 또는 혼합 포트
1개
문제 해결 시 정상 작동이 확인된 노드 하나를 먼저 남겨 두세요

라우팅 분기와 로컬 포트의 실제 차이

v2rayN의 장점은 데스크톱에서 라우팅 규칙을 편집할 공간이 넉넉하다는 것입니다. 주요 메뉴는 「설정」→「매개변수 설정」에 있으며, 시스템 프록시 모드는 트레이 메뉴나 메인 화면의 시스템 프록시 메뉴에서 전환합니다. 규칙은 보통 위에서 아래 순서로 매칭되고 먼저 일치한 규칙이 적용됩니다. 따라서 로컬 네트워크 직접 연결, 중국 본토 도메인 직접 연결, 특정 도메인 프록시, 최종 기본 규칙을 명확한 순서로 배치해야 합니다.

Android에서는 앱별 트래픽 분기를 더 직접적으로 설정할 수 있습니다. v2rayNG와 v2flyNG는 앱별로 프록시 연결에 포함할 트래픽을 정할 수 있어 브라우저나 특정 도구에만 프록시를 적용하기 좋습니다. 도메인과 IP 규칙은 여전히 커널이 처리하고, 앱별 분기는 시스템 트래픽이 커널로 들어가기 전에 적용됩니다. 둘은 서로 대체할 수 없습니다. 특정 앱을 제외하면 그 앱의 도메인 규칙은 더 이상 프록시 라우팅을 거치지 않습니다.

{
  "routing": {
    "domainStrategy": "IPIfNonMatch",
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "domain": ["geosite:cn"],
        "outboundTag": "direct"
      }
    ]
  }
}

위 구조는 두 가지 일반적인 목표를 나타냅니다. 사설 주소는 직접 연결하고, 지정한 도메인 집합과 일치하는 요청도 직접 연결하는 것입니다. 전체 JSON을 실제로 가져오기 전에 클라이언트가 사용자 지정 설정 모드인지 확인하세요. 일반 구독 노드는 화면에서 설정을 자동 생성하므로 전체 JSON을 노드 주소 입력란에 붙여 넣으면 안 됩니다. 규칙의 outboundTag는 기존 아웃바운드 태그와도 일치해야 하며, 그렇지 않으면 로그에 해당 아웃바운드를 찾을 수 없다는 메시지가 표시됩니다.

  • v2rayN 포트 확인: 「설정」→「매개변수 설정」→「기본 설정」으로 이동해 로컬 수신 포트를 확인하세요. 일반적인 설정은 10808을 사용하지만, 사용자가 변경했다면 화면에 표시된 값을 기준으로 해야 합니다.
  • v2rayNG 포트 확인: 「설정」→「로컬 포트」로 이동해 해당 포트를 다른 로컬 서비스가 사용하고 있지 않은지 확인하세요.
  • v2flyNG 포트 확인: 마찬가지로 설정 화면에서 로컬 포트와 트래픽 분기 옵션을 확인하세요. 설정을 마이그레이션할 때 이전 클라이언트의 포트가 자동으로 이어진다고 가정하지 마세요.
  • 로그 확인: address already in use가 표시되면 먼저 로컬 포트를 변경하세요. 핸드셰이크 시간 초과가 발생하면 노드 주소, 네트워크, 전송 매개변수를 중점적으로 확인하세요.

결론: 데스크톱의 복잡한 분기는 v2rayN, Android 앱별 분기는 v2rayNG 우선

여러 domain, ip, geosite 규칙을 관리해야 한다면 데스크톱 창에서 편집하고 다시 확인하기가 더 쉽습니다. 모바일에서는 소수의 규칙과 앱 스위치를 중심으로 구성하면 터치 조작 중 복잡한 JSON을 잘못 수정할 가능성을 줄일 수 있습니다.

v2rayNG에서 v2flyNG로 바꿀 만한 경우

대부분의 Android 사용자는 화면이 비슷해 보인다는 이유만으로 클라이언트를 바꿀 필요가 없습니다. 마이그레이션에는 비용이 따릅니다. 구독 그룹, 로컬 규칙, 앱별 분기 목록, 사용자 지정 DNS 설정을 모두 다시 확인해야 합니다. 실제로 전환할 가치가 있는 경우는 설정 관리자가 v2fly 커널을 명확히 요구하거나, 기존 VMess 설정이 v2fly 환경에서 장기간 검증된 동작 기준을 갖고 있을 때입니다.

전환하기 전에 기존 클라이언트의 구독 주소와 주요 설정을 기록해 두고 두 연결을 동시에 시작하지 마세요. Android에서는 한 번에 하나의 연결만 시스템 트래픽을 처리할 수 있습니다. 다른 클라이언트에서 노드가 선택된 것으로 보여도 실제로 데이터를 전송 중이라는 뜻은 아닙니다. 마이그레이션이 끝나면 먼저 노드 하나를 테스트한 뒤 앱별 분기와 사용자 지정 라우팅을 단계적으로 복원하세요.

구독 대부분이 VLESS와 Reality라면 Android에서 무엇을 선택해야 하나요?

v2rayNG를 우선 선택하세요. 가져온 뒤 노드 상세 정보에서 주소, 포트, 전송 방식, 서버 이름, Reality 매개변수가 모두 입력되었는지 확인한 다음 연결하고 실시간 로그를 확인하세요.

계속 VMess와 WebSocket을 사용 중인데 v2flyNG에서 바꿀 필요가 있나요?

현재 노드 연결이 안정적이고 구독 업데이트가 정상이며 트래픽 분기 규칙도 요구에 맞는다면 계속 사용해도 됩니다. 구독에 현재 커널이 인식하지 못하는 필드가 추가되거나 관리자가 프로토콜을 명확히 변경했을 때만 마이그레이션을 검토하세요.

두 Android 클라이언트를 동시에 유지해도 되나요?

각각 설치하고 설정을 저장할 수는 있지만, 테스트할 때는 한 번에 하나만 실행하세요. 전환하기 전에 현재 연결을 끊고 다른 클라이언트를 연 다음, 이전 연결 상태를 새 클라이언트의 테스트 결과로 오해하지 않도록 하세요.

구독을 업데이트한 뒤 노드 수가 0개가 되면 어떻게 하나요?

먼저 현재 그룹과 구독 주소를 확인한 뒤 업데이트 안내를 살펴보세요. 시간 초과가 표시되면 정상 작동이 확인된 노드에 먼저 연결하고 구독 설정에서 프록시를 통한 업데이트를 활성화한 뒤 다시 시도하세요. 형식 오류가 반환되면 구독 제공자에게 콘텐츠 형식을 확인해야 합니다.

데스크톱과 Android에서 같은 구독을 사용할 수 있나요?

대체로 가능하지만 각각 가져와야 합니다. 구독에 여러 프로토콜이 함께 포함되어 있다면 양쪽에서 지원되지 않는 노드를 따로 확인하세요. 데스크톱의 시스템 프록시 설정과 Android의 앱별 분기 목록은 구독과 함께 동기화되지 않습니다.

세 클라이언트 최종 선택 체크리스트

빠르게 실행 가능한 답만 필요하다면 기기 플랫폼, 노드 프로토콜, 라우팅 복잡도를 차례로 대입하세요. 먼저 플랫폼으로 부적합한 항목을 제외하고, 프로토콜로 커널을 결정한 다음, 마지막으로 화면 사용성을 비교합니다. 이 순서를 따르면 지원되지 않는 플랫폼에서 존재하지 않는 기능을 계속 찾는 일을 피할 수 있습니다.

  1. Windows, macOS, Linux: v2rayN을 선택하세요. 데스크톱 구독 그룹 관리, 여러 노드 관리, 시스템 프록시 전환, 상세 로그를 통한 문제 해결에 적합합니다.
  2. Android에서 구독에 VLESS, Reality 또는 최신 Xray 매개변수가 포함된 경우: v2rayNG를 선택하고, 처음 가져온 뒤 노드 상세 정보가 완전한지 확인하세요.
  3. Android에서 설정 관리자가 v2fly 커널을 명확히 사용하는 경우: v2flyNG를 선택하고 VMess, 전송 방식, TLS, 라우팅 필드를 중점적으로 확인하세요.
  4. 앱별 트래픽 분기가 필요한 경우: v2rayNG와 v2flyNG 중 커널 요구 사항에 맞는 것을 선택한 뒤 설정 화면에서 앱 목록을 구성하세요.
  5. domain, ip, geosite 규칙이 많은 경우: v2rayN 데스크톱 환경에서 규칙을 편집하고 정렬하며 매칭 로그를 확인하는 것을 우선 권장합니다.

클라이언트를 정한 뒤 첫 연결은 최소한으로 테스트하세요. 구독 하나를 가져오고 노드 하나를 선택한 다음 기본 라우팅을 유지하고 로그를 연 뒤 대상 사이트 하나에 접속합니다. 기본 연결이 정상임을 확인한 후 사용자 지정 DNS, 앱별 분기, 복잡한 라우팅을 추가하세요. 한 번에 하나의 변수만 바꿔야 문제가 생겼을 때 원인이 노드인지, 커널인지, 포트인지, 규칙인지 로그에서 정확히 판단할 수 있습니다.

V2Ray 클라이언트 다운로드 Windows, macOS, Android, Linux