공식 매뉴얼 · 기능 및 설정

Shadowrocket
프록시 모드 및 주요 설정

먼저 Global Routing을 확인한 다음 규칙, 서버와 자동 연결 조건을 살펴보세요.

  • Config 규칙 기반 분기
  • Proxy 프록시 경로
  • Direct 직접 연결

Global Routing 세 가지 모드

연결 스위치는 연결을 설정할지 제어하고, Global Routing은 트래픽을 처리하는 방식을 정합니다.

일상적으로 규칙에 따라 트래픽을 분기하려면 Config, 프록시 경로를 잠시 확인하려면 Proxy, 직접 연결 상태를 점검하려면 Direct를 선택하세요. 이 세 옵션은 서버를 추가하거나 구독을 갱신하는 기능이 아닙니다. Home에서 Global Routing을 열고 원하는 모드를 선택한 다음 Home으로 돌아와 기본 서버와 연결 스위치를 확인하세요. 모드를 바꾼 뒤에는 확인하려는 사이트에 다시 접속해 보세요. 기존의 장시간 연결을 새 모드의 결과로 오해하지 않도록 주의해야 합니다.

구성/프록시/직접 연결은 화면의 Config / Proxy / Direct에 해당합니다. 여기서 Config 모드는 하단의 Config 화면과 관련은 있지만 같은 기능은 아닙니다. 전자는 트래픽 처리 방식을 선택하고, 후자는 구성 파일을 관리합니다. 구성 파일을 가져오기만 해서는 해당 파일이 선택된 것도, Global Routing이 Config로 전환된 것도 아닙니다.

옵션처리 방식확인할 상황먼저 확인할 항목
Config
규칙 기반
현재 구성에 설정된 규칙과 정책에 따라 요청을 처리합니다.도메인, 주소 등의 조건에 따라 연결 경로를 구분합니다.실제로 적용 중인 구성, 규칙 순서와 최종 정책
Proxy
프록시
가로챈 트래픽을 선택한 프록시 경로로 처리합니다. 시스템 및 구성의 제외 항목도 확인해야 합니다.기본 서버로 원하는 사이트에 접속할 수 있는지 확인합니다.서버가 선택되어 있는지, 설정값이 유효한지
Direct
직접 연결
가로챈 트래픽을 선택한 프록시 서버를 거치지 않고 대상에 직접 연결합니다.현재 네트워크에서 직접 접속했을 때의 상태를 비교합니다.연결 스위치 상태, 현재 네트워크에서 대상에 접속할 수 있는지

모드를 바꿔도 연결 성공이 보장되지는 않습니다

Proxy는 유효한 서버 정보와 네트워크 연결이 필요하고, Config는 올바른 규칙에 따라 작동합니다. Direct도 현재 네트워크와 대상 서비스의 상태에 영향을 받습니다. 문제가 생기면 먼저 현재 모드를 기록한 뒤 한 번에 하나씩만 변경하세요. Proxy에서는 접속되지만 Config에서는 안 된다면 서버를 모두 다시 가져오기보다 규칙 일치 여부와 DNS를 먼저 확인하세요.

비교를 마치면 일상적인 사용 목적에 맞는 모드로 되돌리세요. 임시 테스트 모드를 계속 사용하면 Data의 트래픽 분포, 로컬 네트워크 접속, 이후 문제 진단 결과가 예상과 달라질 수 있습니다.

규칙 유형과 정책

규칙은 ‘무엇과 일치하는지’를, 정책은 ‘일치한 뒤 어떻게 처리하는지’를 정합니다.

규칙 분기는 Config 화면에서 실제로 선택한 구성을 기준으로 동작합니다. 수정하기 전에 복구할 수 있는 사본을 보관하고, 구성의 [Rule] 섹션을 확인한 다음 Home의 Global Routing이 Config로 설정되어 있는지 살펴보세요. 일반적으로 범위가 명확한 규칙을 앞에 두고, 앞선 규칙에 일치하지 않는 요청은 최종 규칙에서 처리합니다.

