공식 매뉴얼 · 기능 및 설정

Shadowrocket
기능 및 설정

먼저 연결 모드를 정한 다음 규칙, 서버, DNS를 확인하세요. 설정은 한 번에 하나씩만 변경하고 같은 요청으로 결과를 검증해야 변화의 원인을 파악할 수 있습니다.

Global Routing [Rule] On Demand
구독 또는 서버 정보를 이미 보유한 사용자 대상 다운로드: App Store 설정 예시는 구문 설명용

이 안내는 주로 iPhone / iPad 사용 방법을 다룹니다. 화면 구성과 사용 가능한 옵션은 현재 앱을 기준으로 확인하고, 시스템 요구 사항은 App Store 페이지를 참고하세요. 처음 사용하는 경우 시작하기 →부터 읽어 보세요.

Global Routing

Config, Proxy, Direct: 세 가지 처리 모드

Home의 Global Routing에서 설정합니다. 요청을 처리할 방식을 정하는 기능으로, 연결을 켜고 끄거나 서버를 제공하는 기능은 아닙니다.

모드처리 방식사용 상황확인할 항목
Config · Config현재 설정 파일의 규칙에 따라 처리 방식을 선택합니다.일상적인 도메인 및 주소별 트래픽 분류에 적합합니다.활성화된 설정 파일, 규칙 순서, 최종 정책을 확인하세요.
Proxy · Proxy트래픽을 프록시로 처리합니다. 시스템 우회 설정도 함께 확인해야 합니다.현재 서버가 특정 요청을 처리할 수 있는지 잠시 확인할 때 사용합니다.선택한 서버와 연결 매개변수를 확인하세요.
Direct · Direct트래픽을 직접 연결로 처리합니다.로컬 네트워크를 확인하거나 프록시 경로가 문제와 관련 있는지 판단할 때 사용합니다.현재 네트워크에서 대상에 직접 연결할 수 있는지 확인하세요.

모드 선택 및 확인 방법

Home에서 Global Routing을 열고 원하는 모드를 선택한 뒤, 돌아와 연결 스위치 상태를 확인하세요. 평소 규칙에 따라 트래픽을 분류하려면 Config를 선택하고 Config 화면에서 실제로 활성화된 설정 파일을 확인합니다. 파일을 가져오기만 하고 활성화하지 않았거나 다른 파일을 수정했다면 변경 사항이 적용되지 않을 수 있습니다.

문제를 확인할 때는 Proxy와 Direct를 임시로 선택해 같은 대상을 비교할 수 있지만, 먼저 기존 모드를 기록해 두세요. Proxy에서는 되지만 Config에서는 실패한다면 적용된 규칙과 정책을 우선 확인하세요. Direct에서는 되지만 Proxy에서 실패한다면 선택한 서버, 프로토콜 매개변수, 프록시 경로를 점검하세요. 비교 결과는 원인 범위를 좁히는 데 도움이 될 뿐, 특정 설정의 오류를 단독으로 증명하지는 않습니다.

확인이 끝나면 원래 사용하려던 모드로 되돌리세요. Proxy를 모든 규칙 문제의 장기적인 해결책으로 사용하지 마세요. Direct에서도 연결 상태가 표시된다고 해서 요청이 반드시 프록시를 거치는 것은 아닙니다. 연결 상태와 라우팅 결정은 서로 다른 단계입니다.

[Rule]

규칙 유형, 일치 순서, 정책

규칙은 ‘무엇과 일치하는지’를, 정책은 ‘어떻게 처리할지’를 정합니다. Config에서 현재 설정 파일의 규칙 편집 영역을 확인하세요.

먼저 일치 조건 확인

DOMAIN은 전체 도메인과 일치하고, DOMAIN-SUFFIX는 도메인 및 하위 도메인과 일치합니다. DOMAIN-KEYWORD는 도메인에 포함된 키워드를 기준으로 일치 여부를 판단합니다. 키워드 규칙은 대체로 범위가 넓으므로, 추가하기 전에 관계없는 도메인까지 일치하지 않는지 확인하세요.

