· 입문 가이드 · 약 8분

Shadowrocket 구독 업데이트 방법: 수동 새로고침, 앱 실행 시 자동 업데이트와 실패 원인

Shadowrocket에서 구독을 수동으로 새로고침하거나 앱 실행 시 자동 업데이트를 설정하는 방법과, 업데이트 실패의 주요 원인 및 해결 방법을 안내합니다.

이 글 핵심 내용

서비스 제공업체에서 구독 URL을 받은 사용자를 위한 안내입니다. 먼저 Home에서 수동으로 새로고침하고 결과를 확인한 다음, 앱 실행 시 자동 업데이트를 설정하세요. 실패하면 네트워크, 주소, 응답 내용, 파싱 순서로 점검합니다. 구독 업데이트가 성공했다는 것은 목록을 가져와 처리했다는 뜻일 뿐, 목록의 모든 노드에 연결할 수 있다는 뜻은 아닙니다. Config의 라우팅 규칙도 자동으로 업데이트되지 않습니다.

구독 새로고침으로 업데이트되는 항목

Shadowrocket의 구독 업데이트는 클라이언트가 구독 URL에 요청을 보내고, 인식할 수 있는 노드 정보를 해당 구독 그룹에 반영하는 과정입니다. 앱 자체를 업데이트하거나 회선을 갱신하는 기능은 아닙니다. 이 글은 이미 서비스 제공업체와 구독을 이용 중인 경우를 전제로 합니다. 구독 URL과 노드는 서비스 제공업체에서 받으세요. 이 사이트는 노드나 구독을 제공·판매·추천하지 않습니다.

구독 주소 읽기 원격 콘텐츠 요청 노드 매개변수 파싱 구독 그룹 업데이트 연결 결과 확인

업데이트하면 노드 이름, 서버 주소, 포트 또는 인증 매개변수가 바뀌거나, 서비스 제공업체가 구독에서 삭제한 항목이 사라질 수 있습니다. 따라서 구독에 포함된 항목을 직접 수정해도 계속 유지된다고 기대하기 어렵습니다. 다음 업데이트에서 원격 콘텐츠가 수동 변경 사항을 덮어쓸 수 있습니다. 특수 매개변수를 보존해야 한다면 기존 값을 기록한 뒤 해당 항목이 여전히 구독 관리 대상인지 확인하세요.

업데이트 방식 2가지
수동 새로고침과 Update on Open
확인할 위치 3곳
Home에서 노드 관리, Config에서 구성 관리, Settings에서 설정 변경
443
HTTPS에서 포트를 지정하지 않을 때 사용하는 기본 포트이며, 노드 포트와는 다릅니다

구독 주소의 포트와 노드 연결 포트는 서로 다릅니다. 예를 들어 HTTPS 구독 요청은 기본 포트 443을 사용할 수 있지만, 응답에 포함된 노드는 다른 포트를 사용할 수 있습니다. 구독을 다운로드할 수 있다고 해서 노드 포트에 연결할 수 있는 것은 아니며, 노드에 연결된다고 해서 구독 서버에 현재 접근할 수 있다는 뜻도 아닙니다.

Home에서 구독 수동 새로고침

아래 절차는 iPhone / iPad의 영어 인터페이스를 기준으로 합니다. Home에 개별 노드 몇 개만 가져온 것이 아니라 구독 그룹이 있는지 먼저 확인하세요. 개별 노드만 있고 구독 URL이 없다면 서비스 제공업체에서 새 목록을 가져올 수 없습니다.

  1. 구독 확인

    Home을 열고 업데이트할 구독 그룹을 찾아 이름과 저장된 URL을 확인하세요. 구독 그룹이 여러 개라면 각각 구분해 이번에 업데이트한 구독의 결과를 잘못 판단하지 않도록 합니다.

  2. 구독 추가

    아직 추가하지 않았다면 Home 오른쪽 위의 «+» → Type → Subscribe로 이동합니다. 서비스 제공업체에서 받은 전체 구독 링크를 URL에 붙여넣고, 구분하기 쉬운 이름을 입력한 뒤 저장하세요.

  3. 아래로 당겨 새로고침

    Home으로 돌아가 목록 맨 위에서 아래로 당겨 구독을 새로고침합니다. 요청이 끝날 때까지 기다린 뒤 다음 작업을 하세요. 요청이 겹치거나 서버의 요청 빈도 제한에 걸리지 않도록 연속으로 새로고침하지 마세요.

  4. 목록 확인

    대상 그룹에 예상한 새 이름이나 매개변수가 표시되는지 확인하세요. 실패 메시지가 나오면 원문을 기록해 두세요. 목록이 전혀 달라지지 않았다면 먼저 서비스 제공업체에 원격 목록이 실제로 변경됐는지 확인하세요.

  5. 연결 확인

    업데이트한 노드를 선택해 연결을 다시 설정하고, 원래 접속하려던 사이트를 방문하세요. 필요하다면 먼저 연결을 끊었다가 다시 연결해 기존 연결 상태를 업데이트 결과로 착각하지 않도록 합니다.

