Shadowrocket 사용 설명서 · 기능 및 설정

Shadowrocket 기능 및 설정

먼저 라우팅 모드를 설정한 뒤 서버, 구성 파일, 이름 해석 방식을 확인하세요. 이 페이지는 주로 iPhone과 iPad에서 자주 사용하는 기능을 ‘무엇인지, 어디에 있는지, 어떻게 설정하는지, 무엇을 주의해야 하는지’ 순서로 설명합니다. 메뉴 위치와 사용 가능한 옵션은 기기에 표시되는 내용을 기준으로 확인하세요. 시스템 요구 사항은 App Store 페이지를 참고하세요.

일반적으로 일상적인 사용에 여러 옵션을 한꺼번에 조정할 필요는 없습니다. 먼저 보유한 서버 정보로 연결을 확인한 다음 적절한 Global Routing 모드를 선택하세요. 설정은 한 번에 하나씩 변경하고 변경 전 값을 기록해 두면 접속 문제가 생겼을 때 서버, 규칙, DNS, 로컬 네트워크 중 원인을 구분하기 쉽습니다.

Global Routing: Config, Proxy, Direct

Global Routing은 연결에 적용할 라우팅 방식을 정합니다. Home에서 해당 메뉴를 찾아 들어간 다음 Config, Proxy, Direct 중 하나를 선택하세요. 세 모드는 각각 구성 기반 라우팅, 프록시, 직접 연결을 뜻합니다. 서버 세 개를 의미하는 것도, 서버 주소·인증·프로토콜 설정을 대신하는 것도 아닙니다.

모드 주요 동작 사용 사례 중점 확인 사항
Config 구성 현재 적용 중인 구성의 규칙에 따라 처리 방식을 결정합니다. 도메인, 주소 또는 다른 조건에 따라 트래픽을 나눠야 할 때 사용합니다. 올바른 구성이 선택되어 있는지, 규칙에서 참조하는 정책이 유효한지 확인합니다.
Proxy 프록시 프록시 모드로 트래픽을 처리하며, 세부 동작은 관련 설정의 영향을 받습니다. 문제가 구성의 라우팅 규칙과 관련 있는지 임시로 확인할 때 사용합니다. 현재 서버에 연결할 수 있는지, 프록시 경로가 작동하는지 확인합니다.
Direct 직접 연결 선택한 프록시 서버를 거치지 않고 직접 연결합니다. 로컬 네트워크에서의 접속 결과와 비교할 때 사용합니다. 로컬 네트워크와 DNS가 정상인지, 대상에 직접 접속할 수 있는지 확인합니다.

선택 및 확인 방법

라우팅 규칙을 적용하려면 먼저 Config에서 실제 사용할 구성이 선택되어 있는지 확인한 다음 Global Routing을 Config로 설정하세요. 특정 대상에 접속할 수 없다면 잠시 Proxy로 전환해 같은 대상의 결과를 비교할 수 있습니다. 프록시 모드에서는 정상이고 구성 모드에서만 문제가 생긴다면 서버 설정을 모두 바꾸기보다 규칙 매칭과 연결된 정책을 먼저 확인하세요.

Direct는 로컬 네트워크 접속을 비교하는 데 유용하지만 시스템 VPN을 끄는 것과는 다릅니다. 연결이 꺼졌는지 확인하려면 Home의 연결 스위치와 시스템 상태를 확인하세요. 점검이 끝나면 원래 모드로 되돌려 임시 설정이 일상적인 설정으로 남지 않도록 하세요.

규칙 라우팅: 먼저 매칭한 뒤 정책 적용

규칙은 ‘매칭 유형, 매칭 대상, 정책’ 등의 항목으로 구성됩니다. 특정 연결을 어떻게 처리할지를 나타내며 서버 연결 매개변수를 지정하는 것은 아닙니다. 일반적으로 Config에서 현재 구성을 열고 [Rule] 섹션을 확인하세요. 수정 전 복구할 수 있는 사본을 보관하고, 수정한 구성이 실제로 적용 중인지도 확인해야 합니다.

규칙 유형 및 매칭 대상

