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