구독 링크 가져오기 안내: v2rayN 및 v2rayNG의 메뉴 위치, 업데이트 방법과 형식 요구사항

v2rayN과 v2rayNG의 구독 가져오기 메뉴, 그룹 설정, 수동·자동 업데이트 시점을 정리하고, 형식 문제와 가져온 뒤 노드 목록이 비어 있을 때의 점검 순서를 안내합니다.

이 글 한눈에 보기

이미 구독 주소를 받았지만 어디에 붙여 넣어야 할지 모르거나, 가져온 뒤 노드가 보이지 않는 사용자를 위한 안내입니다. v2rayN과 v2rayNG의 메뉴 경로, 그룹 구성, 업데이트 방법과 형식 조건을 각각 설명하고, 네트워크 요청부터 코어 설정까지 단계별 점검 방법을 제공합니다.

먼저 구독 링크, 공유 링크, 설정 파일을 구분하세요

구독 링크는 보통 https://로 시작하는 웹 주소입니다. 클라이언트가 해당 주소에 접속하면 서버가 여러 노드 정보를 반환하며, 다시 업데이트할 때 같은 주소를 요청해 해당 구독 그룹을 새 결과로 갱신합니다. 구독 링크는 개별 노드 자체가 아니며, 클라이언트 시작 후 코어에 전달되는 최종 설정과도 다릅니다.

vmess://, vless://, trojan://, ss://는 개별 공유 링크입니다. 일반적으로 한 링크가 하나의 아웃바운드 노드를 설명하며 서버 주소, 포트, 인증 정보, 전송 방식과 TLS, REALITY 등의 매개변수를 포함합니다. 이러한 링크는 ‘클립보드에서 URL 일괄 가져오기’와 같은 메뉴로 추가해야 하며, 구독 주소 입력란에 넣어서는 안 됩니다.

네이티브 JSON은 코어 설정에 더 가깝습니다. 인바운드, 아웃바운드, DNS, 라우팅 규칙과 로그 옵션을 한꺼번에 정의할 수 있어 통합 구독과 구조가 다릅니다. 구독 서비스가 v2rayN 또는 v2rayNG용 호환 출력을 명확히 제공하는 경우에만 해당 API 주소를 구독으로 가져와야 합니다. 웹 관리 콘솔 주소, 로그인 페이지 주소 또는 로컬에 내려받은 일반 JSON 파일은 구독으로 직접 사용할 수 없습니다.

3가지
구독, 공유 링크, 네이티브 설정
200
정상 API에서 흔히 반환하는 HTTP 상태
10808
v2rayN에서 흔히 사용하는 로컬 SOCKS 포트
60분
데스크톱 클라이언트 자동 업데이트 예시 간격
입력 내용 흔한 시작 형식 또는 구조 사용할 메뉴 업데이트 방식
통합 구독 https:// 주소, 여러 노드 정보가 포함된 응답 구독 그룹 설정 반복 요청으로 목록 갱신 가능
개별 공유 링크 vmess://vless://trojan://ss:// 클립보드에서 가져오기 서버 변경 사항을 자동으로 반영하지 않음
네이티브 JSON inbounds, outbounds 또는 라우팅 필드 포함 사용자 지정 설정으로 가져오거나 코어에서 읽기 일반적으로 사용자가 직접 관리
웹페이지 주소 열었을 때 로그인, 요금제 또는 관리 페이지 표시 직접 가져올 수 없음 클라이언트에는 HTML 텍스트만 전달됨

v2rayN: 구독 그룹 추가 후 첫 업데이트 실행

v2rayN 6.x와 7.x는 화면 배치가 다를 수 있지만 구독 관리 방식은 같습니다. 먼저 구독 그룹을 만들고 주소를 저장한 다음 해당 그룹을 직접 업데이트합니다. 주소만 저장한다고 노드가 기본 목록에 자동으로 추가되지는 않으므로 ‘주소는 추가했지만 목록이 비어 있음’은 대개 첫 업데이트를 누르지 않은 경우입니다.

