Shadowrocket 공식 매뉴얼

프록시 모드와 주요 설정

먼저 트래픽 처리 방식을 정한 다음 자동 연결, DNS, 테스트 방법을 설정하세요. 이 페이지는 iPhone / iPad의 화면 용어를 기준으로 조작 경로를 설명합니다. Mac, Windows, Android, Linux에서는 화면 구성과 사용할 수 있는 시스템 연동 항목이 다를 수 있으므로 해당 버전의 실제 화면을 확인하세요. 모바일 운영체제 전용 설정을 다른 기기에 그대로 적용하지 마세요.

Global Routing 규칙 및 정책 Settings 참고

Global Routing: Config, Proxy, Direct

기능: Global Routing은 Shadowrocket에서 처리하는 요청의 라우팅 방식을 결정합니다. Config는 구성, Proxy는 프록시, Direct는 직접 연결을 뜻합니다. Home의 연결 스위치와는 다른 기능입니다. 모드를 선택해도 연결이 수립되었다는 뜻은 아니며 서버 설정 확인을 대신하지 않습니다. 모드 이름은 트래픽 처리 방식을 나타낼 뿐, 네트워크 품질을 의미하지 않습니다.

위치와 사용: Home에서 Global Routing을 열어 현재 선택된 모드를 확인합니다. 대상별로 처리 방식을 지정하려면 Config를 사용하세요. 규칙의 영향을 잠시 제외하고 선택한 서버의 사용 가능 여부를 확인하려면 Proxy를 사용할 수 있습니다. 프록시 서버를 거치지 않는 접속 상태를 확인하려면 Direct를 선택하세요. 전환 전에 기존 설정을 기록하고 테스트가 끝나면 원래대로 복구하세요.

화면 옵션 처리 방식 확인할 때 먼저 확인할 조건
Config 현재 활성화된 구성의 Rule과 정책에 따라 요청을 처리합니다. 지정한 웹사이트는 PROXY로 보내고, 나머지 요청은 규칙에 따라 직접 연결하거나 차단합니다. Config에서 올바른 구성이 활성화되어 있고, 규칙 순서와 기본 처리 정책이 명확해야 합니다.
Proxy 클라이언트로 들어오는 트래픽을 프록시로 처리합니다. 시스템 라우팅과 제외 항목도 확인해야 합니다. 규칙 매칭이 문제의 원인인지 일시적으로 확인할 때 Home에서 사용 가능한 서버를 선택하고 해당 서비스가 정상 작동하는지 확인해야 합니다.
Direct 프록시 서버를 거치지 않고 대상에 직접 연결합니다. 직접 연결 결과와 비교해 프록시 경로가 접속에 영향을 주는지 확인할 때 현재 네트워크에서 대상에 직접 연결할 수 있어야 합니다. Direct는 클라이언트 연결을 끄는 기능이 아닙니다.

설정 방법: 처음 사용할 때는 Home에서 서버를 선택한 다음 Global Routing으로 이동해 원하는 모드를 고르세요. Home으로 돌아와 연결을 켜고 시스템 안내에 따라 VPN 구성을 추가하도록 허용합니다. 이후 동일한 대상으로 접속을 확인하세요. Proxy에서 Config로 바꾼 뒤에만 문제가 생기면 서버 정보를 모두 다시 입력하기 전에 구성을 먼저 확인하세요.

주의 사항: Proxy를 선택해도 기기의 모든 통신이 반드시 프록시를 통과하는 것은 아닙니다. 시스템 서비스, 로컬 네트워크, 제외 라우트, 앱 동작에 따라 실제 경로가 달라질 수 있습니다. 특정 요청의 처리 결과는 연결 기록과 매칭된 규칙에서 확인하세요. Direct도 연결 해제 버튼이 아닙니다. 클라이언트의 연결 처리를 중지하려면 Home의 연결 스위치를 사용하세요.

Rule: 매칭 조건과 처리 정책

기능: 규칙은 일반적으로 유형, 매칭 값, 정책으로 구성됩니다. DOMAIN은 전체 도메인, DOMAIN-SUFFIX는 도메인과 하위 도메인, DOMAIN-KEYWORD는 도메인에 포함된 키워드를 기준으로 매칭합니다. GEOIP는 IP 주소의 지역 정보를 사용하고, IP-CIDR과 IP-CIDR6은 각각 IPv4와 IPv6 대역을 나타냅니다. USER-AGENT는 해당 요청 정보를 가져올 수 있는 경우에만 사용할 수 있으므로 모든 앱을 식별하는 방법으로 간주하지 마세요.

