공식 매뉴얼 · 기능 안내

Shadowrocket 기능 및 설정

먼저 Global Routing을 확인한 다음 구성과 서버를 점검하세요. 연결이 설정되면 Data와 Diagnostics를 활용해 구체적인 문제를 찾을 수 있습니다. 설정은 한 번에 하나씩 변경하고, 변경 전 결과를 비교할 수 있도록 기록해 두세요.

이 안내는 iPhone 및 iPad 사용자를 대상으로 하며, 사용자가 이미 구독 또는 서버 정보를 보유하고 있다고 가정합니다. 시스템 요구 사항과 호환성은 App Store 페이지를 기준으로 확인하세요.

  • 라우팅 진입 방식을 결정하는 모드
  • 매칭 결과를 결정하는 규칙
  • 테스트 결과는 교차 확인이 필요합니다

Global Routing: 구성, 프록시 및 직접 연결

Global Routing은 현재 연결에 사용할 라우팅 방식을 결정하며, 서버 프로토콜을 선택하는 기능은 아닙니다. Home에서 Global Routing을 열고 목적에 따라 Config, Proxy 또는 Direct를 선택하세요. 설정을 변경하기 전에 기존 선택 항목을 기록해 두면 문제 해결 후 원래 설정으로 되돌리기 쉽습니다.

화면 옵션 처리 방식 사용 사례 확인할 항목
Config (구성) 현재 활성화된 구성의 규칙과 정책에 따라 요청을 처리합니다. 평소 도메인, 주소 등의 조건으로 트래픽을 분기할 때 사용합니다. 현재 구성, 규칙 순서, 정책 참조 및 최종 기본 규칙을 확인합니다.
Proxy (프록시) Config의 일반적인 규칙별 분기 대신 프록시 방식으로 트래픽을 처리합니다. 선택한 서버가 대상 연결을 처리할 수 있는지 임시로 확인할 때 사용합니다. 선택한 서버의 설정과 구성에서 관련 제외 항목이 미치는 영향을 확인합니다.
Direct (직접 연결) 대상에 직접 연결합니다. 현재 네트워크에서 직접 접속할 수 있는지 비교할 때 사용합니다. 로컬 네트워크, DNS 응답 및 대상 서비스의 상태를 확인합니다.

모드를 선택하고 확인하는 방법

이미 트래픽 분기 구성을 사용 중이라면 Config에서 현재 사용 중인 파일을 확인한 뒤 Global Routing을 Config로 설정하세요. 규칙에서 정책을 잘못 선택했는지 의심된다면 같은 네트워크와 같은 대상을 유지한 채 Proxy로 임시 변경해 결과를 비교할 수 있습니다. 현재 네트워크에서 직접 접속할 수 있는지 확인하려면 Direct를 테스트하세요. 한 번에 모드 하나만 변경하고 서버, DNS, 네트워크를 동시에 바꾸지 마세요. 그래야 어떤 변경이 결과에 영향을 줬는지 판단할 수 있습니다.

모드 이름만으로 실제 작동 여부를 판단할 수는 없습니다. Proxy를 선택해도 서버가 반드시 작동하는 것은 아니며, Direct를 선택해도 시스템 연결 스위치가 꺼지는 것은 아닙니다. 연결 상태, 요청 기록, 실제 접속 결과를 함께 확인한 뒤 결론을 내리세요. 문제 해결을 마치면 필요한 모드로 되돌리세요. 임시 테스트 모드를 계속 사용하면 규칙에 의존하던 연결 방식이 달라질 수 있습니다.

규칙 기반 라우팅: 매칭 조건과 처리 정책

규칙은 ‘어떤 요청’을 처리할지, 정책은 ‘어떤 방식으로 처리할지’를 정합니다. 두 항목을 함께 확인해야 합니다.

규칙은 주로 Config에서 확인하고 관리합니다. 사용 전에 Global Routing이 Config로 설정되어 있는지, 현재 활성화된 구성을 편집하는지 확인하세요. 일반적으로 규칙 순서대로 매칭되므로 구체적인 조건을 포괄적인 조건보다 앞에 배치해야 합니다. FINAL은 앞선 규칙에 매칭되지 않은 요청을 처리합니다. 규칙을 비활성 파일에 추가해도 현재 연결에는 영향을 주지 않습니다.

