Shadowrocket 연결 시간 초과 해결: 지연 시간 테스트·프로토콜 설정·시스템 시간 점검 순서

연결에 실패하면 먼저 지연 시간을 테스트하고, 포트·암호화·전송 설정을 확인한 뒤 기기 시간을 점검하세요. Shadowrocket 테스트 결과별 점검 순서를 안내합니다.

이 글 요약

이 글은 Shadowrocket에 직접 보유한 서버나 구독을 가져왔지만 지연 시간 테스트 시간 초과, 연결 후 접속 불가 또는 구독 업데이트 실패를 겪는 사용자를 위한 안내입니다. 먼저 문제 범위를 확인한 뒤 서버 주소, 포트, 인증 및 전송 설정을 점검하고, Global Routing, On Demand, 구독 상태와 시스템 시간의 영향을 차례로 배제한 다음 Connectivity Test로 다시 확인합니다.

먼저 지연 시간 테스트로 문제 범위 나누기

지연 시간 테스트는 Shadowrocket이 제한 시간 안에 대상 탐색을 완료할 수 있는지 확인하는 기능이며, 대역폭 측정이 아닙니다. 수십 또는 수백 밀리초가 표시되어도 테스트 시점에 응답이 도달했다는 뜻일 뿐입니다. timeout은 제한 시간 안에 탐색 결과가 반환되지 않았다는 의미입니다. 서버 오프라인, 주소 확인 실패, 포트 차단, 전송 방식 불일치, 현재 네트워크 제한 등은 모두 같은 시간 초과 결과를 만들 수 있습니다.

timeout이 표시되었다고 해서 비밀번호, 포트, 규칙을 한꺼번에 바꾸지 마세요. 먼저 Home에서 기존 항목 여러 개에 같은 방식으로 지연 시간 테스트를 실행하고 결과를 기록합니다. 항목 하나만 시간 초과되면 해당 항목의 설정을 확인하고, 같은 구독의 모든 항목이 시간 초과되면 구독 업데이트 여부와 서비스 제공업체의 설정 변경 여부를 확인합니다. 모든 출처에서 시간 초과가 발생하면 우선 현재 네트워크를 바꾸고 시스템 설정을 점검하세요.

  1. 기존 세션 종료

    Home으로 돌아가 연결 스위치를 끄고 몇 초간 기다리세요. 이전에 완료되지 않은 연결이 해제된 뒤 다시 테스트합니다.

  2. 단일 항목 테스트

    먼저 현재 선택된 서버를 테스트한 다음, 같은 구독에서 주소가 다른 두 항목을 골라 다시 테스트하세요. 하나의 결과로 모든 항목을 판단하지 않도록 합니다.

  3. 네트워크를 바꿔 재테스트

    사용 가능한 Wi-Fi와 셀룰러 네트워크에서 각각 테스트하세요. 접속 네트워크에 따라 결과가 달라진다면 문제는 설정 파일보다 현재 네트워크 경로에 가까울 수 있습니다.

  4. 현상 기록

    즉시 실패하는지, 계속 기다린 뒤 timeout이 표시되는지, 지연 시간은 표시되지만 연결을 연 뒤 트래픽이 없는지를 기록하세요. 세 현상은 점검 방향이 서로 다릅니다.

오류:Request timed out

원인 및 해결:테스트 제한 시간 안에 대상이 응답하지 않았습니다. 주소, 포트 또는 현재 네트워크 경로에 도달할 수 없는 경우일 수 있으므로 같은 그룹의 다른 항목과 다른 접속 네트워크로 교차 테스트한 뒤 구체적인 설정을 확인하세요.

오류:Connection refused

원인 및 해결:대상 주소에는 도달했지만 해당 포트가 연결을 거부했습니다. 포트를 잘못 입력하지 않았는지 확인하고, 서비스 제공업체에 해당 포트가 현재 활성화되어 있는지 문의하세요.

오류:Network is unreachable