위치: Config에서 현재 사용 중인 구성을 확인한 뒤 Rule을 살펴보세요. PROXY는 프록시 정책으로 전달, DIRECT는 직접 연결, REJECT는 요청 거부를 뜻합니다. Global Routing의 Proxy와 Direct는 전역 모드 이름입니다. 규칙의 PROXY, DIRECT, REJECT는 매칭 후 적용되는 처리 정책이므로 대소문자와 사용 맥락을 구분하세요.

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

설정 방법: 먼저 현재 구성을 백업하세요. Rule에서는 범위가 좁고 의도가 명확한 규칙을 위에, 범위가 넓은 규칙을 아래에 배치하고, 앞에서 매칭되지 않은 요청은 마지막에 FINAL로 처리합니다. 위 예시에서는 example.com과 하위 도메인이 먼저 PROXY에 매칭됩니다. 매칭되지 않은 요청만 다음 규칙으로 넘어갑니다. 예시 도메인은 문법 설명용이며 사용 가능한 프록시 서버를 뜻하지 않습니다.

주의 사항: 규칙은 일반적으로 위에서 아래로 평가되며 먼저 매칭된 규칙이 최종 결과에 영향을 줍니다. 범위가 지나치게 넓은 DOMAIN-KEYWORD는 정상적인 도메인까지 잘못 매칭할 수 있고, 앞쪽에 배치한 대역 규칙이 뒤의 예외 규칙을 가릴 수도 있습니다. 테스트할 때는 Global Routing을 Config로 두고 매칭된 규칙을 확인하세요. 페이지가 열리는지만으로는 예상한 정책이 적용됐다고 볼 수 없습니다. 필드와 순서 전체 예시는 규칙 및 구성 참고에서 확인하세요.

Subscribe 및 서버 관리

기능: 서버 항목에는 연결에 필요한 주소, 포트, 프로토콜, 인증 정보가 저장됩니다. Subscribe에는 기존 구독을 가져오는 주소가 저장되며, 서버 정보 목록을 업데이트하는 데 사용됩니다. 구독과 Config는 서로 다른 데이터입니다. 구독 업데이트는 서버 목록을 관리하고, 구성 파일은 DNS, 규칙 및 기타 처리 방식을 결정합니다. 한쪽을 가져왔다고 해서 다른 쪽까지 설정된 것은 아닙니다.

위치: Home에서 서버와 구독 그룹을 확인할 수 있습니다. 서버 정보를 직접 입력하려면 Add Server를 선택하세요. 기존 구독을 가져오려면 Subscribe를 선택하고 서비스 제공자가 준 전체 링크를 입력합니다. Scan QR Code는 기존 QR 코드에, Import from Cloud JSON은 해당 형식의 데이터에 사용합니다. 가져오기 전에 데이터 유형을 확인해 일반 웹 주소를 구독 링크로 착각하지 않도록 하세요.

  1. 기존 정보가 Shadowsocks, VMess, VLESS, Trojan 또는 실제로 사용 중인 다른 프로토콜에 해당하는지 확인하세요. 이름만 보고 유형을 추측하지 마세요.
  2. 구독 방식에서는 필요한 쿼리 매개변수를 포함해 전체 링크를 입력합니다. 수동 방식에서는 주소, 포트, 인증 정보, TLS 등의 매개변수를 각각 입력하세요.
  3. 저장한 뒤 업데이트를 실행하고 Home에 예상한 항목이 표시되는지 확인하세요. 그런 다음 서버를 선택해 Connectivity Test를 실행합니다.
  4. 출처별 그룹에 구분하기 쉬운 메모를 추가하세요. 업데이트 전후로 항목 수와 만료된 항목을 확인하고 같은 출처를 중복으로 가져오지 않도록 합니다.

주의 사항: 구독을 업데이트하면 해당 구독에서 관리하는 항목이 덮어써질 수 있으므로 서버를 직접 수정했다면 별도로 기록해 두세요. 구독을 삭제하기 전에 어떤 그룹에 속하는지 확인하고 목록 전체를 한 번에 지우지 마세요. 구독 링크에는 개인 인증 정보가 포함되는 경우가 많으므로 공개 문의용 스크린샷에 그대로 붙여 넣지 마세요. 노드 목록이 비어 있으면 링크 유효성, 기존 서비스 상태, 응답 형식을 먼저 확인한 다음 다시 가져올지 결정하세요. 전체 절차는 빠른 시작을 참고하세요.