DOMAIN은 도메인 전체와 일치하고, DOMAIN-SUFFIX는 지정한 도메인 접미사와 하위 도메인에 일치하며, DOMAIN-KEYWORD는 도메인에 포함된 키워드로 일치 여부를 판단합니다. 주소 기반 규칙에는 해당 주소 대역에 사용하는 IP-CIDR과 IP-CIDR6가 있습니다. GEOIP는 IP 주소 위치 데이터에 따라 일치 여부를 판단합니다. 결과는 데이터베이스와 확인된 주소에 따라 달라지므로, 대상 서비스가 실제로 배포된 위치를 확정하는 근거로 볼 수는 없습니다.

정책에서 PROXY는 프록시 경로 사용, DIRECT는 직접 연결, REJECT는 요청 거부를 뜻합니다. 이는 규칙의 처리 결과이지 프로토콜 이름이 아닙니다. 구성에 사용자 지정 정책 그룹이 있다면 규칙의 마지막 항목이 그룹 이름을 가리킬 수 있습니다. 이 경우 규칙에 PROXY가 있는지만 볼 것이 아니라 그룹 내부의 선택 항목도 확인해야 합니다.

구성 텍스트 예시 · 앱 화면이 아닙니다
[Rule]
DOMAIN,example.com,PROXY
DOMAIN-SUFFIX,example.org,DIRECT
IP-CIDR,10.0.0.0/8,DIRECT
FINAL,PROXY

위에서 아래로 규칙 일치 여부를 확인하며, 앞선 규칙과 일치하지 않은 요청은 FINAL이 처리합니다. 예시 도메인은 문법 설명을 위한 것입니다.

일치 범위를 먼저 좁힌 다음 최종 정책을 조정하세요

규칙을 테스트할 때는 먼저 대상이 전체 도메인인지, 하위 도메인인지, IP 주소인지 정하세요. 키워드 규칙은 범위가 넓어 의도하지 않은 도메인까지 포함할 수 있고, 주소 규칙은 먼저 DNS 확인이 필요할 수 있습니다. 서로 겹치는 규칙을 한꺼번에 여러 개 추가하지 마세요. 접속이 복구되더라도 어떤 규칙이 작동했는지 판단하기 어려워집니다.

USER-AGENT는 해당 요청 정보를 가져올 수 있는 조건이 갖춰져야 하므로 모든 앱 트래픽에 적용하는 일반적인 기준으로 사용하기 어렵습니다. 요청 정보를 확인할 수 없다면 도메인 또는 주소 기준의 일치를 먼저 살펴보세요. 주요 키워드 설명은 용어 빠른 참조에서, 전체 구성 절차는 전체 매뉴얼에서 확인할 수 있습니다.

구독 및 서버 관리

서버 정보는 연결할 대상을 정하고, 구독은 기존 서버 항목을 관리하는 데 사용합니다.

Home에서 Add Server를 눌러 본인이 보유한 서버 정보를 추가하세요. 서비스 제공업체가 제공한 구독 링크가 있다면 화면에서 Subscribe를 선택하고 링크를 입력합니다. 가져오기 전에 정보 유형을 확인하세요. 단일 서버 공유 정보, 구독 링크와 전체 구성 파일은 서로 다른 종류이므로 텍스트 형태가 같다고 해서 같은 입력란에 넣을 수 있는 것은 아닙니다.

수동으로 입력할 때는 먼저 보유한 정보에 맞는 프로토콜을 선택한 다음 주소, 포트, 인증 정보와 전송 관련 항목을 하나씩 확인하세요. Shadowsocks, VMess, VLESS, Trojan, WireGuard, Hysteria2, HTTP 및 SOCKS5는 설정 항목이 서로 다릅니다. 한 프로토콜의 입력 방식을 다른 프로토콜에 그대로 적용하지 마세요. 필수 정보가 없으면 추측하지 말고 원래 정보를 제공한 곳에 확인하세요.

가져오기, 갱신, 선택은 각각 별개의 작업입니다

가져온 뒤 Home에 예상한 항목이 표시되는지 확인하고, 사용할 기본 서버를 탭해 선택 표시가 나타나는지 살펴보세요. 구독을 갱신하면 서버 목록을 다시 가져오지만, 각 항목이 사용 가능한지 자동으로 확인하거나 현재 기본 서버를 바꾸지는 않습니다. 항목 이름이나 개수가 바뀌었다면 특히 갱신 후 선택된 항목을 다시 확인하세요.