규칙 유형매칭 대상사용 시 주의 사항
DOMAIN전체 도메인입니다.특정 도메인 하나만 처리할 때 적합합니다.
DOMAIN-SUFFIX도메인 접미사와 하위 도메인입니다.원치 않는 하위 도메인까지 범위에 포함되는지 확인하세요.
DOMAIN-KEYWORD도메인에 포함된 키워드입니다.매칭 범위가 넓으므로 지나치게 짧은 키워드는 피하세요.
IP-CIDR / IP-CIDR6IPv4 / IPv6 주소 대역입니다.주소 대역과 프리픽스 길이를 확인하고, 단일 주소와 전체 네트워크를 혼동하지 마세요.
GEOIP주소 데이터베이스에 등록된 지역 정보입니다.데이터베이스의 지역 판정은 대상 서비스의 언어나 서비스 지역과 일치하지 않을 수 있습니다.
FINAL앞선 규칙에 매칭되지 않은 나머지 요청입니다.기본 처리 규칙으로 사용하며, 우선 매칭할 규칙 뒤에 배치하세요.

PROXY, DIRECT, REJECT의 차이

PROXY는 프록시 정책으로 처리하고, DIRECT는 직접 연결하며, REJECT는 요청을 거부합니다. 구성에서 이름이 지정된 정책 그룹을 참조할 수도 있습니다. 이 경우 규칙뿐 아니라 정책 그룹에서 현재 선택된 항목도 확인하세요. 화면 모드인 Proxy와 규칙 키워드 PROXY는 서로 다른 단계에 속합니다. 전자는 라우팅 방식을 선택하고, 후자는 규칙에 적용할 처리 정책이므로 서로 바꿔 쓸 수 없습니다.

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

위 내용은 문법과 순서를 설명하는 예시이며, 개인 설정을 그대로 대체할 수 있는 완성된 구성 파일은 아닙니다. 규칙을 추가할 때는 대상 하나로 먼저 확인한 다음 매칭 범위를 점차 넓히세요. 대상에 다른 정책이 적용된다면 앞쪽 규칙이 먼저 매칭되는지 확인하고, 요청 기록에서 실제 도메인이나 주소를 살펴보세요. 화면에 표시된 도메인이 해당 서비스의 모든 요청을 포함하지 않을 수도 있습니다.

구독 및 서버 관리

서버 항목에는 연결 매개변수가 저장되고, Subscribe는 사용자가 보유한 서버 목록을 가져오거나 업데이트합니다. 두 기능은 Config의 전체 트래픽 분기 구성과 다릅니다. Home에서 Add Server를 사용해 항목을 하나씩 추가하거나 Subscribe 유형을 선택해 기존 구독을 입력하세요. 기존 QR 코드가 있다면 Scan QR Code를 사용할 수 있지만, 먼저 해당 QR 코드가 본인의 구성 출처에서 제공된 것인지 확인하세요.

추가 및 업데이트할 때 확인할 항목

수동으로 추가할 때는 프로토콜 유형이 기존 서버 정보와 일치해야 합니다. 서버 주소, 포트, 인증 정보와 프로토콜별 옵션을 하나씩 확인하세요. Shadowsocks, VMess, VLESS, Trojan, WireGuard 등의 프로토콜 매개변수는 서로 바꿔 쓸 수 없습니다. 저장에 성공했다는 것은 항목이 생성되었다는 뜻일 뿐, 원격 서비스가 작동한다는 의미는 아닙니다. 해당 항목을 선택한 뒤 Connectivity Test를 실행하고 실제 접속도 확인하세요.

Subscribe를 가져올 때는 링크 전체가 유지되도록 하세요. 특히 쿼리 매개변수와 복사 과정에서 포함될 수 있는 공백이나 줄바꿈에 주의해야 합니다. 구독을 업데이트하면 내용을 다시 읽어 서버 항목이 추가, 변경 또는 삭제될 수 있습니다. 구독에서 생성된 항목을 수동으로 수정하기 전에 다음 업데이트에서 해당 변경 사항이 덮어써질지 확인하세요. 유지해야 할 개인 설정은 따로 기록하고, 임시 편집 내용을 장기 보관 방법으로 사용하지 마세요.

여러 목록과 민감 정보

구독을 여러 개 관리한다면 메모로 출처와 용도를 구분하고, 정리하기 전에 각 항목이 어느 목록에 속하는지 확인하세요. 메모가 같아도 매개변수가 동일하다는 뜻은 아닙니다. 주소가 중복되어도 포트, 프로토콜, 인증 방식이 다를 수 있습니다. 항목을 삭제한 뒤에는 Config에서 기존 항목이나 정책 이름을 참조하는 곳이 있는지 확인하세요. 규칙이 삭제된 대상을 계속 가리키는 일을 방지할 수 있습니다.