On Demand: 필요할 때 연결

기능: On Demand는 네트워크 조건에 따라 클라이언트 연결을 시작하거나 유지하는 기능입니다. On Demand는 ‘언제 연결할지’를 정하고 Rule은 ‘연결 후 요청을 어떻게 처리할지’를 정하므로 서로 대체할 수 없습니다. On Demand를 켜도 서버 설정이 자동으로 수정되거나 모든 트래픽이 PROXY로 전환되지 않습니다. 실제 라우팅은 Global Routing과 현재 구성에 따라 달라집니다.

위치: Settings에서 On Demand 관련 항목을 확인하세요. 사용할 수 있는 조건과 시스템 동작은 기기의 실제 옵션에 따라 다릅니다. 버전에 따라 네트워크 유형을 구분하거나 특정 네트워크를 지정할 수 있습니다. 저장하기 전에 각 조건의 의미를 확인하고, 화면에 표시되지 않는 옵션을 필수 항목으로 여기지 마세요.

설정 방법: 먼저 수동으로 연결해 접속이 정상인지 확인한 뒤 On Demand를 켜고 자동 연결에 필요한 조건을 각각 설정하세요. 저장한 다음 Wi-Fi에서 셀룰러 네트워크로 전환했다가 원래 네트워크로 돌아와 Home의 연결 상태와 실제 요청을 확인합니다. 자동 재연결을 잠시 멈추려면 해당 On Demand 조건을 먼저 끄고 연결을 해제하세요. 그렇지 않으면 시스템 조건이 다시 작동해 연결이 재개될 수 있습니다.

주의 사항: 공용 네트워크에서는 먼저 인증 페이지에 로그인해야 할 수 있습니다. 자동 연결 때문에 인증이 방해되면 On Demand를 잠시 끄고 로그인한 뒤 다시 켜세요. 네트워크 전환 후 잠시 기다려야 할 수 있으므로 규칙 오류라고 단정하기 전에 클라이언트 연결이 다시 수립됐는지 확인하세요. 장기간 사용하기 전에는 현재 Wi-Fi에서 한 번 확인하는 데 그치지 말고 화면 잠금, 화면 깨우기, 네트워크 전환 상황도 테스트하세요.

Data: 트래픽 통계 확인

기능: Data는 클라이언트가 기록할 수 있는 트래픽과 연결 활동을 보여줍니다. 일정 시간 동안 전송이 이어지는지, 업로드와 다운로드에 이상이 있는지, 특정 작업에서 요청이 발생했는지 확인하는 데 유용합니다. 이는 클라이언트 측 기록이며 서비스 제공자의 정산 내역이 아닙니다. 구독의 잔여 용량을 추정하는 데 직접 사용해서도 안 됩니다.

위치: Data를 열고 먼저 통계 범위, 집계 시작 조건, 현재 사용할 수 있는 분류를 확인하세요. 화면에서 서버별 또는 시간별 조회를 제공한다면 비교 조건을 동일하게 유지해야 합니다. 예를 들어 서버 변경 전후의 데이터를 비교할 때는 선택한 항목과 작업 시간을 함께 기록하세요. 그렇지 않으면 누적값을 한 번의 접속에서 발생한 사용량으로 오해할 수 있습니다.

사용 방법: 문제를 확인할 때는 먼저 현재 수치를 기록하고 관련 없는 백그라운드 다운로드를 중지하세요. 그런 다음 페이지 열기나 자체 테스트 파일 다운로드처럼 명확한 작업을 한 번 수행합니다. Data로 돌아와 변화를 살펴보고 연결 기록에서 대상 주소와 처리 정책을 함께 확인하세요. 통계를 초기화해야 한다면 참고할 정보를 먼저 저장한 뒤 화면의 초기화 기능을 사용하세요.

