Shadowrocket 구독 업데이트 실패·서버 목록 비어 있음: 5단계 점검

구독 URL 형식과 복사 상태, 서비스 제공업체의 서버 응답, 업데이트 시점과 네트워크를 차례로 확인해 구독 가져오기 문제의 원인을 좁혀 보세요.

이 글의 핵심

서비스 제공업체에서 구독 URL을 받았지만 Shadowrocket에서 업데이트에 실패하거나, 가져온 뒤 항목이 없거나, 기존 목록이 바뀌지 않을 때 참고하세요. 먼저 현재 설정을 보존하고 5단계로 점검합니다. 처음부터 구독을 삭제하거나 모든 네트워크 설정을 바꾸기보다 URL이 잘못됐는지, 서버가 유효한 내용을 반환하지 않았는지, 내용은 반환됐지만 파싱되지 않았는지 구분하는 것이 중요합니다.

먼저 구분하기: 구독 업데이트 오류와 연결 오류

구독 업데이트는 서버에서 항목 목록을 받아 클라이언트에서 사용할 수 있는 정보로 파싱하는 과정입니다. 목록에 항목은 있지만 연결되지 않는다면 그다음 연결 단계의 문제입니다. 목록이 비어 있다고 해서 모든 서버를 사용할 수 없다고 단정할 수도 없습니다. 지연 시간 테스트에 성공했더라도 구독 URL에 접속할 수 있다는 뜻은 아닙니다. 테스트 대상과 구독 서버의 주소가 다를 수 있기 때문입니다.

URL 읽기 도메인 확인 구독 요청 응답 파싱 항목 표시

점검을 시작하기 전에 Home에서 대상 구독의 이름과 현재 항목 수, 이번에 표시된 안내를 기록하세요. 사용할 수 있는 기존 항목이 있다면 그대로 두고, 인증 정보가 포함된 설정을 백업할 때는 본인이 관리하는 안전한 위치에 저장하세요. 처음부터 삭제 후 다시 추가하면 전후 상태를 비교하는 데 필요한 정보가 사라질 수 있습니다.

확인된 증상먼저 확인할 항목아직 단정할 수 없는 내용
업데이트 중 오류가 발생했지만 기존 항목은 남아 있음구독 요청과 이번 응답기존 항목이 모두 사용할 수 없게 됨
처음 가져온 뒤 항목이 없음URL의 용도, 응답 내용과 형식연결 프로토콜을 반드시 변경해야 함
목록은 정상이나 특정 항목에 연결할 수 없음해당 항목의 설정과 외부 네트워크구독 업데이트가 반드시 실패했음
업데이트 후 항목 수가 줄어듦서비스 제공업체가 실제 반환한 항목과 필터 조건줄어든 항목을 클라이언트가 잘못 삭제했음

1단계: 웹페이지 주소가 아닌 구독 URL인지 확인하기

구독 URL은 서비스 제공업체에서 받아야 합니다. 계정 홈, 주문 페이지, 도움말 페이지가 브라우저에서 열리더라도 가져올 수 있는 구독 URL이라는 뜻은 아닙니다. 대개 항목 데이터가 아니라 사람이 읽는 HTML 페이지를 반환합니다. URL에 “sub”라는 글자가 있다고 용도를 확신할 수도 없으므로, 서비스 제공업체의 가져오기 안내를 확인하세요.

https://example.com/sub?token=xxxx

