Shadowrocket 기능 안내
라우팅, 연결 및 진단 설정
먼저 트래픽 처리 방식을 확인하고, 연결 시점을 설정한 다음 테스트와 기록으로 결과를 검증합니다. 아래 내용은 iPhone과 iPad에서 자주 사용하는 방법을 다룹니다.
Global Routing
세 가지 모드 선택하기
위치: Home → Global Routing
규칙에 따라 트래픽을 나누려면 Config를 선택하세요. Proxy와 Direct는 명확한 전체 트래픽 처리 목적이나 임시 비교 테스트에 적합합니다. Global Routing은 전체 트래픽 처리 방식이며 서버 목록이나 현재 연결 여부를 뜻하지 않습니다. 모드를 바꾼 뒤에도 Home에서 선택한 서버와 연결 스위치, 대상 접속 결과를 확인해야 합니다.
| 화면 옵션 | 처리 방식 | 사용 조건 | 확인할 항목 |
|---|---|---|---|
| Config(설정) | 현재 적용 중인 설정 파일의 규칙에 따라 처리 방식을 결정합니다. | 도메인이나 주소별로 PROXY, DIRECT 또는 REJECT를 다르게 적용해야 할 때 사용합니다. | Config에서 선택한 파일, 규칙 순서, FINAL을 확인합니다. |
| Proxy(프록시) | 가로채는 트래픽을 프록시로 처리하며, Config의 일반 라우팅 규칙을 하나씩 적용하지 않습니다. | 선택한 서버로 대상에 접속할 수 있는지 임시로 확인할 때 사용합니다. | 서버 사용 가능 여부와 대상이 해당 연결을 허용하는지 확인합니다. |
| Direct(직접 연결) | 가로채는 트래픽을 직접 연결로 처리합니다. | 현재 네트워크에서 직접 연결한 결과와 비교해 프록시 경로 문제와 로컬 네트워크 문제를 구분합니다. | 로컬 네트워크, DNS, 대상 서비스의 접속 가능 여부를 확인합니다. |
설정 및 확인
Home에서 Global Routing을 열고 원하는 모드를 선택한 뒤 돌아옵니다. Config를 사용하기 전에 Config 화면에서 대상 설정 파일이 선택되어 있는지 확인하고, 연결한 다음 접속이 확인된 대상을 테스트합니다. 같은 대상이 Proxy에서는 열리지만 Config에서는 실패한다면 일치한 규칙, 정책 대상, DNS를 우선 확인하세요. 이는 문제 범위를 좁히기 위한 방법이며, 한 번의 비교만으로 규칙 오류를 단정할 수는 없습니다.
Proxy를 ‘설정 복구’ 버튼처럼 사용해서는 안 됩니다. 임시 테스트가 끝나면 필요한 모드로 되돌리세요. 그렇지 않으면 로컬 네트워크 접속이나 다른 트래픽의 처리 방식이 달라질 수 있습니다. Direct도 연결 스위치를 끄는 기능은 아닙니다. 트래픽 처리 방식을 바꾸며, 연결 유지 여부는 스위치와 On Demand 등의 조건에 따라 결정됩니다.
먼저 일치 범위를 정하고
처리 정책을 선택합니다
위치: Config → 현재 설정 → [Rule]
규칙은 ‘무엇과 일치하는지’와 ‘일치한 뒤 어떻게 처리하는지’로 구성됩니다. DOMAIN은 전체 도메인과 정확히 일치하고, DOMAIN-SUFFIX는 지정 도메인과 하위 도메인에 일치합니다. DOMAIN-KEYWORD는 도메인에 포함된 키워드를 기준으로 일치하며, IP-CIDR과 IP-CIDR6은 각각 IPv4와 IPv6 주소 범위에 일치합니다. GEOIP는 주소의 지역 정보를 데이터베이스와 대조합니다. 규칙 유형마다 판단에 사용하는 정보가 다르므로 도메인 규칙을 주소 규칙 대신 사용할 수는 없습니다.
PROXY, DIRECT, REJECT는 규칙 유형이 아니라 정책입니다. 각각 프록시 처리, 직접 연결, 연결 거부를 뜻합니다. 규칙은 일반적으로 위에서 아래 순서로 확인하며, 처음 일치한 규칙이 적용됩니다. 따라서 구체적인 규칙을 포괄적인 규칙보다 위에 배치해야 합니다. 앞선 규칙에 일치하지 않는 트래픽은 FINAL로 처리하므로 규칙의 맨 아래에 둡니다.
[Rule]
DOMAIN-SUFFIX,ads.example.com,REJECT
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,DIRECT
예시에서는 ads.example.com이 REJECT에 먼저 일치하므로 아래쪽의 example.com 범위에 포함되지 않습니다. 해당 도메인 범위의 나머지 트래픽은 PROXY로 처리하고, 지정된 사설 주소 범위는 DIRECT로 연결하며, 나머지는 FINAL,DIRECT로 처리합니다. 이 예시는 문법 설명용이며, 해당 도메인에서 실제 연결 서비스를 이용할 수 있다는 뜻이 아니고 완전한 설정 파일을 대신하지도 않습니다.
수정할 때는 판단 조건을 하나만 바꾸세요
먼저 기존 설정을 보존하고 Config에서 복사본의 [Rule] 구간을 편집하세요. 저장한 뒤 해당 파일이 선택되었는지 확인하고 Home으로 돌아가 Config 모드에서 테스트합니다. 규칙을 수정한 뒤에는 대상을 다시 요청해 이전 연결 결과와 새 규칙의 결과를 혼동하지 않도록 하세요. 실제 적용된 정책이 예상과 다르면 요청 기록에서 앱이 사용한 실제 도메인과 대상 주소를 확인합니다. 한 페이지가 여러 도메인에 요청할 수 있으므로 주소창에 표시된 도메인에 규칙 하나를 추가했다고 모든 요청이 같은 정책을 따르는 것은 아닙니다.
Subscribe 및
서버 관리
위치: Home → Add Server / Subscribe
아래 절차는 사용자가 자신의 구독 또는 서버 정보를 보유하고 있다는 전제에서 설명합니다. 서버 항목에는 연결 주소, 포트, 프로토콜, 인증 등의 매개변수를 저장합니다. Subscribe는 기존 구독 주소를 이용해 여러 항목을 가져오고 업데이트하는 기능입니다. Config는 전역 매개변수와 트래픽 라우팅 등의 설정을 관리하므로 서버 정보를 가져왔다고 해서 현재 필요에 맞는 규칙 파일까지 함께 준비되는 것은 아닙니다.
서버 수동 추가 및 구독 가져오기
서버 정보가 하나뿐이라면 Home에서 Add Server를 열고 원본 정보에 맞는 프로토콜을 선택해 항목별로 입력합니다. Shadowsocks, VMess, VLESS, Trojan, HTTP, SOCKS5, WireGuard, Hysteria2 등은 입력 항목이 서로 다릅니다. 앱에 실제로 표시되는 프로토콜 옵션과 보유한 정보를 기준으로 입력하고, 서로 다른 프로토콜의 비밀번호, 식별자, 전송 매개변수를 바꿔 쓰지 마세요.
구독을 사용하려면 Add Server에서 Subscribe를 선택하고 본인의 전체 구독 주소를 입력해 저장한 다음 구독을 업데이트합니다. 가져온 뒤 그룹과 항목이 표시되는지 확인하고, 항목 하나를 선택해 Connectivity Test를 실행한 후 실제 대상에 접속합니다. 구독 업데이트 성공은 정보가 가져와져 해석되었다는 뜻일 뿐, 모든 서버를 현재 사용할 수 있다는 보장은 아닙니다.
업데이트 전에 항목의 출처 확인
구독 항목은 업데이트할 때 다시 생성될 수 있으므로, 항목을 직접 수정해도 변경 사항이 계속 유지되지 않을 수 있습니다. 계속 사용할 로컬 변경 사항은 필요한 정보를 먼저 저장하고 수동 항목과 구독 항목을 구분해 관리하세요. 그룹을 삭제하거나 중복 항목을 정리하고 구독을 바꾸기 전에 현재 연결에서 어떤 항목을 사용하는지 확인해야 사용 중인 정보까지 함께 지우는 일을 막을 수 있습니다.
On Demand
연결 시점 제어
위치: Settings → On Demand
On Demand는 설정한 조건에 따라 시스템에 연결을 요청하므로 특정 네트워크 환경에서 자동 연결이 필요할 때 유용합니다. 규칙 라우팅과는 역할이 다릅니다. On Demand는 연결을 시작할 조건을 처리하고, Global Routing과 Config는 연결 후 트래픽 처리 방식을 결정합니다. On Demand를 켜도 구독 정보가 추가되거나 사용 가능한 서버가 선택되거나 규칙 오류가 수정되지는 않습니다.
처음 설정하기 전에 자동 실행을 끄고 서버 선택, VPN 구성 승인, 접속 확인을 수동으로 완료하세요. 기본 연결이 정상인지 확인한 다음 Settings의 On Demand로 이동해 화면에 실제로 표시되는 네트워크 조건에 따라 설정합니다. 사용할 수 있는 옵션은 기기와 앱 상태에 따라 달라질 수 있으므로 현재 화면에서 하나씩 확인하세요. 다른 기기의 절차를 그대로 적용하지 마세요.
설정 후에는 자동 연결이 필요한 네트워크와 필요하지 않은 네트워크에서 각각 확인해 예상대로 연결되는지 살펴본 다음 대상 접속도 테스트합니다. 수동으로 연결을 끊은 뒤 다시 자동 연결되면 먼저 On Demand 조건과 시스템의 관련 VPN 설정을 확인하세요. 네트워크를 바꾼 뒤 연결이 실패하면 새 네트워크에서 서버를 수동으로 테스트하고, 트리거 조건을 바로 더 추가하지 마세요.
자동 연결이 서버의 상시 사용 가능성을 보장하지는 않습니다. 네트워크 변경, 인증 만료, 구독 정보 변경 등이 결과에 영향을 줄 수 있습니다. 문제 해결 중에는 자동 재연결이 비교 테스트를 방해하지 않도록 On Demand를 잠시 끄고, 테스트가 끝난 뒤 필요한 조건을 복구하세요.
Data 트래픽 통계
확인 및 활용 방법
위치: Data
Data에서는 클라이언트에 기록된 트래픽을 확인할 수 있습니다. 연결 중 데이터가 전송되었는지 살펴보거나 특정 작업 전후의 변화를 비교하는 데 유용하지만, 연결 서비스의 정산 내역으로 간주해서는 안 됩니다. 클라이언트의 기록 범위와 통계 시간, 서버 측 집계 기준은 서로 다를 수 있습니다. 수치가 일치하지 않으면 각 통계가 어떤 연결과 시간 구간을 대상으로 하는지 먼저 확인하세요.
Data를 열고 화면에서 제공하는 시간 범위와 통계 대상을 먼저 확인합니다. 범위를 좁혀 테스트하려면 시작 전 수치를 기록하고, 계속 데이터를 전송하는 다른 작업을 일시 중지한 뒤 대상 하나에만 접속하고 증가량을 살펴보세요. 화면에 초기화 또는 삭제 기능이 있다면 실행 전에 필요한 기록을 저장합니다. 로컬 통계를 삭제해도 서버에 기록된 사용량은 바뀌지 않습니다.
트래픽 수치가 증가했다고 대상이 정상적으로 열렸다는 뜻은 아닙니다. 백그라운드 요청, 연결 재시도, 다른 앱도 데이터를 전송할 수 있습니다. 반대로 페이지 로딩에 실패했는데 통계가 증가하는 것도 모순이 아닙니다. 현재 모드와 대상 요청 결과, Diagnostics를 함께 확인하세요. Data 수치만으로 규칙이 올바르거나 서버가 정상이라고 판단할 수는 없습니다.
Settings
문제에 따라 매개변수 조정
현재 앱에 실제로 표시되는 옵션을 기준으로 확인하세요.
Settings의 옵션을 한 번에 모두 바꿀 필요는 없습니다. 먼저 기본 동작을 유지해 정상적으로 연결되는 기준 상태를 만든 뒤, 확인된 문제에 따라 조정하세요. 일부 기능은 현재 Config, 시스템 권한, 기기 환경의 영향을 받습니다. 옵션이 보이지 않으면 앱 화면을 먼저 확인하고, 다른 기기의 메뉴 위치를 고정된 경로처럼 여기지 마세요.
DNS: 도메인 조회와 규칙 판단의 기반
DNS는 도메인을 주소로 변환하며, 관련 동작은 Settings와 현재 설정 파일의 [General] 구간에 있는 값 모두의 영향을 받을 수 있습니다. 문제를 확인할 때는 실제 적용 중인 설정의 DNS 매개변수를 먼저 살펴보고, 네트워크에서 지정된 DNS 서비스에 접속할 수 있는지도 확인하세요. 여러 곳의 값을 한데 합친 뒤 한 곳만 수정하면 어떤 설정이 결과를 바꿨는지 파악하기 어렵습니다.
일부 도메인만 실패한다면 다른 도메인과 네트워크별 결과를 비교한 다음 DNS 결과와 규칙 일치 여부를 확인하세요. 한 번에 한 항목만 바꾸고 연결을 다시 설정한 뒤 새 요청을 보냅니다. 주소 하나에 접속할 수 있다고 도메인 조회가 전반적으로 정상인 것은 아닙니다. DNS를 무작정 바꿔도 인증 문제나 서버 접속 불가가 해결되지는 않습니다.
Test Method: Connectivity Test의 테스트 범위 이해하기
Test Method는 Connectivity Test에서 사용할 테스트 방식을 정합니다. Settings에서 해당 항목을 찾아 현재 선택할 수 있는 방식을 확인한 뒤 동일한 방법으로 항목을 비교하세요. 화면에서 테스트 대상을 설정할 수 있다면 접속 가능 여부가 확인된 대상 중 테스트 요구사항에 맞는 것을 사용하고, 비교하는 동안 조건을 동일하게 유지합니다.
테스트 방식에 따라 측정 단계가 다르므로 결과를 단순 비교해서는 안 됩니다. 테스트 성공이 모든 웹사이트에 접속할 수 있다는 뜻은 아니며, 시간 초과는 테스트 대상이나 현재 네트워크 때문일 수도 있습니다. 먼저 방식과 대상을 확인한 다음 서버 주소, 포트, 인증 정보를 점검하세요. 한 번의 테스트 결과만 보고 항목을 반복해서 바꾸지 마세요.
Today Widget: 빠른 작업 및 상태 확인
Today Widget은 시스템에서 지원하는 위젯 기능을 위한 설정입니다. 먼저 앱에서 관련 옵션을 확인한 다음 시스템에서 제공하는 편집 메뉴를 통해 추가하세요. 사용 가능한 위치와 조작 방법은 시스템 지원 여부에 따라 달라질 수 있으므로 기기에 실제로 표시되는 내용을 기준으로 확인하세요. 시스템 요구 사항은 App Store 페이지를 따릅니다.
최초 설정, 서버 수정, 규칙 확인은 앱에서 진행해야 합니다. 위젯의 상태는 빠른 확인에 유용하지만 표시가 바로 갱신되지 않거나 연결 결과가 예상과 다르면 Home을 열어 현재 서버와 스위치를 확인하세요. 빠른 작업을 연속해서 누르지 마세요.
iCloud 동기화: 기기 간 사용 전 동기화 범위 확인
iCloud 기능은 지원되는 범위에서 앱 정보를 동기화하는 데 사용됩니다. Settings에서 동기화 스위치를 확인하고 시스템 설정에서 관련 iCloud 권한과 사용 가능한 저장 공간을 살펴보세요. 동기화 대상은 앱 화면의 설명을 기준으로 확인해야 합니다. 앱 구매 내역, 서버 정보, 연결 상태, 과거 통계를 모두 같은 종류의 동기화 데이터로 간주해서는 안 됩니다.
처음 활성화하기 전에 중요한 설정을 보관하세요. 다른 기기에서 정보가 모두 도착했는지 하나씩 확인한 뒤 로컬 설정을 변경합니다. 클라우드에 정보가 표시되더라도 시스템 VPN 승인이 완료된 것은 아니므로 대상 기기에서 별도로 확인해야 합니다. 서버와 구독에 인증 정보가 포함될 수 있으므로 동기화 전에 사용 계정과 기기를 본인이 안전하게 관리하고 있는지 확인하세요.
Diagnostics: 실패 한 건을 재현해 단서 수집
Diagnostics에서는 문제 해결에 필요한 진단 정보를 확인하거나 생성할 수 있습니다. 문제가 발생하면 Settings에서 해당 메뉴를 열고 화면에 안내된 방법으로 재현 과정을 한 번 기록하세요. 먼저 네트워크 환경, Global Routing 모드, 선택한 서버, 대상을 기록한 뒤 한 번 작업하면 여러 설정을 바꾼 후의 기록보다 원인을 파악하기 쉽습니다.
연결 설정 실패, 도메인 조회 실패, 대상 요청 실패를 구분하세요. 기록을 공유하기 전에 구독 주소, 서버 인증 정보, 개인 요청 내용을 숨기고 문제 파악에 필요한 부분만 남깁니다. Diagnostics는 보조 자료일 뿐 올바른 서버 정보를 대신하지 않으며, 한 줄의 알림만으로 전체 원인을 단정할 수 없습니다.
기본 연결을 먼저 확인하고
자동화는 나중에 검증
기준 상태를 유지하고 한 번에 하나만 바꾸세요.
- 정보를 확인합니다. Home에서 선택한 항목의 출처, 프로토콜, 필수 입력란을 살펴보세요. 구독 업데이트가 필요하면 먼저 업데이트하고 항목이 올바르게 선택되어 있는지 확인합니다.
- 모드를 확인합니다. 일상적인 규칙 라우팅에는 Config를 사용하고 Config에서 현재 파일을 확인하세요. 비교가 필요할 때는 Proxy 또는 Direct를 잠시 사용하고 테스트가 끝나면 원래 모드로 돌아갑니다.
- 대상을 확인합니다. 먼저 Connectivity Test를 실행한 뒤 실제로 사용할 대상에 접속하세요. 테스트 방식, 테스트 대상, 실제 접속 결과를 구분해 기록합니다.
- 자동 연결을 확인합니다. 수동 연결이 안정적으로 작동한 뒤 On Demand를 활성화하고, 연결 조건이 충족되는 환경과 충족되지 않는 환경에서 각각 확인합니다.
- 기록을 확인합니다. Data로 변화를 살펴보고 필요하면 Diagnostics에 재현 과정을 기록하세요. 원인을 찾기 어렵다면 모든 설정을 한꺼번에 다시 작성하지 말고 최근 변경 사항부터 되돌립니다.
기능 설정을 마친 뒤에도 스위치를 켤 수 없거나 구독 업데이트가 실패하거나 특정 대상에 접속할 수 없다면 증상에 따라 문제 해결을 확인하세요. 앱을 다시 받아야 한다면 App Store 정품 확인 및 구매 안내를 참조하세요. 개발자는 Shadow Launch Technology Limited이며 앱 ID는 932747118입니다. 호환성 및 구매 범위는 App Store 페이지를 기준으로 확인하세요.