주의 사항: 시스템 백그라운드 활동, 재시도, 연결 오버헤드가 통계에 영향을 줄 수 있습니다. DIRECT 요청이 특정 분류에 포함되는지는 실제 집계 기준을 확인하세요. 트래픽 증가만으로 전송이 발생했다는 점은 알 수 있지만 대상 콘텐츠가 완전히 반환됐다는 뜻은 아닙니다. ‘트래픽은 있지만 페이지가 열리지 않는’ 경우 누적 데이터만으로 서비스가 정상이라고 판단하지 말고 DNS, TLS, 서버 상태, 매칭된 정책을 추가로 확인하세요.

Settings: DNS 및 Test Method

DNS: 현재 구성을 확인한 뒤 이름 해석 설정 변경

기능과 위치: DNS는 도메인 이름을 IP 주소로 변환합니다. 관련 옵션은 Settings와 현재 Config의 DNS 필드에서 확인할 수 있습니다. 같은 이름의 설정도 실제 동작은 구성 내용에 따라 달라질 수 있으므로 Settings만 바꾸고 활성화된 구성은 확인하지 않는 일이 없도록 하세요. 도메인 규칙의 매칭 여부와 주소 규칙에 사용되는 결과도 이름 해석 과정의 영향을 받을 수 있습니다.

설정 방법: 변경 전에 기존 값을 저장하고, 문제가 모든 도메인에서 발생하는지 일부 대상에서만 발생하는지 먼저 확인하세요. DNS 관련 옵션은 한 번에 하나만 바꾼 뒤 같은 대상으로 다시 시도하고 해석 결과를 확인합니다. 암호화된 전송을 사용하는 DNS 방식이라면 현재 네트워크와 선택한 라우팅으로 해당 DNS 서비스에 연결할 수 있는지 확인하세요. 도메인 주소를 고정해야 한다면 Host의 용도를 이해하고 임시 IP 주소를 정상적인 이름 해석 대신 장기간 사용하지 마세요.

주의 사항: DNS를 바꿔도 비밀번호 오류, 포트 오류, 만료된 구독은 해결되지 않습니다. 캐시 때문에 변경 사항이 바로 반영되지 않을 수도 있습니다. 다시 시도하기 전에 관련 연결을 끊었다가 재연결하고, 필요하면 화면에서 제공하는 캐시 처리 기능을 사용하세요. 구체적인 구성 필드와 예시는 구성 필드 설명과 하나씩 대조하세요. 구성 전체와 DNS 설정을 동시에 바꾸지 마세요.

Test Method: 테스트 성공과 실제 사용 가능 여부 구분

기능과 위치: Settings의 Test Method는 Connectivity Test에 사용할 검사 방식을 결정합니다. 방식에 따라 확인하는 계층이 다릅니다. 포트 연결에 성공해도 인증, TLS, 대상 웹사이트 접속까지 모두 정상이라는 뜻은 아닙니다. 요청 기반 테스트 결과는 테스트 대상 자체의 상태에도 영향을 받습니다.

설정 및 주의 사항: 현재 버전에서 제공하는 테스트 방식 중 하나를 선택하고, 같은 테스트 대상과 네트워크 환경을 유지해 같은 그룹의 서버를 비교하세요. 특정 서버의 테스트가 실패하면 서버 매개변수와 테스트 대상을 확인하고, 결과가 한 번 실패했다는 이유만으로 항목을 삭제하지 마세요. 테스트에 성공한 뒤에도 연결을 켜고 실제 접속을 확인해야 합니다. 표시된 소요 시간은 같은 테스트 조건에서만 참고할 수 있으며 다운로드 속도나 모든 웹사이트의 응답 상태를 뜻하지 않습니다.

Today Widget 및 iCloud 동기화

Today Widget: 바로가기를 사용한 뒤 상태 확인

기능과 위치: Today Widget은 시스템에서 허용하는 경우 빠른 확인이나 조작을 제공하는 기능입니다. 먼저 Settings에서 관련 옵션을 찾은 뒤 기기의 현재 시스템에서 제공하는 위젯 관리 방식에 따라 추가하세요. 시스템 버전에 따라 위젯 모양, 추가 위치, 조작 가능한 항목이 다를 수 있습니다. 모든 플랫폼에 공통으로 제공되는 기능은 아닙니다.

설정 및 주의 사항: 먼저 Home에서 서버를 선택하고 첫 연결을 완료한 다음 위젯을 추가해 실제 동작을 확인하세요. 위젯에 최신 상태가 표시되지 않을 수 있으므로, 위젯을 누른 뒤 Home으로 돌아가 현재 서버, Global Routing, 연결 상태를 확인하세요. 위젯이 나타나지 않으면 시스템 지원 여부와 앱 설정을 먼저 확인하세요. 바로가기 하나 때문에 기존 구성을 삭제할 필요는 없습니다.

