이미 본인의 서버 정보와 구독 링크가 있다면 먼저 Home에서 수동으로 새로고침하세요. 링크 접속, 콘텐츠 파싱, 서버 연결 중 어디에서 문제가 발생하는지 확인한 뒤 Settings → Subscribe에서 Update on Open을 설정합니다. 이 글에서는 한 번 업데이트하기, 앱을 열 때 자동 업데이트하기, Update via Proxy의 차이를 설명합니다. 업데이트에 실패해도 기존 목록을 바로 삭제하고 다시 만들지 마세요.
구독 업데이트와 서버 연결은 별개입니다
Shadowrocket의 구독 업데이트는 저장된 구독 주소에 콘텐츠를 요청하고, 인식 가능한 서버 정보를 목록에 반영하는 과정입니다. Home의 연결 스위치를 켜면 현재 선택한 서버로 연결을 시도합니다. 두 과정은 서로 다릅니다. 기존 서버를 사용할 수 있어도 구독 주소가 유효하다는 뜻은 아니며, 구독을 가져오는 데 성공해도 목록에 있는 모든 서버가 연결된다는 보장은 없습니다.
이 글은 이미 본인의 구독을 보유하고 있다는 전제로 설명합니다. 문제를 확인하기 전에 구독 그룹 이름, 오류 메시지 원문, 발생 시간, 현재 네트워크 유형을 기록해 두세요. 목록에 직접 수정한 항목이 있다면 필요한 정보를 먼저 저장하세요. 구독을 새로고침하면 원격 콘텐츠에 따라 항목이 다시 구성될 수 있으므로, 수동으로 수정한 내용이 계속 유지된다고 가정하면 안 됩니다.
여기서 말하는 포트는 구독 URL의 HTTPS 요청에 쓰이는 포트이지, 서버 연결 포트가 아닙니다. 예를 들어 구독 주소가 HTTPS 기본 포트인 443을 사용하더라도, 목록에 포함된 서버는 서비스 정보에 지정된 다른 포트를 사용할 수 있습니다. 구독 업데이트가 실패했다고 해서 모든 서버 포트를 443으로 바꾸지 마세요.
Home에서 구독 수동 업데이트하기
수동 업데이트는 처음 가져온 구독을 확인하거나 서비스 정보가 바뀐 뒤 한 번 점검할 때 유용합니다. 한 번의 업데이트가 끝날 때까지 결과를 확인한 다음 다음 단계를 진행하세요. 짧은 간격으로 반복해서 아래로 당기지 마세요. 요청을 자주 반복하면 구독 서비스에서 접근 빈도를 제한할 수 있고, 여러 요청의 오류가 뒤섞여 원인을 파악하기 어려워집니다.
-
항목 확인
Home으로 이동해 Subscribe 유형의 구독과 해당 그룹이 있는지 확인합니다. 서버를 수동으로 하나만 추가했고 목록에 구독 주소가 없다면, 서버 목록 전체를 새로고침할 구독 원본이 없는 것입니다.
-
주소 확인
대상 구독의 편집 정보를 열고 URL 전체가 올바른지 확인합니다. 계정 로그인 페이지, 구매 내역 페이지, 단일 서버 공유 URI를 구독 URL로 사용하지 마세요. 스크린샷이나 공개 게시물에 token 전체를 노출하지 마세요.
-
아래로 당겨 새로고침
Home으로 돌아가 목록을 아래로 당겨 업데이트를 시작하고, 요청이 끝날 때까지 기다립니다. 구독이 여러 개라면 그룹별 결과를 확인하세요. 한 그룹에 변화가 있다고 해서 모든 구독이 업데이트된 것은 아닙니다.
-
결과 확인
알림, 그룹 콘텐츠, 예상한 변경 사항을 확인합니다. 서버 수가 그대로여도 실패라고 단정할 수 없습니다. 원격에서 같은 콘텐츠를 반환했을 수 있습니다. 목록에 변화가 있더라도 연결 테스트를 대신할 수는 없으므로, 사용할 서버를 선택해 실제 접속을 확인하세요.
앱 실행 시 자동 업데이트: Update on Open
수동 새로고침이 성공한 뒤 Settings → Subscribe → Update on Open으로 이동해 앱을 열 때 업데이트하는 옵션을 켭니다. 이 설정은 앱을 열 때 구독 업데이트를 시작하는 기능입니다. 서버를 계속 확인하거나, 백그라운드 타이머가 정해진 시간에 반드시 작업을 실행하는 기능은 아닙니다.
처음 확인할 때는 수동 새로고침을 한 번 성공시킨 다음 Update on Open을 켜고, 앱을 종료했다가 다시 열어 업데이트 결과를 확인하세요. 다른 화면에서 Home으로 돌아오는 것만으로는 ‘앱을 열 때 업데이트’가 실행됐다고 확실히 볼 수 없습니다. 네트워크 상태와 당시 앱의 실행 상태에 따라 요청이 완료되지 않을 수도 있습니다.
- 앱을 자주 여는 경우: Update on Open을 켜 두면 수동 새로고침을 잊는 일을 줄일 수 있습니다. 앱을 연 뒤에도 실패 알림이 있는지 확인하세요.
- 현재 네트워크에서 웹 로그인이 필요한 경우: 먼저 Wi-Fi 네트워크 인증을 완료한 다음 업데이트하세요. 인증 페이지를 구독 응답으로 오인하지 않도록 주의합니다.
- 앱을 오랫동안 열지 않은 경우: 목록이 백그라운드에서 계속 동기화된다고 가정하지 마세요. 사용할 때 Home에서 직접 새로고침해 확인하세요.
- 원격 서비스에서 요청 빈도를 제한하는 경우: 앱을 반복해서 종료하고 열거나 연속으로 새로고침하지 마세요. 본인의 서비스 안내에 명시된 제한 시간을 기다린 뒤 다시 시도하세요.
Settings → On Demand는 연결이 시작되는 조건을 관리하는 설정으로, 구독 업데이트와는 별개입니다. On Demand를 켜도 Update on Open이 켜지는 것은 아닙니다. 앱 실행 시 업데이트를 꺼도 기존 연결 트리거 조건이 꺼지는 것은 아닙니다. 원인을 확인할 때는 두 설정을 각각 기록하고, 동시에 변경하지 마세요.
시간 초과와 네트워크 제한: Update via Proxy 사용 시점
먼저 현재 네트워크가 정상적으로 작동하는지 확인한 다음, 구독 도메인에 현재 연결 경로로 접근할 수 있는지 살펴보세요. 일반 웹페이지도 열리지 않는다면 Wi-Fi 인증, 셀룰러 네트워크 권한 또는 네트워크 전환 문제부터 해결합니다. 구독 주소 요청만 시간 초과되는 경우에는 링크를 바로 바꾸기보다 요청 경로의 차이를 확인하세요.
현재 직접 연결 네트워크로 구독 주소에 접근할 수 없지만 기존 서버는 사용할 수 있다면, 먼저 연결을 설정한 뒤 Settings → Subscribe → Update via Proxy로 이동해 옵션을 켜고 Home에서 수동으로 새로고침할 수 있습니다. 이 옵션은 구독 업데이트 요청의 접근 방식을 바꾸는 기능이며, 만료된 인증 정보나 잘못된 URL, 호환되지 않는 응답 콘텐츠를 해결하지는 못합니다.
| 확인된 현상 | 우선 조치 | 판단 시 유의점 |
|---|---|---|
| 일반 웹페이지와 구독 요청이 모두 시간 초과됨 | 기본 네트워크를 확인하고 Wi-Fi 또는 셀룰러 네트워크로 전환한 뒤 다시 시도 | 구독 링크가 만료됐다고 아직 판단할 수 없음 |
| 직접 연결 요청은 실패하지만 기존 연결은 사용 가능 | 연결을 설정한 뒤 Update via Proxy 테스트 | 성공해도 이번 요청 경로를 사용할 수 있었다는 뜻일 뿐 |
| 기존 연결을 통해서도 401이 반환됨 | 본인의 서비스 제공자에게 구독 인증 정보를 확인 | 네트워크 경로를 바꿔도 대개 인증 정보 문제는 해결되지 않음 |
| 기존 서버를 모두 사용할 수 없음 | 먼저 기본 네트워크와 구독 서비스 상태 확인 | 작동하지 않는 연결로 프록시 업데이트를 진행할 수는 없음 |
요약: 한 번에 조건 하나만 변경하세요
같은 구독 주소를 유지한 채 기본 네트워크만 바꿔 한 번 테스트하고, 그다음 Update via Proxy를 별도로 테스트하세요. 매번 결과를 기록해 URL, 연결 모드, 업데이트 설정을 동시에 바꾸지 않도록 합니다.
Home → Global Routing의 Proxy, Direct, Config, Scene은 트래픽 처리 방식을 선택하는 기능이지, 구독 형식 네 가지를 뜻하지 않습니다. Config 모드의 DOMAIN-SUFFIX, IP-CIDR, GEOIP, FINAL 등의 규칙은 관련 트래픽의 라우팅에 영향을 줍니다. 규칙을 무작정 추가해도 만료된 token이 다시 유효해지지는 않습니다. 규칙을 확인해야 한다면 먼저 해당 요청에 어떤 접근 경로가 사용됐는지 확인하세요.
오류 메시지로 링크 만료와 형식 문제 구분하기
아래 내용은 네트워크 응답이나 시스템 오류에서 표시될 수 있는 원문입니다. 실제 화면에는 상태 코드, 간단한 설명 또는 현지화된 알림만 표시될 수 있으므로 이번에 기록된 내용을 기준으로 판단하세요. 상태 코드는 문제 유형을 파악하는 단서일 뿐, 숫자만으로 계정 만료나 서버 영구 중단을 단정할 수 없습니다.
오류: 401 Unauthorized
원인: 요청에 구독 서비스가 인정하는 인증 정보가 없을 수 있습니다. URL의 token이 누락되었거나 만료됐거나 재설정됐을 가능성이 있습니다.
해결 방법: 본인의 서비스 관리 페이지에서 현재 구독 주소를 확인하고 전체 주소를 복사해 기존 주소를 교체한 뒤 수동으로 업데이트하세요. 물음표 앞부분만 복사하지 마세요.
오류: 403 Forbidden
원인: 구독 서비스가 이번 요청을 거부했습니다. 계정 권한, 접근 출처 또는 서버 정책과 관련된 문제일 수 있습니다.
해결 방법: 발생 시간과 상태 코드를 저장한 뒤 본인의 서비스 제공자에게 접근 조건을 확인하세요. 경로 변경은 문제를 파악하는 데 도움이 될 수 있지만 권한 제한이 해제된다는 보장은 없습니다.
오류: 404 Not Found
원인: 요청한 경로를 찾을 수 없습니다. 이전 주소가 비활성화됐거나 주소가 일부만 복사됐거나 경로가 잘못 변경된 경우가 흔합니다.
해결 방법: 도메인, 경로, 쿼리 매개변수를 확인하고 본인 계정에 표시된 현재 유효한 구독 주소를 사용하세요. 새 경로를 추측해서 입력하지 마세요.
오류: The request timed out.
원인: 제한 시간 안에 요청이 완료되지 않았습니다. 네트워크 연결, 구독 서비스 응답 또는 중간 접근 경로에서 문제가 발생했을 수 있습니다.
해결 방법: 먼저 기본 네트워크를 확인한 뒤 앞 절의 안내에 따라 네트워크 전환과 Update via Proxy를 각각 테스트하세요. 시간 초과만으로 링크가 만료됐다고 판단하지 마세요.
HTTP 요청은 완료됐지만 응답 콘텐츠를 파싱할 수 없는 경우도 있습니다. 상태 코드 200은 HTTP 요청이 성공했다는 뜻일 뿐, 본문이 유효한 구독 데이터라는 보장은 없습니다. 로그인 페이지, 네트워크 인증 페이지, 서비스 점검 안내, HTML 오류 페이지도 200 응답으로 반환될 수 있습니다.
- 로그인 페이지가 반환되는 경우: 브라우저 로그인이 필요한 관리 페이지가 아니라 구독 주소를 복사했는지 확인하세요. 구독 요청은 브라우저의 로그인 상태를 그대로 사용할 수 없습니다.
- 빈 콘텐츠가 반환되는 경우: 현재 계정에 사용할 수 있는 콘텐츠가 있는지, 구독 서비스에 일시적인 장애가 없는지 확인하세요. 같은 주소를 다시 추가해도 누락된 콘텐츠가 생기지는 않습니다.
- 용도와 맞지 않는 콘텐츠가 반환되는 경우: 단일 Shadowsocks, VMess, VLESS 또는 Trojan 공유 URI는 여러 서버 목록을 가져오는 구독 URL과 다릅니다.
- 인증서 관련 알림이 표시되는 경우: 기기의 날짜와 시간, 구독 서비스의 인증서 상태를 확인하세요. 업데이트를 성공시키기 위해 보안 검증을 함부로 끄거나 출처가 불분명한 인증서를 설치하지 마세요.
URL 전체와 민감 정보 확인
구독 URL은 접근 인증 정보 역할도 하는 경우가 많습니다. 아래 주소는 구조를 보여 주기 위한 예시일 뿐이며, 도메인과 token을 실제 구독에 사용할 수 없습니다. 문제를 확인할 때 본인 주소의 구조와 비교하되, 실제 링크를 공개 웹페이지나 스크린샷에 올리지 마세요.
https://example.com/sub?token=xxxx
- 쿼리 매개변수 유지:
?token=xxxx는 임의로 삭제해도 되는 메모가 아닙니다. 실제 주소에 다른 매개변수가 있다면 모두 그대로 유지하세요. - 불필요한 문자 제거: URL 앞뒤에 공백, 줄바꿈, 한국어 따옴표 또는 채팅 내용이 섞이지 않았는지 확인하세요. 설명 문구까지 URL 입력란에 붙여 넣지 마세요.
- 원래 인코딩 유지: 주소에 포함된 퍼센트 인코딩을 직접 바꾸지 말고
&뒤의 매개변수를 잘라내지 마세요. 원본을 복사한 그대로 사용하세요. - token 유출 후 재설정: 본인의 서비스 관리 페이지에서 구독 인증 정보를 재설정한 다음 Shadowrocket에서도 기존 주소를 새 주소로 바꾸세요.
문제 확인 기록에는 보통 그룹 이름, 시간, 네트워크 유형, 오류 원문, Update via Proxy 사용 여부만 있으면 됩니다. 본인의 서비스 제공자에게 문의할 때는 기존 지원 채널을 이용하고, 우선 민감 정보를 가린 내용을 전달하세요. 요청 로그를 확인할 수 있는지는 해당 서비스의 실제 기능에 따라 다릅니다.
자주 묻는 질문: 업데이트 후 목록과 자동 업데이트
자동 업데이트를 켰는데 앱을 열어도 목록이 그대로인 이유는 무엇인가요?
먼저 Home에서 수동으로 새로고침해 요청이 성공하는지 확인한 다음 Settings → Subscribe에서 Update on Open을 확인하세요. 수동 업데이트도 실패한다면 링크 또는 네트워크 오류를 먼저 해결합니다. 원격에서 같은 콘텐츠를 반환했다면 업데이트에 성공해도 목록에 눈에 띄는 변화가 없을 수 있습니다.
구독은 업데이트되는데 선택한 서버를 사용할 수 없는 이유는 무엇인가요?
업데이트 성공은 구독 콘텐츠를 가져와 파싱했다는 뜻일 뿐입니다. Home으로 돌아가 현재 선택 항목을 확인하고 Global Routing과 기존 서비스 매개변수를 점검한 뒤 실제 접속을 테스트하세요. ‘업데이트 성공’을 모든 서버를 사용할 수 있다는 보고로 여기지 마세요.
업데이트에 실패하면 기존 구독을 삭제하고 다시 추가해야 하나요?
먼저 기존 항목을 유지한 채 URL과 오류 원문을 확인하세요. 삭제하면 비교에 필요한 정보가 사라질 뿐 아니라 시간 초과나 권한 문제도 해결되지 않습니다. 주소를 교체해야 한다면 먼저 그룹과 필요한 설정을 기록한 뒤 기존 구독을 편집하세요. 여러 번 가져와 목록이 중복되지 않도록 주의합니다.
구독이 여러 개인데 한 그룹만 업데이트에 실패하면 어떻게 하나요?
먼저 실패한 그룹의 주소와 응답 상태를 따로 확인하세요. 다른 구독이 성공했다고 해서 해당 도메인, 경로, token도 유효하다는 뜻은 아닙니다. 이를 이유로 모든 그룹의 설정을 한꺼번에 바꾸지 마세요.
Shadowrocket을 구매하면 구독도 자동으로 제공되나요?
앱 구매와 서버 이용 요금제는 별개입니다. Shadowrocket은 App Store에서 제공되는 유료 상용 앱이며, 구독 콘텐츠는 사용자가 이미 보유한 서비스 정보에서 가져옵니다. 앱 구매 여부와 구독 주소의 유효성은 각각 확인해야 합니다.