Shadowrocket 기능 안내
및 자주 쓰는 설정 점검
트래픽이 어떤 경로로 전달되는지 먼저 확인한 뒤 연결 조건과 진단 옵션을 조정하세요. 한 번에 한 항목만 바꾸고 같은 대상으로 결과를 확인하세요.
이 페이지는 주로 iPhone 및 iPad 사용 방법을 안내합니다. Shadowrocket은 Apple 플랫폼용 유료 앱이며 App Store에서만 받을 수 있습니다. 시스템 요구 사항은 App Store 페이지를 확인하세요.
처음 연결하는 방법 보기 →Global Routing: 설정, 프록시 및 직접 연결
Global Routing은 Home에 있으며, 연결을 구성 파일에 따라 처리할지 아니면 하나의 경로로 통일할지 지정합니다. 선택지는 Config, Proxy, Direct입니다. 이는 라우팅 모드이지 서버 프로토콜이나 네트워크 품질 단계가 아닙니다. 전환하기 전에 Home에서 선택한 서버를 확인하고 Config에서 현재 사용 중인 구성 파일을 점검하세요.
| 모드 | 처리 방식 | 사용 상황 | 확인할 항목 |
|---|---|---|---|
| Config(구성) | 현재 구성 파일의 규칙에 따라 정책을 선택합니다. | 도메인이나 대상 주소별로 트래픽을 분기해야 할 때 사용합니다. | 현재 구성, 규칙 순서, 최종 정책 |
| Proxy(프록시) | 일반적으로 이 모드의 제어를 받는 연결을 프록시 경로로 전달합니다. | 선택한 서버로 대상 연결이 가능한지 임시로 확인할 때 사용합니다. | 서버 연결 상태, 대상 접근 여부, 로그 |
| Direct(직접 연결) | 연결을 로컬 네트워크의 직접 연결 경로로 처리합니다. | 같은 대상에 로컬 네트워크로 접속할 수 있는지 비교할 때 사용합니다. | 로컬 네트워크 상태. 시스템 VPN 구성이 꺼진다는 뜻은 아닙니다. |
평소 규칙에 따라 트래픽을 분기하려면 Config를 선택하세요. 특정 웹사이트에 접속할 수 없다면 현재 모드를 기록한 뒤 잠시 Proxy로 전환해 같은 웹사이트를 다시 확인하세요. Proxy에서는 정상이고 Config에서 문제가 생긴다면 일치한 규칙과 정책을 살펴보세요. 로컬 네트워크 자체에 문제가 있는지 확인하려면 Direct와 비교할 수 있습니다. 비교가 끝나면 원래 모드로 되돌리고, 일회성 테스트를 상시 설정으로 사용하지 마세요.
모드를 전환해도 서버 정보의 잘못된 항목이 채워지거나 만료된 연결 정보가 복구되지는 않습니다. 스위치가 연결 상태로 표시되더라도 해당 단계까지 연결이 수립된 것일 뿐, 모든 대상에 접속할 수 있다는 뜻은 아닙니다. 확인할 때는 스위치 색상만 보지 말고 웹페이지, 요청 기록, 오류 메시지를 함께 살펴보세요.
규칙 분기: 매칭 조건과 실행 정책
규칙 분기는 ‘어떤 대상에 접속하는가’와 ‘어떤 경로를 사용하는가’를 구분합니다. Config로 이동해 현재 선택된 파일을 확인한 다음 파일 안의 [Rule]을 살펴보거나 수정하세요. Global Routing이 Config로 설정된 경우 이 규칙이 트래픽 분기 문제를 확인하는 주요 기준입니다. 수정하기 전에 원본 파일을 복사해 두고 구독, 서버, 구성 파일을 같은 종류의 정보로 혼동하지 마세요.
DOMAIN은 전체 도메인과 일치시키고, DOMAIN-SUFFIX는 도메인 접미사와 하위 도메인에 사용하며, DOMAIN-KEYWORD는 도메인에 포함된 키워드로 매칭합니다. IP-CIDR과 IP-CIDR6은 각각 IPv4 및 IPv6 주소 범위를 지정하고, GEOIP은 IP 주소의 지리 정보 데이터를 사용합니다. USER-AGENT는 확인할 수 있는 요청 정보에 따라 동작하므로 모든 암호화 연결에 적용된다고 가정해서는 안 됩니다.
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-SUFFIX,ads.example.net,REJECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY
위 내용은 문법 예시이며 모든 네트워크에 적합한 완성된 구성은 아닙니다. PROXY는 프록시 처리, DIRECT는 직접 연결, REJECT는 일치하는 연결 거부를 뜻합니다. 구성에서 사용자 지정 정책 그룹을 참조할 수도 있습니다. 이 경우 그룹 이름이 존재하는지, 그룹에서 어떤 항목을 선택했는지도 확인하세요. 규칙의 정책 이름과 Global Routing의 옵션은 서로 다른 단계에 있으므로 이름이 비슷하다는 이유만으로 같은 설정이라고 판단하면 안 됩니다.
규칙은 일반적으로 순서대로 매칭됩니다. 구체적인 조건을 포괄적인 조건보다 앞에 두고, 기본 처리 규칙인 FINAL은 마지막에 배치하세요. 규칙을 추가한 뒤에는 해당 대상만 테스트하고 실제로 어떤 규칙이 적용되는지 확인하세요. 수정 후 여러 웹사이트에서 동시에 문제가 생기면 먼저 원본 파일로 복구한 다음 기본 처리 정책이나 참조 이름을 잘못 변경하지 않았는지 살펴보세요. 키워드가 궁금하다면 용어 빠른 안내를 확인하세요.
구독 및 서버 관리
Home의 SERVER 목록에서 기존 서버를 선택할 수 있습니다. 개별 서버 항목에는 프로토콜과 연결 정보가 저장되고, 구독은 서버 정보를 한꺼번에 가져오거나 업데이트하는 데 사용됩니다. 구독 업데이트에 성공했다는 것은 목록을 가져와 파싱했다는 뜻입니다. 목록의 모든 항목이 연결 테스트를 통과했거나 규칙 파일에서 올바르게 선택되었다는 뜻은 아닙니다.
Add Server 및 기존 정보 가져오기
Home에서 추가 메뉴를 열고 Add Server로 이동한 뒤 Type을 선택하고 본인의 서버 정보에 따라 주소, 포트, 인증 항목을 입력하세요. Shadowsocks, VMess, VLESS, Trojan, HTTP, SOCKS5, WireGuard, Hysteria2는 각각 입력 항목의 의미가 다릅니다. 정보에 전송 방식, TLS, 서버 이름 또는 경로가 포함되어 있다면 항목별로 정확히 입력하고 다른 프로토콜의 설정 방식을 임의로 적용하지 마세요.
Scan QR Code 또는 클립보드로 가져온 뒤에도 해당 항목을 열어 유형, 주소, 포트가 올바른지 확인하세요. QR 코드에 민감한 인증 정보가 포함될 수 있으므로 공개 스크린샷으로 공유하지 마세요. 가져오기가 완료되면 목록에 예상한 항목이 표시되고 필수 정보가 모두 입력되어 있어야 합니다. 대상에 접속할 수 있는지는 별도로 연결 테스트를 해야 합니다.
Subscribe 업데이트 및 목록 관리
기존 구독이 있다면 Add Server에서 Subscribe를 선택하고 본인의 구독 주소를 입력할 수 있습니다. 업데이트하기 전에 주소가 완전한지 확인하세요. 복사 과정에서 공백이나 줄바꿈이 들어가거나 유효하지 않은 매개변수가 포함되지 않았는지 특히 주의해야 합니다. 업데이트 후 그룹과 항목이 예상대로 표시되는지 확인한 다음 사용할 서버를 선택하세요. 구독 그룹을 삭제하기 전에 원래 주소와 필요한 수동 추가 항목을 보관했는지 확인하세요.
서버 테스트에 수치가 표시되어도 실제 접속 속도나 모든 대상에 대한 접근 가능성을 보장하지는 않습니다. 동일한 네트워크와 동일한 Test Method로 먼저 비교한 다음 실제 접속으로 확인하세요. 구독 주소는 접근 권한이 포함된 경우가 많으므로 공개 로그나 문의 내용에 넣지 마세요. 구독에 실패하면 오류 메시지와 로컬 네트워크를 먼저 살펴본 뒤 본인이 사용하는 서비스의 주소 상태를 확인하세요.
On Demand: 필요할 때 연결
On Demand는 설정한 네트워크 조건에 따라 VPN 연결 동작을 실행합니다. Global Routing과 역할이 다릅니다. On Demand는 언제 연결할지 정하고, Global Routing은 연결된 상태에서 트래픽을 어떻게 처리할지 정합니다. Settings에서 On Demand를 찾아 전체 스위치와 현재 사용할 수 있는 네트워크 조건 및 규칙을 확인하세요.
처음 설정할 때는 자동 실행을 끄고 수동 연결 테스트를 먼저 완료하세요. 서버와 구성이 정상적으로 작동하는지 확인한 뒤 필요한 조건을 활성화하세요. Wi-Fi 네트워크별로 동작을 구분한다면 네트워크 이름이 정확한지 확인하고, 셀룰러 네트워크를 사용하는 경우에도 별도로 테스트하세요. 선택 가능한 조건은 현재 앱 화면을 기준으로 확인하고, 한 네트워크에서 얻은 테스트 결과를 다른 네트워크에도 그대로 적용하지 마세요.
설정한 뒤 연결을 끊고 의도한 조건을 충족하는 네트워크로 전환해 Home 상태가 예상대로 바뀌는지 확인하세요. 그런 다음 연결이 실행되면 안 되는 네트워크에서도 다시 테스트하세요. 수동으로 연결을 끊은 뒤 자동으로 다시 연결된다면 구성을 반복해서 삭제하지 말고 On Demand와 시스템 VPN 설정의 연결 동작을 먼저 확인하세요. On Demand는 설정된 조건을 실행할 뿐 서버 정보가 여전히 유효한지 판단하지 않습니다.
Data: 트래픽 통계와 확인 범위
Data에서는 클라이언트에 기록된 트래픽을 확인할 수 있습니다. Data를 열어 통계의 집계 기간, 업로드와 다운로드 방향, 서버 또는 다른 기준에 따른 분류 여부를 먼저 확인하세요. 통계 항목마다 집계 시작 시점과 기준이 다를 수 있으므로 화면의 설명을 따르세요. 총량을 특정 웹페이지 접속에 사용된 트래픽으로 바로 간주해서는 안 됩니다.
특정 동작을 확인하려면 먼저 현재 수치를 기록한 다음 이미 알고 있는 페이지를 한 번 여는 등 명확한 작업을 실행하고 Data로 돌아와 변화를 비교하세요. 백그라운드 동기화, 미디어 사전 로드, 다른 앱의 요청도 동시에 트래픽을 발생시킬 수 있습니다. 따라서 수치 변화는 데이터 전송이 계속 발생하는지 확인하는 데 참고할 수 있지만, 특정 앱의 정확한 사용량을 단독으로 입증하지는 못합니다.
통계를 지우거나 초기화하려면 먼저 보관할 데이터를 기록하고 작업 범위를 확인하세요. 클라이언트 통계와 사용자가 이용 중인 서비스의 과금 통계는 집계 시간, 전송 오버헤드, 계산 기준이 달라 서로 다를 수 있습니다. 서비스의 사용량은 해당 서비스 기록을 기준으로 확인하세요. Data는 속도 테스트 기능도 아닙니다. 누적 트래픽이 많다고 현재 연결 속도가 빠른 것은 아닙니다.
Settings: DNS, 테스트 및 동기화
Settings에는 앱 수준의 옵션이 모여 있지만 모든 네트워크 매개변수가 이곳에서만 적용되는 것은 아닙니다. 일부 매개변수는 Config의 파일에서 제어합니다. 확인할 때는 먼저 설정이 어디에 있는지 파악한 뒤 적용 범위를 살펴보세요. 구성 파일을 전환한 뒤에는 관련 매개변수도 다시 확인해 이전에 변경한 설정이 계속 적용된다고 오해하지 않도록 하세요.
DNS: 이름 해석을 확인한 뒤 연결 경로 점검
DNS는 도메인 이름을 대상 주소로 변환합니다. 서버 테스트는 정상이지만 웹페이지가 열리지 않는다면 현재 구성의 DNS 관련 항목을 먼저 확인하고 Settings에서 실제로 제공되는 DNS 옵션도 살펴보세요. DNS 서버에 현재 네트워크로 접근할 수 있는지, 구성이 설정을 덮어쓰는지도 확인해야 합니다. 한 번 테스트하기 위해 모든 DNS 설정을 한꺼번에 바꾸면 어느 항목이 문제인지 파악하기 어려워집니다.
원래 설정을 저장한 뒤 문제가 발생하는 도메인 하나를 선택해 다시 테스트하고 이름 해석 오류가 계속되는지 확인하세요. DNS가 정상이어도 이후 연결까지 정상이라는 뜻은 아닙니다. 주소를 받았지만 연결 시간 초과가 발생한다면 서버 경로와 규칙을 계속 확인하세요. IPv6와 관련된 문제라면 로컬 네트워크의 IPv6 지원 여부도 살펴보고, 모든 도메인 오류를 하나의 스위치 탓으로 돌리지 마세요.
Test Method: 무엇을 측정하는지 확인
Settings에서 Test Method를 열어 현재 선택된 테스트 방식과 화면에 표시된 관련 매개변수를 확인하세요. 방식에 따라 측정하는 연결 단계가 다르므로 같은 서버라도 서로 다른 방식으로 얻은 결과를 직접 비교해 순위를 매길 수 없습니다. 방식을 변경한 뒤 Home의 Connectivity Test에서 다시 테스트하고 당시 네트워크 조건을 기록하세요.
테스트 결과는 주로 연결 과정의 어느 단계에서 문제가 발생하는지 파악하는 데 쓰입니다. 한 번 테스트에 성공해도 인증, DNS, 대상 웹사이트, 지속적인 데이터 전송이 모두 정상이라는 뜻은 아닙니다. 시간 초과가 발생하더라도 테스트 대상 자체의 문제일 수 있습니다. 여러 서버를 비교할 때는 테스트 방식과 네트워크를 동일하게 유지하고 실제 접속으로 추가 확인하세요.
Today Widget: 표시 및 사용 가능한 기능 확인
Today Widget은 시스템 위젯과 관련된 표시 또는 빠른 동작을 설정하는 기능입니다. 먼저 Settings에서 앱이 제공하는 옵션을 확인한 뒤 시스템의 위젯 관리 화면에서 추가 및 표시가 가능한지 살펴보세요. 사용 가능한 형식은 기기의 시스템과 현재 앱 지원 여부에 따라 달라지므로 실제 화면을 기준으로 확인하세요.
위젯 상태가 바로 바뀌지 않으면 앱을 열어 Home의 실제 상태를 확인한 다음 시스템의 위젯 설정을 살펴보세요. 위젯에 표시된 문구만으로 연결이 수립되었다고 판단하지 마세요. 위젯이 갱신되지 않는다고 해서 곧바로 서버 문제라고 볼 수도 없습니다.
iCloud 동기화: 동기화 범위 확인
Settings에서 iCloud 관련 옵션을 확인하고 기기에서 해당 시스템 iCloud 권한이 활성화되어 있는지도 확인하세요. 활성화하기 전에 로컬 구성을 저장하고 화면 안내를 하나씩 읽어 어떤 정보가 동기화되는지 확인하세요. 동기화 스위치만 켜면 모든 서버 인증 정보, 과거 통계, 시스템 VPN 권한이 자동으로 옮겨진다고 생각하면 안 됩니다.
다른 기기에서 앱을 연 뒤 실제로 표시되는 항목, 현재 선택된 구성, 서버를 확인하고 수동 연결 테스트를 진행하세요. 정보가 일치하지 않으면 여러 기기에서 동시에 편집하지 말고 먼저 필요한 내용을 각각 보관한 다음 동기화 상태를 확인하세요. 구독에 포함된 민감한 주소와 인증 정보는 계속 비공개로 관리해야 합니다.
Diagnostics: 증상 및 재테스트 결과 기록
Diagnostics는 진단 정보를 확인하는 기능입니다. Settings의 해당 메뉴에서 현재 화면에 제공되는 도구로 문제를 확인하거나 기록하세요. 진단은 여러 옵션을 한꺼번에 바꾸는 대신 재현할 수 있는 문제에서 시작해야 합니다. 현재 네트워크, Global Routing 모드, 선택한 서버, 현재 구성, 문제가 발생한 대상을 먼저 기록하세요.
- 재현 조건을 고정하세요. 같은 네트워크와 같은 대상을 사용하고 오류가 이름 해석 실패인지, 연결 시간 초과인지, 연결 후 데이터 전송 중단인지 기록하세요.
- 문제 범위를 좁히세요. Connectivity Test를 확인한 뒤 이름 해석 및 규칙 적용 결과를 살펴보세요. 특정 대상에서만 문제가 발생한다면 해당 대상에 적용되는 규칙과 경로부터 확인하세요.
- 한 번에 한 항목만 변경하세요. 변경한 뒤 같은 작업을 반복해 결과를 비교하세요. 개선되지 않으면 원래 값으로 되돌리고 다음 항목을 확인하세요.
- 필요한 근거를 정리하세요. 오류가 발생한 시각, 관련 오류 메시지, 수정 전후의 차이를 기록하세요. 인증 정보가 포함된 전체 구성을 제출하지 마세요.
진단 내용을 공유하기 전에 구독 주소에 포함된 접근 매개변수, 비밀번호, UUID, 키 및 그 밖의 개인 식별 정보를 삭제하세요. 로그에 오류가 한 번 나타났다고 해서 연결 전체를 사용할 수 없는 것은 아닙니다. 오류가 발생한 시점과 실제 증상을 함께 확인하세요. 문제가 반복해서 재현되면 문제 해결 매뉴얼에 따라 이어서 점검하고 앱을 반복해서 재설치하거나 모든 설정을 덮어쓰지 마세요.