이용 중인 서비스 제공자와 구독이 있다면 먼저 Home에서 수동 업데이트를 실행해 결과를 확인한 뒤, 앱 실행 시 자동 업데이트를 켤지 결정하세요. 이 글에서는 iPhone / iPad용 Shadowrocket을 예로 들어 요청 실패, 구독 데이터 파싱 실패, 업데이트 후 연결 실패를 구분하는 방법을 설명합니다. Mac, Windows, Android, Linux에서도 같은 방식으로 문제를 확인할 수 있으며, 메뉴 위치는 각 플랫폼의 실제 화면을 기준으로 확인하세요.
1. 구독 업데이트로 바뀌는 내용과 바뀌지 않는 내용
구독 업데이트는 기존 구독 URL에 다시 요청을 보내고, 응답에 포함된 서버 항목을 해당 그룹으로 가져오는 작업입니다. 서비스 제공자가 주소, 포트 또는 항목 목록을 변경하면 클라이언트에서 다시 가져와야 변경 사항이 반영됩니다. 업데이트에 성공했다고 모든 항목에 연결할 수 있는 것은 아니며, 서비스 제공자 계정이 갱신되었다는 뜻도 아닙니다.
Home의 서버 구독과 Config의 규칙 설정은 서로 다른 항목입니다. 서버 구독을 업데이트한다고 해서 Config 파일의 DOMAIN-SUFFIX, GEOIP, IP-CIDR 또는 FINAL 규칙까지 함께 업데이트되는 것은 아닙니다. 문제를 확인할 때는 먼저 어느 단계에서 발생했는지 파악하세요. 항목 목록을 새로고침하려고 규칙 설정을 반복해서 바꾸지 마세요.
2. Home에서 구독 수동 업데이트하기
처음 가져온 뒤, 서비스 제공자가 항목 변경을 알린 뒤, 또는 목록이 오랫동안 그대로인 것처럼 보일 때 수동 업데이트를 실행해 보세요. 작업 전에 대상 구독 그룹의 이름을 확인하세요. 구독이 여러 개라면 업데이트 후 같은 그룹을 살펴봐야 합니다. Home 상단에서 현재 선택된 서버 이름만 확인해서는 안 됩니다.
- Home을 엽니다. 페이지에 구독 그룹이 있는지 확인하세요. 서버를 직접 추가한 것만으로는 구독이 되지 않습니다. 구독 URL이 없으면 새로고침해도 원격 목록이 만들어지지 않습니다.
- 화면을 아래로 당겼다가 놓습니다. 구독 새로고침이 시작되면 요청이 끝날 때까지 기다리세요. 기다리는 동안 연달아 새로고침하지 마세요. 여러 요청의 결과가 섞여 판단하기 어려워질 수 있습니다.
- 대상 그룹을 확인합니다. 항목이 남아 있는지, 이름이 바뀌었는지 확인하고 오류 메시지가 표시되는지도 살펴보세요. 구독마다 성공 여부가 다를 수 있으므로 한 그룹이 바뀌었다고 모든 그룹이 업데이트된 것은 아닙니다.
- 유효한 항목을 선택한 뒤 연결을 테스트합니다. 기존에 선택한 항목이 삭제되었다면 업데이트된 목록에서 다시 선택하세요. 먼저 구독을 가져온 결과를 확인하고 실제 접속 여부를 점검하세요. 두 단계는 따로 확인해야 합니다.
목록의 항목 수가 그대로라는 사실만으로 업데이트 실패라고 판단할 수는 없습니다. 원격 목록에서 주소나 포트만 바뀌었을 수도 있고, 실제로 새 콘텐츠가 게시되지 않았을 수도 있습니다. 반대로 항목 수가 늘어났더라도 목록이 달라졌다는 뜻일 뿐, 연결 테스트를 대신하지는 않습니다. 새로고침을 확인하려고 구독을 모두 삭제하지 마세요. 문제를 파악하는 데 필요한 기존 그룹과 주소 정보까지 사라질 수 있습니다.
3. 앱 실행 시 자동 업데이트와 작동 범위
iPhone / iPad에서는 Settings → Subscribe에서 Update On Open을 찾아 켤 수 있습니다. 앱을 열 때 구독 업데이트를 실행하는 옵션으로, Home에 들어왔을 때 최신 목록을 가져오려는 경우에 유용합니다. 화면의 문구가 다르면 실제로 ‘앱을 열 때 구독 업데이트’를 뜻하는지 확인하고 다른 기능을 잘못 켜지 않도록 하세요.
- 먼저 Home으로 돌아가 수동 업데이트를 한 번 실행해 URL이 정상적으로 작동하는지 확인하세요.
- Settings → Subscribe → Update On Open으로 이동해 옵션을 켭니다.
- 다음에 앱을 다시 열면 구독 요청이 끝날 때까지 기다린 뒤 그룹 내용을 확인하세요. 목록이 바로 바뀌는지만으로 업데이트 여부를 판단하지 마세요.
- 앱을 열 때마다 같은 오류가 표시되면 아래 안내에 따라 네트워크나 URL 문제를 먼저 해결하세요. 문제를 확인하는 대신 옵션을 반복해서 켰다 끄지 마세요.
앱 실행 시 자동 업데이트는 일정 간격으로 백그라운드에서 계속 확인하는 기능이 아니며, 서비스 제공자가 콘텐츠를 게시하는 즉시 알림을 보내는 기능도 아닙니다. 앱이 백그라운드에 있거나 기기가 잠겨 있거나 시스템이 백그라운드 활동을 제한하면 구독이 새로고침되었다고 볼 수 없습니다. 최신 내용을 확인하려면 Home으로 돌아가 수동으로 새로고침하세요.
| 설정 또는 작업 | 작동 내용 | 이 기능만으로는 확인할 수 없는 내용 |
|---|---|---|
| Home에서 아래로 당겨 새로고침 | 구독 콘텐츠를 직접 요청 | 모든 서버의 연결 테스트 통과 여부 |
| Update On Open | 앱을 열 때 구독 업데이트 실행 | 화면이 잠긴 동안 일정한 주기로 업데이트 |
| Settings → On Demand | 설정된 조건에 따라 VPN 연결 실행 | 구독 목록 자동 가져오기 또는 복구 |
정리: 수동 새로고침을 확인한 뒤 자동 업데이트 켜기
수동 새로고침도 실패하면 같은 URL에 요청을 보내는 경로부터 점검하세요. 자동 업데이트는 실행 시점만 바꿀 뿐, 만료된 token이나 잘못된 응답, 서비스 제공자 계정 상태를 해결하지 않습니다.
4. 업데이트 실패 시 네트워크, URL, 서비스 제공자 순서로 확인
‘유효한 응답을 받지 못한 경우’와 ‘콘텐츠를 받았지만 파싱할 수 없는 경우’를 먼저 구분하세요. 전자는 네트워크, 도메인 이름 확인, 요청 경로를 점검해야 하는 경우가 많습니다. 후자는 URL이 올바른지, 원격 서버가 구독 콘텐츠 대신 로그인 페이지나 오류 페이지를 반환했는지 확인하세요. ‘실패’라는 문구만 보고 프로토콜을 바꾸면 원인을 해결하지 못할 수 있습니다.
- 네트워크 연결을 확인합니다. Wi-Fi 또는 셀룰러 네트워크가 인터넷에 연결되어 있는지 확인하세요. 웹 로그인 인증이 필요한 네트워크라면 먼저 인증을 완료하세요. 다른 네트워크로 바꿔 새로고침을 한 번 시도하고, 매번 한 가지 조건만 바꾸세요.
- 업데이트 요청 경로를 확인합니다. 현재 직접 연결한 네트워크에서 구독 도메인에 접근할 수 없지만, 기존 서버에 정상적으로 연결할 수 있다면 Settings → Subscribe에서 Update via Proxy를 확인하세요. 옵션을 켠 뒤 연결 가능한 서버에 연결해 다시 시도할 수 있습니다. 사용할 수 있는 연결이 없다면 이 옵션을 켜도 최초 가져오기 문제는 해결되지 않습니다.
- 전체 URL을 확인합니다. 이용 중인 서비스 제공자의 계정 페이지에서 구독 주소를 다시 복사하고 프로토콜, 도메인, 경로, 쿼리 매개변수가 맞는지 확인하세요. 계정 로그인 페이지 주소나 웹페이지 제목, 설명 문구까지 함께 붙여 넣지 마세요.
- 서비스 제공자 측 상태를 확인합니다. 계정에서 이용 기간, 사용량, 구독 초기화 여부, 점검 공지를 확인하세요. token이 재설정되면 기존 URL이 더 이상 유효하지 않을 수 있으므로 서비스 제공자의 안내에 따라 교체해야 합니다.
https://example.com/sub?token=xxxx
위 내용은 구조를 보여 주는 예시일 뿐, 실제로 사용할 수 있는 구독이 아닙니다. ? 뒤의 매개변수도 URL의 일부이므로 복잡해 보인다는 이유로 삭제하지 마세요. 매개변수를 임의로 추가하거나 포트를 수정해서도 안 됩니다. 구독 URL에는 접속 정보가 포함되는 경우가 많습니다. 스크린샷이나 문제 기록을 공유하기 전에 전체 token을 가리고 원래 URL을 공개하지 마세요.
오류: The request timed out.
원인 및 해결 방법: 제한 시간 안에 요청이 완료되지 않았습니다. 네트워크나 원격 서버 응답이 원인일 수 있습니다. 인터넷 연결이 확인된 다른 네트워크에서 다시 시도한 뒤, 기존에 사용할 수 있는 연결을 통해 업데이트해야 하는지 확인하세요. 짧은 간격으로 계속 새로고침하지 마세요.
오류: A server with the specified hostname could not be found.
원인 및 해결 방법: 요청에 사용된 호스트 이름을 확인할 수 없습니다. 구독 도메인을 잘못 입력하지 않았는지 확인하고 네트워크를 바꿔 다시 시도하세요. 그래도 실패하면 도메인이 변경되었는지 이용 중인 서비스 제공자에게 문의하세요.
오류: Failed to load subscription
원인 및 해결 방법: 구독을 불러오지 못했습니다. 이 메시지만으로는 정확한 원인을 알 수 없습니다. URL 전체와 계정 유효성을 확인한 뒤 로그인 페이지나 오류 페이지가 반환되었는지 살펴보고, 함께 표시된 자세한 메시지도 기록하세요.
위 영어 문구는 오류 유형을 파악하는 데 참고할 수 있는 예시입니다. 실제 메시지는 시스템과 실패 단계에 따라 다를 수 있습니다. HTTP 401 또는 403이 표시되면 권한, token, 접근 제한을 우선 확인하세요. 429가 표시되면 반복 요청을 중단하고 원격 서버의 안내에 따라 기다리세요. 이 상태 코드만으로 계정이 만료되었다고 단정할 수는 없습니다.
5. 업데이트에 성공했지만 목록이 비어 있거나 연결할 수 없는 경우
구독 요청 성공은 가져오기 단계가 끝났다는 뜻일 뿐입니다. 원격 서버에서 빈 목록, 형식이 맞지 않는 텍스트, 또는 정상 상태 코드가 표시되는 웹페이지를 반환할 수도 있습니다. 항목이 비어 있다면 서비스 제공자가 제공한 URL이 Shadowrocket용 구독 주소인지 확인하세요. 웹페이지가 열린다는 이유만으로 형식이 올바르다고 판단하지 마세요.
- 특정 그룹만 비어 있는 경우: 먼저 해당 그룹의 URL과 연결된 계정 상태를 확인하세요. 정상인 다른 그룹까지 삭제할 필요는 없습니다.
- 항목은 있지만 연결할 수 없는 경우: 업데이트 후에도 유효한 항목이 선택되어 있는지 확인한 다음 기기의 네트워크와 서비스 제공자 측 사용 가능 여부를 점검하세요.
- 일부 웹사이트의 연결 경로가 예상과 다른 경우: Home → Global Routing을 확인하세요. Config은 설정된 규칙에 따라 연결을 분기하고, Proxy와 Direct는 각각 프록시 연결과 직접 연결을 사용합니다. Scene은 시나리오 관련 설정이며 구독 새로고침 버튼이 아닙니다.
- 새로고침으로 규칙도 고쳐질 것으로 생각한 경우: Config에서 현재 활성화된 설정을 따로 확인하세요. 서버 목록과 규칙 파일은 별도로 관리되므로 한쪽을 업데이트해도 다른 쪽까지 업데이트되는 것은 아닙니다.
프로토콜 이름만으로 장애 원인을 찾을 수는 없습니다. 구독에 포함된 Shadowsocks, VMess, VLESS, Trojan, Hysteria2 또는 WireGuard 항목은 서비스 제공자가 안내한 매개변수와 일치해야 합니다. 업데이트를 성공시키려고 프로토콜, TLS 또는 전송 옵션을 임의로 바꾸지 마세요. 구독 가져오기에 실패하는 문제는 목록을 불러오는 단계에서 발생하며, 특정 항목 연결 실패와는 확인해야 할 단계가 다릅니다.
6. 구독 업데이트 관련 자주 묻는 질문과 문제 기록
앱을 열 때마다 업데이트에 실패합니다. 자동 업데이트를 꺼야 하나요?
반복되는 오류 알림을 줄이려면 우선 Settings → Subscribe → Update On Open을 끄고 Home에서 수동 새로고침을 실행해 오류를 기록하세요. URL과 네트워크가 정상으로 돌아온 뒤 옵션을 다시 켜면 됩니다. 이 옵션을 끄는 것은 업데이트 실행을 잠시 멈추는 것일 뿐, 구독 문제를 해결하지는 않습니다.
새로고침 후에도 이름과 항목 수가 그대로입니다. 업데이트되지 않은 건가요?
그렇다고 단정할 수는 없습니다. 서비스 제공자가 목록을 변경하지 않았거나 항목 내부의 매개변수만 바꿨을 수 있습니다. 새로고침 중 오류가 표시되었는지 확인하고, 이용 중인 서비스 제공자가 실제로 변경 사항을 게시했는지 살펴보세요. 확인을 위해 항목을 반복해서 삭제하고 다시 추가하지 마세요.
구독을 업데이트하려면 반드시 프록시에 연결해야 하나요?
아닙니다. 현재 네트워크에서 구독 도메인에 접근할 수 있는지에 따라 달라집니다. 먼저 일반 새로고침을 시도하세요. 직접 연결로 가져오지 못하고 이미 사용할 수 있는 연결이 있을 때만 Update via Proxy를 확인하세요. 이 옵션이 모든 구독에 필수인 것은 아닙니다.
서비스 제공자가 새 URL을 안내했습니다. 기존 그룹은 어떻게 처리하나요?
먼저 기존 그룹 이름과 필요한 기록을 저장한 뒤, 서비스 제공자가 안내한 정보에 따라 해당 구독 URL을 변경하세요. 수동 업데이트를 한 번 실행해 목록과 연결이 정상인지 확인한 다음 중복 그룹을 정리하세요. 기존 URL과 새 URL의 접속 정보를 공개해 비교하지 마세요.
원인을 찾지 못했다면 필요한 정보만 간단히 정리하세요. 발생 시간, Wi-Fi 또는 셀룰러 네트워크 사용 여부, 구체적인 오류 메시지, 수동 업데이트 실패 여부, Update via Proxy 설정 상태, 다른 그룹의 정상 작동 여부를 기록합니다. 이용 중인 서비스 제공자에게 계정과 구독 응답을 문의할 때 이런 정보를 제공하면 ‘업데이트가 안 된다’고만 설명하는 것보다 문제 범위를 좁히기 쉽습니다. 기록에 전체 구독 접속 정보를 포함하지 마세요.