DOMAIN은 도메인 전체를 정확히 매칭하고, DOMAIN-SUFFIX는 도메인 접미사를 매칭하며, DOMAIN-KEYWORD는 도메인에 특정 키워드가 포함되어 있는지 확인합니다. 각 규칙의 적용 범위는 다릅니다. 도메인 문제를 해결할 때는 정확한 도메인만 매칭할지 하위 도메인까지 포함할지 먼저 정한 뒤 규칙을 선택하세요. 전체 URL의 경로를 도메인으로 입력하지 마세요.

IP-CIDR과 IP-CIDR6은 각각 IPv4 및 IPv6 주소 범위를 지정합니다. GEOIP는 주소 데이터베이스를 기준으로 매칭하며 결과는 데이터베이스와 이름 해석 결과에 따라 달라질 수 있습니다. USER-AGENT는 요청에서 확인할 수 있는 해당 필드를 대상으로 하므로 적용 범위에 한계가 있습니다. 모든 앱 연결에 적용된다고 가정하지 마세요. 요청을 판별할 수 있는지는 그 시점에 확인 가능한 정보에 달려 있습니다.

정책 및 규칙 순서

DIRECT는 직접 연결, PROXY는 프록시 정책, REJECT는 매칭된 연결 거부를 뜻합니다. 구성에서 사용자 지정 정책 이름을 참조할 수도 있습니다. 이 이름은 파일에 실제로 정의된 이름과 일치해야 합니다. 규칙은 일반적으로 위에서부터 순서대로 매칭하므로 구체적인 규칙을 포괄적인 규칙보다 앞에 두세요. 앞선 규칙에 매칭되지 않은 연결은 FINAL에서 처리합니다.

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

이 내용은 규칙 문법과 순서만 설명하며 전체 구성 예시는 아닙니다. 예시 도메인은 설명을 위한 것입니다. 규칙을 추가한 뒤 해당 도메인으로 새 연결을 만들어 결과를 확인하세요. 이미 연결된 장시간 연결은 수정 직후 경로가 바뀌지 않을 수 있습니다. 다시 연결해야 한다면 테스트 요청을 종료한 뒤 새 요청을 보내세요.

규칙 키워드 및 정책 용어 보기 →

Config: 구성 파일과 적용 범위

Config는 구성 파일을 관리하는 메뉴입니다. 구성에는 일반 매개변수, DNS, 규칙 및 정책 정의가 포함될 수 있으므로 개별 라우팅 규칙 외의 동작에도 영향을 줍니다. 서버 목록에 항목이 있다고 해서 구성이 활성화된 것은 아닙니다. 구성을 저장했더라도 현재 라우팅 모드가 해당 파일에 따라 트래픽을 처리한다고 단정할 수 없습니다.

구성 선택 전 확인 사항

  1. Config를 열어 사용할 파일의 출처와 내용을 확인하세요. 용도를 이해하고 신뢰할 수 있는 출처의 구성만 사용하세요.
  2. 현재 정상적으로 작동하는 구성의 사본을 보관하고 새 구성의 정책 이름, 규칙 순서, DNS 설정을 확인하세요.
  3. 적용할 구성을 선택한 뒤 Home으로 돌아가 Global Routing이 Config로 설정되어 있는지 확인하세요.
  4. 대상을 하나 정해 새 연결을 만들고 결과를 확인하세요. 문제가 생기면 사본으로 복구한 뒤 차이를 항목별로 점검하세요.

원격 구성은 업데이트 과정에서 로컬 수정 사항을 덮어쓸 수 있습니다. 사용자 지정 내용을 계속 유지하려면 현재 파일의 업데이트 방식을 먼저 확인한 뒤 관리 방법을 결정하세요. 익숙하지 않은 구성의 옵션을 모두 그대로 일상적인 환경에 적용하지 마세요. 특히 인증서, 요청 처리 또는 이름 해석 방식에 관한 설정은 용도와 영향 범위를 따로 확인해야 합니다.

구독 및 서버 관리

Home의 서버 목록에서 연결할 서버를 선택합니다. 개별 서버에는 프로토콜 유형, 주소, 포트, 인증 정보 등의 매개변수가 있습니다. Subscribe는 기존 구독 주소를 통해 서버 목록을 업데이트합니다. 가져오는 정보는 사용자가 이미 보유한 서비스 정보여야 하며, 매개변수는 서버 측 설정과 일치해야 합니다.

