공식 가이드 · iPhone / iPad
Shadowrocket 사용법
가져오기, 라우팅, 연결, 확인, 문제 해결의 다섯 단계를 진행합니다. 먼저 재현 가능한 연결을 한 번 완료한 다음 세부 규칙과 설정을 조정하세요.
사용 가능한 기본 네트워크를 먼저 준비하고 서비스 제공업체가 안내한 원본 정보를 보관하세요. 서버, 규칙, DNS를 동시에 변경하면 문제가 생겼을 때 원인을 파악하기 어렵습니다. 앱에 기존 구성이 있다면 원래 Config와 서버 항목을 보존하고, 새 구성이 제대로 작동하는지 확인한 다음 정리하세요. 스크린샷은 화면과 입력 항목을 확인하기 위한 자료이며, 서버 매개변수를 그대로 따라 입력하라는 뜻은 아닙니다.
STEP 01 / IMPORT
Add Server: 서버 추가 또는 구독 가져오기
Shadowrocket을 열고 Home으로 이동합니다. 처음 사용하는 경우 SERVER 그룹에 항목이 없을 수 있습니다. 오른쪽 위의 추가 버튼을 눌러 Add Server를 여세요. 다음 두 방법 중 하나를 선택합니다. 구독 링크가 있으면 구독 방식으로 진행하고, 서버 한 대의 전체 정보가 있으면 직접 입력합니다. 구독 주소와 서버 주소는 서로 다른 정보이므로 같은 입력란에 넣지 마세요.
기존 구독 링크가 있는 경우: Subscribe 선택
Add Server에서 Type을 누르고 Subscribe를 선택한 다음, 본인의 구독 주소 전체를 URL 입력란에 넣습니다. 알아보기 쉬운 이름을 지정하고, 복사 과정에서 공백이나 줄바꿈, 따옴표가 추가되지 않았는지 확인한 뒤 저장하세요. 구독 주소에는 접근 자격 정보가 포함되는 경우가 많으므로 비공개 정보로 취급하세요. 공개 게시판에 올리거나 전체 링크가 보이는 스크린샷을 공유하지 마세요.
저장한 뒤 Home으로 돌아와 구독 내용을 불러올 때까지 기다립니다. 정상적으로 읽히면 해당 구독에 연결된 서버 항목이 표시됩니다. 이름이 예상한 대로인지 확인하고, 이후 테스트에 사용할 항목을 하나 선택하세요. 구독 그룹만 표시되고 서버가 없다면 연결을 켜지 마세요. 링크를 읽을 수 있는지와 서비스가 유효한지 확인한 뒤 업데이트를 시도하세요. 구독은 서버 목록을 관리하는 기능이며, 라우팅에 사용할 Config를 자동으로 선택해 주지는 않습니다.
기존 서버 정보가 있는 경우: Type에 맞춰 항목 입력
직접 추가하려면 먼저 Type에서 정보에 해당하는 프로토콜을 선택한 뒤 Host, Port 및 해당 프로토콜에 필요한 인증 정보를 입력합니다. 스크린샷에는 Password와 Method 등의 항목이 있지만 Type에 따라 입력 양식은 다릅니다. 예를 들어 UUID를 사용하는 구성에 비밀번호 입력 방식을 적용할 수 없습니다. TLS, 전송 방식 또는 서버 이름이 포함된 경우에도 원본 정보와 항목별로 대조하고 임의로 값을 추가하지 마세요.
Host에는 서버 도메인이나 주소를 입력하고 웹 경로는 덧붙이지 않습니다. Port는 제공된 정보대로 입력하세요. Password, UUID 등의 인증 정보는 대소문자와 앞뒤 공백을 확인합니다. 안내된 경우에만 다른 옵션을 변경하세요. QR 코드가 있다면 Add Server에서 Scan QR Code를 사용해 읽고 저장 전에 인식된 항목을 확인합니다. Import from Cloud JSON은 별도의 구성 가져오기 방식이므로 일반 구독 주소를 임의로 입력하지 마세요.
이 단계의 확인 사항: Home으로 돌아왔을 때 서버 항목이 표시되고, 선택한 항목이 방금 가져온 정보에서 온 것인지 확인합니다. Type, Subscribe, Config의 차이를 모르겠다면 먼저 용어 해설을 확인하세요. 항목이 제대로 등록되었으면 다음 단계에서 Global Routing을 선택하고 여러 연결 설정을 한꺼번에 변경하지 마세요.
STEP 02 / ROUTING
Global Routing: 라우팅 방식과 Config 선택
서버를 가져온 뒤 Home으로 돌아가 Global Routing을 누릅니다. 이 설정은 연결을 켰을 때 트래픽을 처리하는 방식을 결정하며, SERVER에서 서버를 고르는 것과는 별개의 설정입니다. 세 가지 모드는 Config / Proxy / Direct입니다. 테스트할 때 현재 선택된 모드를 기록해야 이후 접속 결과와 비교할 수 있습니다.
Config: 구성 파일의 규칙에 따라 처리
도메인이나 주소에 따라 평소 트래픽을 라우팅하려면 Config를 사용합니다. Config 화면으로 이동해 사용할 구성 파일이 있는지, 선택되어 있는지 확인하세요. 구성 파일을 열면 General, Rule, Hosts 등의 섹션을 확인할 수 있습니다. Rule의 규칙은 요청이 일치했을 때 적용할 정책을 결정합니다. 구성 파일을 목록에 가져오기만 해서는 현재 사용 중이라고 볼 수 없으므로 목록으로 돌아가 선택 상태를 확인하세요.
준비된 Config가 없다고 해서 구독을 가져오면 모든 상황에 맞는 규칙이 자동 생성된다고 생각하지 마세요. 기존 구성의 출처와 용도를 먼저 확인하세요. 서버 사용 가능 여부를 처음 진단할 때는 비교를 위해 잠시 Proxy를 사용할 수 있으며, 확인한 뒤 Config로 돌아오면 됩니다. 가이드를 따라 하기 위해 기존 파일을 덮어쓸 필요는 없으며, 처음 연결할 때 HTTPS Decryption을 켜거나 URL Rewrite를 추가할 필요도 없습니다.
Proxy와 Direct: 트래픽 처리 경로 구분
Proxy는 클라이언트가 처리하는 트래픽을 프록시 경로로 보냅니다. 서버 자체가 사용 가능한지 확인할 때 유용합니다. 그렇다고 모든 앱의 모든 요청을 한꺼번에 검증할 수 있거나 서버 측 기능 점검을 대신하는 것은 아닙니다. Direct는 직접 접속 경로를 사용합니다. 이를 선택한 상태에서 웹페이지가 열린다고 해서 선택한 서버가 작동 중이라는 뜻은 아닙니다. 비교가 필요하면 같은 네트워크와 테스트 페이지를 사용하고 이 항목만 바꿔 결과 차이를 기록하세요.
규칙을 확인할 때는 먼저 일치 조건을 보고 마지막에 적용되는 정책을 확인하세요. 다음은 규칙 구문 예시이며 현재 Config를 덮어쓸 수 있는 완전한 구성은 아닙니다. PROXY의 실제 대상은 구성에 정의된 정책 및 현재 선택한 서버와도 일치해야 합니다.
DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY
규칙은 일반적으로 순서대로 확인하며, 앞선 규칙과의 일치 여부에 따라 이후 규칙의 적용 여부가 달라집니다. FINAL은 앞선 규칙에 일치하지 않은 경우의 처리 방식을 지정합니다. 따라서 같은 서버라도 Config가 다르면 웹사이트 접속 결과가 달라질 수 있습니다. 처음 사용할 때는 명확한 확인 대상 몇 개만 정하고 규칙 범위를 서둘러 넓히지 마세요. 규칙을 자세히 살펴보려면 문제 해결을 참고하세요.
이 단계의 확인 사항: 현재 Global Routing에서 어떤 모드를 사용 중인지 파악하세요. Config를 선택했다면 현재 선택된 구성 파일도 확인해야 합니다. 두 가지를 기록한 뒤 연결 승인을 진행합니다.
STEP 03 / CONNECT
Home: 서버 선택 및 연결 켜기
Home으로 돌아와 SERVER 목록에서 사용할 서버를 선택합니다. 항목이 여러 개라면 정보가 완전하고 서비스 상태가 유효하다고 확인한 서버 하나를 사용하세요. 첫 테스트 중에는 서버를 계속 바꾸지 마세요. Global Routing이 이전 단계에서 선택한 모드인지 확인한 다음 Home 상단의 연결 스위치를 켭니다. 스크린샷의 Not Connected는 연결이 아직 설정되지 않았다는 뜻이며 서버 이름이 아닙니다.
처음 연결을 설정할 때 iPhone 또는 iPad에 VPN 구성 추가를 요청하는 시스템 안내가 표시될 수 있습니다. 앱의 네트워크 연결을 구성하기 위해 필요한 시스템 승인 단계입니다. 안내를 읽고 방금 Shadowrocket에서 연결 스위치를 켜서 표시된 요청인지 확인한 뒤 시스템 안내에 따라 기기 인증을 완료하세요. 안내를 취소했다면 앱으로 돌아와 연결을 다시 시작하면 됩니다. 스위치가 켜진 상태로 유지되지 않는다고 서버를 바로 삭제하거나 모든 설정을 재설정하지 마세요.
시스템 승인과 서버 인증은 서로 다른 절차입니다. 전자는 기기에서 해당 VPN 구성을 사용하도록 허용하는 것이며, 후자는 Host, Port, 인증 정보 및 서버 측 설정이 올바른지에 달려 있습니다. 승인을 마치고 Home으로 돌아와 상단 연결 상태가 바뀌는지, 스위치가 켜진 상태로 유지되는지 확인하세요. 시스템의 VPN 표시는 기기 화면 구성과 위치에 따라 다를 수 있으므로 상태 표시줄의 특정 아이콘 하나만으로 판단하지 마세요.
스위치를 켜자마자 꺼지면 먼저 시스템 승인이 완료되었는지 확인하세요. 현재 연결을 관리하는 다른 VPN 구성, 기기 관리 제한 또는 On Demand 설정이 영향을 주는지도 살펴봅니다. 처음 수동으로 확인하는 동안에는 기존 On Demand 설정을 기록해 자동 연결 동작이 판단을 방해하지 않도록 하세요. 용도를 모르는 상태에서 기기의 다른 구성을 삭제하지 마세요. 특히 관리 대상 기기의 설정은 주의해야 합니다.
스위치가 켜진 상태로 유지된다면 먼저 현재 서버와 모드를 그대로 두고 DNS, TCP, UDP 옵션은 바로 변경하지 마세요. 연결 상태는 로컬 연결 절차가 진행되었음을 뜻할 뿐 웹 접속 성공을 보장하지 않습니다. 어느 단계에서 문제가 생겼는지 확인하려면 다음 단계에서 Connectivity Test와 실제 페이지 접속을 각각 점검해야 합니다.
이 단계의 확인 사항: SERVER에서 항목 하나가 명확히 선택되어 있고, 시스템 승인이 완료되었으며, 연결 스위치가 켜진 상태로 유지되는지 확인합니다. 승인이나 스위치 단계에서 계속 막히면 이 페이지의 자주 발생하는 문제로 이동해 연결 설정 문제부터 해결하세요.
STEP 04 / VERIFY
Connectivity Test: 연결이 예상대로 작동하는지 확인
이전 단계에서 사용한 네트워크, 서버, Global Routing을 그대로 유지하고 Home에서 Connectivity Test를 눌러 결과가 나올 때까지 기다립니다. 이 테스트는 도달 가능성을 판단하는 단서를 제공할 뿐 모든 웹사이트, 프로토콜, 앱을 완전히 검증하지는 않습니다. 테스트 방식에 따라 결과의 의미도 달라지므로 수치만으로 평소 사용 품질을 판단하거나 한 번의 테스트 성공을 모든 설정이 올바르다는 증거로 삼지 마세요.
이어서 브라우저를 열고 반복해서 테스트할 수 있는 익숙한 페이지에 접속합니다. 먼저 페이지가 정상적으로 로드되는지 확인한 다음 실제로 사용하려는 기능을 살펴보세요. Config를 사용한다면 Proxy를 사용할 것으로 예상되는 접속과 DIRECT를 사용할 것으로 예상되는 접속을 각각 테스트합니다. 원래 직접 접속할 수 있는 페이지 하나만 테스트하면 프록시 경로가 실제로 작동하는지 구분할 수 없습니다.
규칙이 결과 차이의 원인이라고 의심되면 서버는 그대로 둔 채 잠시 Proxy로 전환해 같은 페이지에 다시 접속합니다. Proxy에서는 접속되지만 Config에서는 안 된다면 현재 Config, 규칙 순서, 정책 대상 및 DNS를 우선 점검하세요. 두 모드 모두 실패한다면 서버와 기본 네트워크부터 확인합니다. 이는 비교 테스트를 위한 절차이며, 모든 문제를 해결할 때 모드를 계속 전환하라는 뜻은 아닙니다.
비교할 때 브라우저 캐시와 이미 설정된 연결도 고려하세요. 필요하면 페이지를 다시 열거나 앱에서 요청을 새로 보내 기존 연결의 영향을 줄입니다. 확인을 위해 낯선 테스트 사이트에 접속하거나 어떤 페이지에 구독 정보나 인증 정보를 입력할 필요는 없습니다. 특정 서비스의 사용 가능 여부를 확인하려면 동일한 조건에서 실제로 이용해 본 결과를 기준으로 판단하세요.
네 가지 정보를 기록하세요. 사용한 네트워크, 선택한 서버 이름, Global Routing 모드, 테스트 페이지에서 나타난 현상입니다. 예를 들어 “Wi-Fi에서 서버 A, Config, 페이지는 열리지만 이미지가 로드되지 않음”처럼 다른 사람에게 상황을 전달할 수 있게 적으면 됩니다. 서버 이름은 본인이 알아볼 수 있도록 로컬에서 표시하고, 공개 기록에 실제 주소나 인증 정보를 쓰지 마세요.
STEP 05 / DIAGNOSE
Settings: 증상에 따라 자주 발생하는 문제 확인
문제가 발생하면 설정을 연이어 변경하지 말고 먼저 멈추세요. Shadowrocket 연결을 끄고 기기의 기본 네트워크만으로 평소 접속할 수 있는 페이지가 열리는지 확인합니다. 공용 Wi-Fi에서 네트워크 로그인 절차가 필요하다면 먼저 완료하세요. 그런 다음 다시 연결하고 아래에서 해당 증상을 확인합니다. 한 번에 조건 하나만 바꾸고 네 번째 단계에서 했던 동일한 테스트를 반복하세요.
구독을 저장했지만 서버 항목이 표시되지 않음
URL이 빠짐없이 복사되었는지, 구독이 아직 유효한지, 현재 네트워크에서 구독 내용을 불러올 수 있는지 다시 확인하세요. 일반 웹 주소를 구독 링크로 착각하지 말고 같은 링크를 여러 그룹에 반복해서 추가하지 마세요. 이전에 사용 가능한 목록이 있었다면 업데이트가 실패해도 기존 항목을 보존하고 원인을 확인한 뒤 정리하세요. 링크 권한, 유효 기간 또는 응답 내용에 문제가 있다면 본인이 이용 중인 서비스 제공업체의 안내를 확인해야 합니다. 클라이언트가 누락된 서버 정보를 자동으로 보충할 수는 없습니다.
서버 테스트가 시간 초과되거나 연결 후 접속할 수 없음
먼저 원본 정보와 Host, Port, Type 및 인증 항목이 일치하는지 확인한 다음 TLS와 전송 방식 같은 추가 항목도 점검하세요. 시간 초과는 도달 가능성을 더 확인해야 한다는 단서일 수 있지만, 그 결과만으로 비밀번호가 잘못되었다고 단정할 수는 없습니다. Wi-Fi와 셀룰러 데이터를 바꿔 비교할 때는 다른 조건을 그대로 유지하세요. 한쪽 네트워크에서만 실패한다면 차이를 기록하고 Config를 바로 덮어쓰지 마세요. 단계별 점검은 서버 시간 초과 문제 해결을 참고하세요.
Connectivity Test에 결과가 표시되는데 웹페이지가 열리지 않는다면 Global Routing에서 Direct를 잘못 선택했는지, Config에서 대상이 예상과 다른 정책에 지정되었는지 확인하세요. 규칙을 확인한 다음 DNS를 점검합니다. 처음부터 DNS 설정과 서버를 동시에 바꾸지 마세요. 접속이 복구되더라도 어떤 변경이 효과가 있었는지 알 수 없습니다.
설정을 바꾼 뒤 테스트 결과가 달라짐
Settings에서 Test Method를 확인하세요. 테스트 방식을 변경한 뒤의 결과는 이전 결과와 같은 지표로 바로 비교할 수 없습니다. Diagnostics는 문제 해결 단서를 더 수집할 때 사용할 수 있지만 처음 사용하는 단계에서 Proxy, TCP, UDP 등의 그룹에 있는 옵션을 임의로 바꿀 필요는 없습니다. 특정 항목을 조정한 직후 문제가 생겼다면 우선 그 항목만 원래대로 되돌리고 기존 테스트를 반복하세요. 앱 전체를 초기화할 필요는 없습니다.
On Demand는 조건에 따라 연결을 시작할 수 있으므로 수동으로 연결을 끈 뒤 다시 연결되는 현상은 해당 설정과 함께 확인해야 합니다. 먼저 수동 연결을 확인한 다음 자동 연결 조건을 설정하세요. iPad에서도 같은 순서로 진행합니다. 창 크기나 화면 방향에 따라 메뉴 위치는 달라질 수 있지만 구독, 서버, Config의 역할은 변하지 않습니다.
문제 해결 정보를 정리할 때는 오류 메시지, 조작 순서, 발생 조건을 남기고 구독 URL, Password, UUID, 실제 서버 주소 등 민감한 정보는 삭제하세요. 스크린샷에 이런 정보가 포함되지 않았는지도 확인합니다. 앱 업데이트 후 문제가 생겼다면 현재 설정을 기록하고 App Store의 앱 정보를 확인한 다음 항목별로 다시 테스트하세요. 한 번 실패했다고 구성이 무효가 되었다고 단정하지 마세요.
이 단계의 확인 사항: 가져오기, 승인, 서버 연결 가능 여부, 규칙, 실제 접속 중 어느 단계에서 실패했는지 설명할 수 있어야 합니다. 기본적인 질문은 자주 묻는 질문에서 확인하세요. DNS, 배터리 소모 또는 업데이트 후 문제를 단계별로 점검하려면 문제 해결을 참고하세요. 시작 단계에서 모든 고급 옵션을 한꺼번에 변경하지 마세요.
첫 연결 후 이어서 읽을 내용
먼저 사용 가능하다고 확인한 서버와 Config를 그대로 두고, 필요에 따라 규칙과 조건부 연결을 살펴보세요. 구독 업데이트와 구성 파일 변경은 따로 진행합니다. 변경할 때마다 같은 접속 테스트를 반복하면 차이를 확인하고 이전 상태로 되돌리기 쉽습니다.