IP-CIDR과 IP-CIDR6은 각각 두 종류의 IP 주소 대역을 지정합니다. GEOIP는 IP 주소의 지역 분류를 사용하며 결과는 관련 데이터에 따라 달라집니다. USER-AGENT는 요청에서 해당 정보를 확인할 수 있어야 하므로 모든 연결을 식별할 수 있는 것은 아닙니다.

다음으로 실행 정책 확인

DIRECT는 직접 연결, PROXY는 프록시 경로로 전달, REJECT는 일치한 요청 거부를 뜻합니다. 정책 이름은 서버 주소가 아닙니다. 사용자 지정 정책 그룹을 사용하는 경우 그룹에서 실제로 선택된 항목도 확인하세요.

규칙은 일반적으로 순서대로 적용됩니다. 더 구체적인 조건이 이를 덮어쓸 수 있는 넓은 조건보다 앞에 오도록 배치하세요. FINAL은 앞선 규칙과 일치하지 않은 요청을 처리하므로 규칙 맨 끝에 두어야 하며, 앞선 분류 조건을 대신할 수 없습니다.

규칙 수정 방법

먼저 현재 설정을 백업한 다음 Config에서 사용 중인 파일을 여세요. 규칙을 추가할 때는 유형, 일치 조건, 정책을 차례로 확인하고 저장 후 파일이 활성화된 상태인지 다시 점검하세요. 아래 내용은 구문 예시일 뿐 전체 설정이 아니며, 예시 도메인에 사용할 수 있는 서비스가 있다는 뜻도 아닙니다.

[Rule]
DOMAIN,api.example.com,PROXY
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
DOMAIN-SUFFIX,ads.example.net,REJECT
FINAL,PROXY

예시에서는 전체 도메인 규칙이 접미사 규칙보다 앞에 있으므로 api.example.com에는 PROXY가 먼저 적용됩니다. 확인할 때는 새 요청의 규칙 일치 기록을 살펴보세요. 웹페이지가 열리는지만 확인해서는 부족합니다. 캐시, 기존 연결, 페이지에서 요청하는 다른 도메인이 결과에 영향을 줄 수 있습니다. 도메인 하나의 문제를 해결하려고 범위가 넓은 규칙을 여러 개 한꺼번에 추가하지 마세요.

설정 파일 구성 안내 더 읽기 →
SERVER

구독 및 서버 관리

Home에서 서버를 확인하고 선택할 수 있으며, Add Server에서 서버를 추가하거나 연결 정보를 입력할 수 있습니다. 서버 구독과 Config의 규칙 설정은 서로 다른 항목입니다.

기존 정보 가져오기

구독 정보는 이용 중인 서비스 제공업체에서 받으세요. 가져오기 전에 받은 정보가 업데이트 가능한 서버 구독 주소인지, 단일 서버 공유 링크인지, 설정 파일 주소인지 확인합니다. 서버 구독은 Add Server에서 Subscribe를 선택해 입력할 수 있습니다. 앱에 클립보드 또는 Scan QR Code 기능이 있다면 인식된 정보의 유형도 확인하세요. 브라우저에서 링크가 열린다고 해서 앱에서 읽을 수 있는 구독 데이터라고 단정할 수는 없습니다.

서버를 직접 추가하려면 Add Server에서 실제 프로토콜을 선택한 뒤 서버 주소, 포트, 인증 정보를 각각 입력하세요. Shadowsocks, VMess, VLESS, Trojan, HTTP, SOCKS5, WireGuard, Hysteria2 등은 프로토콜마다 필요한 항목이 다르므로 한 프로토콜의 매개변수를 다른 프로토콜에 그대로 적용할 수 없습니다. 전송 방식, TLS, 호스트 이름 등의 추가 매개변수도 받은 정보와 일치해야 합니다.