일반적인 데스크톱 화면에서는 「구독 그룹」→「구독 그룹 설정」으로 이동한 뒤 추가 버튼을 눌러 별칭과 구독 주소를 입력합니다. 별칭은 ‘일상 회선’이나 ‘테스트 그룹’처럼 용도 또는 출처를 기준으로 정하는 것이 좋으며, 긴 주소 전체를 이름으로 복사하지 않는 편이 좋습니다. 여러 주소는 각각 별도 그룹으로 만들어야 업데이트 실패 시 출처를 빠르게 찾을 수 있습니다.

  1. 전체 주소 복사

    구독 서비스의 클라이언트 설정 영역에서 완전한 https:// 주소를 복사하고, 시작 부분과 쿼리 매개변수, 끝 문자까지 빠짐없이 포함되었는지 확인합니다.

  2. 구독 그룹 만들기

    v2rayN을 열고 「구독 그룹」→「구독 그룹 설정」→「추가」로 이동한 뒤 메모와 구독 주소를 입력합니다.

  3. 설정 저장

    그룹이 활성화된 상태인지 확인한 뒤 저장합니다. 자동 업데이트 간격을 설정할 수 있다면 우선 60분으로 입력하고, 첫 수동 업데이트를 완료한 뒤 필요에 따라 조정합니다.

  4. 현재 그룹 업데이트

    메인 화면으로 돌아가 「구독 그룹」→「현재 구독 업데이트」를 차례로 선택합니다. 모든 출처를 한 번에 갱신하려면 「모든 구독 업데이트」를 선택합니다.

  5. 활성 노드 선택

    노드가 표시되면 대상 항목을 더블클릭하거나 마우스 오른쪽 버튼 메뉴에서 활성 서버로 지정한 뒤, 「시스템 프록시」를 켜거나 필요에 따라 TUN 모드를 활성화합니다.

첫 업데이트는 먼저 직접 연결 방식으로 진행하는 것이 좋습니다. 현재 네트워크에서 구독 API에 접근할 수 없지만 클라이언트에 사용 가능한 노드가 있다면 메뉴의 ‘프록시를 통한 업데이트’ 옵션으로 전환할 수 있습니다. 이 작업은 구독 요청의 네트워크 경로만 바꾸며 VMess, VLESS, Trojan 또는 Shadowsocks의 노드 매개변수는 수정하지 않습니다.

주소가 장기간 유효하고 노드 목록이 자주 바뀌는 경우 자동 업데이트가 적합합니다. 경로는 보통 「구독 그룹」→「구독 그룹 설정」→그룹 선택→「자동 업데이트 간격(분)」에 있습니다. 60으로 설정하면 매시간 한 번씩 시도하지만, 실제 실행 여부는 클라이언트 실행 상태, 절전 모드와 네트워크 연결의 영향을 받습니다. 전원이 꺼져 있는 동안 놓친 업데이트를 모두 나중에 보충하지는 않습니다.

v2rayNG: 안드로이드에서 구독 추가 및 설정 새로고침

v2rayNG는 Xray 코어로 VMess, VLESS, Trojan, Shadowsocks, REALITY 등의 설정을 처리합니다. 구독 관리는 사이드 메뉴의 「구독 그룹 설정」에 있습니다. 1.10.x의 세부 버전에 따라 버튼이 화면 오른쪽 위나 하단에 있을 수 있지만 추가, 저장, 업데이트의 세 단계는 같습니다.

「구독 그룹 설정」으로 이동해 더하기 버튼을 누르고 메모와 주소를 입력한 뒤 저장합니다. 설정 목록으로 돌아와 오른쪽 위 메뉴에서 「구독 업데이트」 또는 「현재 구독 그룹 업데이트」를 선택합니다. 업데이트가 끝나야 설정 목록에 서버가 반환한 노드가 표시됩니다. 설정 하나를 눌러 현재 항목으로 지정한 다음 메인 화면의 연결 버튼으로 로컬 VPN 서비스를 시작합니다.

권장 구성: 데스크톱과 안드로이드에서 같은 구독 출처 사용

데스크톱(v2rayN)
  • 출처별로 구독 그룹 만들기
  • 업데이트 간격을 60분으로 설정
  • 시스템 프록시 또는 TUN 모드로 트래픽 처리
