이미 본인의 구독 URL을 보유한 Shadowrocket 사용자를 위한 안내입니다. 먼저 Home에서 수동으로 새로고침해 URL이 유효한 응답을 반환하는지 확인한 다음, Settings → Subscribe에서 앱을 열 때 자동 업데이트하는 옵션을 켜세요. 실패하면 URL, 요청 경로, 응답 형식 순서로 점검하세요. 구독 업데이트와 서버 연결 테스트는 별개입니다. 문제를 파악하려면 기존 구성을 삭제한 뒤 다시 가져오기보다 그대로 보존하는 편이 좋습니다.
1. 구독 업데이트와 연결 오류 구분하기
구독 업데이트는 기존 구독 주소에 요청을 보내고, 응답을 서버 항목으로 변환하는 작업입니다. 각 서버에 연결할 수 있는지 테스트하거나 Config의 라우팅 규칙을 업데이트하는 작업과는 다릅니다. Home에 표시된 항목에 연결할 수 있어도 구독 주소가 유효하다는 뜻은 아닙니다. 구독 업데이트에 성공해도 현재 네트워크에서 모든 항목을 사용할 수 있다고 보장되지는 않습니다.
작업을 시작하기 전에 현재 사용할 수 있는 항목과 구성을 보존하고, 오류 메시지를 원문 그대로 기록하세요. 한 번 시간 초과가 발생했다고 구독 그룹 전체를 삭제하지 마세요. 기존 항목에 여전히 연결할 수 있다면 구독 요청에 필요한 네트워크 경로로 사용할 수도 있습니다.
- Home: 기존 구독과 서버 항목을 확인하고 새로고침한 뒤 항목이 어떻게 바뀌었는지 살펴봅니다.
- Settings → Subscribe: 앱을 열 때 업데이트할지, 프록시를 통해 업데이트할지 등 구독 업데이트 동작을 설정합니다.
- Config: 구성과 규칙을 관리합니다. 서버 구독을 새로고침해도 이곳의 구성 파일까지 동기화되는 것은 아닙니다.
- Settings → On Demand: 조건에 따라 연결을 설정하는 기능입니다. 구독을 주기적으로 업데이트하는 설정이 아닙니다.
Shadowrocket은 Apple 플랫폼용 유료 앱이며, App Store에서만 받을 수 있습니다. 앱 구매와 서버 이용 요금제는 별개입니다. 이 글에서는 사용자가 이미 보유한 구독을 관리하는 방법만 안내하며, 구독이나 관련 서비스를 제공·판매·추천하지 않습니다.
2. Home에서 기존 구독 수동 업데이트하기
먼저 수동 업데이트를 실행해 결과를 확인한 다음 자동 업데이트를 켜세요. 이렇게 하면 요청 자체가 실패한 경우와 자동 업데이트가 실행되지 않은 경우를 구분할 수 있고, 여러 설정을 한꺼번에 바꾸는 일도 피할 수 있습니다.
-
구독 확인
Home으로 이동해 업데이트할 구독 그룹을 찾고 이름과 저장된 URL을 확인하세요. 그룹이 여러 개라면 어느 그룹에서 오류가 발생했는지 먼저 파악하세요. 다른 그룹의 항목이 늘었다고 해서 해당 그룹의 업데이트가 성공한 것은 아닙니다.
-
링크 확인
URL이 온전한지 확인하세요. 특히 물음표 뒤에 붙는 매개변수를 살펴봐야 합니다. 복사할 때 줄바꿈이나 앞뒤 공백이 들어가거나 token 뒷부분이 빠지면, 같은 도메인에서도 다른 응답을 받을 수 있습니다.
-
아래로 당겨 새로고침
Home 목록을 아래로 당겨 구독 새로고침을 실행하고 요청이 끝날 때까지 기다리세요. 구독이 여러 개라면 각 그룹의 결과를 따로 확인하세요. 첫 오류 메시지를 덮어쓰지 않도록 연속해서 새로고침하지 마세요.
-
결과 확인
오류 메시지가 사라졌는지, 그룹에 항목이 남아 있는지, 이름·지역·개수가 예상대로 바뀌었는지 확인하세요. 내용이 바뀌지 않아도 업데이트에 성공했을 수 있으므로 개수가 그대로라는 이유만으로 실패라고 판단하지 마세요.
아직 구독을 저장하지 않았다면 Home 오른쪽 위의 “+” → Type → Subscribe로 이동해 본인의 URL을 입력하고 저장하세요. 기존 구독 업데이트가 실패했을 때 새로 추가하는 것은 우선적인 해결 방법이 아닙니다. 같은 주소를 가리키는 그룹이 중복으로 생기지 않도록 먼저 기존 주소가 여전히 유효한지 확인하세요.
https://example.com/sub?token=xxxx
위 내용은 명확히 허구인 주소 예시이며 가져오기에 사용할 수 없습니다. 실제 구독 URL의 token은 접근 인증 정보로 사용되는 경우가 많으므로 전체 주소를 공개 로그, 스크린샷 또는 사이트 파일에 붙여 넣지 마세요.
3. 앱 실행 시 자동 업데이트 및 업데이트 경로 설정하기
Settings → Subscribe로 이동해 Update on Open을 찾아 켜세요. 이 옵션은 앱을 열 때 구독 업데이트를 실행합니다. 백그라운드에서 계속 실행되거나 일정 시간마다 반복해서 요청하는 기능은 아닙니다. 앱을 계속 전면에 열어 둔 상태에서 새로고침이 다시 실행되지 않는다고 곧바로 오류로 보지 마세요. 최신 내용을 바로 확인하려면 Home에서 수동으로 새로고침하세요.
| 설정 또는 작업 | 제어하는 기능 | 확인할 때 |
|---|---|---|
| Home에서 아래로 당겨 새로고침 | 구독 업데이트 요청을 직접 실행 | 주소와 현재 요청 경로가 작동하는지 확인 |
| Settings → Subscribe → Update on Open | 앱을 열 때 업데이트 실행 | 수동 업데이트가 정상적으로 된 뒤 자동 실행 여부 확인 |
| Settings → Subscribe → Update via Proxy | 프록시 경로를 통해 구독 업데이트 요청 전송 | 현재 직접 연결로 구독 주소에 접근할 수 없는 경우 비교 |
| Settings → On Demand | 설정한 조건에 따라 연결 설정 | 연결 동작 확인용이며 구독 업데이트 설정을 대신하지 않음 |
정리: 경로를 먼저 확인한 뒤 자동 업데이트를 켜세요
수동 새로고침이 아직 성공하지 않았다면 Update on Open을 켜도 같은 요청이 반복해서 실패할 뿐입니다. 먼저 수동 새로고침을 한 번 성공시킨 뒤 앱을 다시 열었을 때 업데이트되는지 확인하세요.
Update via Proxy를 켜려면 기존 프록시 연결이 실제로 작동하는지 먼저 확인한 뒤 수동 새로고침을 실행하세요. 구독 업데이트에 프록시가 필요하지만 그 프록시에 필요한 새 항목은 해당 구독에서만 가져올 수 있다면 의존성 순환이 발생합니다. 이때는 작동 가능한 기존 항목을 보존하거나 해당 주소에 접근할 수 있는 다른 네트워크에서 다시 테스트하세요.
Global Routing의 Config, Proxy, Direct, Scene은 연결 처리 방식이지 구독 업데이트 주기 설정이 아닙니다. 구독 오류 한 건을 해결하려고 이 방식을 한꺼번에 바꾸고 규칙을 수정하거나 구성을 새로 만들지 마세요. 먼저 이번 요청에서 Update via Proxy가 어떤 영향을 주는지 따로 확인해야 무엇이 문제인지 파악할 수 있습니다.
4. 오류 메시지로 링크·네트워크·응답 내용 구분하기
아래는 네트워크 요청 중 표시될 수 있는 오류 원문 또는 HTTP 상태입니다. 앱 메시지에는 주소, 오류 도메인 등 추가 정보가 포함될 수 있으므로 실제로 표시된 전체 오류를 기록하세요. 메시지가 아래 내용과 매번 똑같을 필요는 없습니다.
오류: 401 Unauthorized
원인 및 해결 방법: 서버가 요청에 포함된 인증 정보를 받아들이지 않았습니다. URL 매개변수가 빠짐없이 포함되어 있는지 확인하고, 이미 이용 중인 구독 서비스에 인증 정보 상태를 문의하세요. 주소가 재설정되었다면 기존 URL을 반복해서 새로고침하지 말고 저장된 URL을 새 주소로 바꾸세요.
오류: 403 Forbidden
원인 및 해결 방법: 서버가 현재 요청을 거부했습니다. 접근 정책, 인증 정보 상태 또는 요청 출처 제한이 원인일 수 있습니다. 먼저 본인이 해당 구독에 접근할 권한이 있는지 확인하고, 서비스에서 안내한 구독 주소와 요구 사항을 점검하세요. 403만으로 앱의 파싱 오류라고 단정하지 마세요.
오류: 404 Not Found
원인 및 해결 방법: 요청 경로가 없거나 서버가 접근할 수 없는 리소스를 이 상태 코드로 표시한 것입니다. 주소 경로와 매개변수, 복사한 URL이 온전한지 확인하고 계정 페이지 주소나 사용 중지된 이전 주소를 잘못 입력하지 않았는지 살펴보세요.
오류: The request timed out.
원인 및 해결 방법: 허용된 시간 안에 요청이 완료되지 않았습니다. 이름 확인, 연결 설정, 응답 대기 단계 중 어느 곳에서든 문제가 발생했을 수 있습니다. 먼저 Wi-Fi와 셀룰러 네트워크를 바꿔 비교한 뒤, 사용할 수 있는 연결이 있는 상태에서 Update via Proxy를 테스트하세요.
HTTP 상태는 문제 범위를 좁히는 데 도움이 되지만 구독이 만료되었다는 사실을 단독으로 입증하지는 않습니다. 예를 들어 403은 원본 서버에서 발생할 수도 있고 중간 접근 제어에서 발생할 수도 있습니다. 확인할 때는 네트워크 종류, 프록시 사용 여부, 다른 네트워크에서 같은 주소에 접속한 결과를 함께 기록하세요. 인증서 오류가 발생하면 기기의 날짜와 시간이 정확한지, 주소가 올바른지 확인하세요. 인증서 검증 수준을 낮춰 문제를 우회하지 마세요.
5. 주소가 열리는데도 가져오기에 실패하는 이유
웹페이지가 열린다는 것은 어떤 형태로든 응답을 받았다는 뜻일 뿐, 그 응답이 구독 데이터라는 뜻은 아닙니다. 브라우저에 로그인 페이지, 접근 확인 페이지 또는 오류 안내가 표시될 수 있고, HTTP 상태가 200이어도 본문은 HTML일 수 있습니다. Shadowrocket에는 브라우저에서 읽을 수 있는 웹페이지가 아니라 앱이 인식할 수 있는 구독 데이터가 필요합니다.
- 로그인 페이지가 반환되는 경우: 계정 관리 페이지를 복사한 것은 아닌지 확인하세요. 클라이언트에 가져오기 위한 구독 주소가 필요합니다. 브라우저에 로그인되어 있더라도 앱 요청에 같은 세션 정보가 포함되는 것은 아닙니다.
- 확인 페이지가 반환되는 경우: 페이지에서 확인 절차를 마친 뒤 브라우저로 계속 접속할 수 있어도 구독 요청이 자동으로 통과한다는 뜻은 아닙니다. 이미 이용 중인 구독 서비스에 클라이언트용 구독 주소를 문의하세요.
- 빈 내용이 반환되는 경우: 계정과 구독 상태, 유효한 항목이 있는지 확인하고 실제로 응답이 비어 있는 경우와 페이지 로딩이 끝나지 않은 경우를 구분하세요.
- 응답 형식이 맞지 않는 경우: Shadowrocket에서 사용할 수 있는 구독 데이터인지 확인하세요. 전체 라우팅 구성, 일반 안내 문구 또는 다른 용도의 데이터를 Subscribe에 그대로 입력하지 마세요.
프로토콜 이름과 구독을 전달하는 형식은 서로 다릅니다. 응답에 Shadowsocks, VMess, VLESS, Trojan, Hysteria2 또는 WireGuard라는 이름이 들어 있어도 전체 응답을 현재 가져오기 기능이 인식할 수 있다는 보장은 없습니다. 실제 응답 구조와 필드가 요구 사항에 맞는지 확인해야 합니다.
구독 URL을 그대로 둔 채 두 네트워크에서 먼저 비교하고, 네트워크를 고정한 뒤 Update via Proxy 사용 여부를 비교하세요. 결과를 기록한 다음에만 다음 항목을 바꾸세요. 주소 변경, 그룹 삭제, DNS 수정, 규칙 재작성을 한꺼번에 하면 어떤 변경이 영향을 줬는지 파악하기 어렵습니다.
6. 자동 업데이트 및 새로고침 관련 자주 묻는 질문
수동 업데이트는 성공했는데 앱을 열어도 달라진 점이 보이지 않는 이유는 무엇인가요?
먼저 Settings → Subscribe에서 Update on Open이 켜져 있는지 확인하세요. 그런 다음 앱을 종료했다가 다시 열어 업데이트 결과를 살펴보세요. 서버 목록이 바뀌지 않아도 요청은 실행되었을 수 있습니다. 원격 내용이 같다면 새로고침 후에도 이름과 개수가 그대로일 수 있습니다.
구독 업데이트 시간이 초과되면 먼저 연결 스위치를 켜야 하나요?
항상 그럴 필요는 없습니다. 주소에 직접 연결할 수 있다면 먼저 그대로 새로고침하세요. 프록시 경로가 필요한 경우에만 작동하는 연결을 먼저 설정한 뒤 Settings → Subscribe에서 Update via Proxy를 확인하세요. 연결 스위치가 켜져 있어도 선택한 항목이 실제로 작동한다는 보장은 없습니다.
업데이트에 성공했는데 웹페이지가 열리지 않는 이유는 무엇인가요?
먼저 Home에서 현재 선택한 서버와 연결 상태를 확인한 다음 Global Routing과 Config를 살펴보세요. 구독 새로고침은 목록을 가져와 파싱하는 작업일 뿐입니다. 웹페이지 접속은 선택한 서버, DNS, 규칙에도 영향을 받으므로 이후 연결 문제를 구독 업데이트 실패로 처리하지 마세요.
On Demand를 켜면 구독이 주기적으로 업데이트되나요?
On Demand는 연결을 시작하는 조건을 처리하며, 구독을 일정한 주기로 새로고침하지 않습니다. 앱을 열 때 업데이트하려면 Settings → Subscribe → Update on Open을 확인하세요. 바로 업데이트하려면 Home으로 돌아가 수동으로 새로고침하세요.
계속 실패하면 어떤 정보를 보관해야 하나요?
오류 원문, 발생 시각, Wi-Fi 또는 셀룰러 네트워크 여부, Update via Proxy 스위치 상태, 기존 항목에 연결할 수 있는지를 기록하세요. 정보를 다른 사람과 공유하기 전에는 전체 URL, token, 계정, 비밀번호를 가리세요. 이 정도면 요청의 어느 단계에서 문제가 발생했는지 파악할 수 있으며 접근 인증 정보를 공개할 필요는 없습니다.
문제가 해결되면 검증된 업데이트 경로 하나만 유지하면 됩니다. 최초 가져오기와 권한 설정을 확인하려면 사용 가이드를, 구독과 구성의 관리 범위를 구분하려면 구독 매뉴얼을 참고하세요. 구독 새로고침은 앱 구매 상태를 변경하지 않습니다. 시스템 요구 사항과 기기 호환성은 App Store 페이지 표기를 기준으로 확인하세요.