구독 링크에는 접근 자격 증명이 포함될 수 있으며, QR 코드, 내보낸 데이터, 진단 기록에도 서버 정보가 들어갈 수 있습니다. 이런 내용을 공개 스크린샷에 그대로 담지 마세요. 이 사이트는 노드나 구독을 제공, 판매 또는 추천하지 않습니다. 원격 서버 매개변수를 확인해야 한다면 이미 보유한 정보를 사용해 해당 서비스 제공자에게 문의하세요. 관련 없는 설정을 계속 바꾸며 올바른 값을 추측하지 마세요.

On Demand: 조건에 따라 연결 실행

먼저 수동 연결이 정상적으로 작동하는지 확인한 다음 자동 실행 조건을 설정하세요. 자동 연결은 잘못된 서버 매개변수를 해결하지 않습니다.

On Demand는 네트워크 등의 조건에 따라 연결을 실행할지 결정합니다. 앱의 On Demand 설정으로 이동해 현재 규칙과 동작을 확인한 뒤, 실제 필요에 맞게 Wi-Fi, 셀룰러 네트워크 또는 도메인 관련 조건을 설정하세요. 설정 메뉴의 위치와 사용 가능한 옵션은 기기의 앱 화면을 기준으로 확인해야 합니다. 다른 기기에서 본 메뉴 위치만으로 판단하지 마세요.

조건 하나씩 적용하기

먼저 반복해서 확인할 수 있는 상황 하나를 정하세요. 예를 들어 이미 알고 있는 Wi-Fi에 연결되면 연결을 실행하도록 설정할 수 있습니다. 네트워크 이름을 입력할 때 철자와 공백을 확인하고, 실행 동작이 예상과 맞는지 살펴보세요. 저장한 뒤 해당 네트워크로 전환해 시스템 연결 상태와 실제 접속 결과를 확인합니다. 첫 번째 규칙이 정상적으로 작동한 다음 다른 네트워크 조건을 추가하세요. 서로 겹치는 규칙을 한꺼번에 여러 개 추가하지 마세요.

도메인 관련 조건은 시스템이 언제 DNS 조회나 접속을 시작하는지와도 관련이 있습니다. 도메인을 입력했다고 해서 연결된 모든 요청에 같은 동작이 즉시 적용되는 것은 아닙니다. 여러 조건이 겹친다면 규칙 순서, 각 동작, 실제 매칭 결과를 확인하세요. 네트워크를 바꾼 뒤 결과가 달라졌다면 현재 네트워크에서 서버에 접속할 수 없는 경우도 있으므로 규칙 실행 실패와 구분해야 합니다.

Global Routing과의 차이

On Demand는 연결 실행을 담당하고, Global Routing과 Config는 연결 후 트래픽 처리를 담당합니다. 자동 연결에 성공해도 트래픽 분기가 예상대로 설정되었다는 뜻은 아닙니다. 현재 모드와 구성을 계속 확인해야 합니다. 수동으로 연결을 끊었는데 다시 연결된다면 서버를 바로 삭제하지 말고 On Demand가 활성화되어 있는지 먼저 확인하세요. 자동 동작을 잠시 중지하려면 해당 설정을 끄고 상태를 다시 확인합니다.

Data: 트래픽 통계 확인

Data에서는 앱에 기록된 트래픽 정보를 확인할 수 있습니다. Data를 열고 현재 보기의 통계 범위, 기간, 단위를 먼저 확인한 다음 업로드와 다운로드 데이터를 살펴보세요. 재설정 기능이 있다면 초기화 전에 비교할 기록을 남겨 두세요. 초기화 후의 수치는 이전 누적값과 바로 비교할 수 없습니다.

통계로 문제를 확인하는 방법

문제를 확인할 때는 먼저 수치를 기록하고, 확인할 페이지 하나만 연 다음 Data로 돌아와 변화를 살펴보세요. 데이터가 늘었는데 페이지가 여전히 열리지 않는다면 트래픽이 발생한 것과 대상 서비스의 요청이 성공한 것은 별개의 문제입니다. DNS, 대상의 응답, 규칙 정책도 확인해야 합니다. 백그라운드 앱에서 트래픽이 발생할 수도 있으므로 같은 시간대의 모든 증가분을 방금 연 페이지의 활동으로 단정하지 마세요.

