DOMAIN
전체 도메인과 일치하며, 특정 호스트 이름 하나만 처리할 때 적합합니다.
트래픽 진입점과 규칙 판단부터 DNS 및 Diagnostics까지, ‘무엇인지, 어디에 있는지, 어떻게 설정하는지, 무엇을 주의해야 하는지’의 순서로 주요 기능을 정리합니다. 앱 내 메뉴명은 iPhone과 iPad에서 쉽게 찾을 수 있도록 영어 원문을 유지합니다.
권장 설정 순서: 먼저 Global Routing을 정한 다음 규칙과 서버를 확인하고, 마지막으로 Data와 Diagnostics에서 결과를 검증합니다.
Shadowrocket의 주요 설정은 네 가지 계층으로 나눌 수 있습니다. 첫 번째 계층인 Global Routing은 트래픽 전체를 Config, Proxy 또는 Direct 중 어떤 방식으로 처리할지 정합니다. 두 번째 계층은 Config 안의 규칙과 정책으로, Config 상태에서 요청을 하나씩 판단합니다. 세 번째 계층은 사용자가 보유한 구독 또는 서버 정보, DNS, On Demand 등의 연결 조건입니다. 네 번째 계층인 Data, Connectivity Test 및 Diagnostics는 실제 결과를 확인하는 데 사용됩니다. 이 순서로 이해하면 전체 처리 방식이 잘못된 상태에서 DNS나 서버 설정만 반복해서 수정하는 일을 줄일 수 있습니다.
대부분의 일상적인 상황에서는 먼저 Config를 사용하고, 규칙에 따라 PROXY, DIRECT 또는 REJECT를 결정하도록 하는 것이 적절합니다. 서버 연결 가능 여부를 잠시 확인할 때는 Proxy로 전환하면 규칙이 테스트 결과에 미치는 영향을 줄일 수 있습니다. 로컬 네트워크 자체가 정상인지 확인하려면 Direct로 비교할 수 있습니다. 테스트가 끝나면 실제 목적에 맞는 방식으로 돌아온 뒤 페이지 접속 여부, 규칙 적중 여부 및 DNS 해석 상태를 다시 확인하세요.
무엇인가요: Global Routing은 연결 전에 확인해야 할 가장 중요한 전체 진입점으로, 트래픽을 Config 규칙에 맡길지, 현재 서버를 통해 일괄 처리할지, 로컬 네트워크로 직접 보낼지를 정합니다. 세 가지 모드는 Config, Proxy, Direct로 표시되며, 한국어 설명에서는 각각 구성, 프록시, 직접 연결에 해당합니다.
어디에 있나요: Home에서 Global Routing을 찾을 수 있습니다. 전환하면 이후 요청이 새 모드에 따라 처리됩니다. 문제를 확인하는 중이라면 모드를 바꾼 뒤 테스트 페이지를 다시 열어 브라우저 캐시나 기존 연결이 판단에 영향을 주지 않도록 하세요.
| 메뉴명 | 한국어 모드명 | 처리 방식 | 적합한 상황 | 주의사항 |
|---|---|---|---|---|
Config |
구성 | 위에서부터 Config의 규칙을 확인하고 해당 정책에 따라 처리합니다. | 일상적으로 도메인, IP 또는 지역별 세밀한 트래픽 분류에 사용합니다. | 규칙 순서, 정책 이름 및 FINAL이 결과에 직접 영향을 줍니다. |
Proxy |
프록시 | 요청을 현재 선택한 서버로 일괄 전달합니다. | 짧은 시간 동안 서버 연결을 확인하거나 규칙 설정의 영향을 배제할 때 사용합니다. | 대부분의 세밀한 분류 로직을 우회하므로 테스트 결과를 Config의 결과와 그대로 동일시해서는 안 됩니다. |
Direct |
직접 연결 | 요청을 현재 로컬 네트워크를 통해 직접 처리합니다. | Wi-Fi, 셀룰러 네트워크 또는 대상 사이트의 기본 연결 상태를 확인할 때 사용합니다. | Direct는 정상인데 Config에서 문제가 발생하면 규칙, DNS 및 서버를 계속 확인해야 합니다. |
어떻게 설정하나요: 일상적인 사용에서는 Config를 선택하고 현재 사용 중인 Config가 원하는 파일인지 확인하세요. 특정 페이지가 열리지 않으면 현재 모드를 먼저 기록한 다음 Direct와 Proxy로 차례로 비교합니다. Direct에서도 접속할 수 없다면 로컬 네트워크 또는 대상 주소를 우선 확인하세요. Proxy에서는 접속되지만 Config에서 실패한다면 규칙 순서, 정책 매핑 및 FINAL을 중점적으로 확인합니다. Proxy도 실패하면 현재 서버 정보와 DNS를 점검하세요.
무엇을 주의하나요: Global Routing은 전체 처리 모드만 나타내며, 특정 서버의 사용 가능 여부나 특정 규칙의 적중을 보장하지 않습니다. 전환할 때마다 Data, 로그 또는 Diagnostics로 결과를 확인하세요. 문제 해결이 끝나면 원래 설정으로 돌아가 테스트용 Proxy나 Direct에 그대로 남겨 두지 않도록 합니다.
무엇인가요: 규칙 분류는 Global Routing에서 Config를 선택했을 때 요청의 도메인, IP 주소 또는 기타 특성에 따라 PROXY, DIRECT, REJECT 또는 사용자 지정 정책을 정하는 기능입니다. 규칙은 나열된 순서대로 확인하며, 일반적으로 적용 가능한 첫 번째 규칙이 적중되면 이후 매칭을 중단합니다. 따라서 ‘규칙 내용이 올바른가’뿐 아니라 ‘규칙이 어디에 배치되어 있는가’도 중요합니다.
어디에 있나요: Config에서 현재 구성 파일로 들어가 Rules 또는 해당 규칙 편집 영역을 확인합니다. Config의 구조는 출처에 따라 다를 수 있지만, 규칙 키워드와 대상 정책은 항목별로 확인해야 합니다. 수정하기 전에 원본 Config를 보관해 두면 결과가 예상과 다를 때 복원할 수 있습니다.
DOMAIN
전체 도메인과 일치하며, 특정 호스트 이름 하나만 처리할 때 적합합니다.
DOMAIN-SUFFIX
도메인 접미사로 매칭하여 같은 주 도메인 아래의 여러 서브도메인을 처리할 수 있습니다.
DOMAIN-KEYWORD
도메인 안의 키워드로 매칭합니다. 범위가 넓으므로 사용 전에 의도하지 않은 적중이 없는지 확인해야 합니다.
GEOIP
대상 IP의 지역 정보를 기준으로 매칭하며, 결과는 해석된 주소와 관련 데이터에 따라 달라집니다.
IP-CIDR / IP-CIDR6
IPv4 또는 IPv6 주소 범위로 매칭하며, 명확한 네트워크 범위에 적합합니다.
USER-AGENT
요청의 User-Agent 특성으로 매칭하며, 해당 정보를 식별할 수 있는 상황에서만 적용됩니다.
어떻게 설정하나요: 범위가 가장 명확하고 구체적인 규칙을 앞에 배치한 뒤, 더 넓은 범위를 포괄하는 규칙을 배치하고 마지막에 FINAL로 미적중 트래픽을 처리하세요. 예를 들어 특정 전체 도메인은 DIRECT로 처리하고 주 도메인 접미사 전체는 PROXY로 처리해야 한다면, 전체 DOMAIN 규칙이 DOMAIN-SUFFIX보다 앞에 있어야 합니다. 정책 이름은 Config에 존재하는 정책과 일치해야 하며, 대소문자, 구두점 및 쉼표 위치도 규칙에 맞게 유지해야 합니다.
DOMAIN,api.example.com,DIRECT
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
무엇을 주의하나요: 위 주소는 문법을 보여 주기 위한 예시일 뿐입니다. 규칙이 적용되지 않는 것처럼 보이면 먼저 Global Routing이 Config인지 확인한 다음, 앞쪽 규칙이 이미 적중했는지 확인하세요. 도메인은 DNS 해석 후 IP 유형 규칙의 판단 대상이 될 수도 있습니다. IPv6 네트워크를 사용한다면 IP-CIDR6도 함께 확인해야 합니다. REJECT는 일치하는 트래픽을 차단하므로 추가하기 전에 대상을 명확히 정해 페이지에 필요한 리소스까지 차단하지 않도록 주의하세요.
무엇인가요: Shadowrocket은 사용자가 이미 보유한 구독 또는 개별 서버 정보를 저장할 수 있습니다. Subscribe는 같은 출처에서 관리하는 여러 서버 기록에 적합하고, Add Server는 명확한 설정 하나를 직접 입력할 때 사용합니다. Scan QR Code와 Import from Cloud JSON은 기존 정보를 가져오는 기능입니다. 지원되는 설정에는 Shadowsocks, VMess, VLESS, Trojan, HTTP, SOCKS5, WireGuard 및 Hysteria2가 포함될 수 있으며, 실제 연결 여부는 프로토콜 매개변수와 서버 측 설정이 일치하는지에 따라 달라집니다.
어디에 있나요: Home의 서버 목록 영역에서 추가 메뉴를 열면 Add Server, Subscribe, Scan QR Code 또는 Import from Cloud JSON 등의 진입점을 확인할 수 있습니다. 기존 항목은 보통 열어서 편집할 수 있으며, SERVER, 포트, 비밀번호, 프로토콜 추가 매개변수 및 메모를 확인할 수 있습니다. 사용자가 직접 보유하고 사용할 권한이 있는 정보만 사용하세요.
어떻게 설정하나요: 가져오기 전에 정보 유형을 확인하세요. 구독 주소는 개별 SERVER 주소가 아니라 Subscribe에 입력해야 합니다. 개별 서버는 해당 프로토콜을 선택하고 SERVER, 포트 및 인증 필드를 항목별로 입력합니다. 가져온 뒤 여러 매개변수를 한꺼번에 수정하지 말고, 먼저 항목 하나를 선택해 Connectivity Test를 실행한 다음 연결을 시도하세요. 실패하면 원본 정보를 기준으로 한 글자씩 확인하고, 특히 프로토콜, 포트, 전송 방식, TLS 관련 이름 및 인증 정보를 주의해서 확인합니다.
무엇을 주의하나요: 구독 업데이트는 일반적으로 출처의 내용에 따라 항목을 새로 반영하므로, 구독으로 관리되는 기록을 수동으로 수정하면 다음 업데이트에서 덮어써질 수 있습니다. 기존 기록을 삭제하기 전에 Config 또는 정책 그룹에서 해당 이름을 계속 참조하는지 확인하세요. Connectivity Test는 연결 확인의 일부일 뿐입니다. 테스트에서 도달 가능하더라도 모든 대상이 예상대로 분류된다는 뜻은 아니므로 Global Routing, Rules 및 DNS를 함께 확인해야 합니다.
무엇인가요: On Demand는 네트워크 조건을 기준으로 연결 동작을 실행하는 기능으로, Wi-Fi 또는 셀룰러 네트워크가 바뀔 때 미리 정한 규칙에 따라 자동으로 처리할 수 있습니다. On Demand는 ‘언제 연결할지’를 정하고, Global Routing과 Config는 ‘연결 후 트래픽을 어떻게 처리할지’를 정하므로 서로 다른 계층에서 작동합니다.
어디에 있나요: Settings에서 On Demand를 찾아 활성화 상태와 네트워크 조건을 설정합니다. 처음 사용하기 전에 수동 모드에서 현재 서버, Global Routing 및 Config가 정상적으로 작동하는지 확인하세요. 그런 다음 자동 조건을 추가하면 기본 설정 문제와 트리거 조건 문제를 나누어 확인할 수 있습니다.
어떻게 설정하나요: 먼저 셀룰러 네트워크와 알려진 Wi-Fi만 구분하는 등 간단한 조건부터 시작하세요. 저장한 뒤 네트워크를 각각 전환하면서 시스템 상태와 Shadowrocket 연결 상태가 예상대로 바뀌는지 확인합니다. 조건이 많다면 한 번에 하나만 추가하고 즉시 검증하세요. 서로 겹치는 조건을 여러 개 설정할 때는 우선순위가 예상과 반대되는 결과를 만들지 않는지 확인해야 합니다.
무엇을 주의하나요: On Demand의 트리거는 시스템 네트워크 상태 변화에 따라 작동하므로, 짧은 네트워크 전환 과정을 서버 장애로 오해해서는 안 됩니다. Wi-Fi 이름 변경, 네트워크 인증 미완료, 셀룰러와 Wi-Fi 간 빠른 전환으로 연결 상태가 일시적으로 바뀔 수 있습니다. 문제를 확인할 때는 먼저 On Demand를 끄고 수동 연결로 전환하세요. 수동 연결이 정상이라면 트리거 조건을 하나씩 다시 활성화합니다.
무엇인가요: Data는 Shadowrocket이 처리한 트래픽 기록과 사용량 개요를 확인하는 기능입니다. 일정 시간 동안 지속적인 전송이 있었는지, 어떤 연결이 많은 데이터를 사용했는지, 규칙이나 서버를 바꾼 뒤 트래픽 동작이 변했는지를 판단하는 데 도움을 줍니다. 로컬 확인 도구이므로 서버 품질이나 서비스 과금 결과를 단독으로 판단하는 데 사용해서는 안 됩니다.
어디에 있나요: 앱 하단 또는 해당 진입점에서 Data로 들어갑니다. 통계를 보기 전에 현재 연결 모드와 테스트 시간을 기록한 다음, 특정 페이지를 열거나 한 번 다운로드를 실행하는 등 명확한 동작을 수행하고 Data로 돌아와 변화를 비교하세요. 백그라운드 활동이 많이 섞인 누적 데이터보다 결과를 판단하기 쉽습니다.
어떻게 설정하나요: 두 가지 설정을 비교하려면 먼저 백그라운드 활동이 안정될 때까지 기다린 뒤 비슷한 네트워크 조건에서 각각 테스트하세요. 한 번의 테스트에서는 Global Routing만 변경하거나, Config만 변경하거나, 서버만 변경하는 등 변수 하나만 바꿔야 합니다. 업로드와 다운로드 방향, 시작 시간 및 테스트 동작을 기록하면 시스템 동기화, 미디어 사전 로딩 또는 앱 백그라운드 요청을 대상 트래픽으로 잘못 판단하는 일을 줄일 수 있습니다.
무엇을 주의하나요: Data의 트래픽에는 시스템과 다른 앱의 백그라운드 요청이 포함될 수 있으며, 수치는 서버 측 통계 기준과 다를 수 있습니다. 짧은 시간 동안 눈에 띄는 변화가 없다고 해서 규칙이 작동하지 않는 것은 아닙니다. 일부 연결은 기존 세션을 재사용합니다. 특정 규칙을 판단할 때는 Data를 로그, Diagnostics 및 실제 접속 결과와 함께 사용하세요.
Settings의 옵션은 해석, 테스트 방식, 빠른 진입점 및 설정 동기화에 영향을 줍니다. 변경하기 전에 기존 값을 기억해 두고, 완료 후 같은 대상에 다시 테스트하세요. 여러 항목을 한 번에 수정하면 단계는 줄어들지만 문제가 발생했을 때 원인을 특정하기 어려워집니다.
무엇인가요: DNS는 도메인을 연결에 필요한 IP 주소로 변환하며, 도메인 규칙과 IP 규칙 사이의 판단 흐름에도 영향을 줍니다. 어디에 있나요: Settings의 DNS 관련 영역에서 현재 설정을 확인합니다. 어떻게 설정하나요: 현재 Config의 로직과 맞는 방식을 우선 사용하고, 변경 후 같은 도메인으로 반복 테스트하세요. 무엇을 주의하나요: 페이지는 열리지 않지만 직접 IP로는 접속할 수 있다면 DNS를 중점적으로 확인하세요. 일부 도메인만 문제가 발생한다면 DOMAIN-SUFFIX, GEOIP, IPv6 및 캐시의 영향도 확인해야 합니다.
무엇인가요: Test Method는 Connectivity Test에서 사용할 확인 방식을 정합니다. 어디에 있나요: Settings에서 Test Method를 찾은 뒤 Home의 Connectivity Test와 함께 사용합니다. 어떻게 설정하나요: 방식을 선택한 후 같은 서버를 반복 테스트하고 실제 페이지 접속 결과와 함께 판단하세요. 무엇을 주의하나요: 테스트 결과는 특정 대상과 특정 방식에서의 도달 가능성을 보여 줄 뿐이며, 전체 프로토콜 핸드셰이크, DNS 해석 및 규칙 검증을 대신할 수 없습니다.
무엇인가요: Today Widget은 시스템 위젯 영역에서 자주 사용하는 상태를 확인하거나 조작하는 기능입니다. 어디에 있나요: 먼저 Shadowrocket의 Settings에서 관련 옵션을 확인한 다음 시스템 위젯 편집 화면에서 추가합니다. 어떻게 설정하나요: 추가한 뒤 표시 내용이 현재 연결 상태와 일치하는지 확인하세요. 무엇을 주의하나요: 위젯 새로고침은 시스템이 예약하여 처리하므로 일시적인 표시 차이가 있을 때는 앱에서 다시 확인하고, 위젯만으로 연결 완료 여부를 판단하지 마세요.
무엇인가요: iCloud 동기화는 조건을 충족하는 Apple 기기 사이에서 관련 설정을 저장하거나 복원하는 기능입니다. 어디에 있나요: Settings에서 iCloud 관련 스위치를 확인하고 시스템에 원하는 iCloud 계정으로 로그인되어 있는지 확인합니다. 어떻게 설정하나요: 활성화하기 전에 중복 항목을 정리하고 중요한 Config는 식별 가능한 복사본을 별도로 보관하세요. 무엇을 주의하나요: 동기화에는 시간이 걸리므로 기기를 변경한 뒤 데이터가 나타날 때까지 기다린 다음 일괄 편집을 진행해야 중복이나 덮어쓰기를 줄일 수 있습니다.
무엇인가요: Diagnostics는 현재 네트워크, DNS, 연결 및 요청 처리 과정에서 단서를 확인하는 기능입니다. Connectivity Test는 서버 또는 대상의 빠른 도달 가능성 확인에 더 가깝습니다. 두 기능 모두 문제 범위를 좁히는 데 적합하지만 최종적으로는 실제 접속 결과로 확인해야 합니다.
어디에 있나요: Diagnostics는 보통 Settings 또는 도구 영역에 있으며, Connectivity Test는 서버 관리 관련 진입점에서 실행할 수 있습니다. 시작하기 전에 현재 네트워크 유형, Global Routing, Config 이름 및 선택한 서버를 기록하여 테스트 중 여러 조건이 바뀌지 않도록 하세요.
어떻게 설정하나요: 먼저 Direct에서 로컬 네트워크를 확인하고, Proxy에서 현재 서버를 점검한 뒤, Config로 돌아와 규칙을 검증하세요. 문제가 도메인 해석에 집중된다면 DNS 관련 결과를 확인합니다. 연결 시간 초과가 발생한다면 SERVER, 포트, 프로토콜 및 인증 매개변수를 확인하세요. 특정 웹사이트만 문제가 있다면 해당 DOMAIN, DOMAIN-SUFFIX, GEOIP, IP-CIDR 또는 FINAL의 적중 관계를 확인합니다.
무엇을 주의하나요: 진단 정보에는 서버 주소, 도메인 및 네트워크 환경의 세부 정보가 포함될 수 있습니다. 저장하거나 전달하기 전에 내용을 확인하고 문제 해결에 필요한 부분만 남기세요. 문제를 확인하는 동안 네트워크, 서버 및 규칙을 자주 바꾸지 마세요. 매번 변수 하나만 변경해야 결과를 구체적인 설정과 연결할 수 있습니다.
로컬 네트워크와 대상의 기본 도달 가능성을 확인합니다.
현재 서버와 프로토콜 매개변수를 확인합니다.
규칙 순서, 정책 및 FINAL을 확인합니다.
DNS, 로그 및 실제 접속 결과를 함께 사용해 원인을 좁힙니다.
사용 중인 Wi-Fi 또는 셀룰러 네트워크, Global Routing 모드, Config 이름 및 현재 서버를 적어 두세요. 초기 상태를 기록하지 않으면 이후 어떤 변경이 영향을 주었는지 판단하기 어렵습니다.
잠시 Direct를 선택하고 정상적으로 접속되는 것으로 알고 있는 페이지를 엽니다. Direct에서도 실패한다면 먼저 네트워크 인증, 신호 또는 DNS의 기본 문제를 해결해야 합니다.
Proxy로 전환해 현재 항목에서 Connectivity Test를 실행하고 실제 접속도 진행합니다. 실패하면 SERVER, 포트, 프로토콜 및 인증 정보를 항목별로 확인하세요.
대상 도메인에 적중할 가능성이 있는 첫 번째 규칙을 확인하고 정책 이름이 존재하는지 점검한 뒤 FINAL을 확인하세요. 규칙 파일에 대상 도메인이 있는지만 보지 말고 그보다 앞에 있는 규칙도 확인해야 합니다.
다른 연결은 정상인데 도메인에 문제가 있다면 DNS 설정과 캐시를 다시 확인하세요. 네트워크에서 IPv6를 사용한다면 IP-CIDR6과 대상이 반환한 주소 유형도 함께 확인합니다.
기본 연결이 안정된 뒤 On Demand, Today Widget 및 iCloud 동기화를 활성화하세요. 항목별로 복원하고 검증하면 자동 트리거 또는 동기화 변화가 핵심 연결 문제 확인을 방해하는 일을 줄일 수 있습니다.
설정 튜토리얼은 기존 정보 가져오기, Global Routing 선택, 연결 설정 및 결과 검증 순서로 구성되어 있습니다. 연결 문제가 발생하면 문제 해결 문서로 이동해 증상에 따라 확인할 수 있습니다.