Add Server: 서버 수동 추가 및 확인

Home에서 Add Server로 이동해 올바른 프로토콜을 선택한 뒤 주소, 포트, 인증 정보를 입력하세요. Shadowsocks, VMess, VLESS, Trojan, HTTP, SOCKS5, WireGuard, Hysteria2는 필요한 매개변수가 서로 다릅니다. 서버 이름만 보고 프로토콜을 판단할 수는 없습니다. 서비스 정보에 TLS, 전송 방식, 서버 이름 등의 항목이 있다면 각 항목에 맞게 입력하세요. 무작위로 옵션을 켜고 끄며 우연히 연결되는 조합을 찾지 마세요.

저장한 뒤 목록에서 해당 서버를 선택해 먼저 Connectivity Test를 실행하고, 실제 접속 요청도 보내세요. 테스트 통과는 해당 테스트 조건에서 응답이 있었다는 뜻일 뿐, 모든 대상과 프로토콜 또는 지속적인 전송이 정상임을 보장하지 않습니다. 테스트 실패 여부도 로컬 네트워크와 테스트 방법을 함께 고려해 판단해야 합니다.

Subscribe: 가져오기, 업데이트 및 삭제

기존 구독을 가져오려면 Add Server에서 Subscribe를 선택하고 본인의 구독 주소를 입력한 뒤 저장하세요. 업데이트 후 그룹과 서버 항목이 표시되는지 확인하고 항목 하나를 선택해 테스트하세요. 구독에 실패하면 전체 주소, 구독 상태, 현재 네트워크에서 해당 주소에 접속할 수 있는지 먼저 확인하세요. 같은 내용을 반복해서 가져오지 마세요.

구독을 업데이트하면 항목이 다시 생성될 수 있으므로 구독으로 관리되는 항목에 중요한 수동 변경 사항만 저장하지 마세요. 서버 하나를 삭제하는 것과 구독 전체를 삭제하는 것은 영향이 다릅니다. 정리하기 전에 선택한 항목을 확인하고 현재 사용하는 그룹을 기록하세요. 구독 주소에는 접속 인증 정보가 포함되는 경우가 많으므로 스크린샷, 로그, 백업에서 전체 주소와 인증 항목을 가리세요.

구독 실패 시 점검 방법 보기 →

On Demand: 조건에 따라 연결하기

On Demand는 설정한 네트워크 조건에 따라 연결 동작을 실행합니다. ‘언제 연결할지’를 정하는 기능이며 ‘특정 도메인에 어떤 정책을 적용할지’를 정하지는 않습니다. 후자는 Global Routing과 구성 규칙에서 설정해야 합니다. Settings에서 On Demand를 찾으세요. 사용 가능한 조건과 메뉴 위치는 현재 화면을 기준으로 확인하세요.

설정 및 테스트

먼저 자동 연결을 끄고 현재 서버와 구성이 정상적으로 연결되는지 직접 확인하세요. 그런 다음 On Demand에서 필요한 조건을 설정합니다. 네트워크 유형이나 특정 네트워크 관련 옵션이 표시되면 실제로 필요한 조건만 선택하세요. 저장한 뒤 해당 네트워크 환경에서 테스트하고, 연결 전후 상태가 기대한 대로인지 확인한 다음 설정을 유지하세요.

자동 연결이 서버 장애 복구를 보장하지는 않습니다. 네트워크 전환, 시스템 스케줄링, 서버 상태에 따라 연결 과정이 달라질 수 있습니다. 연결을 끈 뒤 다시 자동으로 연결된다면 연결 스위치 고장으로 판단하기 전에 On Demand를 확인하세요. 문제를 일시적으로 점검할 때는 자동 연결을 끄고 수동 테스트를 마친 뒤 다시 설정할 수 있습니다.

Data: 데이터 사용량 확인

Data에서는 클라이언트에 기록된 트래픽 정보를 확인할 수 있습니다. 화면에 표시되는 통계의 기준과 기간, 분류를 확인한 뒤 업로드와 다운로드 데이터를 비교하세요. 누적량과 현재 속도는 서로 다른 지표입니다. 일정 시간 동안의 총량을 현재 연결 속도로 해석하지 마세요.

통계를 활용한 점검 방법