갱신에 실패하면 현재 네트워크에서 구독 주소에 접속할 수 있는지, 링크가 완전한지, 서비스가 여전히 유효한지 먼저 확인하세요. 구독 링크에 접근 인증 정보가 포함될 수 있으니 전체 링크를 공개 스크린샷, 로그 또는 댓글에 올리지 마세요. 이전 구독을 삭제하기 전에 어떤 항목이 그 구독에 속하는지 확인해 현재 사용 중인 설정을 잃지 않도록 하세요.

서버 테스트 결과는 해당 테스트 방법과 당시 네트워크 상태만을 반영합니다. 수치가 낮다고 모든 대상에 더 빨리 접속할 수 있는 것은 아니며, 테스트에 응답했다고 인증, 전송 및 대상 서비스까지의 연결이 모두 정상이라는 뜻도 아닙니다. 항목을 선택한 뒤 실제로 연결하고 대상에 접속해 확인해야 합니다.

On Demand 자동 연결

수동 연결을 먼저 확인한 뒤 자동 실행 조건을 추가하세요.

On Demand는 설정한 조건에 따라 연결 동작을 실행하는 기능입니다. 올바른 서버 설정이나 트래픽 분기 규칙을 대신 선택해 주지는 않습니다. Settings에서 On Demand를 찾아 기존 조건을 확인한 다음 필요에 따라 Wi-Fi, 셀룰러 네트워크 또는 도메인 관련 조건을 설정하세요. 선택할 수 있는 항목은 현재 앱 화면을 기준으로 확인하세요.

설정하기 전에 Home의 연결 스위치로 한 번 수동 연결을 확인하세요. 기본 서버가 유효하고, Global Routing이 예상대로 설정되어 있으며, 대상에 접속할 수 있어야 합니다. 그런 다음 조건을 한 번에 하나씩 추가하세요. 예를 들어 Wi-Fi 이름을 조건으로 설정한다면 실제 네트워크 이름의 철자를 확인하세요. 도메인을 조건으로 설정할 때는 자동 연결 조건과 [Rule]의 트래픽 분기 규칙을 혼동하지 않도록 대상이 무엇인지 명확히 하세요.

자동 연결과 트래픽 분기는 따로 확인하세요

On Demand는 연결을 언제 설정하거나 실행할지 정하고, Global Routing과 구성 규칙은 연결이 설정된 뒤 트래픽을 어떻게 처리할지 정합니다. 자동 연결에 성공해도 특정 도메인이 PROXY를 거친다는 뜻은 아닙니다. 반대로 기존 연결이 유지된다고 해서 자동 실행 조건이 확인된 것도 아닙니다.

테스트할 때는 해당 네트워크로 실제 전환한 뒤 연결 상태를 확인하고 조건과 관련된 사이트에 접속해 보세요. 여러 조건을 함께 사용한다면 목록 순서와 각 조건의 동작을 확인해 범위가 넓은 조건이 더 구체적인 조건을 덮지 않도록 하세요. 연결을 끈 뒤 다시 연결되는 현상이 있다면 먼저 On Demand를 일시 중지해 비교하고, 그다음 시스템 VPN 상태를 확인하세요. 자동 실행 문제를 해결하려고 서버 정보를 반복해서 수정하지 마세요.

기기 잠자기, 네트워크 전환 및 시스템 스케줄링에 따라 관찰되는 연결 동작이 달라질 수 있습니다. 실행 조건, 네트워크 유형과 실제 결과를 기록하고 하나씩 재현해 보세요. Wi-Fi, 셀룰러 네트워크 및 도메인 조건을 설정하는 방법은 On Demand 자동 연결 설정에서 자세히 확인할 수 있습니다.

Data 트래픽 통계

앱에 기록된 연결과 트래픽을 확인하는 기능이며, 서비스 제공업체의 사용량 기록을 대신하지 않습니다.

Data 화면에서는 앱이 제공하는 트래픽 통계와 관련 연결 정보를 확인할 수 있습니다. 문제를 살펴보기 전에 화면에 표시된 통계 범위, 분류 및 기록 내용을 확인한 뒤, 명확한 대상에 한 번 접속해 변화가 나타나는지 비교하세요. 통계 항목마다 누적 범위가 다를 수 있으므로 화면의 설명을 기준으로 판단하고, 누적 수치를 특정 접속에서 사용한 데이터량으로 해석하지 마세요.

