Shadowrocket시작 안내 및 연결 확인
‘자료 가져오기 → 라우팅 선택 → 연결 켜기 → 결과 확인 → 오류 지점 찾기’ 순서로 진행하세요. 이 안내는 iPhone과 iPad를 대상으로 합니다. 먼저 같은 조건에서 다시 확인할 수 있는 연결을 한 번 완료한 뒤 일상 설정을 조정하세요.
스크린샷은 App Store 공식 자료로, 화면에서 항목의 위치를 확인하는 데 사용합니다. 표시되는 입력란은 선택한 Type과 앱 화면에 따라 다를 수 있습니다. 실제 조작 시에는 기기에 표시되는 영어 인터페이스 용어와 안내를 따르세요.
STEP 01 / IMPORT
Add Server / Subscribe: 기존 자료 가져오기
Shadowrocket의 Home을 열고 아래쪽의 SERVER 그룹과 Add Server를 확인하세요. 자료는 두 종류로 나뉩니다. 구독 링크는 서버 항목을 가져오고 업데이트하는 주소이며, 개별 서버 정보에는 특정 서버에 연결하는 데 필요한 프로토콜과 매개변수가 포함됩니다. 입력 위치가 다르므로 구독 주소를 Host에 입력하거나 일반 안내 웹페이지를 구독 주소로 가져오지 마세요.
구독 링크가 있는 경우: Subscribe 사용
Home에서 Add Server를 누른 다음 추가 화면에서 Type을 눌러 Subscribe를 선택하세요. 본인이 가진 전체 구독 링크를 해당 URL 입력란에 넣고 저장합니다. 붙여넣기 전후에 메신저가 링크를 잘라내지 않았는지, 줄바꿈이나 앞뒤 공백이 섞이지 않았는지 확인하세요. 링크의 쿼리 매개변수도 주소의 일부일 수 있으므로 임의로 삭제하지 마세요. 구독 주소에 접근 인증 정보가 포함될 수 있으니 본인 기기에만 보관하고 공개 게시물이나 스크린샷에 노출하지 마세요.
저장하고 자료를 가져온 뒤 Home으로 돌아가 SERVER에 예상한 항목이 있는지 확인하세요. 구독 기록만 있고 서버가 표시되지 않는다면 먼저 업데이트 오류를 확인하고 연결 스위치를 반복해서 켜지 마세요. 구독 가져오기 실패는 ‘자료를 불러오는 단계’의 문제이며, 이후 서버에 연결할 수 있는지와는 별개입니다. 먼저 주소가 유효한지, 현재 네트워크에서 해당 주소에 접속할 수 있는지 확인한 다음 구독 항목의 업데이트 기능을 사용해 다시 시도하세요.
서버 매개변수가 있는 경우: Type에 맞춰 입력
개별 서버 정보가 있다면 Add Server로 이동하되, 자료에 적힌 프로토콜과 일치하는 Type을 선택하세요. 그런 다음 Host, Port와 해당 Type에 필요한 인증 및 전송 항목을 입력합니다. 공식 스크린샷은 한 가지 입력 양식의 예시일 뿐이며 모든 Type에서 Password와 Method 항목을 사용하는 것은 아닙니다. 스크린샷과 같게 만들려고 프로토콜을 변경하지 마세요. Host에는 보통 제공된 호스트 이름이나 주소를, Port에는 지정된 포트 번호를 입력합니다. 대소문자를 구분하는 인증 정보는 원문 그대로 입력하세요.
사용 가능한 QR 코드가 있다면 Scan QR Code로 가져온 뒤 생성된 항목을 열어 하나씩 확인할 수 있습니다. Import from Cloud JSON은 형식이 맞는 기존 자료에만 사용하며, 모든 구독 링크를 가져오는 범용 기능은 아닙니다. 어떤 방법을 사용하든 저장한 뒤 Home으로 돌아가 항목 이름과 매개변수가 맞는지 확인하고 이번에 테스트할 서버를 선택하세요. 이름은 항목을 구별하기 위한 표시일 뿐 실제 매개변수 확인을 대신할 수 없습니다.
STEP 02 / ROUTING
Global Routing: Config, Proxy 또는 Direct 선택
자료를 가져온 뒤 Home으로 돌아가 Global Routing을 누르세요. 여기서 선택하는 항목은 요청을 처리하는 방식을 정하며 서버를 바꾸는 설정은 아닙니다. 세 가지 옵션은 Config, Proxy, Direct입니다. 처음 사용할 때 특정 옵션이 ‘항상 맞다’고 외우기보다, 이번 확인에서 어떤 요인을 분리할지 먼저 정한 다음 적절한 모드를 선택하세요.
| 모드 | 처리 방식 | 처음 사용할 때 |
|---|---|---|
| Config | 현재 설정의 규칙에 따라 요청의 경로를 결정합니다. | 현재 규칙 설정이 유효한지 확인한 뒤 일상적인 트래픽 분배에 사용하세요. |
| Proxy | 클라이언트가 처리하는 요청을 프록시 모드로 전달합니다. | 규칙 선택이 결과에 미치는 영향을 줄여 임시로 비교 테스트할 때 사용하세요. |
| Direct | 요청을 직접 연결로 처리하며, 선택한 프록시 서버를 일반적인 출구로 사용하지 않습니다. | 현재 네트워크에서 대상 서비스에 직접 연결되는지 확인하세요. |
Config를 사용할 때는 Config로 이동해 현재 선택된 설정 파일을 먼저 확인한 다음 Rule을 살펴보세요. Config 화면에서 선택한 파일과 실제 편집 내용이 파일명보다 실제 동작을 더 잘 보여 줍니다. 같은 이름의 파일에도 서로 다른 규칙이 들어 있을 수 있습니다. 스크린샷의 General, Rule, Hosts, URL Rewrite, HTTPS Decryption은 설정 편집의 각 섹션입니다. 처음 연결할 때는 현재 설정과 Rule만 확인하면 되며, 다른 섹션을 하나씩 켜거나 수정할 필요는 없습니다.
규칙은 일반적으로 위에서 아래 순서로 일치 여부를 확인하며, 일치하면 해당 규칙에 지정된 정책을 적용합니다. 아래 두 줄은 형식을 보여 주기 위한 예시일 뿐, 기존 파일을 그대로 대체할 수 있는 완성된 설정이 아닙니다. 첫 번째 줄은 예시 도메인과 하위 도메인을 PROXY로 보내고, 마지막 줄은 앞선 규칙과 일치하지 않는 요청을 처리합니다. 실제 동작은 설정 전체와 각 정책의 정의에 따라 달라집니다.
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
기존 규칙의 출처와 역할을 잘 모른다면 먼저 현재 선택을 기록한 뒤 Proxy로 임시 전환해 연결 결과를 비교해 보세요. 같은 서버에서 Proxy로는 접속되지만 Config에서 특정 대상에 접속할 수 없다면 서버를 바로 삭제하기보다 규칙 일치 여부와 대상 정책을 먼저 확인하세요. Direct는 ‘가장 빠른 서버 자동 선택’이 아닙니다. 직접 연결의 기준을 확인할 때 사용하는 모드이며 프록시 연결이 정상임을 증명하지는 않습니다.
첫 연결을 완료하려고 Add Rule을 무작정 누르거나 HTTPS Decryption을 켤 필요는 없습니다. 기존 설정을 유지한 채 이후 단계를 확인한 다음, 필요한 경우에만 규칙을 수정하세요. 각 기능의 사용 범위는 기능 안내에서 확인할 수 있습니다. 이번 절차를 다시 진행하려면 Global Routing 선택 단계로 돌아가 항목별로 확인하세요.
STEP 03 / CONNECT
Home: 스위치를 켜고 VPN 구성 권한 설정
모드를 선택한 뒤 Home으로 돌아와 다음 세 곳을 차례로 확인하세요. SERVER에서 현재 선택된 서버, Global Routing의 현재 값, 상단 연결 상태입니다. 스크린샷의 Not Connected는 아직 연결되지 않았다는 뜻입니다. 앞의 두 항목이 맞는지 확인한 다음 상단 연결 스위치를 켜세요. 그래야 오류가 발생했을 때 어떤 조건으로 테스트했는지 파악할 수 있습니다.
처음 연결할 때 시스템에서 Shadowrocket이 VPN 구성을 추가하도록 허용할지 물을 수 있습니다. 이는 앱이 시스템 네트워크 연결을 설정하는 데 필요한 권한 절차이며 구독 가져오기 성공을 알리는 메시지도, 원격 서버를 사용할 수 있다는 뜻도 아닙니다. 방금 조작한 Shadowrocket이 요청한 것인지 확인한 뒤 시스템 화면에서 허용하고 기기 안내에 따라 인증을 완료하세요. 권한 설정이 끝나면 Home으로 돌아와 연결 상태가 바뀌었는지 확인합니다.
이전에 허용하지 않았다면 앱으로 돌아가 연결을 다시 시작한 뒤 시스템 안내에 응답하세요. 스위치를 빠르게 연속으로 켰다 끄지 마세요. 안내가 다시 나타나지 않거나 연결을 켜자마자 종료된다면 시스템 설정의 VPN 관련 화면에서 해당 구성이 있는지 확인하고 앱의 오류 정보와 함께 원인을 살펴보세요. 조직에서 관리하는 기기는 일부 네트워크 설정이 관리 정책으로 제한될 수 있으므로 먼저 기기에서 해당 구성을 허용하는지 확인해야 합니다.
iPad에서도 ‘서버 선택, 모드 확인, 연결 켜기, 시스템 권한 설정’ 순서로 진행하세요. 화면 크기나 시스템 인터페이스 배치는 다를 수 있으므로 스크린샷의 픽셀 위치를 그대로 찾기보다 Home, Global Routing 등의 화면 용어를 기준으로 찾으면 됩니다. 시스템 요구 사항 및 호환성은 App Store 페이지에 표시된 내용을 기준으로 합니다.
연결한 뒤 잠시 기다리며 상태가 안정적으로 유지되는지 확인하세요. 스위치가 곧바로 꺼지면 표시된 안내를 빠짐없이 기록합니다. 스위치가 켜진 상태로 유지되더라도 모든 요청이 예상대로 처리된다고 단정하지 마세요. 시스템의 VPN 표시는 해당 네트워크 연결이 설정된 상태임을 나타낼 뿐, 서버 인증과 도메인 해석, 대상 서비스 접속까지 모두 성공했음을 보장하지는 않습니다. 다음 단계에서 앱 상태와 실제 접속 결과를 함께 확인하세요.
STEP 04 / VERIFY
Connectivity Test: 연결 가능 여부와 실제 작동 구분
Home으로 돌아가 Connectivity Test를 실행해 선택한 테스트 방식에서 현재 서버가 어떤 결과를 내는지 확인하세요. 테스트 결과가 나오면 해당 탐색 요청에 응답이 있었다는 뜻이고, 시간 초과는 정해진 시간 안에 탐색이 완료되지 않았다는 뜻입니다. 어느 쪽도 ‘모든 앱을 사용할 수 있다’거나 ‘서버가 반드시 작동하지 않는다’는 의미는 아닙니다. Test Method에 따라 확인하는 연결 구간이 다를 수 있으므로 결과를 비교할 때는 같은 방식을 유지하세요.
이어서 Safari를 열고 본인이 이용 권한을 가지고 있으며 정상 작동을 확인한 대상 페이지에 접속하세요. 첫 화면이 열리는지뿐 아니라 필요한 리소스가 로드되는지, 실제 로그인이나 서비스 기능이 정상 작동하는지도 확인합니다. 이미 열려 있던 페이지라면 캐시된 내용만 보고 판단하지 않도록 새로고침하세요. 한 페이지에 접속된다고 해서 다른 도메인이나 프로토콜, 앱도 사용할 수 있다고 보장되는 것은 아닙니다.
Config에서 확인할 때는 대상 요청이 PROXY와 DIRECT 중 어느 쪽으로 처리되어야 하는지 먼저 확인하세요. 설정에 따라 일부 요청이 직접 연결되는 것은 정상일 수 있습니다. 특정 서비스가 기존 네트워크 경로를 사용하는 것만으로 앱이 작동하지 않는다고 판단하지 마세요. 특정 대상만 문제가 된다면 같은 서버와 네트워크를 유지한 채 Proxy로 임시 전환해 다시 시도하고 두 모드의 차이를 기록하세요. 테스트가 끝나면 일상 사용에 적합한 설정으로 되돌립니다.
직접 연결과 비교할 수도 있습니다. 연결을 끊은 상태에서 대상의 작동을 기록한 뒤 연결하고 다시 시도하세요. 비교하는 동안 Wi-Fi와 셀룰러 네트워크를 동시에 바꾸거나 서버를 변경하면 어떤 단계에서 차이가 발생했는지 알기 어렵습니다. 백그라운드 요청의 영향을 줄이려면 확인할 때 분명한 대상 페이지 몇 개만 사용하세요. 로그인, 결제 또는 민감한 업무와 관련해서는 해당 서비스의 안내를 따르고 네트워크 테스트 결과로 계정 상태를 판단하지 마세요.
- 먼저 연결 상태를 기록하세요: Home에서 연결이 유지되는지, 구체적인 오류 메시지가 표시되는지 확인합니다.
- 다음으로 테스트 조건을 기록하세요: 선택한 서버, Global Routing, Test Method, 그리고 Wi-Fi와 셀룰러 중 어떤 네트워크를 사용했는지 적어 둡니다.
- 마지막으로 접속 결과를 기록하세요: 대상이 열리는지, 로딩과 로그인 중 어느 단계에서 실패하는지, Config와 Proxy를 전환했을 때 어떤 차이가 있는지 확인합니다.
이 단계의 완료 기준은 특정 지연 시간 숫자가 표시되는 것이 아닙니다. 연결이 안정적으로 유지되고 예상한 대상에 같은 조건으로 반복해서 접속할 수 있어야 합니다. 테스트 결과는 있지만 접속에 실패했다면 그 차이를 기록하고 다음 단계에서 실패 지점별로 확인하세요. 숫자를 낮추려고 프로토콜 매개변수를 연달아 변경하지 마세요.
STEP 05 / CHECK
Settings: 오류가 발생한 지점부터 확인
설정을 바꾸기 전에 문제를 구체적인 단계로 분류하세요. 구독 업데이트 후 항목이 나타나지 않는 문제, Connectivity Test 시간 초과, 연결 스위치가 유지되지 않는 문제, 특정 서비스만 열리지 않는 문제는 각각 확인 경로가 다릅니다. 한 번에 한 항목만 변경하고 같은 테스트를 다시 실행하세요. 개선되지 않았다면 원래 값으로 되돌린 다음 다음 항목을 확인합니다. 네트워크, 모드, 매개변수를 한꺼번에 바꾸는 것보다 원인을 파악하기 쉽습니다.
자료 가져오기 실패: 라우팅보다 구독부터 확인
SERVER에 예상한 항목이 없다면 구독 기록으로 돌아가 주소가 완전한지, 접근 인증 정보가 유효한지, 업데이트 시 어떤 오류가 표시됐는지 확인하세요. 구독을 업데이트하려면 특정 네트워크가 필요한지 확인하고 자료 제공자에게 형식과 유효 상태를 문의하세요. 구독 주소를 공개 페이지에 올리거나 오류를 감추려고 같은 구독을 반복해서 추가하지 마세요. 자료를 가져온 뒤에 개별 서버를 테스트하세요.
테스트 시간 초과 또는 연결 실패: 매개변수와 현재 네트워크 확인
Type, Host, Port, 인증 정보를 하나씩 확인하세요. 붙여넣을 때 공백이 들어가지 않았는지, 포트 번호를 잘못 입력하지 않았는지, 프로토콜이 일치하는지 특히 주의합니다. 자료에 추가 전송 또는 TLS 매개변수가 있다면 원본 안내와 하나씩 대조하고 검증을 임의로 끄지 마세요. 시스템 시간이 비정상적이면 보안 연결에 영향을 줄 수 있으므로 기기의 날짜, 시간, 시간대도 확인하세요.
Settings에서 Test Method를 열어 같은 탐색 방식을 비교하고 있는지 확인하세요. 한 가지 탐색 방식에서 시간 초과가 발생해도 실제 접속이 정상이라면 시간 초과만으로 항목을 삭제하지 마세요. 반대로 탐색 응답이 있어도 실제 접속에 실패한다면 인증, 전송 방식, 대상까지의 경로를 계속 확인해야 합니다. 필요하다면 다른 조건은 그대로 두고 Wi-Fi와 셀룰러 네트워크를 각각 테스트해 접속 네트워크에 따른 차이인지 확인하세요.
일부 요청만 실패하는 경우: 모드를 비교해 규칙 확인
같은 서버에서 Proxy는 정상인데 Config에서 문제가 발생한다면 Config로 돌아가 현재 파일과 Rule을 먼저 확인하세요. DIRECT나 REJECT 규칙이 적용됐는지, 예상과 다른 정책을 참조하는지 살펴봅니다. 파일 끝에 규칙을 추가하면 앞서 일치한 규칙을 덮어쓸 것이라고 단정하지 마세요. 규칙 순서가 결과에 영향을 줍니다. 판단하기 어렵다면 원래 설정을 보존하고 대상 도메인과 두 모드에서의 결과를 기록하세요.
연결 상태가 반복해서 바뀌는 경우: On Demand와 진단 정보 확인
수동으로 연결을 끊은 뒤 다시 연결되거나 네트워크를 바꿀 때 상태가 반복해서 변한다면 Settings에서 On Demand에 연결 조건이 설정되어 있는지 확인하세요. 수동 연결 테스트에서는 먼저 해당 조건을 기록하고 필요한 경우 잠시 비활성화한 뒤 같은 현상이 계속되는지 확인합니다. 처음 문제를 확인하는 단계에서 Proxy, TCP, UDP 그룹의 고급 옵션을 무작정 변경하지 마세요. 연결 실패 때 모두 켜야 하는 옵션 목록은 아닙니다.
원인을 더 자세히 파악하려면 Settings의 Diagnostics를 확인하고 문제가 발생한 시간대와 관련 정보를 함께 기록하세요. 진단 정보를 공유하기 전에는 구독 링크, 인증 정보, 개인 주소 및 기타 민감한 항목을 가리고 문제를 재현하는 데 필요한 오류 메시지와 조건만 제공하세요. 시간 초과 문제는 노드 시간 초과 및 연결 실패 확인 순서를, 시스템 권한 문제는 VPN 구성 추가 안내를 참고하세요.