Data는 서비스 제공자의 잔여 데이터 확인 화면이 아니며, 기기 시스템의 셀룰러 데이터 사용량과도 다릅니다. 통계 시작 시점, 네트워크 범위, 프로토콜 오버헤드와 과금 기준이 다를 수 있으므로 앱의 누적값으로 원격 계정 잔액을 직접 계산할 수 없습니다. 트래픽이 보인다고 해서 요청이 반드시 프록시 정책을 사용했다는 뜻도 아닙니다. 구체적인 연결 경로는 Global Routing, 매칭된 규칙, 요청 기록을 함께 확인하세요.

문제를 재현해야 한다면 관찰 시간을 일정하게 정하고 현재 네트워크를 기록하세요. 누적 수치 하나만 따로 캡처하는 것보다 유용합니다. 보기 좋은 결과를 얻으려고 기록을 연이어 초기화하지 마세요. 중요한 것은 특정 숫자 하나가 아니라 변경 전후에 비교할 수 있는 변화입니다.

Settings: 주요 항목 및 진단 메뉴

앱 설정을 조정하기 전에 현재 구성을 확인하세요. 구성 파일의 관련 옵션도 최종 동작에 영향을 줄 수 있습니다.

DNS: 문제가 발생한 단계부터 확인

DNS는 도메인 이름을 IP 주소로 변환합니다. 관련 옵션은 Settings의 DNS 메뉴와 현재 Config의 구성 내용에서 확인할 수 있습니다. 먼저 기존 DNS 설정을 기록한 뒤, 현재 구성에서 요구하는 방식에 따라 변경하세요. 도메인을 확인할 수 없는 문제, DNS 응답 후 연결을 설정하지 못하는 문제, 연결은 되었지만 대상 응답이 비정상인 문제를 구분해야 합니다. 각각 다른 방식으로 해결해야 합니다.

설정 변경 후에는 같은 도메인으로 다시 테스트하고, 캐시 때문에 변경 전후 결과가 일시적으로 같을 수 있다는 점을 고려하세요. 일부 도메인에서만 문제가 발생한다면 해당 규칙, DNS 경로, IPv4 / IPv6 결과를 확인하세요. 모든 요청을 바로 같은 정책으로 바꾸지 마세요. DNS 변경으로 잘못된 포트나 인증 정보, 사용할 수 없는 원격 서버가 자동으로 수정되지는 않습니다. DNS 주소를 계속 바꾸기보다 실제로 확인된 오류를 중심으로 점검하세요.

Test Method: Connectivity Test의 범위 이해하기

Settings에서 Test Method를 확인한 뒤 Home에서 Connectivity Test를 실행하세요. 테스트 방식에 따라 측정 대상과 성공 기준이 달라지므로 방식이 다른 테스트의 소요 시간을 직접 비교하면 안 됩니다. 테스트 대상을 지정해야 한다면 해당 대상에 실제로 접속할 수 있는지도 확인하세요. 테스트 대상에 문제가 있으면 결과가 서버의 전반적인 성능이 아니라 대상 자체의 문제를 반영할 수 있습니다.

테스트에 한 번 성공해도 모든 웹사이트, 전송 방식, 서비스가 정상이라는 뜻은 아닙니다. 한 번의 timeout만으로 전체 구성이 잘못되었다고 단정할 수도 없습니다. 먼저 테스트를 여러 번 반복한 뒤 주소, 포트, 프로토콜 매개변수, 시스템 시간, 현재 네트워크를 확인하고 실제로 접속하려는 대상에서 교차 검증하세요. 결과를 기록할 때는 테스트 방식도 함께 적어 두세요. 숫자 하나만 비교하는 일을 피할 수 있습니다.

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

Today Widget은 관련 기능을 빠르게 실행하고 정보를 표시하는 데 사용됩니다. Settings에서 Today Widget 옵션을 확인한 뒤 기기의 시스템에서 제공하는 위젯 추가 절차를 따르세요. 위젯을 추가할 수 있는지, 표시 방식과 사용 가능한 동작은 무엇인지는 현재 시스템과 앱 화면을 기준으로 확인해야 합니다. 기기마다 레이아웃이 다를 수 있습니다.

빠른 실행을 사용한 뒤에도 Home으로 돌아가 선택한 서버, Global Routing, 연결 상태를 확인하세요. 위젯은 실행 메뉴나 상태 정보를 표시할 뿐 서버 매개변수를 점검하지 않습니다. 위젯을 사용한 뒤 상태가 예상과 다르다면 위젯 모양만 보고 연결되었다고 판단하지 말고 앱 내 상태와 On Demand 조건을 먼저 확인하세요.