원인 및 해결:기기에 현재 사용할 수 있는 경로가 없거나 네트워크 상태가 방금 바뀌었습니다. 기기가 인터넷에 연결되어 있는지 확인하고 연결 스위치를 끈 뒤 네트워크가 안정되면 다시 테스트하세요.

결론: 먼저 범위로 원인을 좁히고 프로토콜은 나중에 변경

항목 하나만 실패하면 해당 항목의 필드를 먼저 확인하고, 같은 출처의 모든 항목이 실패하면 구독 상태를 확인하세요. 모든 출처가 동시에 실패하면 접속 네트워크와 시스템 설정을 먼저 점검합니다. 한 번에 변수 하나만 바꿔야 재테스트 결과를 정확히 판단할 수 있습니다.

프로토콜 및 전송 설정을 항목별로 확인

주소와 포트가 첫 번째 점검 대상입니다. Address에는 서비스 제공업체가 안내한 도메인 또는 IP를 입력하고, Port는 원본 설정과 완전히 일치해야 합니다. 443, 8443, 2053 등은 흔한 예시일 뿐 서로 바꿔 사용할 수 없습니다. 특정 포트가 HTTPS처럼 보인다고 임의로 443으로 바꾸지 마세요. 도메인에 공백 하나가 들어가거나 포트 숫자 하나가 빠지거나 이전 주소가 복사되면 연결이 timeout 단계에서 멈출 수 있습니다.

두 번째는 인증 필드입니다. Shadowsocks는 Password와 Method가 모두 일치해야 하며, VMess와 VLESS는 보통 UUID를 확인해야 합니다. Trojan은 Password를, Hysteria2는 인증 값과 서버 포트를 확인해야 합니다. WireGuard는 로컬 Private Key, 상대방 Public Key, Endpoint, Address와 Allowed IPs가 관련됩니다. 필드 이름이 비슷하다고 값을 프로토콜 간에 재사용할 수 있는 것은 아닙니다.

세 번째는 전송 및 보안 설정입니다. TLS를 사용할 때는 Server Name 또는 SNI, 인증서 검증 상태와 대상 도메인을 서비스 제공업체가 안내한 대로 입력해야 합니다. WebSocket을 사용한다면 Host와 Path도 확인하세요. 예를 들어 Path가 /ws라면 앞의 슬래시를 빼먹을 경우 핸드셰이크가 실패할 수 있습니다. Hysteria2는 UDP와 QUIC을 기반으로 하므로 같은 설정이 한 접속 네트워크에서는 작동하고 다른 네트워크에서는 계속 timeout이 발생한다면 UDP 경로 차이도 점검 대상에 포함하세요.

예시: 필드 구조 확인용이며 실제로 사용할 수 있는 서버가 아닙니다
Address: server.example.com
Port: 8443
Transport: websocket
TLS: enabled
Host: edge.example.com
Path: /ws

오류:TLS handshake failed

원인 및 해결:TLS 핸드셰이크가 완료되지 않았습니다. SNI, 도메인, 인증서 검증 또는 시스템 시간 불일치가 흔한 원인입니다. 원본 설정에 따라 Server Name을 확인하고 기기의 날짜와 시간대가 올바른지 확인하세요.

오류:Authentication failed

원인 및 해결:인증 값 또는 암호화 설정이 서버와 일치하지 않습니다. Password, UUID 또는 인증 값을 다시 복사하고 이전 구독의 필드가 섞이지 않았는지 확인하세요.

Global Routing, Config 및 On Demand 확인

지연 시간 테스트에는 결과가 있지만 연결을 연 뒤 웹페이지에 접속할 수 없다면 점검 초점을 서버 도달 가능성에서 트래픽 경로로 옮겨야 합니다. Shadowrocket의 Global Routing에는 Proxy, Direct, Config, Scene 등의 방식이 있습니다. Proxy는 해당 트래픽을 현재 프록시를 통해 처리하고, Direct는 직접 연결합니다. Config는 현재 구성 파일의 규칙에 따라 경로를 결정하며, Scene은 설정된 시나리오에 따라 전환합니다. 테스트할 때 현재 어떤 방식이 사용 중인지 먼저 확인하세요.