안드로이드(v2rayNG)
  • 같은 구독 주소 추가
  • 클라이언트를 연 뒤 수동으로 새로고침
  • 필요에 따라 앱별 프록시 설정

두 기기는 같은 구독 API에 각각 요청하므로 노드 이름과 프로토콜 매개변수는 대체로 동일합니다. 다만 라우팅 규칙, 현재 선택한 노드와 로컬 포트는 각 기기에 별도로 저장됩니다.

안드로이드 시스템은 백그라운드 작업에 배터리와 네트워크 제한을 적용하므로 ‘자동 업데이트를 설정했다’고 해서 ‘언제든 백그라운드에서 가져올 수 있다’는 뜻은 아닙니다. 노드를 바꾸기 전이나 기존 노드를 사용할 수 없을 때 v2rayNG 메인 화면을 열어 수동으로 업데이트하는 방법이 더 안정적입니다. 업데이트가 끝나면 성공, 시간 초과, 구문 분석 실패 또는 빈 응답 중 어떤 결과가 표시되는지 확인하세요.

구독에 기존 프록시를 통해서만 접근할 수 있다면 먼저 아직 사용할 수 있는 설정에 연결한 다음 구독 설정에서 ‘프록시를 통한 업데이트’ 또는 같은 의미의 옵션을 켜고 다시 가져옵니다. 목록에 사용 가능한 설정이 하나도 없다면 구독 API에 접근할 수 있는 네트워크로 잠시 전환해 직접 연결 업데이트를 한 번 완료하세요.

  1. 사이드 메뉴를 열고 「구독 그룹 설정」으로 이동합니다.
  2. 대상 그룹이 활성화되어 있고 주소 앞뒤에 공백이나 줄바꿈이 없는지 확인합니다.
  3. 설정 목록으로 돌아가 「구독 업데이트」를 실행합니다.
  4. 업데이트가 성공하면 대상 노드를 선택한 뒤 연결을 시작합니다.
  5. 앱 사용 범위를 제한하려면 「설정」→「앱별 프록시」로 이동해 우회하거나 특정 앱만 프록시를 사용하도록 선택합니다.

구독 형식 요구사항과 호환 범위

일반적인 통합 구독은 Base64로 인코딩된 여러 줄의 공유 링크를 반환하며, 줄마다 평문 URI를 직접 반환하기도 합니다. v2rayN과 v2rayNG는 먼저 응답을 식별한 다음 포함된 프로토콜 기록을 분석합니다. Base64는 콘텐츠 인코딩 방식일 뿐 암호화가 아니며, 누락된 필드를 복구하지도 않습니다.

VMess 기록에는 보통 주소, 포트, 사용자 식별자, 전송 방식과 TLS 등의 필드가 포함됩니다. VLESS에는 flow, security, sni, fp, pbk, sid 등의 매개변수가 추가될 수 있습니다. REALITY와 XTLS Vision을 사용할 때는 클라이언트와 코어 모두 해당 매개변수를 인식해야 합니다. 그렇지 않으면 노드는 가져와졌지만 시작 시 설정 오류가 발생할 수 있습니다.

응답 상태 클라이언트 동작 처리 방법
Base64 통합 콘텐츠 여러 공유 링크로 정상 분석됨 구독 그룹 주소로 직접 저장
평문 URI 목록 호환되는 경우 노드가 바로 생성됨 각 줄이 완전한 프로토콜 URI인지 확인
단일 네이티브 JSON 지원하지 않는 형식 또는 항목 하나만 생성된다는 메시지가 표시될 수 있음 해당 사용자 지정 설정 가져오기 방식 사용
HTML 로그인 페이지 분석 실패, 빈 콘텐츠 또는 노드 없음 클라이언트 전용 구독 API를 다시 복사
다른 클라이언트 전용 YAML VMess, VLESS 등의 공유 링크로 분석할 수 없음 서버에서 V2Ray 또는 범용 링크 출력 선택
HTTP 401 또는 403 업데이트 실패 또는 빈 응답 수신 토큰 유효 기간, 계정 상태와 접근 제한 확인

