Shadowrocket
기능 및 설정
먼저 Global Routing을 설정한 다음 규칙, 서버, DNS를 확인하세요. 한 번에 한 항목만 변경하고 같은 요청으로 결과를 검증합니다.
iPhone, iPad, Mac, Windows, Android, Linux를 지원합니다. 아래에서는 iPhone·iPad의 영어 인터페이스를 예로 들며, 다른 플랫폼의 메뉴 위치와 사용 가능한 설정은 실제 화면을 기준으로 확인하세요.
- Global Routing → 규칙 → 정책
- 설정은 한 번에 하나씩 변경
- 로그와 실제 요청으로 확인
Global Routing 세 가지 모드
모드는 요청을 구성 규칙에 따라 처리할지 결정하며, 어떤 서버를 선택했는지와는 별개입니다.
무엇인가요: Global Routing은 전체 트래픽의 라우팅 방식을 정합니다. Home에서 Global Routing을 열고 Config, Proxy, Direct 중 하나를 선택할 수 있습니다. 도메인과 주소별로 트래픽을 분기하려면 보통 Config를 선택합니다. 규칙의 영향을 배제해 비교할 때만 Proxy나 Direct를 잠시 사용하세요. 모드 변경과 연결 시작은 별개의 작업입니다. 모드를 선택한 뒤에도 Home에서 연결 상태를 확인해야 합니다.
| 화면 옵션 | 요청 처리 방식 | 사용하기 좋은 경우 | 확인할 항목 |
|---|---|---|---|
| Config · 구성 | 현재 구성의 규칙에 따라 정책을 결정합니다. | 일상적인 트래픽 분기, 로컬 네트워크 직접 연결, 특정 도메인에 정책 지정. | 현재 구성, 규칙 순서, FINAL. |
| Proxy · 프록시 | 가로채는 요청을 프록시로 처리하며, 일반적인 트래픽 분기 규칙에 따라 개별 판단하지 않습니다. | 규칙 때문에 연결 경로가 달라지는지 임시로 확인할 때. | 현재 선택한 서버와 실제 연결 가능 여부. |
| Direct · 직접 연결 | 가로채는 요청을 직접 연결로 처리합니다. | 로컬 네트워크에서 대상에 접속할 수 있는지 비교할 때. | 현재 네트워크, 대상 서비스, DNS. |
설정 방법: 먼저 Config에서 사용할 구성을 확인한 다음 Home으로 돌아가 Global Routing을 Config로 설정합니다. 사용할 서버를 선택하고 연결을 시작하세요. 같은 대상을 새로 요청해 로그에서 일치한 규칙과 정책을 확인합니다. 테스트 중에는 네트워크 조건을 동일하게 유지하세요. Wi-Fi와 라우팅 모드를 동시에 바꾸면 어떤 변경이 영향을 미쳤는지 판단하기 어렵습니다.
주의사항: Proxy가 모든 연결 문제를 해결하는 것은 아니며, Direct를 선택해도 시스템의 VPN 연결이 꺼지는 것은 아닙니다. 모드는 라우팅 처리 방식만 나타냅니다. 시스템이 트래픽을 가로채는 범위, 구성의 예외, 플랫폼의 네트워크 처리 방식도 결과에 영향을 줍니다. 점검이 끝나면 원래 사용하던 모드로 되돌려 임시 설정이 남지 않게 하세요.
규칙 유형과 정책
규칙은 무엇과 일치하는지, 정책은 일치한 뒤 어떻게 처리할지를 정합니다.
Config에서 현재 구성 편집
무엇인가요: 규칙 기반 트래픽 분기는 요청의 도메인이나 주소 등의 조건에 따라 처리 방식을 선택합니다. Config에서 현재 사용 중인 구성을 찾아 편집 메뉴로 [Rule] 섹션을 확인하세요. 규칙은 위에서 아래로 검사하며, 일치하면 해당 행의 정책을 적용합니다. 따라서 구체적인 예외 규칙은 대체로 범위가 넓은 규칙보다 위에 두는 것이 좋습니다.
설정 방법: DOMAIN은 전체 도메인과 일치하고, DOMAIN-SUFFIX는 도메인과 하위 도메인에 일치하며, DOMAIN-KEYWORD는 도메인에 포함된 키워드로 일치 여부를 판단합니다. IP-CIDR과 IP-CIDR6은 각각 IPv4 및 IPv6 대역에 일치합니다. GEOIP는 주소의 지리적 위치 데이터로 판단합니다. USER-AGENT는 확인할 수 있는 요청 정보가 있어야 하므로 모든 연결에서 사용할 수 있다고 가정하면 안 됩니다.
주의사항: PROXY는 프록시 정책, DIRECT는 직접 연결, REJECT는 요청 거부를 뜻합니다. 화면 옵션 Proxy와 규칙 정책 PROXY는 대소문자가 다르므로 구성 편집 시 키워드를 원문 그대로 유지하세요. FINAL은 앞선 규칙에 일치하지 않은 요청에 적용되는 최종 정책이므로 맨 아래에 둬야 합니다. 너무 위에 두면 뒤에 있는 규칙이 적용되지 않습니다.
위 예시는 구문 설명용이며 모든 네트워크에 적합한 완성 구성은 아닙니다. 수정 전에 현재 구성을 복사해 보관하고, 변경 후에는 요청을 새로 보내 일치 기록을 확인하세요. 기존 연결은 이전 경로를 계속 사용할 수 있으므로, 이미 열린 장기 연결 하나만 새로고침해서 규칙이 적용되지 않았다고 판단하면 안 됩니다. 전체 섹션 구조와 일치 조건은 구성 전체 안내에서 확인하세요.
구독 및 서버 관리
서버 매개변수, 구독 출처, 구성 파일은 서로 다른 항목이므로 각각 관리해야 합니다.
Home, Add Server, Subscribe
무엇인가요: 서버 항목에는 주소, 포트, 프로토콜, 인증 정보가 저장됩니다. Subscribe는 본인이 보유한 구독 주소에서 서버 목록을 가져올 때 사용하며, Config에는 라우팅 규칙 등의 설정이 저장됩니다. 구독을 가져와도 현재 필요에 맞는 트래픽 분기 규칙이 자동으로 마련되는 것은 아닙니다. 구성 변경은 서버 목록 변경과 별개입니다.
위치 및 설정 방법: Home에서 Add Server를 눌러 서버 항목을 추가하고, 정보 제공자가 안내한 프로토콜에 맞춰 값을 입력하세요. Shadowsocks, VMess, VLESS, Trojan, Hysteria2, WireGuard는 필요한 항목이 서로 다릅니다. 이름이 비슷하다는 이유만으로 다른 프로토콜의 설정을 적용하지 마세요. QR 코드가 있으면 Scan QR Code를 사용하고, 구독 주소가 있으면 Subscribe를 선택합니다. 주소를 확인해 저장한 뒤 업데이트를 실행하고 목록에서 항목을 선택하세요.
- 가져오기 전에 내용이 단일 서버인지, 구독 주소인지, 구성 파일인지 확인하고 알맞은 메뉴를 선택하세요.
- 저장 후 항목 수와 이름이 예상한 내용과 일치하는지 확인한 다음 Connectivity Test를 실행하세요.
- 항목 하나를 선택해 실제로 연결하고 일반적인 요청을 보내 사용할 수 있는지 확인한 뒤 오래된 항목을 정리하세요.
주의사항: 구독을 업데이트하면 해당 출처에서 생성된 항목이 덮어써질 수 있으므로 수동으로 수정하기 전에 다음 업데이트에 미칠 영향을 고려하세요. 구독 주소에 접근 인증 정보가 포함될 수 있으니 공개 스크린샷, 채팅 기록, 문의 내용에 올리지 마세요. Connectivity Test 결과는 선택한 테스트 방법에서의 상태일 뿐 실제 서비스 접속을 대신하지 않습니다. 업데이트에 실패해도 저장된 모든 서버가 동시에 사용할 수 없게 된 것은 아닙니다.
구성을 이전할 때는 구성 내보내기와 서버 정보 내보내기를 구분하세요. 인증 정보가 포함된 내용을 일반 규칙처럼 공개하지 않도록 주의해야 합니다. 익숙하지 않은 구성은 규칙, DNS, 재작성 항목을 먼저 확인한 뒤 사용할지 결정하세요. 파일 이름만으로 용도를 판단하지 마세요.
On Demand 자동 연결
먼저 수동 연결을 확인한 뒤 자동 실행 조건을 추가하세요.
무엇인가요: On Demand는 설정된 네트워크 조건에 따라 시스템에 연결을 요청해 반복적인 수동 조작을 줄여 줍니다. 연결을 언제 시작할지 정하는 기능이며, 특정 도메인을 PROXY로 보낼지 DIRECT로 보낼지 판단하지는 않습니다. 연결된 뒤 요청은 Global Routing과 현재 구성에 따라 처리됩니다.
위치 및 설정 방법: Settings에서 On Demand를 찾아 Wi-Fi, 셀룰러 네트워크 또는 네트워크 예외 조건을 확인하세요. 먼저 수동 연결이 성공하는지 확인한 다음 필요한 조건 하나만 활성화합니다. 저장 후 해당 네트워크로 전환해 시스템 연결 상태를 살펴보고 같은 요청으로 확인하세요. 특정 Wi-Fi에 예외를 적용하려면 네트워크 이름이 정확한지, 조건끼리 서로 상쇄되지 않는지 확인합니다.
주의사항: On Demand가 켜져 있으면 수동으로 연결을 끊어도 조건에 맞는 시스템 이벤트로 다시 연결될 수 있습니다. 연결 해제 기능이 작동하지 않는다는 뜻은 아닙니다. 자동 연결을 일시 중지하려면 먼저 관련 조건을 끈 뒤 연결을 해제하세요. 웹 인증이 필요한 Wi-Fi에서는 먼저 로그인한 다음 테스트합니다. 시스템 권한, 잠자기 상태, 네트워크 전환 시점도 작동에 영향을 줄 수 있으므로 어떤 상황에서도 즉시 재연결된다고 보장할 수는 없습니다.
Data 트래픽 통계
먼저 통계 범위를 확인하고 수치를 비교하세요. 앱 기록은 서비스 제공업체의 청구 내역이 아닙니다.
무엇인가요: Data에는 앱에서 기록할 수 있는 데이터 사용량이 표시됩니다. 연결 중 업로드와 다운로드 변화를 살펴보거나 요청이 계속 발생하는 상황을 파악하는 데 활용할 수 있습니다. 통계 범위는 화면에 표시된 대상과 기간에 따라 다르므로, 한 화면의 합계가 기기 전체의 네트워크 사용량이라고 단정하면 안 됩니다.
위치 및 사용 방법: Data를 열어 현재 표시되는 통계 범위와 사용할 수 있는 필터를 먼저 확인하세요. 사용량이 비정상적으로 늘어나는지 점검할 때는 테스트 전 수치를 기록하고, 관련 없는 앱의 백그라운드 활동을 중지한 뒤 확인할 작업을 한 번만 실행합니다. 다시 Data에서 수치 변화를 비교하세요. 초기화 메뉴가 있다면 필요한 기록을 보관하고 전후 비교 자료를 확인한 뒤 초기화하세요.
주의사항: 프로토콜 오버헤드, 재시도, 통계 기간, 측정 기준에 따라 앱 수치는 시스템이나 서비스 제공업체 기록과 다를 수 있습니다. 구독 화면의 사용량은 일반적으로 구독 응답에 포함된 정보이며 Data의 로컬 누적량과는 다릅니다. 구독 사용량이 표시되지 않아도 구독이 만료되었다고 판단할 수 없습니다. 트래픽 증가는 데이터가 전송되었다는 뜻일 뿐이므로 요청 결과와 로그를 함께 확인해 작업이 성공했는지 판단하세요.
Settings 주요 항목
메뉴 위치는 현재 플랫폼의 화면을 기준으로 확인하고, 구성에 이미 지정된 설정도 함께 살펴보세요.
DNS: 도메인 조회 및 설정 출처
무엇이며 어디에 있나요: DNS는 도메인을 주소로 변환하며, 연결 대상과 주소 기반 규칙의 판단에 영향을 줄 수 있습니다. Settings에서 DNS 관련 항목을 찾고 현재 Config에 지정된 DNS 설정도 확인하세요. 한 곳만 변경하고 실제 적용되는 설정을 놓치지 않도록 주의합니다.
설정 방법 및 주의사항: 현재 작동하는 설정을 먼저 보존하고, 문제가 도메인 조회에서 발생하는지 이후 연결 단계에서 발생하는지 확인한 뒤 DNS 방식을 변경하세요. 변경 후 같은 도메인을 다시 테스트하고 로그를 확인합니다. 필요한 경우 화면에 제공되는 기능으로 관련 캐시를 지우세요. DNS, 서버, 규칙을 동시에 변경하지 마세요. 암호화된 DNS도 연결 가능한 네트워크 경로가 필요하며, 주소를 입력했다고 반드시 접속할 수 있는 것은 아닙니다.
Test Method: Connectivity Test 방식
무엇이며 어디에 있나요: Settings의 Test Method는 Connectivity Test가 항목을 검사하는 방식을 정합니다. 방식에 따라 확인하는 단계가 다릅니다. 기본 연결 상태에 가까운 결과를 보여주는 방식도 있고 테스트 대상의 응답에 영향을 받는 방식도 있으므로, 서로 같은 지표처럼 직접 비교하지 마세요.
설정 방법 및 주의사항: 여러 항목을 비교할 때 Test Method, 테스트 대상, 로컬 네트워크를 동일하게 유지하고 연속으로 테스트한 뒤 결과를 비교하세요. 시간 초과는 서버, 테스트 대상, 현재 네트워크 문제로 발생할 수 있습니다. 접속 가능으로 표시되어도 모든 서비스에 접속할 수 있는 것은 아닙니다. 테스트로 문제 범위를 좁힌 뒤 실제 필요한 서비스에 접속해 확인하고, 지연 시간 하나만으로 결론 내리지 마세요.
Today Widget: 빠른 확인 및 조작
무엇이며 어디에 있나요: Today Widget은 시스템에서 지원하는 위젯 화면에서 상태를 확인하거나 빠른 작업을 실행하는 기능입니다. Settings에서 관련 설정을 확인한 다음 시스템의 위젯 관리 방법에 따라 추가하세요. 표시되는 정보와 조작 기능은 시스템 및 현재 앱 화면에 따라 달라집니다.
설정 방법 및 주의사항: 앱의 권한과 연결 설정을 마친 다음 위젯을 설정하고 테스트하세요. 시스템 새로고침 시점에 따라 위젯 표시가 늦게 갱신될 수 있으므로, 갱신 전 상태만으로 연결 결과를 판단하지 마세요. 표시가 예상과 다르면 Home으로 돌아가 현재 상태를 확인하고, 위젯을 반복해서 누르는 것으로 확인을 대신하지 마세요.
iCloud 동기화: 여러 기기에서 구성 관리
무엇이며 어디에 있나요: 해당 옵션을 지원하는 Apple 기기에서는 Settings의 iCloud 관련 설정을 통해 앱이 지원하는 항목의 동기화를 관리할 수 있습니다. 동기화는 시스템의 iCloud 상태, 계정, 앱 권한에 따라 달라집니다. 서버, 구성, 기록 등 모든 항목이 동기화된다고 가정하면 안 됩니다.
설정 방법 및 주의사항: 두 기기에서 사용하려는 iCloud 계정이 동일한지 확인하고 화면에 안내된 동기화 범위를 읽으세요. 처음 켜기 전에 각 기기의 로컬 사본을 따로 보관합니다. 한 기기에서 먼저 수정하고 동기화가 완료될 때까지 기다린 뒤 다른 기기에서 확인해 덮어쓰기나 충돌을 방지하세요. 동기화는 별도의 백업이 아니며 App Store 구매 내역과도 다릅니다. 구성 이전과 앱 재다운로드는 각각 따로 진행해야 합니다.
Diagnostics: 문제 해결을 위한 정보 수집
무엇이며 어디에 있나요: Diagnostics는 연결 문제를 점검하기 위한 진단 정보를 제공합니다. Settings에서 해당 메뉴를 찾으세요. 이 기능은 도메인 조회, 연결 수립, 이후 요청 중 어느 단계에서 실패했는지 파악하는 데 도움을 주며 자동 복구 기능은 아닙니다.
사용 방법 및 주의사항: 문제가 발생한 당시의 네트워크 유형, Global Routing, 현재 구성을 먼저 기록한 다음 화면 안내에 따라 진단을 실행하거나 기록을 확인하세요. 로그 분석이 쉽도록 문제를 한 번만 재현하고 여러 테스트를 동시에 진행하지 마세요. 공유 전 서버 주소, 구독 링크, 인증 정보, 불필요한 접속 기록을 삭제하세요. 오류 유형과 조작 순서만 남기면 충분합니다. 민감한 정보가 포함된 기록 전체를 공개하지 마세요.
설정 후 확인 순서
연결 여부, 트래픽 분기 방식, 자동 연결 작동 여부를 나누어 확인하세요.
- 기본 네트워크 확인. 현재 Wi-Fi 또는 셀룰러 네트워크가 정상 작동하는지 확인하세요. 웹 인증이 필요하면 먼저 로그인하고 테스트에 사용한 네트워크를 기록합니다.
- 서버 정보 확인. 프로토콜, 주소, 포트, 인증 항목을 확인한 뒤 Connectivity Test를 실행하세요. 테스트 실패를 곧바로 규칙 문제로 판단하지 마세요.
- Global Routing 확인. 규칙에 따라 트래픽을 분기하려면 Config를 선택하고, 방금 편집한 구성이 활성화되어 있는지 확인하세요. 이름이 비슷한 다른 구성을 선택하지 않도록 주의합니다.
- 요청 하나씩 확인. 대상에 새 요청을 보내 일치한 규칙과 정책을 확인하세요. 도메인 조회에 실패하면 DNS를, 규칙이 예상과 다르게 일치하면 순서와 조건을 점검합니다.
- 마지막으로 자동 연결 확인. 수동 연결이 안정적으로 작동한 뒤 On Demand를 켜고 네트워크 전환, Today Widget 상태, Data 변화를 확인하세요.
변경 후 문제가 생기면 방금 수정한 항목 하나만 원래대로 돌리고 같은 테스트 조건으로 다시 확인하세요. 여러 설정을 한꺼번에 바꾸는 것보다 같은 조건에서 반복해서 확인되는 차이가 원인을 파악하는 데 더 유용합니다. 처음 사용하는 경우 시작 안내를, 규칙을 한 줄씩 확인하려면 구성 전체 안내를, 설치 및 다운로드는 전체 플랫폼 다운로드 안내를 참고하세요.
Proxy에서는 연결되지만 Config에서는 안 될 때, 어디부터 확인하나요?
먼저 현재 구성을 확인한 뒤 같은 대상 요청이 Config에서 어떤 규칙과 정책에 일치하는지 비교하세요. 앞쪽의 REJECT, DIRECT 또는 범위가 넓은 규칙에 먼저 걸렸는지와 도메인 조회 결과를 확인합니다. 일치 기록을 살펴보기 전에 구성 전체를 교체하지 마세요.
연결을 끊어도 다시 자동으로 연결됩니다. 어떻게 일시 중지하나요?
먼저 On Demand에 현재 네트워크와 일치하는 연결 조건이 남아 있는지 확인하세요. 관련 조건을 일시 중지한 뒤 연결을 끊고 시스템 상태를 살펴봅니다. 계속 연결된다면 시스템에서 해당 연결과 관련된 다른 자동화 설정도 확인하세요.