공식 매뉴얼 · 기능 및 설정

Shadowrocket 설정 방법

먼저 Home에서 서버를 확인한 다음 Global Routing에서 Config를 선택하세요. 연결이 정상 작동하면 DNS와 On Demand를 설정합니다. 이 페이지에서는 주요 기능의 개념, 위치, 설정 방법과 유의 사항을 안내하므로 모든 옵션을 한꺼번에 바꾸지 말고 하나씩 확인할 수 있습니다.

일반적인 트래픽 분기: Config 서버 위치: Home 점검 순서: 서버 → 규칙 → DNS

Global Routing의 세 가지 모드

Global Routing은 트래픽을 처리하는 전반적인 방식을 정하며, 서버 설정을 보완해 주지는 않습니다. Home에서 Global Routing을 열면 Config, Proxy, Direct를 선택할 수 있습니다. 각각 구성, 프록시, 직접 연결을 뜻하지만 실제 조작 시에는 영문 메뉴 이름을 선택하세요. 처음 사용할 때는 사용자가 이미 보유한 서버 중 매개변수가 모두 입력된 서버를 선택한 뒤 실행 모드를 정하세요. 모드를 바꿔도 잘못된 비밀번호, 만료된 구독 또는 연결할 수 없는 서버는 해결되지 않습니다.

일상적인 사용에는 현재 Config 파일의 규칙에 따라 트래픽을 처리하는 Config를 선택하는 것이 일반적입니다. 일부 사이트만 열리지 않는다면 Proxy와 Direct를 잠시 비교해 보세요. Proxy는 선택한 서버가 요청을 처리할 수 있는지, Direct는 현재 네트워크에서 대상에 직접 접속할 수 있는지 확인하는 데 도움이 됩니다. 한 번에 한 항목만 바꾸고 요청을 다시 보낸 뒤, 테스트가 끝나면 Config로 되돌리세요.

화면 옵션트래픽 처리 방식사용 시점유의 사항
Config(구성)현재 Config의 규칙에 따라 PROXY, DIRECT 또는 기타 정의된 정책을 선택합니다.일상적으로 도메인, 주소 또는 지역에 따라 규칙으로 트래픽을 분기할 때 사용합니다.실제로 활성화된 구성 파일과 규칙 순서를 먼저 확인하세요.
Proxy(프록시)가로채는 트래픽을 프록시 경로로 보냅니다.서버 연결을 임시로 비교해 규칙 문제와 서버 문제를 구분할 때 사용합니다.선택한 서버에 계속 의존합니다. 클라이언트에 전달되지 않은 시스템 또는 앱 트래픽은 이 확인에 포함되지 않습니다.
Direct(직접 연결)가로채는 트래픽을 직접 연결 경로로 보냅니다.현재 네트워크에서 대상에 직접 접속할 수 있는지 비교할 때 사용합니다.Direct는 클라이언트 연결 스위치를 끄거나 On Demand를 중지하는 기능이 아닙니다.

Global Routing의 세 가지 모드 사용법 보기 →

규칙 기반 라우팅: 매칭 조건과 실행 정책

규칙 유형은 ‘무엇을 매칭할지’를 정합니다

Config에서 현재 구성 파일을 열고 규칙 항목을 확인하세요. DOMAIN은 전체 도메인을, DOMAIN-SUFFIX는 도메인 접미사와 하위 도메인을, DOMAIN-KEYWORD는 도메인에 포함된 키워드를 매칭합니다. IP-CIDR과 IP-CIDR6은 주소 대역을 기준으로 매칭하고, GEOIP는 주소가 속한 지역을 기준으로 매칭합니다.

범위가 명확한 조건을 우선 사용하세요. DOMAIN-KEYWORD는 예상하지 못한 도메인까지 매칭할 수 있습니다. USER-AGENT는 해당 요청 정보를 가져올 수 있어야 하므로 모든 암호화 트래픽에 적용되는 범용 식별 조건으로 간주하면 안 됩니다.

정책은 ‘매칭된 뒤 어떻게 처리할지’를 정합니다

PROXY는 프록시 경로, DIRECT는 직접 연결, REJECT는 해당 요청 거부를 뜻합니다. 구성에서 사용자 정의 정책 이름을 참조할 수도 있습니다. 이 이름은 구성에 정의되어 있어야 하며, 규칙 끝부분의 문구만 바꿔서는 사용할 수 없습니다.