또 다른 흔한 문제는 리디렉션입니다. 구독 주소가 먼저 301 또는 302를 반환한 뒤 실제 콘텐츠 주소로 이동할 수 있습니다. 클라이언트는 일반적인 리디렉션을 대체로 따라가지만, 이동 대상에서 브라우저 로그인, CAPTCHA 또는 추가 Cookie를 요구하면 상호작용을 완료할 수 없습니다. 이 경우 구독 서비스의 클라이언트 설정 영역으로 돌아가 전용 주소를 다시 생성하세요.

노드 이름에 포함된 중국어, 공백과 특수문자도 인코딩 문제를 일으킬 수 있습니다. 서버는 UTF-8로 출력해야 하며 공유 링크의 쿼리 매개변수와 메모리 부분은 올바르게 URL 인코딩해야 합니다. 일부 노드만 사라진다면 구독 그룹 전체를 반복해서 삭제하기보다 해당 줄이 실수로 줄바꿈되었는지, 프로토콜 필드가 완전한지부터 확인하세요.

가져온 뒤 노드 목록이 비어 있을 때: 순서대로 점검

목록이 비어 있다면 먼저 ‘요청이 성공했는지’를 확인하고, 그다음 ‘응답 내용을 분석할 수 있는지’를 판단한 뒤 마지막으로 노드 매개변수를 확인해야 합니다. 서버가 로그인 페이지를 반환하거나 토큰이 만료되었거나 형식이 호환되지 않는 문제는 클라이언트를 재설치해도 보통 해결되지 않습니다.

첫 단계로 클라이언트의 업데이트 알림이나 로그를 확인합니다. 연결 시간 초과, 도메인 분석 실패 또는 연결 거부라면 네트워크 요청 단계의 문제입니다. 업데이트 성공으로 표시되었지만 추가된 항목 수가 0이라면 응답 형식과 그룹 필터를 중점적으로 확인하세요. URI를 분석할 수 없다는 메시지가 표시되면 콘텐츠 인코딩, 줄바꿈 또는 프로토콜 필드가 요구사항에 맞지 않는 경우가 많습니다.

주소를 저장했는데도 목록이 비어 있는 이유는 무엇인가요?

저장 작업은 구독 그룹만 만듭니다. v2rayN에서는 「구독 그룹」→「현재 구독 업데이트」를 실행해야 하며, v2rayNG에서는 설정 목록으로 돌아가 「구독 업데이트」를 선택해야 합니다.

구독 업데이트에서 계속 시간 초과가 발생하나요?

먼저 시스템 시간과 네트워크가 정상인지 확인한 뒤 직접 연결 업데이트를 시도합니다. 사용 가능한 노드가 있다면 해당 노드에 먼저 연결하고 ‘프록시를 통한 업데이트’를 활성화하는 동시에 로컬 10808 포트를 다른 프로그램이 사용 중인지 확인하세요.

성공으로 표시되는데 새 노드가 추가되지 않나요?

현재 표시된 구독 그룹이 올바른지 확인하고, API가 빈 응답·HTML 페이지 또는 호환되지 않는 형식을 반환하지 않는지 확인합니다. 기존 노드가 같은 이름의 새 기록으로 덮어써졌다면 추가 수가 0으로 표시될 수도 있습니다.

노드는 가져와졌지만 연결이 즉시 실패하나요?

코어 로그를 열고 서버 도메인, 원격 포트, 사용자 식별자, TLS, SNI, 전송 방식과 REALITY 매개변수를 차례로 확인합니다. 가져오기에 성공했다고 해서 원격 서비스에 현재 접근할 수 있다는 뜻은 아닙니다.

두 기기의 노드 수가 서로 다른가요?