iCloud: 동기화 범위와 복원 순서

기능과 위치: iCloud 관련 옵션은 현재 버전에서 지원하는 데이터 동기화 또는 클라우드 가져오기에 사용됩니다. 기기의 iCloud 상태와 관련 권한이 필요합니다. 앱 구매 내역, 클라이언트 데이터, 구독 서비스는 서로 별개입니다. 같은 iCloud 계정으로 로그인해도 모든 구독이 제공되는 것은 아니며, 모든 플랫폼에 같은 서버 목록이 자동으로 표시되는 것도 아닙니다.

설정 방법: Settings에서 동기화 항목을 확인하고 현재 기기에서 Shadowrocket의 iCloud 사용이 허용되어 있는지, 화면에 안내된 동기화 범위가 무엇인지 살펴보세요. 처음 활성화하기 전에 로컬 구성을 보관해 두세요. 다른 기기에서 가져오거나 동기화한 뒤에는 구성 이름, 서버 그룹, 활성화 상태를 확인하고 연결을 켭니다. 이름이 같은 항목이 있다면 먼저 실제 필드를 비교해 빈 데이터가 기존 내용을 덮어쓰지 않도록 하세요.

주의 사항: 동기화는 별도의 백업이 아니며 삭제나 수정 사항이 다른 기기에도 반영될 수 있습니다. 구독 주소나 인증 정보가 포함된 데이터는 민감 정보로 취급하고 내보낸 파일을 공개된 위치에 저장하지 마세요. 여러 기기에서 문제를 확인할 때는 먼저 계정, 권한, 네트워크를 확인한 다음 앱 데이터를 점검하세요. 동기화를 강제로 시작하려고 데이터를 전부 반복해서 삭제하지 마세요.

Diagnostics: 단계별 문제 진단

기능과 위치: Diagnostics는 문제 진단에 필요한 정보를 수집하는 기능입니다. Settings에서 현재 버전이 제공하는 도구를 확인하세요. Home의 Connectivity Test와 연결 기록을 함께 활용할 수 있습니다. Diagnostics는 네트워크와 클라이언트 상태를 확인하고, Connectivity Test는 서버 테스트 결과를, 연결 기록은 개별 요청을 확인하는 데 도움이 됩니다. 진단 정보는 문제 범위를 좁히기 위한 자료이며, 단일 오류 메시지를 구성 전체가 손상됐다는 뜻으로 단정해서는 안 됩니다.

  1. 기본 네트워크 확인. 현재 네트워크에서 인증을 마쳤는지, 일반적인 직접 접속이 정상인지 확인하세요. 네트워크 자체를 사용할 수 없다면 먼저 네트워크를 복구합니다.
  2. 서버 정보 확인. 주소, 포트, 인증 정보, 기존 서비스 상태를 확인하고 Connectivity Test로 동일한 조건에서 결과를 확인하세요.
  3. 라우팅 모드 확인. Config 모드에서 실패한 대상을 기록한 뒤 잠시 Proxy로 전환해 비교하세요. 결과가 다르면 Rule과 선택된 정책을 확인합니다.
  4. 이름 해석 및 핸드셰이크 확인. DNS 결과, TLS 관련 매개변수, 연결 오류를 각각 확인하고 이름 해석 실패와 인증 실패를 혼동하지 마세요.
  5. 재현한 뒤 기록. 조작 순서, 사용한 네트워크, 대상 도메인, 현재 모드, 표시된 오류를 명확히 기록하고 테스트가 끝나면 설정을 원래대로 복구하세요.

주의 사항: 한 번에 한 종류의 설정만 변경하세요. 서버, DNS, Config를 동시에 바꾸면 문제가 해결되더라도 원인을 파악하기 어렵습니다. 로그나 스크린샷을 공유하기 전에 구독 링크, 비밀번호, 인증 정보, 개인 주소 등 민감한 내용을 가리세요. 오류 유형과 필요한 맥락만 남기면 됩니다. 특정 대상에 접속할 수 없다면 우선 해당 대상에 한정해 확인하고 전체 환경을 바로 초기화하지 마세요.