iPhone / iPad 기본 작업 순서
Shadowrocket 단계별 사용법
“연결 정보 가져오기, Global Routing 선택, 연결 설정, 결과 확인, 오류 지점 파악” 순서로 진행합니다. 각 단계를 완료한 뒤 다음 단계로 넘어가야 문제가 어느 계층에서 발생했는지 판단하기 쉽습니다.
Home · Add Server · Subscribe
서버 추가 또는 기존 구독 가져오기
Shadowrocket을 연 뒤 먼저 Home에 머뭅니다. 이 화면에서는 저장된 서버 항목을 확인하고, 현재 사용할 항목을 선택하며 연결 스위치를 제어합니다. 목록이 비어 있다면 먼저 본인의 연결 정보를 클라이언트에 입력해야 합니다. 일반적인 방법은 두 가지입니다. 서버 하나를 항목별로 추가하거나 Subscribe를 통해 본인이 관리하는 서버 정보 묶음을 가져올 수 있습니다. 두 방법 모두 최종적으로 Home에 선택 가능한 항목을 만들지만 이후 업데이트 방식은 다릅니다.
방법 1: Add Server에서 항목별 입력
Home에서 추가 메뉴를 찾아 Add Server로 이동합니다. 기존 서버 자료에 맞는 유형을 선택합니다. 예를 들어 Shadowsocks, VMess, VLESS, Trojan, HTTP, SOCKS5, WireGuard 또는 Hysteria2가 있습니다. 프로토콜 유형은 기존 자료와 일치해야 하며 이름이 비슷하다는 이유로 서로 바꾸면 안 됩니다. 유형을 선택하면 해당 유형에 필요한 필드가 표시되며, 일반적으로 주소, 포트, 인증 정보와 프로토콜 관련 추가 매개변수가 포함됩니다.
입력할 때는 원본 자료와 항목별로 대조합니다. 주소 필드에는 호스트 이름 또는 IP만 입력하고, 포트 필드에는 숫자만 입력합니다. 설명 문구, 공백 또는 전체 링크를 함께 붙여 넣지 마세요. 암호화 방식, 전송 방식, TLS, SNI, 경로 등의 항목은 본인이 가진 서버 자료를 기준으로 합니다. 특정 프로토콜에 어떤 필드가 없는 것은 정상이며, 화면을 채우기 위해 임의의 값을 추가할 필요가 없습니다. 완료 후 저장하고 Home으로 돌아가 새 항목이 목록에 표시되는지 확인합니다.
기존 자료가 QR 코드로 제공되는 경우 추가 메뉴에서 Scan QR Code를 선택할 수 있습니다. 스캔하기 전에 QR 코드가 실제 서버 정보에 해당하는지 확인합니다. 카메라 권한은 시스템에서 관리하므로 권한이 없으면 시스템 안내에 따라 접근을 허용해야 합니다. 카메라를 사용하지 않으려면 Add Server로 돌아가 직접 입력할 수 있습니다. 어떤 방법을 사용하든 저장 후 서버 유형, 주소와 포트가 원본 자료와 일치하는지 확인합니다.
방법 2: Subscribe로 구독 가져오기
본인의 구독 링크가 있다면 추가 유형에서 Subscribe를 선택합니다. 알아보기 쉬운 메모 이름을 지정한 뒤 전체 링크를 URL 필드에 붙여 넣습니다. 링크에는 사용자 식별 정보가 포함된 매개변수가 있을 수 있으므로 본인의 기기에만 보관해야 합니다. 붙여 넣은 후 저장하고 Home으로 돌아가 업데이트를 실행합니다. 클라이언트가 내용을 정상적으로 읽으면 목록에 구독에 포함된 서버 항목이 표시됩니다.
구독 기록을 저장했다고 해서 내용 업데이트까지 완료된 것은 아닙니다. Home에 구독 이름만 보이고 서버 항목이 없다면 먼저 해당 구독을 업데이트하고 오류 메시지가 표시되는지 확인합니다. 업데이트에 실패해도 동일한 기록을 여러 개 연속으로 추가하지 마세요. 목록에 중복 항목이 생겨 어느 항목이 적용 중인지 확인하기 어려워집니다. 기록 하나만 남기고 링크의 처음과 끝이 완전한지 확인한 뒤 현재 Wi-Fi 또는 셀룰러 네트워크에서 해당 구독 주소에 접근할 수 있는지 확인합니다.
가져오기가 완료되면 Home에서 테스트할 서버 항목을 선택합니다. 선택 상태는 다음 연결에서 이 항목을 사용하도록 준비했다는 뜻일 뿐, 시스템 연결이 설정된 것은 아닙니다. 스위치를 반복해서 켜고 끄기 전에 다음 단계에서 Global Routing 모드를 정해야 합니다. Global Routing은 요청을 규칙으로 판단할지, 일괄적으로 프록시 정책을 사용할지, 직접 연결을 유지할지를 결정합니다.
Global Routing
Global Routing 모드 선택
Global Routing은 트래픽을 전체적으로 처리하는 방식을 결정합니다. 세 가지 모드는 Config(Config), Proxy(Proxy), Direct(Direct)로 구분할 수 있습니다. 이 선택은 서버 프로토콜이 아니며 방금 입력한 주소와 포트를 변경하지도 않습니다. 요청이 Shadowrocket에 들어온 뒤 후속 정책을 어떻게 결정할지 제어합니다.
Config: 규칙에 따라 차례로 판단
Config를 선택하면 현재 구성의 규칙에 따라 요청을 위에서부터 순서대로 매칭합니다. 자주 사용되는 규칙 키워드로는 DOMAIN, DOMAIN-SUFFIX, DOMAIN-KEYWORD, GEOIP, IP-CIDR, IP-CIDR6 및 USER-AGENT가 있습니다. 규칙이 일치하면 해당 요청은 PROXY, DIRECT 또는 REJECT 정책으로 처리됩니다. 이미 규칙 구성을 가져와 확인했으며 요청마다 다른 정책을 적용하려는 경우에 적합합니다.
규칙 순서는 결과에 직접 영향을 줍니다. 예를 들어 범위가 좁은 도메인 규칙은 일반적으로 범위가 넓은 기본 규칙보다 앞에 있어야 합니다. 앞선 규칙이 이미 일치하면 뒤의 규칙은 보통 더 이상 판단에 참여하지 않습니다. 따라서 일부 콘텐츠만 접속되고 일부 결과가 예상과 다를 때는 서버 프로토콜을 바로 변경하기보다 규칙 매칭 순서를 먼저 확인해야 합니다. 기존 구성을 처음 사용할 때는 보통 Config를 선택한 뒤 실제 접속으로 규칙 결과를 확인합니다.
Proxy: 현재 프록시 정책을 일괄 적용
Proxy를 선택하면 네트워크 요청이 현재 선택한 프록시 경로를 더 일관되게 사용합니다. 이 모드는 짧은 비교 테스트에 적합합니다. Config에서 특정 요청에 문제가 있지만 Proxy에서는 정상이라면 해당 요청이 예상과 다른 정책으로 분류되었는지 규칙을 계속 확인할 수 있습니다. Proxy는 문제를 해결하는 버튼이 아니며 규칙 진단을 대신할 수도 없습니다. 비교가 끝나면 실제 목적에 따라 Config로 돌아갈지 결정합니다.
Direct: 현재 프록시 경로를 거치지 않고 직접 연결
Direct를 선택하면 요청이 직접 연결됩니다. 이를 통해 문제가 프록시 경로에서만 발생하는지 확인할 수 있습니다. 예를 들어 같은 웹페이지가 Direct에서는 정상이고 Proxy에서는 실패한다면 서버 도달 가능성, 매개변수 또는 연결 경로를 중점적으로 확인해야 합니다. Direct에서도 실패한다면 로컬 네트워크, 대상 서비스 상태 또는 시스템 네트워크 조건을 먼저 확인하는 편이 좋습니다.
이 튜토리얼을 처음 따라 할 때는 다음의 간단한 순서를 기억하면 됩니다. 기존 규칙 구성을 일상적으로 사용할 때는 Config를 선택하고, 규칙 때문에 결과가 달라지는지 확인할 때는 잠시 Proxy로 전환해 비교하며, 로컬 네트워크가 정상인지 확인할 때는 Direct로 비교합니다. 전환할 때마다 동일한 테스트를 다시 수행하고, 서버·네트워크·Global Routing을 동시에 변경하지 않아야 어떤 변화가 영향을 주었는지 알 수 있습니다.
Home · 시스템 연결 권한
스위치를 켜고 연결 설정
Home으로 돌아가 현재 선택된 서버 항목과 방금 설정한 Global Routing 모드를 다시 확인합니다. 그런 다음 화면 상단의 연결 스위치를 켭니다. 기기에서 처음 연결을 설정할 때 시스템에서 VPN 구성 추가를 확인합니다. 이는 Apple 플랫폼이 네트워크 확장을 위해 제공하는 시스템 권한 절차입니다. 시스템 팝업의 안내를 따르고 기기에서 요구하는 암호, Touch ID 또는 Face ID로 승인합니다.
시스템 권한 요청은 일반적으로 처음 구성을 추가할 때나 시스템에서 다시 확인을 요구할 때만 표시됩니다. 권한 승인이 끝나면 Shadowrocket이 연결 설정을 시도합니다. 이때 상태가 안정될 때까지 기다리고 스위치를 빠르게 반복해서 전환하지 마세요. 연결을 설정하려면 서버 확인, 네트워크 핸드셰이크와 관련 프로토콜 협상이 완료되어야 하므로 현재 네트워크 품질이 낮으면 평소보다 오래 걸릴 수 있습니다. 스위치가 즉시 다시 꺼진다면 연결이 유지되지 않은 것이므로 다섯 번째 단계에서 계층별로 확인해야 합니다.
iPhone 또는 iPad에서는 시스템 상태 영역에 VPN 상태가 표시될 수 있지만, 이 표시는 시스템 연결 구성이 활성화되었다는 뜻일 뿐 모든 요청이 예상대로 전달된다는 것을 단독으로 증명하지는 않습니다. 특히 Config 모드에서는 요청마다 다른 규칙이 적용될 수 있습니다. 먼저 스위치가 켜진 상태로 유지되는지 확인한 다음, 다음 단계의 Connectivity Test와 실제 접속 결과를 함께 판단합니다.
기기에 여러 VPN 구성이 저장되어 있다면 시스템 설정의 현재 연결 상태가 다른 구성의 영향을 받을 수 있습니다. 이 튜토리얼을 진행할 때는 현재 테스트가 Shadowrocket에 해당하는지 확인하고 다른 네트워크 구성을 동시에 조작하지 마세요. On Demand를 활성화한 경우에는 On Demand가 미리 설정된 네트워크 조건에 따라 연결 시점을 결정한다는 점도 주의해야 합니다. 수동 스위치의 동작이 조건 규칙의 영향을 받을 수 있습니다. 처음 문제를 확인할 때는 기존 On Demand 조건을 먼저 파악한 뒤 자동 실행을 일시적으로 끌 필요가 있는지 판단합니다.
iPad의 가로 화면에서는 서버 목록과 상세 영역이 동시에 표시될 수 있고, iPhone은 보통 단계별 화면이 중심이지만 작업 방식은 같습니다. Home에서 항목을 선택하고 Global Routing을 정한 뒤 연결 스위치를 켜고 시스템 권한 요청에 응답합니다. Apple 플랫폼의 시스템 요구 사항과 Mac, Apple TV, Apple Vision의 호환 정보는 App Store 페이지의 표기를 기준으로 합니다. 이 튜토리얼의 구체적인 작업 대상은 iPhone과 iPad입니다.
Connectivity Test · Data
연결이 예상대로 적용되는지 확인
연결 스위치가 안정되면 먼저 Connectivity Test로 현재 서버 항목의 기본 도달 가능성을 확인합니다. 테스트 결과는 현재 네트워크 조건에서 클라이언트가 서버와 필요한 통신을 완료할 수 있는지 판단하는 데 사용됩니다. 테스트가 바로 시간 초과되면 서버 상태, 주소, 포트, 프로토콜 매개변수와 로컬 네트워크를 우선 확인합니다. 테스트는 완료되지만 실제 콘텐츠가 예상과 다르면 Global Routing, 규칙 매칭과 DNS를 계속 확인합니다.
지연 시간 수치는 특정 테스트 조건에서의 응답 시간만 보여 주며 실제 사용 경험을 완전히 나타내지는 않습니다. 실제 접속은 서버 부하, 경로 변동, 프로토콜 특성, 대상 서비스의 응답 및 Wi-Fi 또는 셀룰러 네트워크 품질의 영향을 받습니다. 따라서 두 항목의 지연 시간이 조금 다르다는 이유만으로 자주 전환하지 마세요. 먼저 테스트 결과가 안정적인 항목을 선택한 뒤 동일한 대상 콘텐츠에 연속으로 접속해 확인합니다.
그다음 실제로 확인할 웹페이지나 앱 콘텐츠를 엽니다. 검증 대상은 익숙하고 상태가 정상이며 반복 접속할 수 있는 콘텐츠를 선택하고, 먼저 한 번 로드한 뒤 잠시 후 다시 시도합니다. Config를 사용하면 도메인마다 다른 규칙이 적용될 수 있습니다. 한 대상이 성공했다고 모든 규칙이 올바르다는 뜻은 아니며, 한 대상이 실패했다고 서버 전체를 사용할 수 없다는 뜻도 아닙니다. Config, Proxy와 Direct를 일시적으로 비교할 수 있지만 매번 Global Routing만 변경해야 합니다.
Data의 트래픽 변화는 보조 지표로 활용할 수 있습니다. 연결 중 업로드와 다운로드 활동이 발생하면 관련 처리를 거치는 요청이 있다는 뜻입니다. 하지만 백그라운드 요청, 시스템 서비스 또는 다른 앱도 데이터를 생성할 수 있으므로 트래픽 수치만으로 성공을 증명할 수는 없습니다. 최종적으로는 연결 스위치가 유지되는지, Connectivity Test가 완료되는지, 실제 대상이 현재 규칙 모드에서 정상적으로 응답하는지 세 가지를 함께 판단합니다.
Config에서 결과가 비정상이고 Proxy에서는 같은 대상이 정상이라면 Config로 돌아가 규칙을 확인합니다. 규칙은 일반적으로 구성 순서대로 매칭되며 DOMAIN, DOMAIN-SUFFIX, GEOIP, IP-CIDR 등의 규칙은 적용 범위가 다릅니다. 앞쪽의 범위가 넓은 규칙이 요청을 먼저 처리할 수 있으므로 최종 기본 정책이 예상과 맞는지도 확인해야 합니다. 임시 규칙을 한꺼번에 많이 추가하지 말고, 먼저 범위가 명확한 규칙 하나로 확인한 뒤 순서를 단계적으로 정리합니다.
Proxy와 Config가 모두 실패하고 Direct는 정상이라면 현재 서버 경로 또는 매개변수를 중점적으로 확인합니다. 세 가지 모드가 모두 실패하면 먼저 연결을 끄고 로컬 네트워크에서 기본 콘텐츠에 정상적으로 접속할 수 있는지 확인한 뒤 Shadowrocket을 다시 열어 테스트합니다. 특정 Wi-Fi에서만 실패하고 셀룰러 네트워크로 바꾸면 정상이라면 해당 Wi-Fi의 DNS, 라우터 제한 또는 네트워크 인증 상태를 추가로 확인합니다.
입력부터 네트워크까지 계층별 확인
주요 오류와 확인 순서
연결에 실패했을 때 구독을 다시 만들고, 프로토콜을 변경하고, Global Routing을 바꾸고, DNS까지 동시에 조정하지 마세요. 여러 변경이 겹치면 일시적으로 정상화되더라도 실제 원인을 알 수 없습니다. 더 효과적인 방법은 “입력 자료 → 구독 업데이트 → 서버 도달 가능성 → 시스템 연결 → 규칙 처리 → 로컬 네트워크” 순서로 계층별 확인을 진행하는 것입니다. 매번 하나의 조건만 변경하고 동일한 테스트를 반복합니다.
1. Home에 선택 가능한 서버 항목이 없음
먼저 첫 단계로 돌아가 저장 결과를 확인합니다. 직접 추가한 경우 Add Server 화면에서 실제로 저장했는지, 바로 돌아간 것은 아닌지 확인하고 프로토콜 유형·주소·포트가 입력되었는지 확인합니다. Subscribe를 사용했다면 저장 후 업데이트를 실행했는지 확인합니다. 구독 업데이트가 실패했다면 링크를 처음부터 끝까지 완전히 복사했는지, 공백이나 줄바꿈이 섞이지 않았는지 다시 확인하고 현재 네트워크에서 해당 주소에 접근할 수 있는지도 확인합니다.
2. Connectivity Test가 계속 시간 초과됨
먼저 선택한 항목이 방금 확인한 항목과 같은지 확인한 뒤 서버 주소, 포트와 프로토콜 유형을 점검합니다. 직접 입력할 때는 포트 숫자 오류, 주소 앞뒤 공백, 인증 정보의 문자 누락 또는 프로토콜 매개변수 불일치가 자주 발생합니다. 구독으로 가져온 항목은 먼저 구독을 업데이트해 최신 내용을 사용하는지 확인합니다. 그다음 Wi-Fi와 셀룰러 네트워크에서 한 번씩 비교해 서버 경로 문제와 로컬 네트워크 문제를 구분합니다.
3. 스위치가 켜진 상태로 유지되지 않음
시스템 권한 승인이 완료되었는지 확인하고 기기에 확인을 기다리는 시스템 안내가 있는지 점검합니다. 스위치를 끈 뒤 잠시 기다렸다가 한 번만 다시 켜고, 빠르게 연속으로 누르지 마세요. 최근 기기의 네트워크 설정이 크게 변경되었다면 현재 Wi-Fi에 다시 연결해 기본 네트워크가 정상인지 확인한 뒤 테스트합니다. 그래도 유지되지 않으면 스위치 동작, 사용한 네트워크와 서버 유형을 기록하고 문제 해결 매뉴얼의 “스위치가 켜지지 않음” 항목에서 계속 확인합니다.
4. 연결 후 콘텐츠에 접근할 수 없음
먼저 Direct로 로컬 네트워크를 확인하고, Proxy로 현재 서버 경로를 확인한 다음, 마지막으로 Config에서 규칙을 점검합니다. Direct도 실패한다면 서버 매개변수를 계속 변경하지 말고 로컬 네트워크부터 해결해야 합니다. Proxy는 정상이고 Config만 비정상이라면 DOMAIN-SUFFIX, GEOIP, IP-CIDR과 최종 기본 정책의 순서를 확인합니다. Config와 Proxy가 모두 실패하고 Direct만 정상이라면 서버 자료와 Connectivity Test를 중점적으로 확인합니다.
5. 일부 도메인 또는 앱 콘텐츠만 비정상
이 현상은 일반적으로 모든 서버를 다시 가져오기보다 규칙 매칭과 DNS를 확인해야 합니다. 먼저 문제가 발생한 대상의 도메인을 기록하고, 더 앞선 규칙이 해당 요청을 DIRECT, PROXY 또는 REJECT로 분류하고 있는지 확인합니다. 규칙이 겉으로는 올바르다면 DNS 확인 결과가 안정적인지도 점검합니다. 범위가 지나치게 넓은 DOMAIN-KEYWORD 규칙으로 관련 없는 도메인을 대량으로 덮지 말고, 구체적인 규칙보다 앞에 FINAL을 배치하지도 마세요.
6. 구독 업데이트 후 중복 항목이 생김
먼저 Home에 동일한 Subscribe 기록이 여러 개 저장되어 있는지 확인합니다. 각 기록이 자체 서버 목록을 만들 수 있으므로 같은 링크를 반복해서 추가하면 중복 표시가 발생합니다. 출처가 명확하고 정상적으로 업데이트되는 기록 하나만 남기고, 삭제하기 전에는 메모 이름을 확인해 현재 사용하는 기록을 잘못 삭제하지 않도록 합니다. 정리한 뒤 한 번만 업데이트하고 목록이 명확해졌는지 확인합니다.
7. 연결은 실패하지 않지만 속도가 느림
속도 문제는 계층별로 판단해야 합니다. 먼저 동일한 서버, 동일한 네트워크와 동일한 Global Routing에서 반복 테스트해 일시적인 변동을 배제합니다. 그다음 Wi-Fi와 셀룰러 네트워크를 바꿔 로컬 네트워크의 영향을 확인하고, 이후에야 본인의 목록에 있는 다른 서버 항목과 비교합니다. 프로토콜 특성, 서버 부하와 대상 서비스의 응답이 모두 사용 경험에 영향을 주며, 한 번의 Connectivity Test 지연 시간이 지속적인 전송 성능을 의미하지는 않습니다. 보다 자세한 계층별 방법은 Shadowrocket 문제 해결 매뉴얼에서 확인할 수 있습니다.
완료 후 기본 상태
- Home에 출처가 명확하고 매개변수가 완전한 서버 항목이 있습니다.
- 현재 Global Routing이 Config, Proxy 또는 Direct 중 무엇인지 알고 있습니다.
- 연결 스위치가 켜진 상태로 유지되고 시스템 권한 승인이 완료되었습니다.
- Connectivity Test와 실제 접속을 각각 한 번 이상 확인했습니다.
- 문제가 발생했을 때 한 번에 하나의 조건만 변경하고 테스트 기록을 남길 수 있습니다.
위 항목을 완료하면 Shadowrocket의 기본 연결 절차가 구성됩니다. 이후 사용자 지정 규칙, DNS, On Demand 또는 복잡한 구성을 조정할 때는 현재 정상 작동하는 기준 상태를 먼저 보존한 뒤 항목별로 변경하고 확인합니다.