특정 접속의 영향을 확인하려면 먼저 현재 수치를 기록하고, 웹페이지 하나를 여는 등 명확한 작업을 한 뒤 Data로 돌아와 변화를 확인하세요. 시스템 업데이트, 클라우드 동기화 또는 대용량 작업을 동시에 진행하면 변화의 원인을 하나로 특정하기 어렵습니다. 초기화 기능을 사용할 때는 보관할 수치를 먼저 기록하고 초기화 범위를 확인하세요.

클라이언트 통계와 서비스 측 과금은 집계 기간, 트래픽 산정 기준, 프로토콜 오버헤드 처리 방식이 다를 수 있어 수치가 일치하지 않을 수 있습니다. Data는 추세를 확인하고 비정상적인 활동을 찾는 데 활용하세요. 서비스 측 사용량 기록을 대신하거나 누적 트래픽만으로 구독 만료 여부를 판단하는 용도로는 적절하지 않습니다. 연결이 켜져 있는데 데이터가 변하지 않는다면 실제 요청과 진단 정보를 함께 확인하세요.

Settings: 자주 쓰는 항목과 설정 범위

Settings에는 이름 해석, 테스트, 빠른 실행, 동기화, 진단 등의 메뉴가 있습니다. 일부 동작은 현재 구성 파일에서도 제어할 수 있습니다. 설정을 바꾸기 전에 앱 옵션과 구성 파일 매개변수를 구분하고 기존 값을 기록하세요. 실제 적용되는 위치가 어디인지 확인해 두 곳에서 중복으로 수정한 뒤 결과를 파악하기 어려워지는 일을 방지하세요.

DNS: 이름 해석 경로 확인

DNS는 도메인 이름을 연결에 필요한 주소로 변환합니다. Settings에서 DNS 관련 옵션을 살펴보고 Config에 이름 해석 설정이 있는지도 확인하세요. 도메인 접속에 문제가 생기면 먼저 대상과 로컬 네트워크를 바꿔가며 결과를 비교한 뒤 이름 해석 결과와 접속 경로를 확인하세요. 모든 연결 실패를 DNS 탓으로 돌리지 마세요.

설정을 바꿔야 한다면 이름 해석 옵션을 한 번에 하나씩 수정하고 같은 대상으로 다시 테스트하세요. 캐시가 결과에 미칠 영향도 고려해야 합니다. 선택한 DNS 서비스에 현재 연결 경로로 접속할 수 있어야 합니다. DNS를 바꿔도 서버 비밀번호 오류, 만료된 구독 또는 전송 연결 실패는 해결되지 않습니다. 로컬 네트워크 이름과 공용 도메인에는 서로 다른 이름 해석 설정이 필요할 수 있으므로 각각 확인하세요.

Test Method: 테스트 대상 명확히 하기

Test Method는 연결 테스트 방식을 정하며 Settings에서 찾을 수 있습니다. 테스트 방식마다 확인하는 연결 구간이 다르므로 결과를 한데 모아 직접 순위를 비교할 수 없습니다. 점검 목적에 맞는 방법을 선택한 다음 Home으로 돌아가 Connectivity Test를 실행하세요. 같은 네트워크와 같은 방법으로 측정한 결과를 비교해야 합니다.

테스트 시간이 짧다고 해서 지속적인 데이터 전송 속도도 빠른 것은 아닙니다. 테스트에는 응답이 있지만 실제 접속이 실패한다면 대상, 규칙, DNS, 전송 매개변수를 계속 확인하세요. 특정 테스트 방식에서만 실패한다면 해당 방식의 테스트 조건이 충족되는지 먼저 살펴보고 서버를 바로 삭제하지 마세요.

Today Widget: 빠른 실행 및 상태 확인

Today Widget에서는 관련 빠른 실행 기능이나 정보를 확인할 수 있습니다. Settings에서 설정 가능한 항목을 살펴본 뒤 시스템에서 지원하는 위치에 추가하세요. 표시 방식과 사용 가능한 기능은 기기의 실제 화면을 기준으로 확인하세요.

설정한 뒤 직접 조작을 한 번 실행하고 Home에서 서버 선택과 연결 상태를 확인하세요. 빠른 실행은 조작 단계를 줄여줄 뿐 서버 구성을 대신하지 않습니다. 화면이 잠시 갱신되지 않는다는 이유만으로 연결 상태를 판단하지 마세요.