규칙은 일반적으로 순서대로 매칭되므로 구체적인 조건을 포괄적인 조건보다 앞에 두세요. 앞선 규칙이 모두 매칭되지 않을 때는 FINAL이 최종 처리 방식을 결정합니다. 문제를 확인할 때는 실제로 매칭된 항목을 살펴보세요. 파일에 특정 키워드가 있는지만 확인해서는 부족합니다.

Config에서 수정하고 확인하기

먼저 현재 구성 파일을 복사해 둔 다음 규칙 하나만 수정하고 저장하세요. Config로 돌아가 방금 편집한 파일이 활성화되어 있는지 확인하고, Global Routing에서 Config를 선택합니다. 아래 예시는 규칙 문법만 보여 줍니다. example.com은 학습용 도메인이며 모든 접속 요구를 충족하는 완성된 구성은 아닙니다.

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
GEOIP,CN,DIRECT
FINAL,PROXY

첫 번째 규칙은 예시 도메인과 하위 도메인을 PROXY로 보내고, 두 번째 규칙은 해당 지역 주소에 매칭되는 요청을 DIRECT로 처리하며, 마지막 규칙은 나머지 요청을 처리합니다. 도메인 규칙과 주소 규칙은 서로 다른 기준으로 판단하며, DNS 응답 주소가 이후 주소 규칙의 결과에 영향을 줄 수도 있습니다. 따라서 같은 사이트가 네트워크를 바꾼 뒤 다른 규칙에 매칭되더라도 규칙이 저장되지 않았다고 단정하지 말고, DNS 응답과 연결 기록을 함께 확인하세요.

ConfigGlobal RoutingPROXYDIRECT

Subscribe와 Add Server

관리 대상은 서버, 구독, 구성 파일로 나뉩니다. 서버에는 연결 매개변수를 저장하고, 구독에는 서버 목록을 업데이트할 주소를 저장하며, Config에는 트래픽 분기 규칙을 저장합니다. 용도가 다르므로 구독 주소를 서버 도메인으로 입력하지 마세요.

Subscribe: 기존 구독 가져오기

Home에서 추가 메뉴를 열고 Subscribe에 해당하는 유형을 선택하세요. 이미 보유한 구독 주소와 알아보기 쉬운 이름을 입력한 뒤 저장하고 업데이트를 실행합니다. 가져오기가 끝나면 Home으로 돌아가 서버 목록이 표시되는지 확인한 다음, 서버 하나를 선택해 Connectivity Test를 실행하세요.

구독 업데이트는 원격 목록을 새로 고치는 기능이지 연결을 자동으로 복구하는 기능이 아닙니다. 업데이트에 실패하면 주소가 완전하고 유효한지, 현재 네트워크에서 구독 주소에 접속할 수 있는지 먼저 확인하세요. 기존 그룹과 메모를 잃을 수 있으므로 반복해서 삭제하고 다시 만들지 마세요.

Add Server: 서버 하나 직접 입력

Add Server를 열고 먼저 보유한 정보와 일치하는 프로토콜을 선택한 뒤 주소, 포트, 인증 정보를 입력하세요. Shadowsocks, VMess, VLESS, Trojan, WireGuard, Hysteria2 등은 필요한 항목이 서로 다릅니다. 사용자가 제공한 매개변수에 명시된 항목만 해당 지침에 따라 입력하세요.

TLS, 전송 방식, 서버 이름 등의 항목은 서로 일치해야 합니다. 어떤 옵션이 더 흔해 보인다는 이유만으로 임의로 바꾸지 마세요. 지원되는 유형은 현재 클라이언트의 유형 목록을 기준으로 확인하고, 입력을 마치면 저장한 뒤 Home으로 돌아가 해당 항목을 선택하세요.

서버 공유 링크 하나는 클립보드에서 가져오거나 Scan QR Code로 처리할 수 있습니다. 먼저 내용이 서버 공유 정보인지 구독 업데이트 주소인지 확인하세요. 계정 페이지 URL, 로그인 상태가 포함된 웹 주소, 불완전한 QR 코드 텍스트를 Subscribe 정보로 바로 입력하지 마세요.

구독 업데이트, 여러 구독 정리, 정렬 및 백업 안내 보기 →

여러 프로토콜과 서버 선택