아래 주소는 형식 설명용이며 실제 연결에 사용할 수 없습니다. https://는 프로토콜 부분, example.com은 호스트 이름, /sub는 경로, ?token=xxxx는 쿼리 매개변수입니다. 실제 URL의 경로와 매개변수 이름은 전혀 다를 수 있으니 예시에 맞춰 본인의 URL을 바꾸지 마세요.

  1. 서비스 제공업체가 링크를 제공한 페이지로 돌아가, 웹 로그인 주소가 아니라 클라이언트용 구독 URL인지 확인하세요.
  2. 서버 하나의 공유 링크와 여러 항목이 포함된 구독 URL은 구분해야 합니다. 단순히 “링크 복사”를 했다는 이유만으로 같은 종류라고 볼 수 없습니다.
  3. 추가 위치를 다시 확인하려면 Home에서 추가 버튼을 눌러 Add Server로 이동하세요. Type이 Subscribe인지, URL 필드에 올바른 주소가 입력됐는지 확인합니다.
  4. Config에서 출처를 알 수 없는 설정 파일을 가져와 구독 점검을 대신하지 마세요. 규칙 설정과 서버 구독은 서로 다른 역할을 합니다.
5단계
URL, 복사 상태, 서비스 상태, 업데이트 시점, 네트워크
443
HTTPS에서 포트를 지정하지 않았을 때 사용하는 기본 포트
80
HTTP에서 포트를 지정하지 않았을 때 사용하는 기본 포트

포트 정보는 요청 대상이 무엇인지 이해하기 위한 설명이지, 변경하라는 뜻이 아닙니다. 원래 구독 URL에 다른 포트가 명시되어 있다면 그대로 두세요. 구독 URL의 포트와 목록에 있는 각 서버의 연결 포트도 서로 다를 수 있습니다.

2단계: URL이 빠짐없이 복사됐는지 한 글자씩 확인하기

비슷해 보이는 URL도 글자 하나만 달라지면 다른 리소스를 가리킬 수 있습니다. 중국어 마침표가 복사됐거나, 화면에 보이는 일부만 선택했거나, 물음표 뒤 매개변수가 빠졌거나, 줄바꿈까지 함께 붙여 넣는 경우가 흔합니다. 새로 고침을 반복하기보다 먼저 전체 문자열을 확인한 뒤 업데이트를 시도하는 편이 원인을 파악하는 데 도움이 됩니다.

다시 복사할 때는 원본 페이지의 전체 복사 기능을 우선 사용한 뒤, 대상 구독의 URL 필드에서 기존 주소를 바꾸고 저장하세요. 이 변수만 바꾼 다음 한 번 업데이트하고 결과를 기록합니다. 그룹 이름이나 규칙, 프로토콜까지 동시에 바꾸면 어떤 조작이 증상에 영향을 줬는지 파악하기 어렵습니다.

3단계: 서비스 제공업체 상태와 반환 내용 확인하기

URL이 완전한데도 실패한다면 서비스 제공업체 측 상태를 확인해야 합니다. 계정이 유효한지, 구독 URL이 재설정됐는지, 서비스 점검 중인지, 해당 URL에 요청 빈도나 접속 위치 제한이 있는지 확인하세요. 클라이언트 구매와 서버 이용 요금제는 별개입니다. Shadowrocket을 구매해도 만료되거나 무효화된 구독 URL이 다시 유효해지는 것은 아닙니다.

업데이트 안내나 확인 가능한 진단 기록에 HTTP 상태 코드가 있다면, 아래의 표준 의미에 따라 원인을 분류할 수 있습니다. 카드에 표시된 영어 문구는 HTTP 상태를 설명하는 표현이며, 업데이트마다 안내 문구가 똑같이 표시된다는 뜻은 아닙니다. 상태 코드가 없다면 서버가 어떤 오류를 반환했는지 추측하지 마세요.

HTTP 401 Unauthorized

원인 및 대응: 대상 리소스가 요구하는 인증을 통과하지 못한 상태입니다. 인증 정보가 누락됐거나 유효하지 않을 수 있습니다. 매개변수 전체를 확인하고, 현재 URL이 유효한지 서비스 제공업체에 문의하세요.

HTTP 403 Forbidden

원인 및 대응: 서버가 이번 접속을 거부한 상태로, 권한이나 접속 정책과 관련이 있을 수 있습니다. 상태 코드와 발생 시각을 기록해 서비스 제공업체에 거부 원인을 확인하세요. 이 코드만으로 요금제가 만료됐다고 단정하지 마세요.