iCloud 동기화: 동기화 전 사본 보관

iCloud 동기화는 조건에 맞는 기기 간에 앱에서 지원하는 항목을 동기화합니다. Settings에서 관련 옵션을 확인하고 시스템의 iCloud 상태와 앱 권한도 살펴보세요. 동기화를 켜기 전에 각 기기에 필요한 사본을 보관하고 어느 기기의 내용을 기준으로 정리할지 정하세요.

동기화에 모든 통계, 시스템 권한, 임시 연결 상태가 포함된다고 가정하지 마세요. 동기화 대상과 처리 방식은 현재 화면의 안내를 기준으로 확인하세요. 두 기기에서 동시에 편집하면 변경 내역을 추적하기 어려울 수 있습니다. 한 기기에서 먼저 정리한 뒤 다른 기기에 예상한 내용이 반영됐는지 확인하고 계속 작업하세요. 새 기기에서 앱을 복원하는 일과 구성을 동기화하는 일은 별개의 작업입니다.

Diagnostics: 문제별 정보 수집

Diagnostics는 문제를 파악하는 데 도움이 되는 메뉴이며 Settings에서 찾을 수 있습니다. 문제가 발생한 네트워크 유형, 라우팅 모드, 대상, 작업을 먼저 기록한 다음 화면에서 제공하는 진단 기능을 사용하세요. 한 번에 하나의 문제만 재현해야 진단 기록과 실제 증상을 연결할 수 있습니다.

기록을 정리할 때는 오류 유형, 발생 순서, 필요한 설정 이름을 남기고 구독 주소, 인증 정보, 개인 도메인, 네트워크 식별 정보는 가리세요. 진단 출력은 연결 과정을 파악하기 위한 자료이지, 표시된 모든 매개변수를 변경해야 한다는 뜻은 아닙니다. 점검을 위해 일시적으로 켠 기록 옵션은 테스트가 끝난 뒤 평소 상태로 되돌리세요.

설정 점검 순서: 연결부터 자동화까지

기본 연결, 라우팅, 자동화를 각각 나눠 확인하면 여러 설정을 한꺼번에 바꾸는 것보다 문제를 찾기 쉽습니다. 아래 순서는 새 구성을 확인할 때와 설정 변경 후 문제가 생겼을 때 모두 활용할 수 있습니다.

  1. 서버 정보를 확인합니다. Home에서 선택된 항목과 프로토콜, 인증 매개변수를 확인하세요. 구독으로 가져온 항목은 가장 최근 업데이트가 정상적으로 완료됐는지도 확인해야 합니다.
  2. 라우팅 모드를 확인합니다. 현재 Global Routing 값을 기록하세요. 규칙 문제를 확인할 때는 같은 대상으로 모드별 결과를 비교하고 테스트 후 원래 값으로 되돌리세요.
  3. 적용 중인 구성을 확인합니다. Config를 열어 파일, 정책 이름, 매칭 순서를 확인하세요. 편집한 파일을 저장했는지만 확인해서는 안 됩니다.
  4. DNS와 실제 요청을 확인합니다. 이름 해석 문제, 연결 수립 문제, 대상 응답 문제를 구분하세요. 테스트 시간 하나만으로 전체 연결 경로를 판단하지 마세요.
  5. Data를 확인하고 필요하면 진단합니다. 명확한 단일 접속을 표본으로 삼아 Diagnostics 기록과 함께 결과를 살펴보세요. 통계 차이를 곧바로 과금 문제로 판단하지 마세요.
  6. 마지막으로 자동화와 동기화를 설정합니다. 수동 연결이 안정적으로 작동하면 On Demand, 빠른 실행, iCloud 동기화를 하나씩 확인하세요. 복구할 수 있도록 구성 사본을 보관하세요.

문제가 특정 로컬 네트워크에서만 발생한다면 같은 서버와 같은 구성을 유지한 채 네트워크 환경을 비교하세요. Config 모드에서만 문제가 생긴다면 규칙을 먼저 확인하세요. 변수를 하나씩 좁혀가면 관련 없는 변경을 줄이고 기록에도 문제 발생 지점을 명확히 남길 수 있습니다.