iCloud: 동기화와 구매 복원은 별개

iCloud 동기화를 사용하기 전에 Settings에서 동기화 스위치와 동기화 대상 내용을 확인하고, 시스템에서 앱의 iCloud 사용이 허용되어 있는지 살펴보세요. 새 기기에서는 설정을 더 변경하기 전에 동기화된 내용을 먼저 확인하세요. 내용이 바로 표시되지 않으면 항목을 반복해서 만들기 전에 계정, 네트워크, 시스템 권한을 확인해 혼란을 방지하세요.

동기화만으로 모든 설정과 민감 정보가 빠짐없이 이전된다고 생각하지 마세요. 실제 동기화 결과를 확인하고 중요한 구성은 복구할 수 있도록 별도로 기록해 두세요. 내보낸 데이터도 안전하게 보관해야 합니다. iCloud 동기화와 App Store 구매 항목 복원은 서로 다른 문제입니다. 클라이언트를 다시 받으려면 구매 항목 복원 안내를 확인하세요. 동기화 스위치로 구매 내역을 확인할 수는 없습니다.

Diagnostics: 구체적인 문제의 증거 수집

Settings에서 Diagnostics를 찾아 현재 앱에서 제공하는 도구로 연결이나 기록을 확인하세요. 실행 전에 증상을 구체적으로 적어 둡니다. 모든 요청이 실패하는지, 특정 도메인만 실패하는지, 네트워크를 전환한 뒤에만 실패하는지 구분하세요. 그런 다음 현재 Global Routing, 사용 중인 구성, 서버 항목, 오류 발생 조건을 기록하고 한 번 재현해 보세요. 관련 없는 기록을 많이 쌓아 핵심 오류를 놓치지 않도록 합니다.

진단 도구가 제공하는 것은 관찰 결과이며, 자동으로 문제를 해결해 주지는 않습니다. 로그에서는 오류 발생 시각이 일치하는 항목과 관련 요청을 중점적으로 살펴보세요. 경고 하나만 보고 전체 원인을 단정하지 마세요. 기록을 다른 사람에게 전달하기 전에 구독 링크의 자격 증명, 인증 정보, 개인 네트워크 정보를 삭제하세요. 오류 유형, 재현 절차, 필요한 비식별 매개변수를 남기면 문제를 파악하는 데 도움이 됩니다.

설정 확인 순서

먼저 기본 연결이 가능한지 확인하고, 다음으로 요청에 올바른 정책이 적용되는지 살펴본 뒤, 마지막으로 자동화와 동기화를 설정하세요. 아래 순서대로 진행하면 여러 설정이 서로 영향을 줘 발생하는 오판을 줄일 수 있습니다.

  1. 기존 정보가 완전한지 확인합니다.서버 프로토콜, 주소, 포트, 인증 정보를 확인하세요. 구독을 가져온 뒤에는 목록에 선택할 수 있는 항목이 실제로 있는지 먼저 확인합니다.
  2. 현재 라우팅 방식을 확인합니다.Home에서 Global Routing을 확인하세요. Config를 사용한다면 저장된 파일 중 하나만 확인하지 말고, 현재 활성화된 파일과 정책 참조를 살펴보세요.
  3. 먼저 수동으로 연결합니다.필요한 시스템 VPN 구성을 승인한 다음 Connectivity Test와 실제 대상 접속으로 확인하세요. 테스트하는 동안에는 새로운 자동 연결 조건을 추가하지 마세요.
  4. 규칙과 DNS를 하나씩 확인합니다.접속에 실패하는 대상 하나를 기준으로 매칭 결과를 확인하고, 한 번에 한 항목만 변경하세요. 변경 전후 결과를 기록하고 개선되지 않으면 원래 값으로 되돌립니다.
  5. 마지막으로 On Demand와 동기화를 설정합니다.기본 연결이 안정된 뒤 On Demand 조건, 위젯 동작, iCloud를 활성화하고 각각의 결과를 확인하세요.

처음 설정한다면 사용 안내를 이어서 확인하세요. 구매 내역과 기기 호환성을 확인하려면 App Store 정품 다운로드 안내를 참고하세요. 이 페이지는 Shadowrocket 공식 매뉴얼의 기능 안내이며, 실제 사용 가능한 옵션은 앱 화면을 기준으로 확인하세요.