Global Routing이 Direct에 머물러 있으면 기기에는 시스템 VPN이 연결된 것으로 표시되어도 웹 요청이 선택한 서버를 거치지 않을 수 있습니다. Config를 사용할 때는 규칙 마지막의 FINAL 경로를 확인하고 대상 도메인이 앞쪽의 DOMAIN-SUFFIX, GEOIP 또는 IP-CIDR 규칙에 먼저 매칭되었는지 확인하세요. 규칙은 순서대로 판단되며 먼저 일치한 결과가 적용됩니다.

앱에서 요청 시작시스템 VPN 터널Global Routing규칙 순서 매칭선택한 아웃바운드
DOMAIN-SUFFIX,example.com,Proxy
IP-CIDR,192.168.0.0/16,Direct
GEOIP,CN,Direct
FINAL,Proxy

위 예시에서 example.com 접미사에 매칭되는 요청은 Proxy를 사용하고, 로컬 네트워크 주소 및 GEOIP 조건에 매칭되는 트래픽은 Direct를 사용합니다. 나머지 요청은 FINAL에 의해 Proxy로 전달됩니다. FINAL을 Direct로 작성하면 앞의 규칙에 매칭되지 않은 요청은 프록시를 거치지 않습니다. 이는 서버가 작동하지 않는다는 뜻이 아니라 규칙 결과와 테스트 대상이 다르다는 뜻입니다.

On Demand는 네트워크 조건에 따라 연결을 실행합니다. 수동 연결 문제를 점검할 때는 Settings → On Demand에서 현재 상태를 확인하고 자동 실행을 잠시 끈 뒤 테스트하세요. 네트워크 전환 중 ‘방금 끈 연결이 다시 자동으로 켜지는’ 현상이나 ‘방금 선택한 서버가 Scene에 의해 다시 변경되는’ 현상을 피할 수 있습니다. 테스트가 끝나면 원래 필요에 맞게 설정을 복원하세요.

연결 스위치를 켰는데 웹페이지가 계속 시간 초과되는 이유는 무엇인가요?

먼저 Home에서 현재 선택된 서버를 확인한 다음 Global Routing이 Direct인지 확인하세요. 이어서 Connectivity Test를 실행해 DNS, TCP, 프록시 요청 중 어느 단계에서 실패하는지 구분합니다.

Config로 전환한 뒤 일부 웹사이트만 실패하면 어떻게 하나요?

Config에서 DOMAIN-SUFFIX, GEOIP, IP-CIDR와 FINAL의 순서를 확인하세요. 대상 도메인과 규칙을 하나씩 대조해 실제로 Proxy와 Direct 중 어디에 매칭되었는지 확인합니다.

연결을 껐는데 다시 자동으로 켜지는 이유는 무엇인가요?

Settings → On Demand에서 자동 연결 조건을 확인하세요. 점검 중에는 On Demand를 비활성화하고 수동 재테스트를 마친 뒤 원래 설정을 복원합니다.

서버를 바꿨는데도 이전 결과가 표시되면 어떻게 하나요?

연결 스위치를 끄고 Home에서 새 항목 앞에 선택 표시가 있는지 확인하세요. 몇 초간 기다린 뒤 다시 연결하고 Connectivity Test를 실행합니다.

구독 업데이트 실패 시 링크와 항목을 나누어 확인

구독 업데이트와 서버 연결은 서로 다른 경로입니다. 구독 업데이트는 지정된 URL에서 구성 목록을 가져오고, 서버 연결은 목록에 있는 구체적인 주소와 설정을 사용합니다. 기존 항목은 여전히 연결되지만 구독 URL이 만료되었을 수 있습니다. 반대로 구독은 정상적으로 다운로드되어도 목록의 특정 서버는 포트나 설정 변경으로 timeout이 발생할 수 있습니다.

