이용 중인 서비스와 구독 주소가 있다면 먼저 Home에서 수동 업데이트하고 결과를 확인한 뒤, Settings → Subscribe에서 앱 실행 시 업데이트 옵션을 확인하세요. 실패하면 링크, 네트워크 요청, 응답 형식을 차례로 점검합니다. 업데이트 성공은 구독 내용을 받아 파싱했다는 뜻일 뿐, 모든 서버에 연결되거나 Config의 규칙이 업데이트되었다는 의미는 아닙니다.
구독 업데이트 범위: 서버 목록이며 앱 업데이트와는 다릅니다
Shadowrocket 구독 업데이트는 저장된 구독 주소로 서버 설정을 다시 요청하는 기능입니다. 서비스 제공자가 서버 주소, 포트 또는 인증 정보를 변경하면 구독을 새로 받아 해당 변경 사항을 기기에 반영할 수 있습니다. App Store의 앱 업데이트와는 별개이며, 앱을 구매해도 연결 서비스가 자동으로 제공되지는 않습니다.
Home, Config, Settings는 각각 다른 역할을 합니다. Home에서는 서버와 연결 상태를 확인하고, Config에서는 구성 파일을 관리하며, Settings에서는 앱 설정을 변경합니다. 문제를 해결하기 전에 무엇을 업데이트하려는지 먼저 확인하세요. ‘서버 목록 새로 고침 성공’을 ‘규칙 파일 재다운로드 완료’로 오해하지 않도록 주의해야 합니다.
구독 응답에는 사용량이나 만료일 정보가 포함될 수도 있지만, 표시 여부는 서비스 제공자가 반환하는 데이터에 따라 달라집니다. 사용량 숫자가 보이는지만으로 업데이트 성공 여부를 판단하지 말고 업데이트 결과, 그룹 항목, 서비스 제공자가 안내한 변경 사항을 함께 확인하세요.
수동 업데이트: Home에서 새로 고친 뒤 그룹 확인
처음 추가했거나 자동 업데이트가 실행되지 않은 것 같다면 먼저 수동으로 새로 고침하세요. 시작 전에 대상 구독 이름과 현재 선택된 서버, 서비스 제공자가 안내한 변경 사항을 기록해 두세요. 업데이트를 확인하기 위해 기존 그룹을 먼저 삭제할 필요는 없습니다.
-
구독 확인
Home을 열고 본인의 구독 그룹을 찾습니다. 아직 추가하지 않았다면 오른쪽 위의 “+”를 누르고 Type에서 Subscribe를 선택한 다음, 본인의 구독 URL을 입력해 저장하세요. 웹사이트 로그인 주소를 구독 주소로 사용하지 마세요.
-
주소 확인
대상 구독의 편집 화면으로 이동해 URL 전체가 입력되었는지, 특히 물음표 뒤의 쿼리 매개변수가 있는지 확인합니다. 복사할 때 안내 문구나 앞뒤 공백, 줄바꿈이 포함되지 않도록 하세요. token의 대소문자도 임의로 바꾸지 마세요.
-
아래로 당겨 새로 고침
Home으로 돌아와 목록을 아래로 당겨 구독을 업데이트하고 요청이 끝날 때까지 기다립니다. 구독이 여러 개라면 대상 그룹의 결과를 확인하세요. 다른 그룹의 업데이트 성공을 전체 구독이 성공한 것으로 간주하면 안 됩니다.
-
변경 사항 확인
업데이트 결과와 그룹 항목을 확인합니다. 서비스 제공자가 특정 항목을 추가했다고 안내했다면 해당 항목이 표시되는지 확인하세요. 변경 사항이 안내되지 않았다면 목록이 그대로라는 사실만으로 업데이트 실패라고 단정할 수 없습니다.
-
연결 테스트
현재 선택된 항목이 여전히 유효한지 확인한 다음 연결 테스트와 실제 웹사이트 접속을 진행하세요. 구독에 포함된 서버 하나가 작동하지 않더라도 구독 주소 업데이트에 실패한 것은 아닐 수 있습니다. 두 테스트 결과를 각각 기록하세요.
앱 실행 시 자동 업데이트: Settings → Subscribe
수동 업데이트가 정상적으로 작동하는 것을 확인한 뒤 Settings → Subscribe로 이동해 앱을 열 때 업데이트하는 옵션인 Update on Open을 켭니다. 영문 표기의 대소문자나 현지화 문구는 현재 인터페이스에 따라 다를 수 있습니다. 여기서 찾아야 할 것은 ‘앱 실행 시 구독 업데이트’이며, On Demand의 연결 트리거 조건이 아닙니다.
이 설정은 수동 새로 고침을 줄이기 위한 것으로, 앱을 종료한 뒤에도 일정한 간격으로 계속 데이터를 가져온다는 뜻은 아닙니다. 앱을 다시 열 때 실제 업데이트가 실행되는지는 앱 자체의 업데이트 조건과 현재 네트워크 상태에 따라 달라집니다. 화면을 한 번 전환했다고 업데이트가 완료된 것으로 간주하지 마세요.
- 켜기 전에: 같은 구독을 Home에서 수동으로 업데이트할 수 있는지 먼저 확인하세요. 수동 업데이트가 실패한다면 자동 업데이트도 같은 문제를 겪습니다.
- 켜고 나서: 네트워크에 연결된 상태에서 앱을 다시 열고 업데이트 결과가 표시될 때까지 기다린 다음 대상 구독을 확인하세요. Home에 들어가자마자 네트워크 연결을 끊지 마세요.
- 네트워크 인증이 필요한 경우: 현재 Wi-Fi의 웹 인증을 먼저 완료한 뒤 다시 시도하세요. Wi-Fi에 연결되어 있다고 해서 인터넷 접근 권한까지 확보된 것은 아닙니다.
- 즉시 반영해야 하는 경우: 서비스 제공자가 주소 변경을 안내했다면 다음 앱 실행을 기다리지 말고 직접 수동 새로 고침하세요.
Settings → On Demand는 조건에 따라 VPN 연결을 시작하거나 끊는 기능이며 구독 업데이트 타이머가 아닙니다. On Demand 설정을 변경해도 만료된 구독 URL은 복구되지 않으며 Subscribe의 업데이트 설정을 대신할 수도 없습니다.
업데이트 원리: 다운로드 성공과 파싱 성공은 별개
구독을 업데이트하려면 최소한 주소 확인, 네트워크 요청, 응답 수신, 콘텐츠 파싱 단계를 거쳐야 합니다. 앞 단계가 실패하면 앱이 본문 전체를 가져오지 못하고, 뒷 단계가 실패하면 서버가 웹페이지를 반환하더라도 사용할 수 있는 서버 항목을 만들 수 없습니다.
| 확인할 결과 | 설명 | 다음 단계 |
|---|---|---|
| HTTP 200 | 서버에서 성공 응답을 반환했더라도 본문이 로그인 페이지나 안내 페이지일 수 있습니다 | 반환된 내용이 Shadowrocket에 맞는 구독 형식인지 확인 |
| HTTP 401 / 403 | 인증 또는 접근 권한 확인에 실패한 요청 | 이용 중인 서비스 제공자에게 token, 유효 기간, 접근 제한을 확인 |
| HTTP 404 | 요청한 경로에 해당하는 리소스를 찾을 수 없음 | 현재 유효한 구독 주소를 다시 복사 |
| HTTP 429 | 서버에서 요청 빈도를 제한함 | 새로 고침을 반복하지 말고 서버 안내에 따라 기다린 뒤 재시도 |
| 요청 시간 초과 | 허용된 시간 안에 요청이 완료되지 않았다는 뜻이며 링크 만료를 의미하지는 않습니다 | 현재 네트워크를 확인하고 사용 가능한 다른 네트워크와 비교 |
요약: 응답을 먼저 확인한 뒤 기기 설정을 조정하세요
권한이나 경로와 관련된 HTTP 상태가 표시되면 먼저 구독 주소와 서비스 상태를 확인하세요. 요청 시간 초과나 도메인 확인 실패처럼 네트워크 문제가 의심될 때만 네트워크 경로를 먼저 점검합니다. DNS, Global Routing, 구독 URL을 한꺼번에 변경하면 어떤 변경이 효과가 있었는지 알기 어렵습니다.
업데이트 실패: 오류 메시지에 따라 점검 범위 좁히기
오류 문구와 표시 위치를 먼저 기록한 뒤 다음 단계를 결정하세요. 아래 HTTP 상태는 서버 응답 정보이며 팝업에 매번 모두 표시되는 것은 아닙니다. 실제 오류에 해당 상태가 포함된 경우에만 관련 점검 방법을 적용하세요. ‘업데이트 실패’라는 메시지만으로 계정 만료를 추정할 수는 없습니다.
오류: HTTP 401 / HTTP 403
원인: 구독 주소에 필요한 인증 정보가 유효하지 않거나 서버가 현재 접근을 거부했습니다.
해결 방법: 본인이 이용 중인 서비스 제공자 계정에서 서비스 상태와 구독 주소를 확인하세요. token이 재설정되었다면 기존 구독을 편집해 새 주소로 바꾼 뒤 한 번만 새로 고침하세요.
오류: HTTP 404
원인: 주소 경로가 만료되었거나 복사 과정에서 누락되었거나 서비스 제공자가 구독 엔드포인트를 이전했습니다.
해결 방법: 이용 중인 서비스 제공자 페이지에서 구독 URL 전체를 다시 복사하고 경로와 쿼리 매개변수를 확인하세요. 도메인이 열린다는 이유만으로 구독 경로도 유효하다고 판단하지 마세요.
오류: HTTP 429
원인: 짧은 시간에 허용된 횟수보다 많은 요청이 전송되었습니다.
해결 방법: 연속해서 아래로 당겨 새로 고침하지 마세요. 서버가 대기 시간을 안내한다면 해당 시간만큼 기다린 뒤 다시 시도하고, 앱을 반복해서 열어 추가 요청이 발생했는지도 확인하세요.
오류: The request timed out.
원인: 네트워크 요청이 제시간에 완료되지 않았습니다. 현재 네트워크, 구독 서버 또는 요청이 통과하는 연결 경로가 원인일 수 있습니다.
해결 방법: 먼저 일반 웹페이지에 접속할 수 있는지 확인한 다음 Wi-Fi와 셀룰러 네트워크에서 각각 한 번씩 비교하세요. 한 번에 한 가지 조건만 바꾸고 결과를 기록합니다.
응답 콘텐츠를 파싱할 수 없다는 오류가 표시되면 구독 유형과 응답 본문을 중점적으로 확인하세요. 로그인 페이지, 잔액 안내 페이지, 웹 인증 페이지는 브라우저에서 열리더라도 서버 목록이 아닙니다. 인코딩된 텍스트라고 해서 호환되는 형식인 것은 아니며, 앱에서 지원하는 콘텐츠 구조를 따라야 합니다.
- 유형 불일치: Config 구성 파일 주소나 계정 관리 페이지가 아닌 서버 구독을 가져왔는지 확인하세요.
- 링크가 잘림: 메시지 앱에서 줄바꿈 뒤의 내용이 누락되지 않았는지 확인하세요. 쿼리 매개변수가 여러 개인 URL은 특히 주의해야 합니다.
- 응답이 비어 있음: 구독에서 항목을 반환해야 하는지 이용 중인 서비스 제공자에게 확인하세요. ‘강제로 고치기’ 위해 로컬 목록을 먼저 비우지 마세요.
- 인증서 경고: 기기의 날짜와 시간을 확인하고 HTTPS 인증서 문제를 서비스 제공자에게 알리세요. 인증서 검증을 무시해 문제를 덮으려 하지 마세요.
업데이트는 성공했지만 목록이 그대로이거나 연결되지 않는 경우
목록 이름이 바뀌지 않는 데에는 흔한 이유가 두 가지 있습니다. 서비스 제공자가 콘텐츠를 변경하지 않았거나 항목의 주소, 포트, 인증 정보만 변경했을 수 있습니다. 이름과 항목 수는 눈에 보이는 단서일 뿐, 콘텐츠 전체가 정상이라는 증거는 아닙니다. 서비스 제공자가 명확히 안내한 변경 사항을 우선 확인하고, ‘새 콘텐츠’를 보려고 반복해서 삭제하고 다시 가져오지 마세요.
업데이트가 끝난 뒤에도 접속할 수 없다면 연결 문제를 별도로 확인하세요. Home에서 선택한 서버가 제거되었거나 작동하지 않을 수 있으며, Global Routing의 Proxy, Direct, Config, Scene 설정에 따라 라우팅 동작도 달라집니다. 이 설정들은 구독 URL을 복구하지 않습니다. 특히 Config를 사용하는 경우 현재 구성의 규칙과 최종 정책도 확인해야 합니다.
- 그룹 확인: 방금 업데이트한 항목이 대상 구독인지, 이름이 같거나 비슷한 다른 그룹은 아닌지 확인하세요.
- 선택 확인: 현재 선택된 서버를 다시 확인하고 연결 테스트와 실제 웹페이지 접속 결과를 각각 기록하세요.
- 라우팅 확인: 현재 Global Routing 모드를 확인하세요. Config를 사용하는 경우 의도한 구성이 활성화되어 있는지 확인합니다.
- 규칙 확인: 관련 DOMAIN-SUFFIX, IP-CIDR, GEOIP 규칙과 마지막 FINAL 정책 및 순서를 확인하세요. 변경 전에 현재 구성을 저장하고 구독 업데이트만을 위해 규칙을 다시 작성하지 마세요.
서버 구독 업데이트와 규칙 업데이트는 서로 다른 절차입니다. 구성 항목을 확인하려면 구성 항목 안내를 참고하세요. 처음 사용하는 경우 시작 가이드에서 가져오기, 서버 선택, 첫 연결 순서를 확인하세요.
정기 점검: 기록을 남기고 한 번에 한 항목만 변경
안정적으로 사용 중이라면 앱 실행 시 업데이트를 켜 두고, 서비스 제공자가 변경 사항을 알렸을 때 수동 새로 고침을 추가로 진행할 수 있습니다. 문제가 생기면 ‘주소 오류’, ‘네트워크 실패’, ‘파싱 실패’를 구분할 수 있을 정도로 기록하세요. 구독 내용을 공개할 필요는 없습니다. 서비스 제공자에게 문의할 때는 업데이트 문제인지 연결 문제인지 명확히 설명하세요.
- 환경 기록: Wi-Fi와 셀룰러 네트워크 중 무엇을 사용했는지, 일반 웹페이지에 접속할 수 있는지, 현재 연결이 켜져 있는지 기록하세요.
- 결과 기록: 오류 원문, 표시된 경우 HTTP 상태, 실패 시각, 네트워크를 바꾼 뒤에도 문제가 재현되는지 기록하세요.
- 정보 보호: token, 비밀번호, 전체 구독 URL, 계정을 식별할 수 있는 정보를 가리세요.
- 구성 유지: 새 주소가 정상적으로 콘텐츠를 반환하는지 확인하기 전에는 기존 구독을 삭제하거나 모든 설정을 초기화하지 마세요.
Shadowrocket은 App Store에서 제공되는 클로즈드 소스 상용 앱이며 주로 iPhone과 iPad에서 사용합니다. 앱의 일회성 구매와 연결 서비스 요금제는 별개입니다. 가격과 시스템 요구 사항은 App Store 페이지를 기준으로 확인하세요. 개발자 Shadow Launch Technology Limited, 공식 아이콘, 앱 ID 932747118로 앱을 확인할 수 있습니다.