OFFICIAL MANUAL / QUICKSTART
Shadowrocket
가져오기, 연결 및 확인
5단계에 따라 첫 설정을 완료합니다. 먼저 기존 서버 하나를 사용할 수 있도록 설정한 뒤 규칙을 확인하세요. 서버, DNS, 트래픽 분기 설정을 한꺼번에 바꾸지 마세요.
순서대로 진행하는 데 약 10분 정도를 예상하세요. 실제 소요 시간은 준비된 정보의 완전성, 네트워크 상태 및 시스템 권한 승인에 따라 달라집니다. 이미지는 모두 App Store 공식 스크린샷으로, 화면에서 메뉴 위치를 확인하는 데 사용합니다. 실제 기기에 표시되는 항목을 기준으로 진행하세요.
STEP 01 / SERVER INPUT
Add Server: 서버 추가 또는 구독 가져오기
먼저 보유한 정보에 맞는 가져오기 방법을 선택합니다. 서버 한 대의 전체 연결 정보를 보유했다면 수동 추가를, 구독 링크가 있다면 Subscribe를 사용하세요. 두 방법 모두 Home의 SERVER 영역에 선택 가능한 서버를 표시하는 것이 목적입니다. 처음 연결할 때 두 방법을 모두 사용할 필요는 없습니다.
수동 추가: 보유한 정보에 맞춰 항목 입력
Home에서 Add Server를 누르거나, 항목을 추가하는 더하기 버튼을 눌러 추가 화면으로 이동합니다. 먼저 Type을 열고 보유한 정보에 표시된 프로토콜 유형을 선택한 다음 필요한 항목을 입력합니다. Type에 따라 표시되는 선택 항목이 달라지므로, 스크린샷을 그대로 따라 입력한 뒤 유형을 임의로 바꾸지 마세요.
예를 들어 공식 스크린샷에는 Host, Port, Password, Method 등의 항목이 표시됩니다. Host에는 서버 호스트 이름이나 주소를, Port에는 해당 포트를 입력하고, Password와 Method는 원본 정보를 하나씩 대조합니다. 다른 프로토콜은 인증, 전송 또는 보안 설정이 다를 수 있으므로 특정 유형의 Password 항목을 모든 프로토콜에 공통으로 적용하면 안 됩니다. 비밀번호의 대소문자, 끝의 공백, 복사 과정에서 포함된 줄바꿈도 실패 원인이 될 수 있습니다.
정보를 확인한 뒤 화면의 저장 또는 완료 버튼을 눌러 Home으로 돌아가고, SERVER에 방금 추가한 항목이 표시되는지 확인합니다. 정보가 QR 코드라면 Scan QR Code를 사용하고 시스템 안내에 따라 카메라 접근을 허용하세요. Import from Cloud JSON은 구조화된 정보를 가져오는 별도의 메뉴입니다. 일반 구독 링크를 해당 JSON 내용으로 사용하면 안 됩니다.
Subscribe: 본인의 전체 구독 링크 가져오기
구독 링크가 있다면 Add Server에서 Type을 열고 Subscribe를 선택합니다. 본인의 전체 링크를 해당 URL 항목에 입력하고 알아보기 쉬운 메모를 추가한 뒤 저장합니다. 링크는 본인이 이용하는 서비스의 정보를 사용하고, 복사할 때 전체 경로와 매개변수가 빠지지 않도록 합니다. 구독 링크에는 계정 정보가 포함되는 경우가 많으므로 공개 게시판에 올리거나 공유용 스크린샷에 노출하지 마세요.
저장한 뒤 구독 요청이 완료될 때까지 기다립니다. Home으로 돌아가 구독 그룹과 그 안의 서버 항목을 확인하세요. 그룹 이름만 표시되고 선택 가능한 서버가 없다면 바로 연결 스위치를 켜지 마세요. 먼저 구독 업데이트를 시도하고, 응답 내용이 로그인 페이지나 오류 페이지 또는 일반 웹페이지가 아닌 클라이언트가 인식할 수 있는 구독인지 확인합니다.
가져오기가 완료되면 테스트할 서버 하나를 선택합니다. 이후 문제 해결은 이 항목을 기준으로 진행해 실패할 때마다 여러 설정을 동시에 바꾸지 않도록 합니다. 구독과 .conf 구성 파일은 서로 다릅니다. 차이를 확인하려면 개념 빠른 참조의 구독 및 구성 설명을 살펴보세요.
STEP 02 / ROUTING CHOICE
Global Routing: 이번 트래픽 처리 방식 선택
이번에 확인할 대상이 서버인지, 일상적으로 사용할 규칙인지 먼저 정합니다. Home에서 Global Routing을 열면 Config, Proxy, Direct를 선택할 수 있습니다. 이 설정은 트래픽 처리 방식을 바꾸는 것으로, 잘못된 서버 비밀번호를 수정하거나 누락된 연결 정보를 보충하지는 않습니다.
첫 점검에는 Proxy, 규칙 분기에는 Config
Proxy는 이번 테스트를 현재 선택한 서버에 집중할 때 적합합니다. 처음 가져온 뒤에는 먼저 Proxy를 선택하고 다음 단계에서 연결하면 규칙 적용 차이로 인한 혼란을 줄일 수 있습니다. 그렇다고 모든 서비스에 반드시 접속할 수 있는 것은 아닙니다. 실제 결과는 서버, 대상 서비스 및 네트워크 상태의 영향을 받습니다.
Config는 현재 활성화된 구성의 규칙에 따라 요청을 처리합니다. 사용하기 전에 Config 화면에서 어떤 구성 파일이 적용 중인지 확인하세요. 파일 내용을 열어 볼 때는 General과 Rule을 중심으로 살펴봅니다. 파일을 열거나 수정했다는 사실만으로 해당 파일이 현재 구성으로 적용된 것은 아닙니다. 구성 목록에서 선택 상태도 확인해야 합니다.
Direct는 선택한 프록시 서버를 거치지 않고 대상에 직접 접속합니다. 비교 테스트에 활용할 수 있습니다. 같은 대상에서 Direct와 Proxy의 결과가 다르다면 네트워크 경로와 서버 문제를 구분해 살펴봐야 하며, 앱 스위치만을 원인으로 단정할 수 없습니다. 기존 서버를 통해 트래픽을 보내려면 상단에 연결됨으로 표시되는지만 보지 말고 현재 Direct가 선택되어 있는지도 확인하세요.
Config에서는 우선 확인만 하고 규칙은 섣불리 수정하지 않기
오른쪽 공식 스크린샷에는 구성 파일의 섹션과 Add Rule 메뉴가 표시됩니다. 처음 설정하는 단계에서는 기존 규칙의 정책 의미만 확인하고 Hosts, URL Rewrite, HTTPS Decryption은 수정하지 않아도 됩니다. 아래는 독립적인 구문 예시이며 기존 설정을 그대로 대체할 수 있는 완성된 구성도, 서버 정보도 포함하지 않습니다.
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY
Rule은 일반적으로 위에서부터 순서대로 확인하므로 앞쪽의 구체적인 규칙이 뒤쪽 규칙보다 먼저 결과를 결정할 수 있습니다. 예시에서 DOMAIN-SUFFIX는 도메인 접미사를, IP-CIDR은 주소 범위를 일치시킵니다. FINAL은 앞선 규칙에 일치하지 않은 요청을 처리합니다. PROXY, DIRECT, REJECT는 정책 키워드이며 Global Routing의 화면 옵션과 구분해서 이해해야 합니다.
모드를 확인한 뒤 Home으로 돌아가 선택한 서버를 유지합니다. 규칙을 더 자세히 구성하거나 DNS를 이해하고 구성 섹션을 조정하려면 시스템 가이드를 참고하세요. 여기서는 먼저 모드를 하나 선택해 연결하고, 테스트와 동시에 구성 전체를 다시 작성하지 않도록 합니다.
STEP 03 / CONNECTION
Home: 스위치를 켜고 시스템 권한 승인 완료하기
서버와 Global Routing을 모두 확인한 뒤 Home 상단 스위치를 켭니다. 연결 직전에 선택한 서버를 다시 확인하세요. 특히 구독에 이름이 비슷한 항목이 여러 개 있으면 주의해야 합니다. 그룹 이름과 실제로 선택한 서버는 항상 같은 단계에 표시되는 것은 아닙니다.
첫 연결 시 VPN 구성 안내 확인
처음 켜면 시스템에서 Shadowrocket이 VPN 구성을 추가하도록 허용할지 묻는 메시지가 표시될 수 있습니다. 이 안내는 클라이언트가 시스템 네트워크 기능을 통해 트래픽을 처리하도록 허용하기 위한 것입니다. 앱 이름과 안내 내용을 확인하고 시스템 화면에서 승인한 뒤 기기에서 요구하는 인증을 완료하세요. 승인을 취소했다면 앱으로 돌아와 다시 권한 요청을 시작해야 합니다. 승인이 완료되지 않은 상태를 원격 서버 문제로 판단하지 마세요.
권한 승인이 끝나면 Home으로 돌아가 상단 상태가 Not Connected에서 연결 상태로 바뀌는지 확인합니다. 스위치가 잠깐 켜진 것만으로 판단하지 마세요. 곧바로 꺼지거나 상태가 반복해서 바뀌면 현상을 기록한 뒤 5단계에서 점검합니다. 시스템 권한 승인은 로컬 구성이 허용되었다는 뜻이지, 원격 핸드셰이크와 DNS 조회 및 대상 접속이 모두 성공했다는 뜻은 아닙니다.
연결 후에는 설정을 그대로 유지
스위치가 켜진 상태라면 서버를 여러 개 바꾸거나 Global Routing을 연달아 변경하지 마세요. 현재 설정 조합을 유지하고 다음 단계에서 Connectivity Test를 실행한 뒤 실제로 접속하려는 대상을 열어봅니다. 이렇게 하면 실패하더라도 어떤 조건에서 발생했는지 확인할 수 있습니다.
iPad에서도 같은 순서로 서버를 선택하고 권한을 승인합니다. 화면 방향과 창 너비에 따라 목록과 세부 정보의 위치가 달라질 수 있습니다. 버튼의 정확한 위치만 보고 조작하지 말고 Home, Config 등의 화면 이름을 기준으로 메뉴를 찾으세요. 화면 구성이 스크린샷과 다르면 현재 화면과 조작 대상부터 확인합니다.
현재 연결을 중지하려면 Home으로 돌아가 상단 스위치를 끄고 연결 상태가 종료되는지 확인합니다. On Demand를 설정한 적이 있다면 조건에 따라 시스템이 다시 연결을 시작할 수 있습니다. 이 경우 구성을 반복해서 삭제하기보다 먼저 실행 조건을 확인하세요. 처음 설정할 때 On Demand를 추가로 켤 필요는 없습니다. 우선 수동으로 한 차례 확인하는 편이 문제를 찾기 쉽습니다.
STEP 04 / VERIFY REQUESTS
Connectivity Test: 테스트 결과와 실제 접속 결과를 구분해 확인
확인할 항목은 세 가지입니다. 테스트에 응답이 있는지, 실제 대상에 접속할 수 있는지, 요청이 예상한 정책에 따라 처리되는지 살펴봅니다. 서로 관련은 있지만 어느 한 항목이 다른 항목을 대신하지는 않습니다. 테스트에서 응답이 나왔더라도 해당 테스트 방식으로 결과를 얻었다는 뜻일 뿐, 모든 프로토콜과 웹사이트 및 규칙이 정상이라는 의미는 아닙니다.
먼저 테스트를 실행한 뒤 실제 요청 보내기
3단계에서 연결한 상태와 서버 선택을 유지하고 Home에서 Connectivity Test를 누른 뒤 결과를 기다립니다. 현재 네트워크, 서버 및 Global Routing을 기록하세요. 특정 지연 시간 수치를 목표로 삼을 필요는 없습니다. 시간 초과가 표시되더라도 테스트 대상, 테스트 방식, 서버 상태에 따라 결과가 달라질 수 있으므로 항목을 바로 삭제하지 마세요.
그다음 인터넷을 사용해야 하는 앱으로 전환해 대상 페이지를 열거나 실제 콘텐츠를 새로고침합니다. 캐시된 페이지를 연결 성공으로 오해하지 않도록 새 요청을 보내세요. 대상 서비스의 계정 로그인이 필요하거나 서비스 자체에 문제가 있다면 네트워크 연결 문제와 구분해 판단합니다.
전체 트래픽만 보지 말고 Data에서 규칙 확인
Shadowrocket으로 돌아가 Data에서 확인 가능한 요청 또는 연결 기록을 살펴보고 방금 접속한 대상, 시간 및 정책 정보를 대조합니다. Config를 사용하는 경우 요청이 예상한 PROXY, DIRECT 또는 REJECT로 처리되는지 확인하세요. 전체 트래픽이 증가했다는 사실만으로 특정 도메인에 원하는 규칙이 적용되었다고 볼 수는 없습니다.
Proxy에서는 대상에 접속되지만 Config로 전환한 뒤 실패한다면 서버 비밀번호를 다시 입력하기 전에 현재 활성화된 구성, 해당 규칙의 순서 및 FINAL을 확인합니다. 반대로 Proxy에서도 실패한다면 서버 정보, 네트워크 경로 및 실제 대상을 먼저 점검하세요. 모드별 결과를 비교하려면 같은 서버와 네트워크 및 대상을 사용해야 의미가 있습니다.
도메인 접속에만 문제가 있다면 그때 DNS를 추가로 살펴보세요. 증상을 확인하기 전에 DNS, 프로토콜 매개변수, 규칙을 여러 개 동시에 바꾸지 마세요. 한 번에 하나씩 변경하고 저장한 뒤 연결을 다시 설정해 새 요청을 보낸 다음 결과를 기록합니다. 캐시와 기존 연결에 이전 결과가 남을 수 있으므로 한 번 새로고침하는 것만으로 변경 사항 적용 여부를 판단하기 어렵습니다.
STEP 05 / ISOLATE FAILURE
Settings: 증상에 따라 흔한 실패 원인 점검
문제 해결은 증상을 분류한 뒤 설정을 변경하세요. 기존 구성과 복구 가능한 기록을 보존하고 모든 항목을 초기화하는 것부터 시작하지 마세요. 아래 순서는 가져오기, 로컬 연결, 원격 테스트, 규칙을 차례로 점검합니다. 해당 증상을 찾으면 한 항목을 수정한 뒤 4단계로 돌아가 다시 테스트하세요.
가져온 뒤 서버가 보이지 않음: 입력 내용부터 확인
구독이 업데이트되지 않거나 그룹이 비어 있다면 전체 링크가 제대로 복사되었는지, 만료되지 않았는지, 현재 네트워크에서 구독 주소에 접속할 수 있는지 다시 확인합니다. 계정 로그인 화면이나 오류 메시지가 반환되면 구독 자체의 접속 문제를 해결해야 합니다. 연결 버튼을 다시 눌러도 기존 서버 정보가 자동으로 채워지지는 않으며, 스위치를 반복해서 켜고 꺼도 예상과 다른 구독 내용을 수정할 수 없습니다.
수동으로 추가한 항목은 저장되었지만 사용할 수 없다면 Type, Host, Port와 해당 프로토콜에서 요구하는 인증 및 보안 항목을 하나씩 대조합니다. 특히 서로 다른 정보가 섞이지 않았는지 확인하세요. 한 서버의 호스트 이름에 다른 항목의 비밀번호나 전송 설정을 임의로 조합하면 안 됩니다. 이해하지 못하는 항목은 이름만 보고 추측해 입력하지 말고 원본 자료를 확인하세요.
스위치가 유지되지 않음: 로컬 권한과 실행 조건부터 확인
스위치를 켜자마자 꺼진다면 시스템 VPN 구성 권한이 완료되었는지, 시스템 VPN 연결에 영향을 주는 다른 구성이 있는지 먼저 확인합니다. Settings로 돌아가 On Demand를 살펴보세요. 네트워크에 따라 실행되는 조건을 설정했다면 원래 값을 기록한 뒤 자동 실행을 잠시 중지하고 수동으로 다시 테스트해 수동 연결 실패와 조건의 반복 실행을 구분합니다.
시스템의 VPN 구성을 확인하려면 시스템 설정에서 VPN을 검색해 해당 항목을 살펴볼 수 있습니다. 백업 없이 여러 구성을 한꺼번에 삭제하지 마세요. 상태 표시줄 아이콘만 보고 원격 서버가 검증되었다고 판단해서도 안 됩니다.
테스트 시간 초과 결과가 일정하지 않음: Test Method 확인
Settings에서 Test Method를 찾아 현재 테스트 방식을 확인합니다. 방식에 따라 확인하는 대상과 단계가 다르므로 테스트 결과를 앱에서 가능한 모든 실제 접속과 동일시할 수 없습니다. 먼저 동일한 방식으로 결과를 비교한 뒤 실제 대상 요청과 함께 판단하세요. 항목 하나가 한 번 시간 초과되었다고 해서 모두 같은 문제라고 단정하지 마세요.
필요하면 기존에 사용하던 네트워크와 이용 가능한 다른 네트워크를 비교하되, 매번 같은 서버와 모드를 유지합니다. 특정 네트워크에서만 실패한다면 해당 네트워크의 제한, 인증 또는 연결 상태를 확인합니다. 여러 네트워크에서 같은 항목이 모두 실패한다면 서버 정보와 서비스 상태를 다시 점검하세요.
일부 요청만 실패함: 규칙과 진단 추가 확인
특정 대상에서만 실패한다면 Data에서 해당 요청을 찾아 REJECT 처리되었는지, 의도하지 않은 DIRECT로 전달되었는지, 앞쪽 Rule이 먼저 일치했는지 확인합니다. 수정 전에 규칙 위치와 기존 값을 기록하세요. 문제를 가리기 위해 모든 요청을 같은 정책으로 바꾸지 말고, 임시 비교가 끝나면 원래 의도한 모드로 복구합니다.
Settings의 Diagnostics에서 추가 정보를 수집할 수 있습니다. 진단 정보에 대상 주소, 구독 정보 또는 연결 매개변수가 포함될 수 있으므로 공유 전에 내용을 확인하고 계정 정보 등을 가리세요. 처음 설정하는 단계에서는 Proxy, TCP, UDP 아래의 익숙하지 않은 항목을 임의로 바꾸지 마세요. 명확한 증상에 따라 하나씩 확인해야 합니다.
문제 해결이 끝나면 Home으로 돌아가 사용 가능한 것으로 확인된 서버를 선택하고 예상한 Global Routing 모드로 복구한 뒤 테스트와 실제 접속을 반복합니다. 일상적인 관리, 구독 업데이트, Data 확인 및 Settings의 추가 설명은 Shadowrocket 시스템 가이드에서 볼 수 있습니다. 이 페이지의 목표는 검증하고 복구할 수 있는 기본 설정을 만드는 것이며, 모든 고급 옵션을 한 번에 조정하는 것이 아닙니다.