예시 구독 주소는 구조 확인을 위해 https://example.com/sub?token=xxxx처럼 작성할 수 있지만, 실제 작업에서는 본인이 서비스 제공업체로부터 받은 유효한 링크를 사용해야 합니다. Token 누락, 복사 중 잘림, 링크 앞뒤의 공백, 서비스 제공업체의 주소 변경은 모두 업데이트 실패의 원인이 될 수 있습니다. 이 사이트는 구독을 제공하지 않으며 특정 서비스 출처를 선택하도록 권하지 않습니다.

  1. 원본 링크 확인

    Subscribe 항목을 편집하고 서비스 제공업체가 제공한 원문과 비교해 프로토콜 헤더, 도메인, 경로, 물음표와 token을 확인하세요. 복사로 생긴 앞뒤 공백은 삭제합니다.

  2. 업데이트를 단독 실행

    Home으로 돌아가 아래로 당겨 새로 고침하고, Subscribe 하나만 실패하는지 모든 출처가 실패하는지 확인하세요. 아직 사용할 수 있는 서버 항목을 먼저 삭제하지 마세요.

  3. 프록시를 통한 업데이트 확인

    서비스 제공업체가 현재 연결을 통해 구독에 접속해야 한다고 안내한 경우 Settings → Subscribe에서 Update via Proxy를 확인할 수 있습니다. 활성화하기 전에 현재 서버에 연결할 수 있는지 먼저 확인하세요.

  4. 업데이트 결과 재확인

    업데이트가 완료되면 항목 수와 이름이 변경되었는지 확인한 뒤 항목 하나를 선택해 지연 시간 테스트를 실행하세요. 새 설정이 실제로 적용되었는지 확인할 수 있습니다.

오류:Failed to load subscription

원인 및 해결:구독 링크가 유효한 내용을 반환하지 못했습니다. 주소 만료, token 불완전 또는 접근 경로 제한이 원인일 수 있습니다. 서비스 제공업체에 링크 유효성을 확인한 뒤 Home에서 아래로 당겨 새로 고침하세요.

오류:The request timed out

원인 및 해결:제한 시간 안에 구독 요청이 완료되지 않았습니다. 먼저 기기 네트워크가 정상인지 확인하세요. Update via Proxy가 켜져 있다면 현재 선택된 서버에 연결할 수 있는지도 먼저 확인해야 합니다.

오류:Invalid URL

원인 및 해결:링크 형식을 해석할 수 없습니다. https://가 빠졌는지, 물음표 뒤의 매개변수를 실수로 삭제하지 않았는지 확인하고 링크 안의 줄바꿈과 공백을 제거하세요.

결론: 업데이트 실패가 모든 서버의 고장을 의미하지는 않음

구독 URL과 기존 서버 항목을 먼저 각각 확인하세요. 구독을 삭제하기 전에 문제 현상과 원본 설정을 보존하면 ‘목록 가져오기 실패’를 ‘모든 서버에 도달할 수 없음’으로 잘못 판단하는 일을 막을 수 있습니다.

시스템 시간 보정 및 네트워크 전환 처리

TLS 인증서 검증, 시간 기록이 포함된 인증 과정과 일부 프로토콜 핸드셰이크는 기기 시간에 의존합니다. 날짜, 시간대 또는 시계 오차가 크면 TLS 핸드셰이크 실패, 인증 실패 또는 여러 번 재시도한 뒤 timeout이 표시될 수 있습니다. 날짜를 수동으로 변경했거나 시간대 변경 후 상태가 동기화되지 않았거나 기기가 오랫동안 인터넷에 연결되지 않았다면 시스템 시간도 점검하세요.

iPhone 또는 iPad에서 Settings → General → Date & Time으로 이동해 Set Automatically를 확인하고 Time Zone이 현재 위치와 일치하는지 확인하세요. 변경 후 바로 연결을 연속으로 누르지 말고 Shadowrocket의 연결 스위치를 먼저 끄세요. 시스템 네트워크 상태가 안정되면 Home으로 돌아가 서버를 다시 선택합니다.

