‘구독 업데이트 실패’, ‘파싱은 성공했지만 노드가 없음’, ‘클라이언트를 바꾼 뒤 가져오지 못함’ 등의 문제를 겪는 사용자를 위한 안내입니다. 기존 노드는 보존하고 주소, 네트워크, 응답 내용, 클라이언트 형식 순으로 확인하세요. 구독을 다운로드하지 못한 경우와 다운로드 후 파싱하지 못한 경우를 구분한 뒤, 그룹별 노드 수와 단일 노드 연결 테스트로 복구 여부를 확인합니다.
1. 기존 노드를 보존하고 실패 단계 구분하기
서버를 모두 삭제하거나 클라이언트를 반복해서 재설치하지 마세요. 구독 업데이트는 보통 구독 주소 접속, 응답 본문 읽기, 본문을 노드 목록으로 변환하는 세 단계로 진행됩니다. 어느 단계에서든 실패하면 화면에는 목록이 비어 있는 것으로 보일 수 있지만, 원인에 따라 해결 방법은 달라집니다.
먼저 클라이언트 버전, 오류 발생 시각, 그룹 이름, 로그 원문을 기록하세요. 버전은 ‘도움말’ → ‘정보’ 또는 설정의 버전 항목에서 확인합니다. 버전에 따라 메뉴가 조금씩 다르므로 문제를 제보할 때는 ‘최신 버전’이라고만 쓰기보다 전체 버전 번호를 적는 것이 좋습니다. 사용할 수 있는 노드가 있다면 클라이언트의 백업 또는 내보내기 기능으로 로컬에 저장하세요. 파일에 인증 정보가 들어 있을 수 있으니 공개적으로 업로드하지 마세요.
| 표시되는 증상 | 먼저 확인할 항목 | 지금은 하지 말 것 |
|---|---|---|
| 시간 초과, 도메인 확인 실패 | 구독 도메인 접속 가능 여부, 업데이트 시 프록시 사용 여부 | 노드 UUID 또는 전송 매개변수 변경 |
| 401 또는 403 응답 | 토큰 유효성, 계정 상태, 서버 접근 제한 | 구독을 다른 인코딩으로 변환 |
| 형식 오류 또는 파싱 실패 메시지 | 실제 응답이 노드 데이터인지 확인 | 모든 노드가 작동하지 않는다고 단정 |
| 업데이트 완료 후 목록이 비어 있음 | 선택한 그룹, 검색 조건, 노드 형식 호환성 | 모든 그룹을 지우고 처음부터 다시 시작 |
2. 구독 주소와 그룹 설정 확인하기
구독 URL은 여러 노드를 가져오는 주소이지, 서비스 제공업체의 홈페이지나 개별 노드의 서버 주소가 아닙니다. vmess:// 또는 vless://로 시작하는 문자열은 보통 단일 노드 공유 링크이므로 클립보드에서 노드를 가져오는 메뉴를 사용해야 합니다. HTTP 또는 HTTPS 주소도 계정 페이지일 수 있으니 접두사만으로 구독 주소라고 판단하지 마세요.
-
주소 다시 복사하기
서비스 제공업체의 계정 페이지에서 구독 메뉴를 찾아 대상 클라이언트에 맞는 형식을 선택한 뒤 주소를 다시 복사하세요. 브라우저 주소창의 계정 페이지를 복사하거나 채팅 미리보기에서 잘린 링크를 선택하지 마세요.
-
주소 전체 확인하기
로컬 텍스트 편집기에서 앞뒤 공백, 줄 바꿈, 불필요한 따옴표가 있는지 확인하세요. 쿼리 매개변수의
&,=,%같은 문자는 그대로 두세요. 토큰을 임의로 ‘정리’하거나 URL 디코딩을 반복하지 마세요. -
구독 그룹 확인하기
v2rayN의 일반적인 데스크톱 화면을 기준으로 설명합니다. ‘구독 그룹’ → ‘구독 그룹 설정’을 열고 대상 그룹을 추가하거나 수정한 뒤, 메모와 구독 주소를 입력하고 저장하세요. 현재 버전의 화면 구성이 다르면 같은 이름의 그룹 관리 기능을 찾으세요. 구독 URL을 서버 주소 입력란에 넣지 마세요.
-
현재 그룹만 업데이트하기
메인 화면으로 돌아가 방금 저장한 그룹을 선택한 다음, ‘구독 그룹’ 메뉴에서 현재 구독 업데이트를 실행하세요. 처음 문제를 확인할 때는 이 그룹만 업데이트해 다른 그룹의 실패 로그가 섞이지 않도록 하세요. 새로 추가된 노드 수와 오류 메시지 전체를 기록합니다.
서비스 제공업체에서 구독 토큰을 재설정했다면 이전 주소가 안내 페이지를 열더라도 더 이상 노드 데이터를 반환하지 않을 수 있습니다. 이 경우 브라우저에서 새 주소를 시험하는 데 그치지 말고 그룹에 저장된 주소를 교체해야 합니다. 계정 만료, 트래픽 소진, 기기 제한이 구독 가져오기에 영향을 주는지는 제공업체 정책에 따라 다르므로 계정 페이지에서 확인하세요.
3. 업데이트 요청 경로 확인하기: 직접 연결 또는 프록시
브라우저에서 웹페이지가 열린다고 해서 클라이언트의 구독 업데이트도 같은 네트워크 경로를 사용하는 것은 아닙니다. 브라우저는 시스템 프록시를 따를 수 있지만 구독 업데이트는 직접 연결을 사용하도록 설정되어 있을 수 있습니다. 반대로 업데이트에 프록시를 선택했더라도 로컬 코어가 실행되지 않거나 현재 노드를 사용할 수 없다면 요청이 실패할 수 있습니다.
- 사용 가능한 기존 노드가 있는 경우: 기존 노드를 선택해 연결이 유효한지 확인한 다음, v2rayN의 ‘구독 그룹’ 메뉴에서 이름에 ‘프록시를 통해’가 포함된 현재 구독 업데이트 항목을 선택하세요.
- 사용 가능한 노드가 없는 경우: 먼저 이름에 ‘프록시를 사용하지 않고’가 포함된 업데이트 항목을 시도하세요. 현재 네트워크에서 구독 도메인에 접속할 수 없다면 제공업체에 대체 구독 주소를 요청하거나 해당 주소에 접속할 수 있는 네트워크로 변경하세요.
- 프록시 업데이트가 즉시 실패하는 경우: 코어가 실행 중인지, 로컬 리스너가 열렸는지, 업데이트 기능에서 사용하는 포트가 현재 설정과 일치하는지 확인하세요.
- 특정 네트워크에서만 실패하는 경우: 신뢰할 수 있는 다른 네트워크에서 한 번 더 테스트해 로컬 DNS, 네트워크 접근 정책, 서버 장애를 구분하세요. 여러 설정을 한꺼번에 변경하지 마세요.
로컬 프록시 포트에는 공통으로 고정된 값이 없습니다. 10808은 자주 쓰이는 설정 중 하나일 뿐이므로 현재 클라이언트 설정에 표시된 리스닝 포트를 기준으로 삼으세요. 수동으로 프록시를 테스트할 때 HTTP 프록시와 SOCKS 프록시를 임의로 바꿔 사용할 수도 없습니다. 시스템 프록시로 테스트했다면 끝난 뒤 원래 설정으로 복구해 다른 앱에 문제 해결용 설정이 남지 않도록 하세요.
4. 상태 코드와 자주 나타나는 오류 메시지 이해하기
아래 세 가지 상태 코드는 HTTP 요청 결과를 나타내며 노드 속도 측정 결과가 아닙니다. 숫자는 프로토콜의 의미를 설명한 것이며, 이 사이트에서 직접 측정한 결과가 아닙니다. 특히 200 응답은 서버가 어떤 내용을 정상적으로 반환했다는 뜻일 뿐, 그 내용이 유효한 구독이라는 보장은 없습니다.
먼저 반환된 내용을 확인한 뒤 인코딩을 살펴보세요
401, 403 또는 로그인 페이지가 표시되면 먼저 주소와 접근 권한을 확인하세요. 노드 데이터가 실제로 반환된 경우에만 Base64, 문자 인코딩, 클라이언트 호환성을 계속 점검할 필요가 있습니다.
로그 문구는 클라이언트 버전과 운영체제에 따라 다릅니다. 아래는 네트워크 요청에서 흔히 볼 수 있는 오류 원문 또는 일부입니다. 로그에 내부 예외가 함께 표시되면 마지막 줄만 잘라내지 말고 내부 원인도 함께 확인하세요.
오류: Response status code does not indicate success: 403 (Forbidden).
원인 및 해결 방법: 서버가 현재 요청을 거부했습니다. 토큰, 요청 출처 제한, 접근 정책 등이 원인일 수 있습니다. 구독 주소를 새로 발급받고 계정 상태를 확인하세요. 계속 실패하면 발생 시각과 상태 코드를 제공업체에 전달하세요. 인코딩만 바꿔 보며 해결하려 하지 마세요.
오류: The SSL connection could not be established, see inner exception.
원인 및 해결 방법: TLS 연결을 설정하지 못했습니다. 먼저 시스템 날짜와 시간대를 동기화한 다음, 내부 예외에 인증서 신뢰, 호스트 이름, 네트워크 차단 관련 내용이 있는지 확인하세요. 인증서 검증을 끄는 방법으로 문제를 계속 우회하지 마세요.
오류: The input is not a valid Base-64 string
원인 및 해결 방법: 파서가 예상한 Base64 형식과 다른 텍스트를 받았습니다. 오류 페이지, 잘린 응답, 잘못 선택한 내보내기 형식이 흔한 원인입니다. 먼저 원본 응답의 종류를 확인한 뒤, 클라이언트용 구독 메뉴에서 주소를 다시 복사하세요.
응답이 <!DOCTYPE html>로 시작하거나 로그인 양식 또는 사람 확인 페이지가 표시된다면, 클라이언트가 받은 것은 노드 목록이 아니라 웹페이지입니다. 브라우저는 로그인 상태로 확인 절차를 통과할 수 있지만 독립 실행형 클라이언트에는 같은 쿠키가 없습니다. 로그인 후 웹페이지 주소를 복사하지 말고, 클라이언트에서 구독을 가져오는 전용 메뉴를 사용하세요.
5. 형식, 인코딩, 노드 호환성 확인하기
‘V2Ray 구독’이라고 해서 모든 클라이언트에서 통용되는 단일 파일 형식이 있는 것은 아닙니다. 흔한 형식으로는 줄마다 나열된 공유 링크, Base64로 인코딩된 링크 모음, 특정 클라이언트용 전체 설정 파일이 있습니다. 전체 JSON 설정, YAML 설정, 링크 모음은 용도가 다르므로 파일 확장자를 바꾸거나 다시 인코딩하는 것만으로 서로 변환할 수 없습니다.
| 응답 내용의 특징 | 가능한 문제 | 해결 방법 |
|---|---|---|
| 여러 줄의 공유 링크 또는 Base64 텍스트 | 내용이 잘렸거나 문자가 바뀌었거나 일부 프로토콜을 지원하지 않음 | 원본 내용을 다시 받아 클라이언트 버전과 지원 범위를 확인하세요 |
| 중괄호로 시작하는 JSON | 전체 설정 파일일 수도 있고 API 오류 메시지일 수도 있음 | 먼저 각 필드의 의미를 확인하세요. 모두 구독으로 가져올 수 있는 것은 아닙니다 |
| 들여쓰기와 규칙 필드가 포함된 YAML | 다른 형식의 전체 설정 파일일 수 있음 | 제공업체 페이지로 돌아가 대상 클라이언트와 호환되는 구독 형식을 선택하세요 |
| HTML, 로그인 안내 또는 인증 메시지 | 잘못된 주소, 인증 실패 또는 접근 보호 | 전용 주소를 다시 받아 제공업체에 접근 방법을 문의하세요 |
| 본문이 비어 있거나 공백뿐임 | API 일시 오류 또는 계정에 할당할 노드가 없음 | 계정 권한과 노드 상태를 확인한 뒤 잠시 기다렸다가 한 번만 다시 시도하세요 |
VMess 공유 링크의 인코딩 데이터와 VLESS 공유 링크의 URI 구조는 서로 다릅니다. 구독 전체를 감싼 인코딩, 개별 링크 내부의 인코딩, URL의 퍼센트 인코딩도 각각 별개입니다. 디코딩을 반복하거나 문자를 임의로 추가하거나 토큰 안의 구두점을 전각 문자로 바꾸면 정상적인 데이터가 손상될 수 있습니다. 긴 텍스트를 직접 수정하기보다 원본 내용을 다시 다운로드하세요.
- 문자가 깨져도 가져오기는 되는 경우: 먼저 노드 이름만 깨졌는지 확인하세요. 이름 표시가 비정상이라고 해서 서버 주소, 포트, 인증 정보까지 손상된 것은 아닙니다.
- 일부 노드만 가져온 경우: 누락된 노드의 프로토콜, 전송 방식, 관련 매개변수를 확인하고 클라이언트와 선택한 코어가 해당 항목을 지원하는지 살펴보세요.
- 같은 구독을 다른 클라이언트로 가져올 때 실패하는 경우: v2rayNG는 Xray 코어를, v2flyNG는 v2fly 코어를 사용합니다. 두 코어가 지원하는 매개변수 범위가 완전히 같다고 단정할 수 없습니다. v2rayN은 현재 선택된 코어도 함께 확인해야 합니다.
- 클라이언트 업데이트 후 다시 테스트하는 경우: 먼저 기존 설정을 백업한 다음 다운로드 센터에서 운영체제에 맞는 버전을 선택하세요. 클라이언트를 업데이트하면 형식 지원이 개선될 수 있지만, 서버가 오류 웹페이지를 반환하는 문제까지 해결되지는 않습니다.
6. 업데이트 성공 후 목록이 비어 있다면: 표시 상태부터 파싱까지 확인하기
‘성공’은 요청이 끝났다는 뜻일 수 있으며 새 노드가 추가되었다는 의미는 아닙니다. 먼저 화면에서 선택된 그룹을 확인하고 검색어를 지운 뒤 필터 조건이 켜져 있는지 살펴보세요. 이름이 같은 그룹이 여러 개라면 대상 그룹에 구별하기 쉬운 메모를 임시로 추가해 A 그룹의 업데이트 로그와 B 그룹의 목록을 혼동하지 않도록 하세요.
- 업데이트 전후의 노드 수 기록: 대상 그룹의 노드 수와 로그에 표시된 가져오기 수를 각각 기록하세요. 화면에는 0개로 표시되지만 로그에는 노드를 가져왔다고 나온다면 그룹 선택과 필터 조건을 먼저 확인하세요.
- 응답 본문이 비어 있는지 확인: 이번 응답을 로컬에서 확인하되 내용을 공개하지 마세요. 응답이 비어 있다면 서버와 계정 상태를 확인하세요. 내용은 있지만 가져온 노드가 없다면 그때 형식을 점검하세요.
- 단일 링크로 문제 범위 좁히기: 안전하게 단일 공유 링크 전체를 확보할 수 있다면 클라이언트의 ‘클립보드에서 가져오기’ 메뉴로 테스트하세요. 단일 링크는 가져올 수 있지만 전체 구독은 실패한다면 구독을 감싼 형식과 노드가 아닌 텍스트가 섞였는지 확인하세요.
- 실제 연결 확인: 가져오기에 성공하면 노드 하나를 선택해 실제 연결 지연 시간을 측정한 뒤, 앱이 프록시를 통해 접속하는지도 확인하세요. 목록이 복구되었다는 것은 파싱 단계가 정상화되었다는 뜻일 뿐, 모든 원격 노드를 사용할 수 있다는 의미는 아닙니다.
실패할 때마다 곧바로 업데이트를 반복하지 마세요. 요청을 연속해서 보내면 빈도 제한에 걸려 기존 형식 문제가 새로운 접근 문제로 바뀔 수 있습니다. 로그에 429가 표시되면 반복 요청을 중단하고 서버가 안내한 대기 시간 이후 다시 시도하세요. 안내가 없다면 먼저 제공업체에 제한 정책을 확인하세요.
7. 구독 문제 해결 FAQ와 복구 확인
브라우저에서는 구독 주소가 열리는데 클라이언트에서는 왜 시간 초과가 발생하나요?
먼저 브라우저에 노드 데이터가 표시되는지, 로그인 페이지가 표시되는지 확인한 다음 브라우저와 클라이언트의 네트워크 경로를 비교하세요. v2rayN에서 현재 구독을 직접 연결과 프록시 연결 방식으로 각각 업데이트하고 해당 로그를 따로 보관하세요. 브라우저의 로그인 상태는 클라이언트에 자동으로 전달되지 않습니다.
시스템 프록시와 TUN을 모두 켜야 하나요?
두 모드를 동시에 켜야 하는 것은 아닙니다. 먼저 사용 가능한 노드 하나와 유효한 접속 경로 하나를 확인한 다음 구독 업데이트를 테스트하세요. ‘프록시를 통해’를 명시적으로 선택했다면 여러 트래픽 처리 모드를 더하는 대신 클라이언트에서 사용하는 로컬 프록시가 작동하는지 확인하세요.
Android에서 가져온 뒤 노드가 보이지 않으면 어디를 확인해야 하나요?
v2rayNG 또는 v2flyNG 메뉴에서 ‘구독 그룹 설정’을 열어 주소와 그룹이 저장되어 있는지 확인한 뒤 구독을 업데이트하세요. 버전에 따라 메뉴 이름이 조금 다를 수 있습니다. 단일 공유 링크만 붙여 넣었다면 클립보드에서 가져오는 메뉴를 사용하세요.
구독 링크를 새로 발급받으면 기존 노드는 바로 사용할 수 없게 되나요?
구독 토큰은 노드 목록을 가져올 권한을 관리하고, 노드 인증 정보는 연결 권한을 관리하므로 서로 다른 항목입니다. 다만 제공업체가 두 가지를 함께 재설정할 수도 있습니다. 재설정 안내를 먼저 확인하고 사용 가능한 설정을 보존하세요. 재설정이 끝나면 그룹을 업데이트하고 연결을 테스트하세요. 기존 노드가 계속 작동할 것이라고 단정하지 마세요.