HTTP 404 Not Found

원인 및 대응: 요청 경로에서 해당 리소스를 찾지 못한 상태입니다. URL이 잘리지 않았는지, 경로가 바뀌지 않았는지 확인한 뒤 서비스 제공업체가 안내한 최신 구독 URL과 대조하세요.

HTTP 429 Too Many Requests

원인 및 대응: 서버가 요청 빈도를 제한한 상태입니다. 새로 고침을 연달아 반복하지 말고, 서비스 제공업체의 안내나 응답의 Retry-After 값에 따라 기다린 뒤 다시 시도하세요.

HTTP 200 응답을 받았더라도 HTTP 단계에서 요청이 성공했다는 의미일 뿐, 본문이 유효한 구독 데이터라는 보장은 없습니다. 로그인 페이지, 인증 페이지, 빈 본문 또는 형식이 맞지 않는 데이터는 항목을 생성하지 못할 수 있습니다. 브라우저에서 내용이 보이더라도 해당 브라우저 요청이 응답을 받았다는 것만 알 수 있습니다. 브라우저의 로그인 상태와 캐시, 클라이언트의 요청 조건은 서로 다를 수 있습니다.

결론: 먼저 반환된 내용을 확인한 뒤 파싱 문제를 점검하세요

URL이 맞는데 목록이 비어 있다면, 해당 주소가 Shadowrocket에서 사용할 수 있는 비어 있지 않은 구독 내용을 반환하는지 서비스 제공업체에 확인하세요. 로그인 페이지나 빈 응답은 규칙 설정을 바꿔도 해결되지 않습니다.

4단계: 업데이트 시점을 조절하고 대상 구독만 확인하기

새로 고침을 연속으로 해도 유효하지 않은 인증 정보가 복구되지는 않으며, 오히려 요청 빈도 제한이 걸릴 수 있습니다. 서비스 제공업체가 URL을 재설정하거나 항목을 변경하고 서비스를 복구한 직후라면 변경 사항이 적용됐는지 먼저 확인한 뒤 한 번 업데이트하고 기록하세요. 무작정 재시도할 때 적용할 대기 시간을 임의로 정하지 마세요. 대기 시간은 서비스 제공업체의 안내나 서버 응답을 기준으로 해야 합니다.

  1. 업데이트 전 상태 기록: Home에서 대상 구독의 이름을 확인하고 항목 수를 기록하세요. 그룹이 접혀 있을 뿐인지도 살펴보고, 검색어나 필터가 항목을 숨기고 있지 않은지 확인하세요.
  2. 대상 구독 업데이트: 해당 구독의 업데이트 기능을 사용하세요. 현재 화면에서 아래로 당겨 새로 고침할 수 있다면 실제로 어느 구독까지 업데이트되는지 확인해 다른 그룹의 결과를 잘못 판단하지 않도록 하세요.
  3. 이번 업데이트가 끝날 때까지 기다리기: 요청이 처리 중일 때 반복해서 실행하지 마세요. 완료 안내와 발생 시각을 기록해 두세요.
  4. 결과 확인: 같은 그룹을 다시 확인하세요. 항목 수가 그대로라고 해서 실패한 것은 아닙니다. 서비스 제공업체가 이전과 같은 내용을 반환했을 수도 있습니다.
  5. 결과의 범위: 업데이트 성공은 구독을 가져와 파싱하는 단계가 완료됐다는 뜻일 뿐, 모든 항목의 연결이 확인됐다는 뜻은 아닙니다.

자동 업데이트만 실행되지 않고 수동 업데이트는 성공한다면, 먼저 관련 자동 업데이트 옵션과 실행 조건을 확인한 뒤 백그라운드 실행 시점을 점검하세요. 수동 업데이트 실패와 백그라운드 업데이트 미실행을 한 번의 테스트에서 혼동하지 마세요. 자동 업데이트 간격을 바꾸는 것도 서버 접속 거부를 해결하는 방법은 아닙니다.

