기존 구독은 그대로 둔 채 링크, 접속, 응답 내용, 계정 상태, 업데이트 시점 순서로 확인하세요. 처음부터 모든 노드를 삭제하지 마세요. 이 안내는 이미 이용 중인 서비스와 구독이 있는 Shadowrocket 사용자를 위한 내용입니다. iPhone / iPad의 Home을 기준으로 설명하며, Mac, Windows, Android, Linux에서도 같은 순서로 점검할 수 있습니다. 구체적인 메뉴 위치는 각 플랫폼의 현재 화면을 확인하세요.
1. 파싱 오류, 빈 목록, 연결 오류 구분하기
Shadowrocket 구독을 업데이트하려면 먼저 서버에서 내용을 가져온 다음, 그 안에서 노드 정보를 읽습니다. 요청 시간 초과, 로그인 페이지 반환, 빈 응답, 노드 정보를 인식하지 못하는 문제는 각각 발생 단계가 다릅니다. ‘업데이트 실패’라는 메시지만으로 원인을 단정할 수 없으며, 기존 노드의 사용 가능 여부도 판단할 수 없습니다.
| 확인된 증상 | 우선 확인할 항목 | 지금은 하지 말아야 할 작업 |
|---|---|---|
| 업데이트 시간 초과, 기존 노드는 남아 있음 | 현재 네트워크에서 구독 주소에 접속할 수 있는지 | 계속 사용할 수 있는 기존 구독 삭제 |
| 응답을 받은 뒤 파싱 실패 메시지가 표시됨 | 응답이 구독 데이터인지 웹페이지나 오류 페이지인지 | UUID, 비밀번호 또는 프로토콜 종류를 임의로 변경 |
| 구독 그룹은 있지만 노드가 표시되지 않음 | 서비스 측 노드 할당, 응답 내용, 목록 필터 | 빈 목록을 곧바로 로컬 설정 손상으로 판단 |
| 노드는 표시되지만 연결되지 않음 | 노드 매개변수, 네트워크, 연결 테스트 결과 | 연결 문제 진단 대신 같은 구독을 반복해서 가져오기 |
먼저 Home에서 대상 구독 그룹을 보고 있는지 확인하고, 검색어를 지운 다음 접힌 그룹을 펼치세요. 노드 이름이 보인다면 노드 데이터는 존재하는 것이므로 ‘빈 목록’ 문제로 계속 취급하지 마세요. Config의 규칙 설정과 Home의 노드 구독은 용도가 다릅니다. 규칙 설정 파일을 추가해도 노드 구독을 가져온 것이 되지는 않습니다.
2. 구독 링크 확인: 다시 가져오기보다 주소 전체 확인이 중요
이용 중인 서비스의 계정 페이지에서 Shadowrocket용 구독 주소를 다시 복사해 저장된 주소와 하나씩 비교하세요. 브라우저 주소창에 표시된 계정 홈페이지를 복사하거나 웹페이지의 설명 문구, 버튼 이름, 로그인 후 이동 주소를 구독 주소로 사용하지 마세요. 아래는 주소 구조의 예시일 뿐 실제로 가져올 수 없습니다.
https://example.com/sub?token=xxxx
- 시작 부분을 확인하세요.
https://와 같은 프로토콜 부분이 온전한지, 콜론이나 슬래시가 빠지지 않았는지 확인하세요. 링크 앞뒤에 따옴표, 괄호, 설명 문구가 붙어 있으면 안 됩니다. - 끝부분을 확인하세요.
?뒤의 쿼리 매개변수가 빠짐없이 포함됐는지 확인하세요. 메시지 미리보기의 말줄임표는 주소의 일부가 아닙니다. 미리보기 카드에서 복사하면 token이 누락될 수 있습니다. - 매개변수는 그대로 두세요.
&는 쿼리 매개변수를 구분하며,%2F등은 인코딩된 문자열입니다. 임의로 디코딩하거나 순서를 바꾸거나 불필요해 보이는 문자를 삭제하지 마세요. - 복사한 위치를 확인하세요. 계정 페이지의 복사 기능을 이용하는 것이 좋습니다. 붙여넣은 뒤 줄바꿈이 생겼다면 다시 복사해 확인하세요. 화면에서 자동으로 줄이 바뀐 것과 실제 줄바꿈을 혼동하지 마세요.
- 링크의 용도를 확인하세요. 단일 노드 공유 정보, 규칙 설정 링크, 구독 주소는 서로 다른 입력 항목입니다. 서비스에서 안내한 용도에 맞게 가져오세요. 파일 확장자만으로 용도를 판단하지 마세요.
서비스에서 구독 자격 정보를 재설정했다면 주소 형식이 올바르더라도 기존 주소가 작동하지 않을 수 있습니다. 구독 표시 이름만 바꾸지 말고 로컬에 저장된 구독 주소를 업데이트하세요. 문제 해결을 위해 token을 반복해서 재설정하지 마세요. 같은 주소를 사용하는 다른 기기에도 영향을 줄 수 있습니다.
3. 응답 결과로 접속 문제와 콘텐츠 문제 구분하기
‘브라우저에서 열린다’는 것은 브라우저가 어떤 응답을 받았다는 뜻일 뿐, Shadowrocket이 그 응답을 파싱할 수 있다는 뜻은 아닙니다. 브라우저에는 로그인된 Cookie가 있을 수 있지만 구독 요청은 브라우저의 로그인 상태에 의존할 수 없습니다. 로그인 페이지, CAPTCHA 페이지, 점검 안내가 정상적으로 표시되더라도 노드 데이터는 아닙니다.
아래는 응답이나 진단 정보에 나타날 수 있는 표준 HTTP 상태입니다. 모든 플랫폼에서 같은 문구로 표시된다는 뜻은 아닙니다. 실제로 해당 상태를 확인한 경우에만 그 항목에 따라 조치하세요. ‘목록이 비어 있음’만 보고 서버가 특정 상태 코드를 반환했다고 추측하지 마세요.
HTTP 401 Unauthorized
원인 및 해결 방법: 유효한 인증 정보가 없는 요청입니다. token이 만료됐을 수 있으므로 계정 페이지에서 구독 주소를 다시 확인하고 서비스에 인증 정보 상태를 문의하세요.
HTTP 403 Forbidden
원인 및 해결 방법: 서버가 접속을 거부했습니다. 접속 정책이나 계정 권한과 관련됐을 수 있습니다. 발생 시각과 사용한 네트워크를 기록해 서비스에 확인하세요. 노드 비밀번호를 변경해 해결하려 하지 마세요.
HTTP 404 Not Found
원인 및 해결 방법: 대상 경로가 없거나 해당 리소스가 제공되지 않습니다. 현재 계정 페이지에 표시된 주소를 다시 복사하고 경로가 잘렸거나 이전되지 않았는지 확인하세요.
HTTP 429 Too Many Requests
원인 및 해결 방법: 요청 빈도가 제한됐습니다. 연속으로 새로고침하지 말고 서비스 안내나 응답의 Retry-After에 따라 기다린 뒤 한 번만 업데이트하세요.
HTTP 200이라고 해서 파싱에 성공한 것은 아닙니다. HTML 오류 안내나 빈 본문이 반환됐을 수도 있습니다. 응답을 직접 확인할 수 있다면 서비스에서 제공하는 클라이언트용 구독 데이터인지 확인하세요. HTML 페이지 전체를 Add Server에 붙여넣지 마세요. 인코딩된 텍스트가 보이더라도 원래 구독을 임의로 디코딩한 내용으로 덮어쓰지 말고 먼저 내보내기 형식을 확인하세요.
정리: 무엇이 반환됐는지 먼저 확인한 뒤 클라이언트를 조정하세요
같은 주소에서 로그인 페이지, 점검 페이지 또는 빈 내용이 반환된다면 다음 단계는 서비스에 구독 인터페이스를 확인하는 것입니다. 이때 Global Routing을 바꾸거나 Config 규칙을 수정해도 웹페이지가 노드 데이터로 바뀌지는 않습니다.
4. 서비스 측 확인: 만료, 할당량, 노드 할당
계정에 로그인할 수 있는지와 구독을 사용할 수 있는지는 별개의 조건입니다. 서비스 이용 기간, 트래픽 할당량, 계정 상태, 노드 할당 등이 구독 내용에 영향을 줄 수 있습니다. 서비스마다 처리 방식이 다릅니다. 빈 목록이나 안내 문구를 반환할 수도 있고, 요청을 바로 거부할 수도 있으므로 메시지 하나만으로 계정 만료를 단정하지 마세요.
- 이용 기간: 계정 등록 상태만 보지 말고 서비스 이용 권한이 아직 유효한지 확인하세요. 방금 갱신했다면 계정 페이지에 적용된 것으로 표시되는지도 확인하세요.
- 할당량: 현재 주기에 사용할 수 있는 트래픽이 남아 있는지, 초기화를 기다리는 상태인지 확인하세요. 복구 시점은 이용 중인 서비스의 안내를 따르세요.
- 할당 상태: 현재 계정에 노드가 실제로 할당됐는지, 노드를 모두 제외하는 내보내기 필터가 켜져 있지 않은지 확인하세요.
- 내보내기 형식: 계정 페이지에 클라이언트 형식 선택 항목이 있다면 Shadowrocket용이라고 안내된 형식을 사용하세요. 다른 용도의 설정 파일을 이름만 바꿔 가져오지 마세요.
- 점검 상태: 계정 페이지에 점검 안내가 있는지 확인하세요. 인터페이스의 일시적인 장애 때문에 Shadowrocket을 다시 설치할 필요는 없습니다.
Shadowsocks, VMess, VLESS, Trojan, Hysteria2, WireGuard는 서로 다른 프로토콜이므로 구독 매개변수가 해당 프로토콜과 일치해야 합니다. 파싱에 실패했다고 해서 ‘일단 표시되게’ 하려고 프로토콜 종류를 다른 것으로 강제 변경하지 마세요. 포트, TLS, 인증 항목을 추측해 직접 수정하기보다 서비스에 내보내기 내용과 클라이언트의 호환성을 확인하는 편이 안전합니다.
5. 업데이트 시점과 네트워크: 한 번에 조건 하나만 변경
이용 기간 갱신, 링크 재설정, 노드 할당 변경 후에는 서버 측 동기화가 아직 끝나지 않았을 수 있습니다. 모든 서비스에 공통으로 적용되는 대기 시간은 없으므로 계정 페이지의 상태와 서비스 안내를 따르세요. 연속으로 새로고침해도 동기화가 빨라지지 않으며 요청 제한이 걸려 기존 문제와 새로 발생한 제한 문제가 섞일 수 있습니다.
- 현재 상태를 기록하세요. 업데이트 시각, 오류 전문, 노드가 남아 있는지, 당시 Wi-Fi와 모바일 네트워크 중 무엇을 사용했는지 적어 두세요. 사용할 수 있는 내용부터 지우지 마세요.
- 네트워크 접속을 완료하세요. Wi-Fi에서 웹페이지 인증이 필요하다면 인증을 마친 뒤 Home으로 돌아가 구독을 업데이트하세요. 인증 페이지 때문에 구독 요청에 예상치 못한 내용이 반환될 수 있습니다.
- 한 번 수동으로 업데이트하세요. Home에서 대상 구독을 업데이트하세요. 아래로 당겨 새로고침해 확인할 수도 있습니다. 대상 그룹이 갱신됐는지 살펴보고 연결 스위치만 확인하지 마세요.
- 네트워크를 바꿔 다시 시도하세요. 가능한 경우 Wi-Fi에서 모바일 네트워크로 바꾸거나 그 반대로 바꾸세요. 네트워크 관련 문제인지 확인할 수 있도록 구독 주소는 그대로 유지하세요.
- 결과에 따라 대응하세요. 특정 네트워크에서만 실패하면 우선 해당 네트워크의 접속 조건을 확인하세요. 네트워크를 바꿔도 같은 권한 오류나 콘텐츠 오류가 반환되면 이용 중인 서비스에 문의하세요.
‘연결을 먼저 켜야 업데이트할 수 있다’를 모든 상황에 적용되는 절차로 여기지 마세요. 구독 요청의 접속 가능 여부는 네트워크와 관련 설정에 따라 달라집니다. 현재 노드를 사용할 수 없다면 그 노드로 구독에 접속하려다 문제가 반복될 수 있습니다. Global Routing의 Config, Proxy, Direct, Scene은 라우팅 모드이지 구독 형식을 수정하는 옵션이 아닙니다. 라우팅 조건을 시험할 때는 설정을 한 번에 하나씩만 바꾸고, 원래 값을 기록한 뒤 테스트 후 복원하세요.
Settings → On Demand는 조건에 따라 연결을 제어할 뿐 구독 내용을 만들지는 않습니다. 빈 목록 문제를 해결하려고 On Demand를 반복해서 전환하면 확인할 변수가 늘어납니다. 기존 설정을 유지하고 먼저 링크와 응답을 확인하세요. 자동 업데이트로 만료된 token을 복구할 수도 없습니다. 수동 업데이트가 성공한 것을 확인한 뒤 이후 자동 업데이트 결과를 살펴보세요.
6. 자주 묻는 질문과 문의 시 준비할 내용
브라우저에서 구독이 열리는데도 파싱에 실패하는 이유는 무엇인가요?
화면에 구독 데이터가 표시되는지, 로그인 페이지나 안내 페이지가 표시되는지 먼저 확인하세요. 브라우저의 로그인 상태 때문에 인터페이스 권한 문제가 드러나지 않을 수 있습니다. 계정 페이지에서 클라이언트용 구독 주소를 다시 복사한 뒤 Home에서 한 번 업데이트하세요.
방금 갱신했는데 노드 목록이 비어 있는 이유는 무엇인가요?
먼저 계정 페이지에서 이용 권한이 적용됐고 노드가 할당됐는지 확인한 다음 서비스 안내에 따라 동기화를 기다리세요. 기다리는 동안 같은 구독을 여러 개 추가하지 마세요. 나중에 어느 그룹이 업데이트됐는지 확인하기 어려워집니다.
다른 기기에는 노드가 있는데 이 기기에는 없습니다. 다시 설치해야 하나요?
먼저 두 기기의 구독 주소, 업데이트 시각, 검색 필터를 비교하세요. 다른 기기에 표시된 노드가 오래된 캐시일 수 있으므로 현재 인터페이스가 정상이라는 근거가 되지 않습니다. 두 기기에서 각각 업데이트하고 결과를 기록한 뒤 기기별 차이를 확인하세요.
다시 가져오기 전에 기존 구독을 삭제해야 하나요?
기존 구독과 아직 사용할 수 있는 노드는 그대로 두세요. 새 주소를 시험해야 한다면 구분하기 쉬운 이름을 사용해 업데이트 결과를 확인하세요. 새 구독이 정상이고 로컬에서 유지할 변경 사항도 없는지 확인한 뒤 중복 항목을 정리하세요.
문제를 찾지 못했다면 인증 정보가 포함되지 않은 기록을 이용 중인 서비스에 보내세요. ‘작동하지 않는다’는 말보다 재현에 도움이 되는 정보가 문제 해결에 효과적이며 추가 확인도 줄일 수 있습니다. 전체 구독 QR 코드나 개인 계정을 식별할 수 있는 스크린샷은 첨부하지 마세요.
- 기기와 운영체제 종류, 문제가 Wi-Fi, 모바일 네트워크 중 어디에서 발생하는지 또는 양쪽 모두에서 발생하는지.
- 문제가 발생한 시각과 시간대, 마지막으로 업데이트에 성공한 대략적인 시각.
- 오류 원문 또는 실제 HTTP 상태, 웹페이지나 빈 응답을 받았는지 여부.
- 계정 이용 권한이 적용됐는지, token이나 내보내기 형식을 변경했는지.
- 수행한 작업과 각각의 결과. 예: ‘같은 주소에서 네트워크를 바꿔도 403이 반환됨’.