Config와 Proxy의 동작을 비교하려면 현재 모드와 통계 수치를 먼저 기록한 뒤 같은 작업으로 접속해 보세요. 기록에 대상, 정책 또는 서버 정보가 표시된다면 예상한 규칙과 비교하세요. 총 트래픽이 증가했다는 사실만으로 특정 규칙이 적용됐다고 단정할 수는 없습니다. 백그라운드 작업도 동시에 요청을 발생시킬 수 있습니다.

통계는 문제를 파악하는 데 사용하며 요금제 잔량을 계산하는 기준은 아닙니다

앱 기록과 서비스 제공업체의 과금 내역은 통계 기간, 프로토콜 오버헤드와 산정 기준이 다를 수 있습니다. Data 수치를 구독 잔량으로 간주하거나 특정 대상의 전체 트래픽이 한 경로를 거쳤다는 증거로 볼 수는 없습니다. 계정 사용량을 확인하려면 본인이 이용하는 서비스 제공업체의 기록을 확인하세요.

기록을 지우거나 통계를 초기화하기 전에 문제를 확인하는 데 필요한 정보를 보관하세요. 기록을 공유할 때는 서버 주소, 계정 및 기타 민감한 항목을 가리세요. 재현 시간, 현재 모드, 사용한 프로토콜과 오류 증상만 공유해도 문제 범위를 좁히는 데 도움이 됩니다.

Settings 주요 항목

한 번에 하나만 변경하고 원래 값을 기록한 뒤 같은 네트워크에서 다시 테스트하세요.

DNS: 실제 적용 위치부터 확인하기

DNS는 도메인을 주소로 변환하며 일부 주소 기반 규칙의 판단에도 영향을 줍니다. Settings의 DNS 관련 옵션을 확인할 때는 현재 Config에 DNS 매개변수가 선언되어 있는지도 함께 살펴보세요. 한 화면의 설정만 바꾸고 모든 DNS 동작이 달라졌다고 가정하지 마세요. 시스템 DNS를 사용하는 구성은 dns-server = system처럼 작성할 수 있습니다.

사용자 지정 DNS를 설정하려면 현재 앱에서 지원하는 형식으로 입력하고 해당 DNS 서버에 현재 네트워크에서 접속할 수 있는지 확인하세요. DNS over HTTPS는 DNS 요청의 전송 방식을 바꾸는 기능이지 서버 인증 오류를 자동으로 해결하는 기능은 아닙니다. 설정을 바꾼 뒤 연결을 다시 설정하고 대상에 접속해 DNS 확인과 연결이 각각 성공하는지 살펴보세요. 설정별 장단점은 DNS 설정 안내에서 확인할 수 있습니다.

Test Method: 지연 시간 테스트가 무엇을 측정하는지 확인하기

Settings에서 Test Method의 현재 방식을 확인한 다음 Home으로 돌아가 기존 서버를 테스트하세요. 테스트 방식마다 확인하는 연결 단계가 다르므로, 같은 방식과 비슷한 시간대, 동일한 네트워크에서만 제한적으로 비교할 수 있습니다. Test Method를 바꿨다면 새 결과를 이전의 다른 방식 결과와 바로 비교해 순위를 매기지 마세요.

테스트에는 응답이 있지만 웹페이지에 접속할 수 없다면 인증 설정, 대상 규칙, DNS와 실제 요청 결과를 추가로 확인하세요. 테스트에 응답이 없더라도 테스트 대상에 제한이 있는지 서버 전체가 사용 불가능한지 구분해야 합니다. 최종 판단은 필요한 대상에 정상적으로 접속할 수 있는지에 따라야 합니다.

Today Widget: 빠른 조작 후에도 상태 확인하기

Settings에서 Today Widget 관련 옵션을 확인하고 기기의 시스템에서 제공하는 방법에 따라 해당 위젯을 설정하세요. 앱의 연결 기능을 빠르게 확인하거나 조작할 수 있으며, 사용할 수 있는 기능은 현재 앱과 시스템 화면을 기준으로 합니다. 처음 사용하기 전에 Home에서 서버를 선택하고 연결 권한을 설정하세요.

