Shadowrocket
가져오기와 첫 연결
먼저 연결 정보를 준비한 뒤 모드를 선택하고 스위치를 켜서 결과를 확인합니다. 이 공식 매뉴얼은 iPhone과 iPad에서 처음 사용하는 순서에 맞춰 각 단계에서 확인할 화면과 상태를 안내합니다.
- Add Server
- Subscribe
- Global Routing
- Connectivity Test
개별 서버와 구독은 서로 다른 정보 입력 방식이므로 둘 다 추가할 필요는 없습니다. 구독 링크가 있다면 두 번째 단계로 바로 이동하세요. 서버 매개변수를 모두 알고 있다면 첫 번째 단계를 완료한 다음 모드를 선택하면 됩니다.
Add Server: 기존 서버 정보 입력
Shadowrocket을 열고 Home의 SERVER 그룹에서 Add Server를 선택합니다. 먼저 주소를 입력하지 말고 Type을 확인하세요. Type에 따라 입력 항목이 달라지며, 프로토콜마다 인증 방식과 연결 매개변수가 다릅니다. 서버 이름만 보고 유형을 판단할 수 없습니다. 보유한 정보에 맞춰 Shadowsocks, VMess, VLESS, Trojan 등의 유형을 선택하고, 입력 항목을 줄이려고 다른 프로토콜을 선택하지 마세요.
다음으로 Host와 Port를 입력합니다. Host는 서버 도메인 또는 주소이고, Port는 해당 서비스가 실제로 사용하는 포트입니다. 두 값은 같은 연결 정보에서 확인해야 합니다. example.com은 형식을 설명하기 위한 예시일 뿐입니다. 전체 구독 링크를 Host에 붙여 넣거나 링크의 경로나 쿼리 매개변수를 포트로 입력하지 마세요. 붙여넣은 뒤 앞뒤 공백, 줄바꿈, 문장부호를 확인해 입력기가 영문 기호를 다른 문자로 바꾸지 않았는지도 살펴보세요.
계속해서 선택한 Type에 필요한 인증 정보를 입력합니다. 화면에 보이는 Password와 Method는 해당 유형의 입력 항목이며, 모든 프로토콜이 같은 매개변수를 사용한다는 뜻은 아닙니다. 보유한 정보에 TLS, Server Name 또는 다른 전송 옵션이 포함되어 있다면 각각 동일하게 입력하세요. 값을 모를 때는 원래 정보를 다시 확인하고, 검증을 끄거나 암호화 방식을 임의로 바꾸며 시험하지 마세요.
정보가 QR 코드로 제공됐다면 Scan QR Code로 가져온 뒤 편집 화면에서 Type, Host, Port를 다시 확인하세요. Import from Cloud JSON은 정해진 콘텐츠 형식으로 가져오는 별도 경로입니다. 임의의 웹 주소를 해당 설정으로 취급하지 마세요. 저장 후 Home으로 돌아가 SERVER 목록에 새 항목이 있는지 확인합니다. 여기까지는 저장을 마친 것이며 연결 성공을 의미하지는 않습니다.
Subscribe: 본인의 구독 링크 가져오기
서버 목록을 업데이트하는 구독 링크가 있다면 서버 정보를 하나씩 입력하지 말고 Subscribe를 사용하세요. 먼저 본인의 서비스 제공업체에서 링크 전체를 복사한 뒤 Home의 Add Server로 이동해 Type을 Subscribe로 선택합니다. 해당 URL 입력란에 링크를 붙여 넣고 알아보기 쉬운 설명을 입력하세요. 항목의 위치는 현재 앱 화면을 기준으로 합니다. 저장 전에 안내 페이지, 계정 페이지 또는 주문 페이지 주소를 구독 링크로 잘못 입력하지 않았는지 확인하세요.
구독 주소에는 계정을 식별하는 쿼리 매개변수가 포함될 수 있으므로 전체 주소를 그대로 유지해야 합니다. 끝부분을 빠뜨리거나 줄바꿈이 섞이거나 불필요해 보이는 매개변수를 직접 삭제하면 서버 목록을 읽지 못할 수 있습니다. 링크는 비공개 정보로 관리하세요. 도움을 요청할 때는 표시된 문구와 실패한 단계를 설명하고 전체 링크를 공개하지 마세요. 구독 내용을 다른 웹사이트에 붙여 넣어 처리할 필요는 없습니다.
저장한 뒤 구독을 업데이트하고 읽기가 끝날 때까지 기다린 다음 Home으로 돌아가 해당 그룹에 서버가 표시되는지 확인합니다. 여기서 확인할 점은 ‘항목을 가져왔는지’와 ‘항목에 연결할 수 있는지’가 서로 다르다는 것입니다. 업데이트 성공은 이번에 내용을 읽을 수 있었다는 뜻이지, 모든 서버에 연결된다는 뜻은 아닙니다. 목록이 비어 있어도 연결 스위치가 고장 났다고 단정하지 말고 링크, 구독 상태, 현재 네트워크에서 해당 주소에 접근할 수 있는지부터 확인하세요.
처음에는 구독을 한 번 수동으로 업데이트해 내용이 정상인지 확인한 뒤 자동 업데이트를 고려하세요. 같은 구독을 반복해서 만들면 링크 자체의 문제는 해결되지 않고 구분하기 어려운 그룹만 늘어날 수 있습니다. 업데이트에 실패하면 기존 항목과 원래 링크를 보존하고 오류 문구를 기록한 다음 구독 파싱 실패 또는 목록이 비어 있을 때 확인할 사항을 차례로 점검하세요. 자동 업데이트에 관한 내용은 구독 업데이트 안내를 참고하세요.
Global Routing: 세 가지 모드 구분
Home으로 돌아가 Global Routing을 열고 현재 선택 항목을 확인합니다. 세 가지 모드는 Config, Proxy, Direct입니다. 이는 요청 경로를 선택하는 방식이며 서버 프로토콜을 뜻하지 않습니다. 서버를 추가하는 것만으로 이 단계가 완료되지는 않습니다. 같은 서버라도 모드에 따라 일부 요청만 처리하거나 현재 요청에는 사용되지 않을 수 있습니다.
| 모드 | 용도 | 시작 전 확인 |
|---|---|---|
| Config | 현재 설정에 지정된 규칙에 따라 정책을 선택합니다. | 현재 사용하는 Config와 Rule을 확인합니다. |
| Proxy | 요청을 프록시 경로로 처리해 선택한 서버의 사용 가능 여부를 확인합니다. | 예상한 서버가 선택됐는지 확인하고 설정의 예외 항목도 살펴봅니다. |
| Direct | 직접 연결 경로를 사용합니다. | 대상에 직접 접속된다는 사실만으로 프록시 연결이 성공했다고 판단하지 마세요. |
평소처럼 규칙을 적용하려면 Config를 선택하고 Config에서 실제로 사용하는 설정 파일도 확인하세요. 해당 파일의 편집 화면에는 General, Rule, Hosts 등의 섹션이 표시됩니다. 이 중 Rule이 매칭 조건과 정책을 결정합니다. 파일을 열어 보기만 한 것은 해당 설정으로 전환한 것이 아니므로 목록으로 돌아가 현재 사용 중 표시를 확인하세요. 처음에는 기존 설정을 유지하고 여러 섹션을 동시에 편집하지 마세요.
예를 들어 DOMAIN-SUFFIX,example.com,PROXY는 도메인 접미사 조건에 해당하는 요청을 PROXY로 처리한다는 뜻입니다. FINAL,PROXY는 앞선 규칙에 일치하지 않은 경우 적용할 최종 선택을 지정합니다. 이는 문법 설명일 뿐 모든 사용자에게 적합한 완성형 설정은 아닙니다. 규칙 순서와 선택한 정책이 모두 결과에 영향을 주므로 키워드만 보고 요청이 반드시 프록시를 거친다고 판단할 수 없습니다.
서버 연결 문제와 규칙 선택 문제를 구분하고 싶다면 현재 모드를 기록한 뒤 잠시 Proxy를 선택해 비교 테스트할 수 있습니다. 테스트가 끝나면 원래 모드로 되돌리세요. Direct는 직접 접속 상태를 확인할 때 유용하지만 서버 사용 가능 여부는 확인할 수 없습니다. 규칙 적용 순서와 모드에 대한 자세한 내용은 Global Routing 설정 안내 및 규칙 확인 섹션을 참고하세요. 여기서는 먼저 확인 가능한 연결 과정을 한 번 완료합니다.
Home: 서버 선택 및 연결 시작
Home으로 돌아가 SERVER 그룹에서 사용할 서버를 선택하고 항목 왼쪽의 표시를 확인합니다. 항목 편집 화면에 들어가는 것과 기본 서버로 선택하는 것은 별개의 작업입니다. 매개변수를 확인하기만 하고 선택을 마쳤다고 생각하지 마세요. 그룹을 여러 개 가져왔다면 선택한 항목이 어느 그룹에 속하는지 확인하고 이후 테스트에서도 같은 항목을 유지해야 결과를 비교하기 쉽습니다.
Global Routing을 확인한 뒤 Home 상단의 연결 스위치를 켭니다. 처음 연결할 때 시스템에서 Shadowrocket이 VPN 구성을 추가하도록 허용해 달라고 요청할 수 있습니다. 요청이 현재 사용 중인 앱에서 온 것인지 확인한 다음 시스템 안내에 따라 허용하고 기기 인증을 완료하세요. 이 권한은 앱에 필요한 네트워크 구성을 설정하기 위한 것이며 서버 비밀번호를 대신하거나 계정에 사용할 수 있는 구독을 추가하지 않습니다.
Shadowrocket으로 돌아가 상단 상태가 여전히 Not Connected인지, 스위치가 켜진 상태로 유지되는지 확인합니다. 시스템 권한 요청을 취소했다면 서버 매개변수를 바꾸기 전에 권한 절차부터 처리하세요. 스위치를 켠 직후 다시 꺼진다면 표시 문구와 발생 시점을 기록합니다. 권한 요청 전인지, 허용한 뒤인지, 대상에 접속하기 시작한 뒤인지에 따라 점검할 항목이 달라집니다.
스위치가 켜져 있는 것과 대상에 접속할 수 있는 것은 별개의 문제입니다. 연결 상태는 우선 로컬 연결 절차가 설정됐는지를 나타낼 뿐, 서버 인증과 DNS, 모든 규칙이 올바른지까지 보장하지는 않습니다. 이제 모드와 서버를 그대로 둔 채 다음 단계에서 확인하세요. 비교 결과가 없는 상태에서 설정을 연달아 바꾸지 마세요.
Connectivity Test: 연결과 실제 접속을 각각 확인
Home에서 Connectivity Test를 실행하고 테스트가 끝날 때까지 기다린 뒤 선택한 서버의 결과를 확인합니다. Test Method에 따라 확인하는 내용이 달라지므로 비교하는 동안 같은 방식을 유지하세요. 테스트 성공은 해당 조건에서 응답을 받았다는 뜻일 뿐, 대상 앱의 모든 연결이 성공했다는 의미는 아닙니다. 한 번의 시간 초과만으로 인증 오류인지, 서버에 접근할 수 없는지, 테스트 대상이 일시적으로 응답하지 않는지 판단할 수도 없습니다.
그다음 실제로 사용하려는 대상 페이지나 앱을 열고 페이지 새로고침처럼 명확한 작업을 수행하세요. 이미 캐시된 내용만 확인해서는 안 됩니다. 평소 사용하는 대상 두 곳을 비교해 어느 곳에서 성공하거나 실패했는지 기록해도 좋습니다. Config에서 특정 대상만 문제가 있다면 모든 서버를 즉시 바꾸기보다 해당 요청에 적용된 규칙부터 확인하세요.
요청 경로를 확인해야 한다면 현재 앱에서 볼 수 있는 연결 기록이나 로그를 참고해 대상 도메인과 최종 정책을 확인하세요. PROXY, DIRECT, REJECT는 각각 프록시, 직접 연결, 거부 정책을 뜻합니다. 로컬 연결 스위치가 켜져 있어도 DIRECT 요청은 정상적으로 직접 연결될 수 있습니다. 요청에 REJECT가 적용됐다면 해당 규칙이 의도에 맞는지 먼저 확인하세요. 규칙에서 거부된 요청을 서버 장애로 바로 판단하면 안 됩니다.
‘서버 테스트 응답 → 시스템 연결 유지 → 대상에 실제 접속 → 정책이 예상과 일치’ 순서로 결과를 기록하면 됩니다. 앞의 세 항목은 정상인데 정책이 예상과 다르면 Global Routing과 Config를 다시 확인하세요. 테스트와 대상 접속이 모두 실패하면 다음 단계에서 정보와 네트워크 조건을 점검합니다. 한 번에 변수 하나만 바꾸고 다시 테스트해야 어떤 변경이 영향을 줬는지 알 수 있습니다.
Settings: 실패 단계에 따라 하나씩 점검
가져오기 실패: 먼저 정보가 완전한지 확인
구독을 저장한 뒤 파싱에 실패하거나 목록이 비어 있다면 구독 편집 화면으로 돌아가 링크가 완전한지 확인하고, 사용 중인 서비스의 상태와 현재 네트워크에서 구독 주소에 접근할 수 있는지 살펴보세요. 개별 서버 정보라면 Type, Host, Port, 인증 항목을 다시 대조합니다. 아직 사용할 수 있는 항목이 확인되지 않은 단계에서는 DNS, 규칙, On Demand를 먼저 바꿀 필요가 없습니다. 이후 설정으로 누락된 연결 정보를 보완할 수는 없습니다.
연결 실패: 선택 상태와 시스템 권한 확인
항목은 표시되지만 연결을 켠 직후 중단된다면 먼저 Home에서 선택 표시를 확인하고 시스템 VPN 구성 권한이 완료됐는지 살펴본 다음 앱의 안내를 확인하세요. 네트워크 환경을 바꿔 비교할 수 있지만 서버와 매개변수는 동일하게 유지해야 합니다. 구독을 다시 만들고 포트를 바꾸고 모드까지 전환하면 성공하거나 실패해도 원인을 찾기 어렵습니다.
테스트 결과와 실제 접속이 다름: Test Method와 DNS 확인
Settings에서 Test Method를 확인하고 테스트 방식이 확인하려는 내용에 맞는지 살펴보세요. 일부 테스트는 연결의 일부만 확인하므로 실제 접속 결과도 함께 봐야 합니다. 다른 연결은 정상인데 도메인만 해석되지 않는다면 DNS를 확인하세요. 기존 값과 현재 Config를 먼저 기록하고 여러 DNS 주소를 바로 추가하지 마세요. 시스템 DNS, 사용자 지정 DNS, DNS over HTTPS의 차이와 선택 방법은 DNS 설정 안내를 참고하세요.
연결 동작이 예상과 다름: On Demand 확인
네트워크 조건에 따라 연결이 자동으로 시작되거나 수동 스위치의 동작이 예상과 다르다면 Settings에서 On Demand와 설정 조건을 확인하세요. 처음 점검할 때는 현재 상태를 기록하고 수동 연결 조건을 일정하게 유지한 다음 변경 여부를 결정합니다. On Demand의 기본값은 현재 앱에 표시되는 값을 기준으로 하며, 다른 사람과 설정이 다르다는 이유만으로 그대로 따라 하지 마세요.
계속 실패함: 진단에 필요한 정보만 기록
추가 분석이 필요할 때 Diagnostics 또는 현재 앱에서 제공하는 관련 로그를 확인하세요. 우선 발생 시각, 수행한 단계, 오류 문구, 사용한 Type, 최종 정책만 기록하면 됩니다. 공유하기 전에 구독 링크와 서버 인증 정보, 문제와 관련 없는 접속 기록을 가리세요. 로그에는 대상 도메인과 주소가 포함될 수 있으므로 전체 내용을 공개하지 마세요.
사용할 수 있는 설정을 찾았다면 먼저 정상적으로 사용하고, 추가로 조정할 항목은 하나씩 살펴보세요. Settings의 Proxy, TCP, UDP 등은 더 세부적인 연결 동작 설정이며 첫 연결 때 모두 변경할 필요는 없습니다. 각 항목의 의미와 설정 방법은 Settings 옵션 안내서에서 확인하세요. 처음부터 다시 진행하려면 이 튜토리얼의 Add Server 단계로 돌아가 정보 입력 방법을 확인할 수 있습니다.