프로토콜은 클라이언트와 서버가 통신하는 방식을 설명하며, 연결 속도가 반드시 더 빠르다는 뜻은 아닙니다. HTTP, SOCKS5 및 기타 프로토콜도 보유한 서버 정보에 맞춰 선택해야 합니다. 프로토콜이 일치하지 않으면 주소와 포트에 연결되더라도 인증이나 데이터 전송이 실패할 수 있습니다. 목록을 정리할 때는 용도, 프로토콜, 그룹 메모로 서버를 구분하세요. 테스트 결과가 비슷하다고 매개변수까지 같다고 판단하지 않도록 주의하세요.

Connectivity Test는 현재 테스트 방식으로 측정한 응답 결과를 확인합니다. 한 번 시간 초과되었다고 서버가 작동하지 않는다고 단정할 수 없고, 한 번 성공했다고 모든 대상에 접속할 수 있는 것도 아닙니다. 같은 서버를 다시 테스트한 뒤 대상 페이지를 실제로 열어 보고, 규칙과 DNS를 함께 확인해 원인을 찾으세요.

On Demand 자동 연결

On Demand는 시스템 네트워크 조건에 따라 연결을 시작하는 기능이지, 서버 사용 가능 여부를 확인하는 스위치가 아닙니다. 클라이언트에 표시되는 On Demand 메뉴에서 조건과 전체 스위치를 확인하세요. 메뉴 위치와 지원 조건은 현재 플랫폼 화면을 기준으로 합니다. 설정하기 전에 수동 연결로 서버, Config, DNS가 모두 정상 작동하는지 확인한 다음 자동 연결을 활성화하세요. 그래야 기본 연결 문제와 자동 실행 동작을 혼동하지 않습니다.

  1. 현재 수동 연결 상태와 선택한 서버를 기록하고 실제 접속이 한 번 성공하는지 확인하세요.
  2. On Demand로 이동해 기존 조건을 확인하세요. 화면에 네트워크 유형이나 Wi-Fi 조건이 있다면 실제 사용 목적에 맞춰 하나씩 설정하고, 서로 겹치는 조건을 여러 개 동시에 추가하지 마세요.
  3. 활성화한 뒤 확인하려는 네트워크로 전환하고 시스템 연결 상태를 살펴본 다음, 대상 앱을 다시 열어 접속해 보세요.
  4. 연결을 유지하지 않으려면 먼저 On Demand를 비활성화한 뒤 현재 연결을 끊으세요. Home의 연결 스위치만 끄면 조건에 따라 다시 연결될 수 있습니다.

연결을 끊자마자 다시 연결된다면 시스템 연결 구성을 반복해서 삭제하지 말고 먼저 On Demand를 확인하세요. 네트워크를 바꿨는데 연결이 시작되지 않으면 조건이 맞는지, 시스템에서 연결을 허용하는지, 클라이언트에 저장된 서버가 여전히 사용 가능한지 확인하세요. 시스템마다 백그라운드 동작 관리 방식이 다르므로 앱을 직접 연 뒤의 결과를 백그라운드 실행 결과와 동일하게 보면 안 됩니다.

Data: 트래픽 통계와 연결 확인

Data는 클라이언트에 기록된 트래픽을 확인해 요청이 현재 연결을 통과하는지, 작업 전후에 데이터가 발생했는지 파악하는 데 도움이 됩니다. Data 또는 현재 플랫폼의 해당 통계 메뉴에서 업로드, 다운로드, 연결 기록을 확인하세요. 세부 항목과 집계 범위는 화면 표시를 기준으로 합니다. 문제를 확인할 때는 먼저 현재 수치를 기록하고 대상 작업을 한 번만 수행한 뒤 다시 확인하세요. 여러 앱을 동시에 여는 것보다 변화를 파악하기 쉽습니다.

Data 통계는 서비스 제공업체의 과금 기록이나 시스템 전체 네트워크 사용량과 같지 않습니다. 백그라운드 앱, 재시도 요청, 연결 오버헤드, 측정 범위 차이로 수치가 달라질 수 있습니다. 원격 사용량을 확인해야 한다면 사용자가 이미 이용 중인 서비스의 사용량 기록을 확인하세요. 클라이언트 누적 수치만으로 추정해서는 안 됩니다.