구독 예시 https://example.com/sub?token=xxxx는 URL 구조를 설명하기 위한 것으로, 실제로 사용할 수 있는 구독이 아닙니다. 실제 링크를 복사할 때는 ? 뒤의 매개변수를 모두 포함하고 따옴표, 공백, 줄바꿈을 넣지 마세요. 링크의 token은 일반적으로 접근 인증 정보이므로 공개 스크린샷이나 채팅 기록, 온라인 검사 도구에 노출하지 마세요.

앱 실행 시 자동 업데이트 설정

앱을 열 때 최신 목록을 가져오려면 실행 시 자동 업데이트를 설정할 수 있습니다. 일반적인 영어 인터페이스의 설정 경로는 Settings → Subscribe → Update on Open입니다. 플랫폼에 따라 화면 구성이 다를 수 있으므로 현재 클라이언트의 구독 설정을 기준으로 확인하세요. Config의 규칙 편집 영역에서 이 옵션을 찾지 마세요.

Update on Open은 일정한 간격으로 실행되는 백그라운드 작업이 아니며 앱을 닫은 동안 구독을 계속 가져온다고 보장하지 않습니다. Settings → On Demand와는 기능이 다릅니다. On Demand는 연결 조건에 따라 VPN 연결을 시작하며, 구독을 정기적으로 다운로드하지 않습니다. 목록이 오래된 문제를 해결하려고 On Demand 설정을 반복해서 바꾸는 것은 대개 잘못된 설정을 조정하는 것입니다.

요점: 먼저 수동 새로고침 확인

수동 새로고침이 성공하지 않았다면 먼저 요청 실패 원인을 해결하세요. 자동 업데이트는 실행 시점만 바꿀 뿐, 잘못된 링크나 인증 오류, 접속할 수 없는 구독 서버를 해결하지 않습니다.

업데이트 실패: 오류 유형별 점검

업데이트 실패가 반드시 계정 만료를 뜻하지는 않습니다. 도메인 조회, TLS 검증, 네트워크 전환, 호환되지 않는 응답 내용 등 여러 원인이 있을 수 있습니다. 아래는 네트워크 요청 과정에서 표시될 수 있는 영어 오류 메시지입니다. 실제 메시지는 시스템과 플랫폼에 따라 다르므로 “업데이트가 안 됨”이라고만 기록하지 말고 화면에 표시된 문구를 그대로 남기세요.

오류: The request timed out.

원인: 제한 시간 안에 요청이 완료되지 않았습니다. 현재 네트워크, 접속 경로 또는 구독 서버의 응답 지연이 원인일 수 있습니다.

해결: 같은 기기에서 Wi-Fi와 셀룰러 네트워크를 각각 사용해 한 번씩 시도하고, 요청이 끝날 때까지 기다린 다음 새로고침하세요. 한 네트워크에서만 실패한다면 해당 네트워크의 접속 조건을 먼저 확인하세요.

오류: A server with the specified hostname could not be found.

원인: 구독 URL의 호스트 이름을 확인할 수 없습니다. 도메인 오타, 만료된 도메인 또는 DNS 조회 실패가 흔한 원인입니다.

해결: 전체 URL을 다시 확인하고 다른 네트워크에서도 테스트하세요. 같은 도메인을 계속 찾을 수 없다면 서비스 제공업체에 구독 도메인이 변경됐는지 문의하세요.

오류: The Internet connection appears to be offline.

원인: 시스템에서 현재 인터넷에 연결할 수 없다고 판단했거나 요청 중 네트워크가 전환됐습니다.

해결: 먼저 Wi-Fi 로그인을 완료하고 일반 웹페이지에 접속할 수 있는지 확인한 다음 Home으로 돌아가 새로고침하세요. 시스템 설정에서 Shadowrocket의 셀룰러 데이터 사용이 허용되어 있는지도 확인하세요.