위젯을 조작한 뒤 앱으로 돌아와 연결 스위치와 현재 서버를 확인하세요. 위젯은 별도의 연결 설정이 아니며 Global Routing 선택을 대신하지 않습니다. 예상한 위젯이 보이지 않으면 시스템 위젯 목록과 앱 설정을 먼저 확인하세요. 이를 구독 가져오기 실패로 판단해서는 안 됩니다.

iCloud 동기화: 동기화는 검증이나 전체 백업과 다릅니다

Settings에서 iCloud 동기화 관련 스위치를 확인하고, 기기에서 본인의 Apple 계정에 로그인했으며 필요한 iCloud 사용이 허용되어 있는지 살펴보세요. 동기화 범위는 현재 앱에 표시된 항목을 기준으로 합니다. 연결 상태, 진단 기록과 모든 로컬 데이터가 함께 전송된다고 가정하지 마세요.

다른 기기에서 앱을 연 뒤 서버, 구성 파일과 현재 선택 항목을 하나씩 확인하고 연결 테스트를 진행하세요. 구성을 일괄 삭제하거나 수정하기 전에 사본을 보관하세요. 변경 사항이 다른 기기에도 동기화될 수 있습니다. 앱 구매 내역 복원과 구성 데이터 동기화는 별개의 작업입니다. 구매 관련 문제는 구매 항목 복원 안내를 확인하세요.

Diagnostics: 연결 실패 한 건에 필요한 정보 수집하기

Settings에서 Diagnostics를 찾아 화면에 표시되는 진단 항목으로 현재 연결 환경을 확인하세요. 시작하기 전에 네트워크 유형, Global Routing, 선택한 서버와 접속에 실패한 대상을 기록하세요. 그런 다음 확인할 문제를 한 번 재현하고 해당 시간대의 진단 결과를 살펴보세요. 관련 없는 과거 정보를 한꺼번에 모아 점검하지 마세요.

진단 결과는 Home의 Connectivity Test, 실제 대상 접속 및 Data 기록과 함께 비교해야 합니다. 로그에 한 건의 실패가 있다고 해서 모든 연결이 실패한 것은 아닙니다. 마찬가지로 한 가지 테스트가 성공해도 모든 앱이 정상적으로 접속된다는 뜻은 아닙니다. 자료를 내보내거나 공유하기 전에 구독 링크, 인증 정보 또는 개인 접속 기록이 포함되어 있는지 확인하세요.

설정 확인 순서

자동 실행, 서버 연결과 규칙 적용을 각각 따로 확인하세요.

  1. 현재 상태를 기록하세요. Global Routing, 선택한 서버, 활성화된 구성과 On Demand 조건을 적고, 구성을 수정하기 전에 사본을 보관하세요.
  2. 먼저 수동 연결을 테스트하세요. 자동 실행 조건의 영향을 잠시 배제하고 Home에서 기본 서버를 선택한 뒤 연결 스위치를 켜세요. 시스템 안내에 따라 VPN 구성 권한을 허용합니다.
  3. 실제 접속을 테스트하세요. Connectivity Test를 실행한 다음 필요한 대상에 접속해 테스트 실패, 도메인 확인 실패와 대상 서비스의 무응답을 구분하세요.
  4. 모드와 규칙을 비교하세요. 필요하면 Proxy와 Config의 결과를 임시로 비교하고 규칙 순서, 최종 정책 및 DNS를 확인하세요. 설정은 한 번에 하나씩만 변경합니다.
  5. 마지막으로 자동 조건을 복원하세요. 수동 연결과 트래픽 분기를 확인한 뒤 On Demand를 다시 켜고 실제 네트워크를 전환해 자동 실행 여부를 확인하세요.

문제의 원인을 계속 찾기 어렵다면 현상을 재현하는 데 필요한 최소 단계만 기록하고 전체 매뉴얼을 따라 단계별로 확인하세요. 처음 설정한다면 연결 설정 가이드부터 시작하세요. 구매, 시스템 요구 사항 및 호환성은 App Store 정품 확인 페이지에서 확인할 수 있으며, 시스템 요구 사항과 기기 호환 여부는 App Store 페이지의 안내를 기준으로 합니다.