업데이트, 선택, 백업 유지

가져온 뒤 Home으로 돌아가 예상한 항목이 목록에 있는지 확인하고 연결할 서버를 직접 선택하세요. 구독을 업데이트하면 일반적으로 해당 구독의 서버 목록이 새로고침됩니다. 현재 Global Routing이 바뀌거나 Config의 규칙 파일이 업데이트되는 것은 아닙니다. 구독 항목을 직접 수정한 경우 다음 업데이트에서 해당 값이 다시 기록될 수 있으므로 필요한 정보는 별도로 저장하세요.

구독에 실패하면 주소가 완전한지, 불필요한 공백이 있는지, 아직 유효한지, 응답이 로그인 페이지나 오류 메시지는 아닌지 먼저 확인하세요. 백업하지 않은 상태에서 그룹 전체를 반복해서 삭제하지 마세요. 구독 주소와 공유 링크에는 접근 정보가 포함될 수 있으므로 스크린샷, 로그, 문의 자료에서 가려야 합니다. 이 사이트는 서버나 구독을 제공·판매·추천하지 않습니다.

On Demand

조건에 따라 연결하기

On Demand는 설정한 조건에 따라 시스템이 연결을 시작하도록 합니다. 특정 도메인에 적용할 규칙을 선택하는 기능은 아닙니다.

설정 위치 및 활성화 방법

Settings에서 On Demand 관련 옵션을 찾아 현재 사용할 수 있는 네트워크 조건에 맞게 연결 동작을 설정하세요. 자동 연결을 활성화하기 전에 수동으로 연결해 서버, DNS, 규칙이 정상 작동하는지 확인합니다. 그렇지 않으면 자동 재연결이 기존 문제를 반복해 문제 해결이 더 어려워질 수 있습니다.

설정한 뒤 평소 사용하는 네트워크 상황을 각각 테스트하세요. 지정한 네트워크에 접속하거나 연결을 끊을 때, 잠금 화면에서 돌아왔을 때, Wi-Fi와 셀룰러 네트워크를 전환할 때 예상대로 연결되는지 확인합니다. 스위치가 켜져 있는지만 보지 말고 실제 동작을 살펴보세요. 시스템 스케줄링, 네트워크 사용 가능 여부, 다른 VPN 설정이 영향을 줄 수 있으므로 On Demand가 모든 상황에서 같은 연결 상태를 유지한다고 생각해서는 안 됩니다.

먼저 일시 중지할 상황

수동으로 연결을 끈 뒤에도 자동으로 다시 연결된다면 On Demand 조건을 먼저 확인한 다음 시스템의 관련 VPN 설정을 살펴보세요. Direct로 비교하거나 설정을 바꾸기 전에는 자동 연결을 잠시 중지해 테스트 상태가 바뀌지 않게 할 수 있습니다. 확인을 마친 뒤 다시 활성화하고, 어떤 네트워크에서는 연결하고 어떤 상황에서는 연결하지 않을지 기록해 두세요. 규칙 라우팅은 여전히 Global Routing과 현재 설정 파일에 따라 결정됩니다.

Data

트래픽 통계 및 요청 확인

Data에서는 앱에 기록된 트래픽 정보를 확인할 수 있습니다. 통계는 연결 동작을 파악하는 용도이며 구독 계정이나 네트워크 사업자의 과금 내역을 대신하지 않습니다.

먼저 통계 범위 확인

Data를 열고 현재 화면에 표시된 통계 범위, 시간 기준, 분류 항목을 먼저 확인하세요. 화면에 따라 누적량, 특정 연결 활동, 처리 경로별 데이터가 표시될 수 있으므로 비교 전에 같은 기준인지 확인해야 합니다. 특정 도메인의 트래픽은 페이지 리소스, 백그라운드 새로고침, 앱의 자동 요청에서 발생할 수도 있습니다. 도메인 이름만으로 어떤 작업을 했는지 판단하지 마세요.