통계를 초기화하려면 먼저 화면에 표시된 통계 기간을 확인하고 문제 분석에 필요한 기록을 저장하세요. 현재 화면에 초기화 기능이 있다면 안내에 따라 실행합니다. 초기화는 로컬 변화를 다시 관찰하기 위한 것으로, 원격 사용량을 초기화하지 않습니다. Data 또는 연결 기록을 공유하기 전에 서버 주소, 구독 주소, 인증 정보, 개인의 접속 내용을 노출할 수 있는 정보를 가리세요.

Settings 주요 항목

Settings에는 실행 환경설정과 시스템 연동 옵션이 있습니다. 먼저 현재 정상 작동 상태를 유지하면서 한 번에 하나씩 조정하고, 수정 후 같은 서버와 대상, 네트워크 조건으로 다시 테스트하세요. 일부 DNS 또는 연결 매개변수는 현재 Config에서 제어할 수도 있습니다. 구성 파일과 Settings를 동시에 바꾸지 말고 실제 적용되는 설정 위치를 먼저 확인하세요.

DNS: 도메인 이름 확인

기능: DNS는 도메인 이름을 연결에 필요한 주소로 변환합니다. DNS 확인에 실패하면 서버에 연결되더라도 대상 웹사이트가 열리지 않을 수 있습니다.

위치 및 설정: Settings의 DNS 관련 메뉴와 현재 Config에 설정된 항목을 확인하세요. 수동으로 지정한 DNS 서버가 있는지, 현재 네트워크에서 해당 서버에 접속할 수 있는지 먼저 확인한 뒤 기존 구성에 맞게 조정합니다. 용도가 불분명하고 서로 다른 출처의 주소를 여러 개 동시에 입력하지 마세요.

유의 사항: DNS 설정은 모든 상황에 적용되는 속도 향상 스위치가 아닙니다. 변경 후 요청을 다시 보내고, 필요하면 연결을 다시 설정해 기존 캐시의 영향을 배제하세요. 일부 도메인에서만 문제가 발생한다면 규칙 매칭, DNS 응답 주소, 대상 서비스 상태도 함께 확인해야 합니다.

Test Method: 테스트 방식

기능: Test Method는 Connectivity Test에 사용할 검사 방식을 정하며, 실제 웹 이용 경험을 그대로 나타내지는 않습니다.

위치 및 설정: Settings에서 Test Method를 찾아 현재 클라이언트가 제공하는 테스트 방식을 선택하세요. 검사 대상을 설정할 수 있다면 직접 접속 여부를 확인할 수 있고 테스트에 적합한 대상을 사용하세요. 그런 다음 Home으로 돌아가 같은 서버들을 다시 테스트합니다.

유의 사항: 테스트 방식마다 검사하는 단계가 다릅니다. 하위 계층 연결에 성공해도 인증, DNS, 대상 페이지 접속까지 모두 성공했다는 뜻은 아닙니다. 서버를 비교할 때는 테스트 방식과 네트워크 조건을 통일하고, 시간과 대상이 다른 결과를 섞지 마세요.

Today Widget: 빠른 조작

기능: Today Widget은 시스템이 지원하는 범위에서 빠르게 확인하거나 조작할 수 있는 메뉴를 제공해 클라이언트를 여는 단계를 줄여 줍니다.

위치 및 설정: 현재 iPhone / iPad 버전에서 Today Widget을 제공한다면 Settings에서 관련 옵션을 확인한 다음, 시스템의 위젯 편집 메뉴에서 클라이언트가 실제 제공하는 위젯을 추가하세요. 실행할 수 있는 기능은 위젯에 표시된 내용을 기준으로 합니다.

유의 사항: 위젯 표시 내용이 바로 갱신되지 않을 수 있습니다. 예상한 메뉴가 보이지 않으면 다른 버전의 위치를 그대로 적용하지 말고, 현재 시스템과 클라이언트에서 해당 위젯 유형을 지원하는지 확인하세요. 빠른 조작으로 시스템의 연결 권한을 우회할 수는 없습니다.

iCloud 동기화: 여러 기기에서 설정 사용

기능: iCloud 동기화는 이 기능을 지원하는 기기 간에 클라이언트에 표시된 데이터를 동기화합니다. 시스템 전체 백업과는 다릅니다.

위치 및 설정: 먼저 시스템에서 본인의 iCloud 계정에 로그인하고 관련 데이터 접근을 허용했는지 확인한 다음, Settings에서 iCloud 동기화 옵션을 확인하세요. 기능을 활성화하기 전에 로컬 구성 파일을 복사해 두고 현재 화면에 표시된 동기화 범위를 항목별로 확인합니다.