HTTP 상태 코드가 표시되면 응답 의미에 따라 처리하세요. 401은 인증 문제와 관련이 있는 경우가 많습니다. 403은 서버가 요청을 거부했다는 뜻이며 인증 정보나 접근 제한이 원인일 수 있습니다. 404는 요청한 경로를 찾지 못했다는 뜻입니다. 429는 요청이 너무 많다는 의미입니다. 5xx는 보통 서버 측 점검이 필요합니다. 이 상태 코드를 모두 노드 연결 불가로 해석하지 마세요.

오류는 없지만 노드가 바뀌지 않음

오류 메시지가 표시되지 않았다고 해서 유효한 노드 정보를 받았다는 뜻은 아닙니다. 일부 주소는 로그인 페이지, 만료 안내 또는 네트워크 인증 페이지를 반환하며 HTTP 상태 코드는 200일 수도 있습니다. 클라이언트에는 인식 가능한 구독 콘텐츠가 필요합니다. 페이지 제목에 “구독”이라고 적힌 일반 웹페이지로는 충분하지 않습니다. 브라우저에서 링크가 열린다는 사실은 요청에 접근할 수 있음을 확인하는 데 도움이 될 뿐, 앱이 해당 내용을 파싱할 수 있다는 증거는 아닙니다.

Shadowsocks, VMess, VLESS, Trojan, Hysteria2, WireGuard는 매개변수가 서로 다릅니다. 구독에 이 중 일부 프로토콜이 포함될 수 있지만 프로토콜 이름이 같다고 매개변수가 모두 갖춰진 것은 아닙니다. 파싱에 성공했는데도 연결되지 않는다면 구독 목록에 노드가 표시되는지만 보지 말고 서버 주소, 포트, 인증 정보, TLS 사용 시 서버 이름 등의 매개변수를 점검하세요.

요점: 목록 업데이트와 연결을 따로 확인

먼저 대상 그룹에 예상한 콘텐츠가 반영됐는지 확인한 다음 선택한 노드로 실제 연결을 테스트하세요. 목록은 정상인데 연결이 실패한다면 연결 문제를 점검하면 됩니다. 같은 구독을 계속 다시 가져올 필요는 없습니다.

업데이트 후 규칙과 접속 경로 확인

구독 업데이트와 규칙 설정은 별도로 점검해야 합니다. Home의 노드가 바뀌어도 Config의 DOMAIN-SUFFIX, GEOIP, IP-CIDR, FINAL 규칙까지 함께 업데이트되는 것은 아닙니다. 서비스 제공업체가 구성 파일을 명시적으로 제공하고 해당 방식으로 가져온 경우에만 구성 내용을 따로 확인하세요.

Global Routing의 Proxy, Direct, Config, Scene도 구독 새로고침 방식이 아닙니다. Proxy와 Direct는 서로 다른 트래픽 처리 방식을 사용하고, Config는 선택한 구성에 따라 처리하며, Scene은 장면 설정과 관련됩니다. 문제를 확인할 때 현재 선택 항목을 기록하세요. 노드 업데이트가 성공했다고 해서 모든 요청이 해당 노드를 경유한다고 단정할 수는 없습니다.

  1. 새로고침 전후의 네트워크, 연결 상태, Global Routing 선택 항목을 기록하고 한 번에 조건 하나만 변경하세요.
  2. 현재 네트워크에서 구독 서버에 접속할 수 없지만 기존 연결로는 접속할 수 있다면 기존 연결을 사용해 다시 테스트할 수 있습니다. 모든 구독이 업데이트 전에 먼저 연결해야 한다고 가정하지 마세요.
  3. 연결을 켠 뒤에만 실패한다면 선택한 노드와 구성을 기록하고 접속 경로에 문제가 있는지 확인하세요. 구독을 새로고침하려고 모든 트래픽의 처리 방식을 장시간 바꾸지 마세요.
  4. 업데이트 후 노드 이름이 바뀌었다면 구성에서 해당 노드를 참조하는 정책과 현재 선택 항목이 예상대로인지 확인한 다음 실제로 접속하려는 사이트를 테스트하세요.

문제를 더 확인하려면 문제 해결 가이드를 참고하세요. Global Routing과 규칙의 관계는 프록시 모드 안내에서 확인할 수 있습니다. 문의할 때는 오류 원문, 발생 시간, 네트워크 유형, 연결 사용 여부, 수동 새로고침과 자동 업데이트 결과를 제공하세요. 전체 구독 URL, token, 노드 인증 정보는 가리고 기존에 작동하는 구성은 보존하세요. 모든 내용을 먼저 삭제하는 것보다 문제를 찾는 데 도움이 됩니다.

Shadowrocket 공식 다운로드