새 규칙을 확인하려면 기존 통계를 기록한 뒤 테스트 대상 하나에만 접속하고, 연결 기록에서 새로 발생한 활동과 적용된 정책을 살펴보세요. 통계 초기화 기능을 사용할 수 있다면 필요한 데이터를 먼저 저장한 뒤 초기화하세요. 통계를 지워도 기존 구독의 사용 가능량은 바뀌지 않으며 연결 문제도 해결되지 않습니다.

통계만으로 결론 내리지 않기

전체 트래픽이 늘었다는 것은 데이터 전송이 발생했다는 뜻일 뿐, 모든 요청이 예상대로 분류되었다는 증거는 아닙니다. 암호화 처리, 재전송, 연결 오버헤드, 통계 집계 범위의 차이 때문에 앱의 수치와 계정 측 기록이 일치하지 않을 수 있습니다. 트래픽 이상을 확인할 때는 발생 시간, 요청 대상, 백그라운드 활동을 함께 살펴 범위를 좁히세요. 특정 설정이 원인이라고 먼저 단정하지 마세요.

Settings

DNS, 테스트 방법, 빠른 실행 및 동기화

Settings에서는 앱 수준의 주요 동작을 관리합니다. 설정 파일에도 관련 매개변수가 정의될 수 있으므로 실제 적용 중인 설정을 확인하려면 활성화된 Config도 함께 살펴봐야 합니다.

DNS: 이름 조회 문제와 연결 문제 구분

DNS는 도메인 이름을 주소로 변환합니다. 관련 설정은 Settings에 있거나 Config의 [General] 매개변수, 예를 들어 dns-server로 지정될 수 있습니다. 변경하기 전에 현재 설정에서 DNS 조회 방식을 어떻게 지정하는지 확인하세요. 한 곳만 바꾸고 모든 요청에 새 설정이 적용되었다고 단정하지 마세요.

Connectivity Test에서 결과가 나오는데도 웹페이지가 열리지 않는다면 서버만 바꾸지 말고 도메인 조회, 실제 요청 경로, TLS를 계속 확인하세요. 먼저 설정을 백업한 뒤 적용 범위를 파악하고 DNS 항목 하나만 변경해 같은 도메인으로 다시 테스트할 수 있습니다. DNS, 라우팅 모드, 서버를 동시에 바꾸면 연결이 복구되어도 어떤 변경이 효과가 있었는지 알기 어렵습니다.

Test Method: 동일한 조건으로 테스트하기

Settings에서 Test Method를 확인해 Connectivity Test가 사용하는 방식을 살펴보세요. 방법에 따라 점검하는 계층이 다릅니다. 전송 계층에 연결할 수 있다고 해서 전체 웹 요청이 성공하는 것은 아닙니다. 테스트 대상, 현재 네트워크, 서버 부하, 요청 방식이 결과에 영향을 주므로 여러 서버를 비교할 때는 방법과 대상을 동일하게 유지하세요.

테스트 주소를 입력해야 한다면 접근 가능 여부를 알고 있고 검증에 적합한 대상을 사용하세요. 테스트 결과가 이상하면 먼저 대상에 직접 접근할 수 있는지 확인한 다음 서버 설정을 살펴보세요. 한 번의 테스트 결과를 장기적인 안정성 판단에 사용하거나 테스트 수치를 실제 콘텐츠 로딩 속도와 동일하게 보아서는 안 됩니다.

Today Widget: 빠른 실행 기능

Today Widget은 시스템에서 지원하는 빠른 확인 또는 조작 기능입니다. Settings에서 앱이 제공하는 관련 옵션을 확인한 뒤 현재 시스템의 위젯 관리 방식에 따라 추가하세요. 표시되는 내용과 사용할 수 있는 동작은 실제 시스템 및 앱에 따라 다르며, 위젯을 별도의 설정으로 취급해서는 안 됩니다.