유의 사항: 두 기기에서 같은 항목을 동시에 편집하지 마세요. 한 기기에서 저장하고 동기화가 끝날 때까지 기다린 뒤 다른 기기에서 확인하세요. 구독 인증 정보는 민감한 데이터이므로 백업 및 동기화 전에 저장 위치와 계정 접근 권한을 확인해야 합니다.

Diagnostics 및 문제 확인 순서

Diagnostics는 연결 및 실행 관련 단서를 수집하는 기능입니다. Settings에서 Diagnostics 또는 현재 버전의 진단 메뉴를 찾아 문제가 발생한 네트워크, 선택한 서버, Global Routing 모드, 수행한 작업을 먼저 기록한 뒤 화면에 제공되는 도구로 확인하세요. 진단 결과는 실제 요청과 함께 검토해야 합니다. 발생 시각과 작업 상황이 없는 기록만으로는 어떤 단계에 문제가 있는지 파악하기 어렵습니다.

  1. 먼저 서버 확인: Home에서 선택한 항목을 확인하고 주소, 포트, 프로토콜, 인증 정보를 점검한 다음 Connectivity Test를 실행하세요. 구독을 성공적으로 가져왔다는 것은 목록을 불러왔다는 뜻일 뿐, 모든 서버에 연결할 수 있다는 뜻은 아닙니다.
  2. 다음으로 모드 비교: 같은 대상을 Proxy와 Config에서 각각 확인하세요. Proxy에서는 열리지만 Config에서는 열리지 않으면 규칙 매칭과 사용자 정의 정책 참조를 먼저 확인합니다. 둘 다 열리지 않으면 서버와 DNS를 확인하세요.
  3. DNS만 따로 확인: 특정 도메인에서만 문제가 발생하는지, DNS 오류가 있는지 확인하세요. 서버와 DNS, 규칙을 동시에 바꾸면 어떤 변경이 문제를 해결했는지 판단할 수 없습니다.
  4. 마지막으로 시스템 조건 확인: 연결 권한, On Demand 조건, 네트워크 전환 동작을 확인하세요. 필요하면 자동 연결을 비활성화하고 수동 연결이 반복해서 정상 작동하는지 먼저 확인합니다.

Diagnostics에서 정보를 내보내거나 복사하기 전에 구독 인증 정보, 서버 인증 정보, 개인 접속 기록이 포함되어 있는지 확인하세요. 문제를 파악하는 데 필요한 것은 보통 오류 유형, 작업 순서, 관련 설정이지 민감한 링크 전체가 아닙니다. 문제가 해결되면 일상적으로 사용할 Config로 되돌리고 임시 테스트 변경 사항도 하나씩 복구하세요.

연결 스위치를 켰는데도 페이지가 열리지 않는 이유는 무엇인가요?

스위치가 켜졌다는 것은 클라이언트가 연결을 설정하거나 유지하려 한다는 뜻이지, 대상 요청이 반드시 성공한다는 뜻은 아닙니다. 먼저 서버와 Connectivity Test를 확인하고, 같은 대상으로 Proxy와 Config를 비교한 뒤 DNS를 점검하세요. 특정 앱에서만 문제가 발생한다면 앱을 다시 시작해 연결을 갱신하고 앱 자체의 네트워크 상태도 확인하세요.

규칙을 수정했는데 Data에 이전 경로가 표시되는 이유는 무엇인가요?

먼저 Global Routing이 Config로 설정되어 있고 방금 수정한 구성 파일이 선택되어 있는지 확인하세요. 기존 연결은 이전 경로를 계속 사용할 수 있습니다. 요청을 다시 보낸 뒤 해당 새 연결 기록을 확인하세요. 누적 트래픽의 변화만으로 새 규칙의 매칭 여부를 판단하지 마세요.

클라이언트를 설치하면 사용할 수 있는 서버도 자동으로 제공되나요?

사용자가 이미 보유한 구독 또는 서버 정보를 가져와야 합니다. 클라이언트 구매와 회선 요금제는 별개입니다. iPhone / iPad 버전은 App Store에서 $2.99 일회성 결제로 제공되며, Mac / Windows / Android / Linux 버전은 무료입니다. 클라이언트 취득과 사용자가 보유한 서비스의 연결 정보는 각각 별도로 관리됩니다.

첫 연결 순서에 따라 사용 방법 보기 →