Shadowrocket 기능 및 설정
먼저 Global Routing을 확인한 다음 현재 Config와 서버를 점검하세요. 연결 방식, 규칙 정책, 자동 연결은 각각 역할이 다르므로 하나의 스위치처럼 취급하지 마세요.
- Home · 연결 및 서버
- Config · 구성 및 규칙
- Data · 트래픽 기록
- Settings · 일반 설정
먼저 현재 상태를 저장한 다음 하나씩 변경이 페이지는 이미 본인 소유의 구독 또는 서버 정보를 보유한 경우를 전제로 합니다. Shadowrocket은 Apple 플랫폼 전용 유료 앱이며, App Store에서만 받을 수 있습니다. 클라이언트 앱은 일회성 구매이며 회선 요금제와는 별개입니다. 이 사이트는 노드나 구독을 제공·판매·추천하지 않습니다. 구입 및 정품 확인은 다운로드 안내에서, 처음 정보를 가져오는 방법은 사용 안내에서 확인하세요.
Global Routing: 구성, 프록시, 직접 연결
Global Routing은 Shadowrocket으로 들어오는 연결을 전반적으로 어떤 방식으로 처리할지 결정합니다. Home에서 Global Routing을 열면 Config, Proxy, Direct 중 선택할 수 있으며 각각 구성 기반 처리, 프록시, 직접 연결을 뜻합니다. 이 설정은 Home의 연결 스위치와 다릅니다. 모드를 선택해도 연결이 이미 수립된 것은 아니며, 현재 서버를 사용할 수 있다는 뜻도 아닙니다.
일상적으로 도메인이나 주소에 따라 트래픽을 분기하려면 Config를 사용하세요. 규칙이 문제인지 임시로 확인할 때는 Proxy와 비교하고, 기존 네트워크에서의 접속 상태를 확인할 때는 Direct를 사용하면 됩니다. 비교 테스트에서는 같은 대상을 사용하고, 테스트가 끝나면 원래 모드로 되돌리세요. 임시 설정이 이후 접속에 계속 영향을 줄 수 있습니다.
| 화면 옵션 | 처리 방식 | 사용 상황 | 먼저 확인할 항목 |
|---|---|---|---|
| Config · 구성 | 현재 활성화된 구성의 규칙과 정책에 따라 연결을 처리합니다. | 지정한 웹사이트는 PROXY로 보내고, 나머지 트래픽은 규칙에 따라 DIRECT 또는 다른 정책으로 처리합니다. | 현재 구성이 선택되어 있는지, 규칙 순서가 올바른지, 정책이 사용 가능한 서버를 가리키는지 확인합니다. |
| Proxy · 프록시 | 클라이언트가 처리하는 트래픽을 주로 선택한 프록시 경로로 보냅니다. | 서버 연결 경로를 임시로 확인해 규칙 문제와 연결 문제를 구분합니다. | 선택한 서버의 설정값과 사용 가능 여부를 확인합니다. 시스템과 앱이 트래픽을 처리하는 범위도 고려해야 합니다. |
| Direct · 직접 연결 | 처리 대상인 연결을 직접 접속 방식으로 보냅니다. | 현재 네트워크에서 같은 대상에 직접 접속할 수 있는지 확인합니다. | 기존 네트워크, DNS 및 대상 서비스가 정상적으로 작동하는지 확인합니다. |
Config는 구성 화면의 이름이면서 Global Routing의 옵션으로도 표시될 수 있습니다. 문맥을 구분하는 것이 중요합니다. Config 화면에서 파일을 저장했다고 해서 해당 파일이 활성화된 것은 아닙니다. Config 모드를 선택해도 모든 대상이 PROXY를 통과하는 것은 아닙니다. 실제 경로는 적용된 규칙을 확인해야 합니다.
Rule: 일치 조건과 처리 정책
규칙 라우팅은 Config 모드에서 연결의 도메인, 주소 등의 조건에 따라 처리 정책을 선택하는 기능입니다. 일반적으로 Config 화면에서 현재 구성을 선택한 뒤 편집 또는 규칙 보기 메뉴를 열어 Rule 내용을 확인합니다. 수정 전에는 백업을 내보내고, 한 번에 규칙 하나만 변경하세요. 구성이 원격 주소에서 제공되는 경우 업데이트가 로컬 변경 사항을 덮어쓰는지도 확인해야 합니다.
규칙은 조건과 결과를 나누어 읽어야 합니다. DOMAIN은 지정한 도메인과 일치하고, DOMAIN-SUFFIX는 지정한 도메인과 하위 도메인에 일치합니다. DOMAIN-KEYWORD는 도메인에 키워드가 포함되어 있는지 확인하므로 일반적으로 적용 범위가 더 넓습니다. IP-CIDR과 IP-CIDR6은 주소 대역을 기준으로 일치시키고, GEOIP는 주소의 소속 지역 데이터를 기준으로 판단합니다. USER-AGENT는 해당 요청 정보를 가져올 수 있는 상황에서만 사용할 수 있으므로 모든 연결에 적용된다고 가정하지 마세요.
[Rule]
DOMAIN,example.com,PROXY
DOMAIN-SUFFIX,example.org,PROXY
DOMAIN-KEYWORD,example,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,DIRECT
다음은 규칙 구문 예시이며 연결 가능한 서버 정보는 포함하지 않습니다. PROXY는 프록시 정책으로 전달하고, DIRECT는 직접 접속하며, REJECT는 조건에 일치하는 연결을 거부합니다. 구성에서 사용자 지정 정책 이름을 사용한다면 해당 정책 그룹의 정의와 선택 결과도 확인해야 합니다. 규칙 끝에 이름을 적는 것만으로 사용 가능한 연결 경로가 자동 생성되지는 않습니다.
일반 Rule은 위에서 아래 순서로 확인하고, 조건에 일치하면 해당 정책을 적용합니다. 따라서 구체적인 예외 규칙은 더 포괄적인 조건보다 앞에 두세요. FINAL은 앞선 규칙에 일치하지 않을 때 적용되는 기본 규칙이므로 마지막에 배치해야 합니다. 지정한 웹사이트만 프록시를 통과시키려면 해당 DOMAIN 또는 DOMAIN-SUFFIX를 먼저 나열한 다음 FINAL,DIRECT를 사용하면 됩니다. 해당 웹사이트가 다른 도메인의 콘텐츠를 요청하는지도 고려하세요.
연결 성공이 규칙이 올바르다는 뜻은 아닙니다검증할 때는 대상에 새 요청을 보낸 다음 연결 기록에서 대상, 일치한 규칙 및 정책을 확인하세요. 기존 장기 연결은 이전 경로를 계속 사용할 수 있습니다. 전체 구문, 구성 구조 및 우선순위 안내는 규칙 설명서에서 확인하세요.
Subscribe 및 Add Server
서버 기록에는 개별 연결에 필요한 설정값이 저장됩니다. 구독은 기존 서버 정보 여러 개를 한곳에서 가져오고 업데이트하는 데 사용됩니다. Home에서는 서버를 확인하고 선택해 연결할 수 있으며, Add Server에서는 서버 기록을 추가합니다. Subscribe 관련 메뉴에서는 구독 소스를 관리하고, Config 화면에서는 구성 파일을 관리합니다. 구독 링크와 규칙 구성 주소는 역할이 다르므로 둘 다 URL이라는 이유만으로 서로 바꿔 사용할 수 없습니다.
추가하기 전에 형식 확인
Add Server에서 직접 추가할 때는 기존 정보를 바탕으로 Type을 선택한 다음 주소, 포트, 인증 정보 및 해당 전송 옵션을 입력하세요. Shadowsocks, VMess, VLESS, Trojan, WireGuard, Hysteria2 등은 필요한 필드가 서로 다르므로 서버 주소만 복사했다고 입력이 끝난 것은 아닙니다. Scan QR Code와 클립보드 가져오기를 이용하면 입력을 줄일 수 있지만, 가져온 뒤에도 각 항목을 확인해야 합니다.
업데이트할 때 소스 범위 구분
기존 구독을 관리할 때는 각 소스에 알아보기 쉬운 이름을 지정하고, 업데이트 후 서버 수의 변화, 그룹 및 현재 선택 항목을 확인하세요. 구독 업데이트로 해당 소스의 기록이 대체될 수 있으며, 서버 하나를 직접 수정해도 변경 내용이 계속 유지된다고 보장할 수 없습니다. 개인 설정을 보존해야 한다면 앱에서 제공하는 복사 또는 로컬 저장 방법을 먼저 확인하고 구독 관리 기록과 구분해 두세요.
삭제하기 전에 대상이 서버 하나인지, 구독 전체인지, Config 파일인지 구분하세요. 서로 연관되어 있지만 같은 데이터는 아닙니다. 구독 업데이트에 실패하면 주소가 완전한지, 접속 정보가 유효한지, 현재 네트워크에서 콘텐츠를 가져올 수 있는지 먼저 확인하세요. 인증 정보가 포함된 전체 주소를 공개 피드백에 붙여 넣지 말고, 같은 주소를 반복해서 가져오는 것으로 문제 확인을 대신하지 마세요.
On Demand: 조건에 따라 연결 설정
On Demand는 미리 설정한 네트워크 조건에 따라 연결 동작을 트리거합니다. 즉, ‘언제 연결할지’를 설정하며 ‘특정 웹사이트에 어떤 규칙을 적용할지’를 정하는 기능은 아닙니다. 앱의 On Demand 메뉴에서 조건을 확인하고 편집하세요. 구체적인 메뉴 위치와 사용 가능한 조건은 현재 앱 화면을 기준으로 확인해야 합니다. 활성화하기 전에 수동 연결, 현재 서버 및 Config가 정상 작동하는지 확인하세요.
설정하기 전에 특정 Wi-Fi 환경에서 자동 연결할지처럼 구체적인 상황을 먼저 정한 다음, 그 상황에 필요한 조건만 추가하세요. 화면에서 네트워크 유형이나 Wi-Fi 이름을 설정할 수 있다면 이름이 정확한지, 조건의 순서가 올바른지도 확인합니다. 서로 겹치는 조건을 한꺼번에 많이 추가하면 네트워크를 전환한 뒤 어떤 조건이 동작을 트리거했는지 파악하기 어렵습니다.
저장한 후 실제 사용하는 네트워크 환경에서 테스트하고 다른 네트워크로 전환해 다시 확인하세요. 자동 연결 복구 여부는 시스템 스케줄링, 기기 상태 및 네트워크 변경의 영향을 받을 수 있습니다. On Demand로 사용할 수 없는 서버가 작동하게 되거나 규칙의 정책 이름이 수정되지는 않습니다. 지속적으로 문제를 진단해야 한다면 자동 트리거를 잠시 중지하고 수동으로 연결해 테스트 중 상태가 반복해서 바뀌지 않도록 하세요.
VPN 승인과 자동 연결은 별개입니다처음 연결할 때 시스템에서 VPN 구성을 추가하도록 허용할지 물을 수 있습니다. 이는 시스템 승인 절차입니다. On Demand는 이미 추가된 구성을 바탕으로 연결 조건을 설정하는 기능입니다. 시스템에 VPN 상태가 표시되더라도 관련 연결이 활성화되어 있다는 뜻일 뿐, 모든 대상이 같은 정책을 사용한다는 뜻은 아닙니다.
Data: 트래픽 통계와 기록 확인
Data에서는 클라이언트가 기록한 트래픽과 연결 정보를 확인할 수 있습니다. Data를 열면 먼저 통계 범위, 시간 또는 초기화 여부를 확인한 뒤 업로드, 다운로드 등의 항목을 살펴보세요. 이 정보는 해당 통계 범위에서 클라이언트가 관찰한 데이터입니다. 기기의 전체 네트워크 사용량이나 기존 구독 계정의 요금 청구 내역과 동일하다고 볼 수 없습니다.
특정 규칙을 검증하려면 현재 데이터를 먼저 기록하거나 화면에서 제공하는 삭제 메뉴를 사용한 뒤, 대상 하나에만 접속하고 새 연결 기록을 확인하세요. 대상 도메인이나 주소, 실제 적용된 정책 및 표시되는 일치 정보를 확인하는 것이 중요합니다. 페이지마다 이미지, API 및 기타 리소스가 여러 도메인에서 로드될 수 있으므로 한 페이지에서 연결 기록이 여러 개 나타나는 것은 정상입니다.
통계 수치가 증가했다는 사실만으로 해당 경로를 통해 트래픽이 오갔다는 것을 알 수 있을 뿐, 페이지 콘텐츠가 완전히 표시되었다고 단정할 수는 없습니다. 백그라운드 작업도 데이터를 만들 수 있습니다. 설정 전후 결과를 비교할 때는 같은 네트워크와 대상을 사용하고 작업 범위도 비슷하게 유지하세요. 기록을 지우기 전에 문제 확인에 필요한 단서를 보관하고, 피드백을 보낼 때는 개인 도메인, 주소 및 인증 정보를 가리세요.
DNS: 이름 해석과 연결을 구분
DNS는 도메인을 연결에 필요한 주소로 변환합니다. 프록시 프로토콜 및 규칙 정책과 관련은 있지만 같은 설정 계층은 아닙니다. 서버 연결에 성공해도 대상 도메인 해석에 실패할 수 있으며, 도메인이 해석되더라도 해당 서비스의 포트에 접속할 수 있다는 뜻은 아닙니다. 문제를 확인할 때는 두 단계를 각각 점검하세요. 페이지가 열리지 않는다는 이유만으로 모든 설정값을 바로 바꾸지 마세요.
확인 및 변경 위치
먼저 Settings에서 현재 사용할 수 있는 DNS 관련 옵션을 확인한 다음 활성화된 Config에 DNS 설정이 포함되어 있는지 살펴보세요. 구성 파일의 General, Host 등의 내용이 결과에 영향을 줄 수 있습니다. 일반 옵션 하나만 변경해도 현재 구성의 전체 이름 해석 동작이 달라지는 것은 아닙니다. 구성 계층과 일반 설정의 구체적인 적용 관계는 현재 옵션 설명과 진단 결과를 함께 참고하세요.
변경하기 전에 기존 값을 기록하고, 해결하려는 문제가 이름 해석 시간 초과인지, 반환 주소 이상인지, 특정 네트워크에서의 접속 가능성 문제인지 확인하세요. 현재 네트워크에 적합한 기존 DNS 설정을 사용하고 한 번에 하나씩 변경한 다음 같은 도메인을 다시 테스트합니다. DNS, 규칙, 서버를 동시에 변경하면 접속이 복구되어도 어떤 항목이 효과가 있었는지 알 수 없습니다.
캐시와 도메인 규칙에 유의
이름 해석 설정을 변경해도 기존 캐시와 장기 연결 때문에 결과가 바로 달라지지 않을 수 있습니다. 앱에서 제공하는 삭제 또는 재연결 방법을 사용해 새 요청을 보내세요. DOMAIN-SUFFIX와 같은 규칙은 도메인 정보를 기준으로 하고 IP-CIDR은 주소 범위를 확인합니다. 한 요청에서 관찰한 도메인과 주소를 함께 살펴보세요. 반환된 주소 하나만으로 모든 요청에 같은 정책이 적용된다고 단정하지 마세요.
테스트 방법, 위젯 및 동기화
Settings에서는 테스트, 표시, 동기화, 진단 등 일반 옵션을 관리합니다. 옵션의 표시 여부와 구체적인 위치는 기기 및 현재 앱 화면에 따라 달라질 수 있습니다. 다음은 용도별 안내입니다. 설정을 변경할 때는 옵션 옆 설명을 함께 읽고, 확실하지 않은 고급 설정은 기존 값을 유지해 국소적인 문제 확인이 전체 구성 재설정으로 이어지지 않도록 하세요.
Test Method: Connectivity Test 조건 설정
Test Method에서는 연결 테스트에 사용할 방법을 선택하며, 일반적으로 Settings의 테스트 관련 옵션에서 확인할 수 있습니다. 기본 연결 상태를 확인하려는 것인지, 프록시를 통해 테스트 대상에 접속할 수 있는지를 확인하려는 것인지 먼저 정한 뒤 화면에서 제공하는 방법을 선택하세요. 그런 다음 Home으로 돌아가 기존 서버에서 Connectivity Test를 실행하고, 비교할 때는 같은 방법과 테스트 대상을 사용하세요.
테스트 결과는 해당 시점에 해당 방법으로 얻은 결과일 뿐, 장기적인 속도를 보장하지 않습니다. 테스트는 실패했지만 실제 웹페이지가 열린다면 테스트 방식이나 대상이 적절하지 않을 수 있습니다. 테스트에 성공했는데 특정 웹사이트가 열리지 않는다면 해당 사이트의 규칙, 이름 해석 또는 서비스 상태가 원인일 수 있습니다. 한 번의 테스트 수치만 보고 모든 서버의 순서를 바꾸지 마세요.
Today Widget: 빠른 실행과 정책 설정은 별개
Today Widget 관련 설정은 시스템 위젯 표시나 빠른 동작에 사용됩니다. Settings에서 앱이 제공하는 옵션을 확인하고 시스템에서 허용하는 위치에 해당 위젯을 추가할 수 있습니다. 위젯 표시 방식과 새로고침 동작은 기기와 시스템 지원에 따라 다르므로 모든 기기에서 메뉴가 동일하다고 가정하지 마세요.
위젯을 사용한 뒤 필요한 경우 Home으로 돌아가 연결 상태와 선택한 서버를 확인하세요. 위젯은 Config의 규칙을 대신하지 않으며 서버 설정값을 자동으로 채워 주지도 않습니다. 위젯 표시가 메인 화면과 일시적으로 다르면 먼저 메인 화면의 상태를 확인한 다음 시스템 위젯이 새로고침되었는지 살펴보세요.
iCloud 동기화: 동기화 범위 확인
iCloud 동기화는 조건을 충족하는 기기 간에 앱이 지원하는 데이터를 동기화합니다. Settings에서 관련 스위치를 확인하기 전에 본인의 Apple 계정으로 시스템에 로그인했는지, iCloud 권한을 사용할 수 있는지, 옵션 설명에 표시된 동기화 범위를 이해했는지 확인하세요. 연결 기록, 모든 인증 정보 및 모든 로컬 파일이 함께 동기화된다고 가정하지 마세요.
기기를 변경하기 전에 동기화 상태뿐 아니라 중요한 구성의 별도 내보내기 백업도 확인하세요. 새 기기에서 복원한 뒤 구독, 서버, Config, Global Routing 및 On Demand를 차례로 점검하고, 먼저 수동 연결을 확인한 다음 자동 연결 조건을 다시 설정하세요. 앱 구입 기록과 구성 동기화는 서로 다른 방식입니다. 구입 복원만으로 구성이 자동 복원되지는 않습니다.
Diagnostics: 한 번에 한 단계씩 확인
Diagnostics에서는 연결 문제를 확인하는 데 필요한 단서를 수집하고 점검할 수 있습니다. Settings의 진단 관련 메뉴에서 열 수 있으며, 사용할 수 있는 도구는 현재 앱 화면을 기준으로 확인하세요. 시작하기 전에 재현 가능한 증상을 설명해 보세요. 모든 대상에서 접속이 실패하는지, 도메인 하나만 이상한지, 네트워크를 전환한 뒤에만 문제가 생기는지 구분합니다. 증상이 구체적일수록 다음에 점검할 항목을 정하기 쉽습니다.
- 현재 상태 기록. Global Routing, 선택한 서버, 활성화된 구성 및 네트워크 유형을 저장하세요. 원본 구성은 보존하고 테스트하는 동안 상태를 바꿀 수 있는 자동 연결 조건은 일시 중지하세요.
- 기본 네트워크 확인. 기기에서 현재 네트워크를 통해 정상적으로 접속할 수 있는지 확인하세요. 기존 네트워크 자체에 문제가 있다면 먼저 해결해 규칙 문제로 잘못 판단하지 않도록 합니다.
- 서버 설정값 확인. 기존 정보를 기준으로 Type, 주소, 포트 및 인증 항목을 확인한 뒤 적절한 Connectivity Test를 실행하세요. 직접 입력할 때는 불필요한 공백이나 누락된 항목이 없는지 특히 주의합니다.
- 도메인 이름 해석 확인. 접속에 실패한 같은 도메인의 이름 해석 결과를 확인하세요. 도메인을 해석할 수 없는 문제와 주소에 연결할 수 없는 문제는 서로 다르므로 따로 처리해야 합니다.
- 적용 경로 확인. Config 모드에서 새 요청을 보내고 기록을 통해 일치한 규칙과 정책을 확인하세요. 필요하면 잠시 Proxy로 전환해 비교한 뒤 원래 모드로 되돌립니다.
- 결과 정리 및 복원. 어떤 변경이 결과에 영향을 주었는지 기록하고 효과가 없었던 변경은 취소하세요. 일상 설정과 On Demand가 의도한 상태로 돌아왔는지 확인합니다.
로그에는 구독 주소, 서버 정보, 접속 도메인 또는 인증 정보가 포함될 수 있습니다. 내보내거나 공유하기 전에 민감한 항목을 확인하고 가린 뒤 문제 파악에 필요한 부분만 남기세요. 진단 도구는 판단에 도움이 되는 근거를 제공할 뿐 자동으로 문제를 해결하지 않습니다. 한 번의 테스트에서 문제가 재현되지 않았다고 해서 문제가 사라졌다고 단정할 수도 없습니다.
자주 묻는 설정 관련 질문
Config로 전환했는데도 일부 연결이 DIRECT를 사용하는 이유는 무엇인가요?
Config는 구성에 따라 판단한다는 뜻이지, 모든 연결이 PROXY를 사용한다는 뜻은 아닙니다. 대상에 어떤 규칙이 적용되었는지 확인하고 FINAL,DIRECT가 기본 처리로 적용되었는지 살펴보세요. 현재 사용 중인 구성이 방금 편집한 파일과 같은지도 확인해야 합니다.
On Demand를 켠 뒤에도 규칙을 설정해야 하나요?
각각 따로 설정해야 합니다. On Demand는 연결 트리거 조건을 결정하고, Global Routing과 Config는 연결이 수립된 뒤의 처리 방식을 결정합니다. 자동 트리거를 활성화하기 전에 수동 연결과 규칙 라우팅을 먼저 확인하세요.
구독을 업데이트한 뒤 로컬 설정이 바뀌는 이유는 무엇인가요?
구독에서 관리하는 서버 기록은 업데이트할 때 소스에 있는 내용에 따라 다시 생성될 수 있습니다. 로컬 기록, 구독 기록 및 규칙 구성을 구분하고 중요한 변경 사항은 별도로 저장한 뒤 업데이트 후 현재 선택 항목을 확인하세요.
기능 설정을 마친 뒤 시스템 호환성은 어디에서 확인하나요?
Shadowrocket은 주로 iPhone과 iPad에서 사용합니다. Mac, Apple TV, Apple Vision과의 호환성 및 모든 시스템 요구 사항은 App Store 페이지에 표시된 내용을 기준으로 확인하세요. 앱을 받는 방법과 정품 여부 확인은 App Store 정품 확인 안내에서 확인할 수 있습니다.
처음 정보를 가져오는 단계부터 따라 하려면 사용 안내를, 전체 규칙 구조와 키워드를 확인하려면 규칙 설명서를 참고하세요. 두 작업 모두 먼저 백업하고, 한 번에 한 곳만 변경한 뒤 새 요청으로 확인하고, 변경 사항을 유지할지 결정하는 것이 좋습니다.