빠른 실행 기능을 사용한 뒤 연결 상태나 선택한 서버가 확실하지 않다면 Home으로 돌아가 확인하세요. 위젯은 표시 내용이 갱신되기까지 시간이 걸릴 수 있습니다. 이전에 표시된 내용만 보고 스위치를 반복해서 조작하지 말고 앱 내 상태와 실제 요청 결과를 함께 확인하세요.

iCloud: 동기화 항목 확인 후 복원

Settings에서 iCloud 관련 동기화 또는 가져오기 옵션을 확인하고 시스템이 앱의 iCloud 접근을 허용하는지 확인하세요. 동기화되는 데이터 범위는 현재 화면의 안내를 따릅니다. 앱을 설치했다고 해서 서버, 설정, 모든 환경설정이 자동으로 완전히 복원되는 것은 아닙니다.

기기를 바꾸기 전에 직접 관리할 수 있는 설정 백업을 보관하세요. 다른 기기에서 복원한 뒤 서버 목록, 활성화된 Config, Global Routing, On Demand 조건을 하나씩 확인합니다. App Store 구매 내역과 iCloud의 앱 데이터는 별개입니다. 앱을 다시 받을 수 있어도 연결 매개변수까지 복구되는 것은 아닙니다. 인증 정보가 포함된 백업은 본인이 접근 권한을 관리하는 위치에만 보관하세요.

Diagnostics

여러 항목을 동시에 바꾸지 말고 순서대로 진단하기

Diagnostics와 연결 기록은 문제를 파악하는 단서입니다. 먼저 재현 가능한 현상을 기록하고, 관련 테스트를 선택한 뒤 결과에 따라 설정을 변경하세요.

유효한 결과를 수집하는 방법

Settings에서 Diagnostics를 찾아 현재 화면에 제공되는 도구로 네트워크 상태, 이름 조회, 연결 상태를 확인하세요. 시작 전에 현재 네트워크, 선택한 서버, Global Routing, 활성화된 설정, 실패한 대상을 기록합니다. 요청을 다시 한 번 발생시킨 다음 해당 요청의 결과를 확인해 이전 오류를 현재 상태로 오인하지 않도록 하세요.

  1. 로컬 네트워크 확인.기본적인 네트워크가 작동하는지, 네트워크 로그인 절차를 완료해야 하는지 확인하세요.
  2. 서버 매개변수 확인.주소, 포트, 프로토콜, 인증 정보, 추가 전송 설정이 서로 일치하는지 확인하세요.
  3. 라우팅 및 DNS 확인.현재 모드, 대상에 적용된 규칙, DNS 결과를 확인하고 이름 조회 문제와 연결 문제를 따로 판단하세요.
  4. 항목 하나를 바꾼 뒤 재테스트.대상과 테스트 방법을 동일하게 유지하고 변화를 기록하세요. 효과가 없으면 원래 값으로 되돌린 뒤 다음 항목을 확인하세요.

보호해야 할 정보

진단 기록에는 도메인, 주소, 요청 시간, 구독 정보, 인증 매개변수가 포함될 수 있습니다. 내보내거나 스크린샷을 찍기 전에 민감한 내용을 하나씩 가리고 문제 파악에 필요한 오류 메시지와 설정 항목 이름만 남기세요. 기록을 더 모으기 위해 문제와 관계없는 상세 로그를 장기간 보관하지 마세요.

특정 네트워크나 도메인에서만, 또는 구독 업데이트 후에만 문제가 발생한다면 그 조건을 기록해 두세요. 막연하게 ‘연결할 수 없음’이라고 설명하는 것보다 문제 범위를 파악하는 데 도움이 됩니다. 증상에 따라 더 확인하려면 문제 해결 페이지로 이동하고, 연결 절차를 처음부터 다시 확인하려면 모든 설정을 지우기보다 시작하기로 돌아가세요.

App Store에서 다운로드