5단계: 한 번에 한 조건만 바꿔 네트워크 문제 구분하기

같은 구독 URL도 네트워크에 따라 결과가 달라질 수 있습니다. Wi-Fi 인증 페이지, DNS 조회 오류, 구독 도메인 연결 시간 초과, TLS 인증서 문제로 인해 내용을 파싱하기도 전에 요청이 실패할 수 있습니다. 목록이 비어 있다고 바로 서버 프로토콜을 바꾸기보다, 먼저 기기에서 네트워크에 정상적으로 접속되는지 확인한 뒤 구독 요청 결과를 비교하세요.

비교 방법기록된 증상다음 단계
같은 URL을 유지하고 Wi-Fi에서 셀룰러 네트워크로 전환Wi-Fi에서만 업데이트 실패Wi-Fi 인증, DNS 및 접속 제한 확인
다른 네트워크에서 같은 요청을 한 번 더 실행두 네트워크에서 모두 같은 401 또는 403 응답먼저 인증 정보와 서버 접속 정책 확인
시스템 날짜와 시간 확인TLS 인증서 유효 기간 관련 안내 표시기기 시간을 바로잡고, 그래도 실패하면 서비스 제공업체에 인증서 확인 요청
현재 연결과 자동 연결 조건 확인연결을 끊은 직후 다시 연결Settings에서 On Demand 연결 조건 확인

현재 터널의 영향을 배제해야 한다면 먼저 기존 상태를 기록한 뒤 Settings → On Demand에서 자동 연결 조건을 확인하세요. 관련 조건을 일시적으로 중지한 상태로 테스트하고, 완료 후 원래대로 복원합니다. 인증서 오류를 가리기 위해 TLS 인증서 검증을 끄지 마세요. 연결의 보안 범위만 달라질 뿐 구독 내용이 올바른지는 확인할 수 없습니다.

Global Routing의 Proxy, Direct, Config, Scene은 트래픽 처리 방식을 선택하는 기능이지 구독을 복구하는 버튼이 아닙니다. 구독 업데이트 요청의 실제 경로는 관련 설정의 영향을 받을 수 있으므로, 선택한 방식만 보고 요청이 어떤 경로로 나갔는지 단정할 수 없습니다. 비교 테스트에서는 현재 선택 항목을 기록하고 DNS, 라우팅, 구독 URL, 서버 설정을 한꺼번에 바꾸지 마세요.

결론: 재현 가능한 실패 상황을 한 번 기록하세요

같은 URL이 특정 네트워크에서만 실패하면 먼저 네트워크를 확인하세요. 네트워크를 바꿔도 똑같이 접속이 거부되면 서비스 제공업체의 상태를 확인하세요. 요청은 성공했지만 항목이 없다면 응답 내용을 확인하세요. 한 번에 하나의 조건만 바꾸세요.

5단계를 거쳐도 해결되지 않을 때: 진단 기록 정리하기

서비스 제공업체에 문의할 때는 단순히 “업데이트가 안 돼요”라고 쓰기보다 확인할 수 있는 증상을 전달하는 편이 효과적입니다. 전체 구독 URL을 공개적으로 보내지 말고, 먼저 민감 정보를 가린 기록을 제출한 뒤 서비스 제공업체의 안전한 지원 절차에 따라 계정을 확인하세요. 아래 목록은 처음 가져온 항목이 비어 있는 경우와 정상적으로 사용하다가 업데이트에 실패한 경우 모두에 사용할 수 있습니다.

유효한 구독이 복구되고 항목이 정상적으로 표시된 다음에 개별 연결 문제를 점검하세요. 가져오기 방법을 다시 확인하려면 구독 안내서를, 처음 설정하는 경우에는 시작 가이드에서 순서를 확인하세요.

App Store 정식 앱 확인