두 기기에서 완전히 같은 주소와 같은 구독 그룹을 사용하는지 확인하고 각각 수동으로 업데이트합니다. 이후 클라이언트 버전, 코어 지원 범위와 노드 필터가 활성화되어 있는지 비교하세요.

  1. 그룹 확인

    방금 추가한 구독 그룹을 보고 있는지, 그룹이 활성화되어 있는지, 클라이언트가 다른 그룹만 표시하고 있지 않은지 확인합니다.

  2. 요청 확인

    로그를 바탕으로 시간 초과, DNS 실패, HTTP 401, 403, 404와 서버 오류를 구분해 네트워크 문제를 형식 문제로 잘못 판단하지 않도록 합니다.

  3. 응답 확인

    API가 로그인 페이지, 공지 페이지 또는 빈 텍스트가 아니라 노드 목록을 반환하는지 확인합니다. 공개 환경에서는 전체 구독 주소를 표시하지 마세요.

  4. 형식 검증

    완전한 VMess, VLESS, Trojan 또는 Shadowsocks 기록이 포함되어 있고 메신저에서 잘리거나 줄바꿈이 삽입되지 않았는지 확인합니다.

  5. 코어 로그 확인

    노드는 표시되지만 연결할 수 없다면 코어를 재시작하고 로그를 확인해 포트 점유, 필드 누락, DNS와 핸드셰이크 오류를 중점적으로 처리합니다.

  6. 그룹 다시 만들기

    주소와 응답이 모두 정상임을 확인한 경우에만 테스트 그룹을 새로 만들어 다시 가져옵니다. 기존 그룹의 필터나 캐시 상태가 원인인지 확인하는 데 사용할 수 있습니다.

같은 주소가 v2rayN에서는 업데이트되지만 v2rayNG에서는 비어 있다면 두 클라이언트의 버전과 코어 지원 범위를 비교하고, 안드로이드에서 백그라운드 네트워크, 프라이빗 DNS 또는 앱별 프록시가 제한되어 있지 않은지 확인하세요. 반대로 안드로이드에서만 성공한다면 데스크톱의 시스템 프록시, DNS, 인증서 환경과 구독 업데이트가 만료된 프록시를 통해 진행되고 있지 않은지 확인해야 합니다.

구독이 복구되면 먼저 노드 하나를 선택해 연결성을 테스트한 뒤 자동 업데이트와 복잡한 라우팅 규칙을 다시 활성화하세요. 점검 중에는 한 번에 하나의 변수만 바꾸세요. 구독 주소, Core 유형, DNS, TUN 모드와 라우팅 규칙을 동시에 수정하면 로그에서 오류 원인을 판단하기 어려워집니다.

일상적인 업데이트와 여러 구독 관리 팁

장기간 사용할 때는 한 번 가져오는 것보다 그룹 이름, 업데이트 간격과 실패 대응 방식이 더 중요합니다. 출처마다 별도 그룹을 만들고 용도를 알 수 있는 짧은 이름을 남겨 두세요. 여러 출처를 하나의 수동 텍스트로 합쳐 가져오면 어느 출처에서 비정상 응답이 나왔는지 확인하기 어렵습니다.

v2rayN은 변경 빈도에 따라 자동 업데이트를 설정할 수 있습니다. 노드 변경이 적다면 1440분마다 한 번이면 충분하고, 빠른 동기화가 필요하면 60~360분으로 설정할 수 있습니다. 간격을 지나치게 짧게 설정해도 반복 요청만 늘어날 뿐 서버 자체의 장애가 해결되지는 않습니다. v2rayNG는 연결하기 전이나 노드에 문제가 생겼을 때 수동으로 새로고침하는 방식이 더 적합합니다.

v2rayN과 v2rayNG를 함께 사용하는 경우 두 기기에 같은 구독 주소를 저장할 수 있지만 로컬 환경 설정까지 동기화되지는 않습니다. 데스크톱의 시스템 프록시 모드, 안드로이드의 앱별 프록시, 현재 활성 노드와 라우팅 규칙은 각각 설정해야 합니다. 구독은 노드 목록을 동기화할 뿐, 클라이언트 전체 상태를 이전하지는 않습니다.

안드로이드에서 Xray 코어 대신 v2fly 코어를 사용해야 한다면 v2flyNG를 선택할 수 있습니다. 가져오기 방식은 구독 주소 추가, 목록 업데이트, 노드 선택과 연결 시작으로 동일합니다. REALITY, XTLS Vision 등의 기능을 사용할 때는 선택한 클라이언트와 코어가 해당 프로토콜 필드를 지원하는지 먼저 확인해야 하며, 노드 이름만으로 호환성을 판단해서는 안 됩니다.

클라이언트 설치 패키지로 이동 Windows, macOS, Android, Linux