Wi-Fi에서 셀룰러 네트워크로 전환하면 기존 연결이 사용하던 로컬 주소, DNS와 라우팅이 바뀝니다. 전환 후에도 오랫동안 복구되지 않으면 연결을 끄고 상태 표시줄에 새 네트워크를 사용할 수 있다는 표시가 나타날 때까지 기다린 뒤 다시 켜세요. On Demand를 사용하는 경우 네트워크 변경 시 자동 규칙이 다른 Scene을 선택했는지도 확인하세요.

결론: 시간 보정 후에는 반드시 연결을 다시 설정

기존 세션은 시스템 시간만 수정한다고 해서 깨끗한 핸드셰이크를 자동으로 다시 수행하지 않습니다. 시간을 보정하고 네트워크를 안정시킨 뒤 기존 연결을 끄고 항목을 다시 선택한 다음 테스트해야 수정 사항이 적용되었는지 확인할 수 있습니다.

정해진 순서로 최종 재테스트

설정, 규칙, 구독과 시스템 시간 점검을 마쳤다면 정해진 절차로 마무리하세요. 먼저 On Demand를 일시 중지한 상태에서 설정을 확인한 서버를 선택합니다. 다음으로 지연 시간 테스트를 실행해 해당 항목이 응답하는지 확인하고, 연결을 켠 뒤 Connectivity Test를 실행합니다. 지연 시간은 정상인데 Connectivity Test가 실패한다면 구독을 반복해서 새로 고치기보다 Global Routing, Config 규칙, DNS와 전송 설정을 다시 확인하세요.

테스트 결과에는 현재 네트워크, 서버 이름, 프로토콜 유형, 지연 시간 수치 표시 여부, 연결 스위치 상태와 Connectivity Test가 실패한 단계를 최소한 기록하세요. 서비스 제공업체에 문의할 때는 전체 Password, UUID, Private Key 또는 구독 token을 보내지 마세요. 가린 필드, 발생 시각과 원본 오류 메시지만 제공하세요.

시스템 네트워크 연결 확인설정 확인이 끝난 항목 선택지연 시간 테스트 실행연결 켜기Connectivity Test실패 단계 기록

지연 시간 수치는 표시되지만 Connectivity Test가 실패하면 어떻게 하나요?

Global Routing과 Config 규칙을 확인해 테스트 요청이 Direct 또는 잘못된 규칙에 의해 처리되지 않았는지 확인하세요. 그런 다음 DNS, TLS, Host와 Path를 점검합니다.

셀룰러 네트워크에서만 시간 초과가 발생하면 어떻게 하나요?

기존 연결을 끈 뒤 셀룰러 네트워크에서 다시 테스트하세요. Hysteria2처럼 UDP에 의존하는 설정이 해당 네트워크에서만 실패한다면 네트워크 차이와 구체적인 발생 시각을 함께 서비스 제공업체에 전달하세요.

모든 항목이 갑자기 동시에 시간 초과되면 어떻게 하나요?

먼저 기기 자체가 인터넷에 연결되는지 확인하세요. 그런 다음 On Demand를 일시 중지하고 접속 네트워크를 바꾸며 시스템 시간을 확인합니다. 모든 출처가 동시에 작동하지 않을 때 서버 비밀번호를 하나씩 먼저 바꾸면 안 됩니다.

재설치 전에 무엇을 더 확인해야 하나요?

먼저 구독 유효성, 프로토콜 필드, Global Routing, On Demand와 시스템 시간을 확인하세요. 설정 오류는 애플리케이션을 다시 받아도 자동으로 해결되지 않으므로 필요한 문제 기록을 먼저 보존해야 합니다.

Shadowrocket 정품 정보는 어디에서 확인하나요?

유일한 취득 경로는 App Store입니다. 제품명 Shadowrocket, 개발자 Shadow Launch Technology Limited와 앱 ID 932747118을 확인하세요. 구매 방식은 일회성 구매이며 시스템 요구 사항은 App Store 페이지 표기를 기준으로 합니다.

App Store에서 Shadowrocket 다운로드