Official Manual / Getting Started

Shadowrocket 사용 가이드

기존 구독을 추가하고 Global Routing을 선택한 뒤 연결 상태를 확인합니다.

이 가이드는 iPhone 및 iPad에서 처음 설정하는 경우를 대상으로 합니다. 먼저 확인 가능한 연결을 한 번 완료한 뒤 규칙과 기타 설정을 조정하세요. 각 단계마다 확인할 결과를 명확히 남깁니다.

작업 순서

Home → Add Server → Global Routing → 연결 스위치 → Connectivity Test

입력 정보를 먼저 확인한 다음 요청 경로를 확인합니다. 서버 항목, 구성 파일, 연결 상태는 서로 다른 확인 대상입니다.

Step 01 / Add Server · Subscribe

서버 추가 또는 기존 구독 가져오기

이 단계가 끝나면 Home의 SERVER 그룹에 선택 가능한 서버 항목이 표시되어야 합니다.

Shadowrocket을 열고 Home으로 이동한 다음 SERVER 그룹에서 Add Server를 찾습니다. 화면 상단의 추가 메뉴를 이용할 수도 있습니다. Add Server를 열면 Host를 바로 입력하지 말고 먼저 Type을 확인하세요. Type에 따라 필요한 필드가 달라지며 구독 가져오기와 직접 추가도 여기서 나뉩니다. 가져오는 동안에는 상단 연결 스위치를 꺼 두면 자료를 불러올 수 있는지와 서버에 연결할 수 있는지를 구분해 확인하기 쉽습니다.

기존 구독 링크가 있는 경우: Subscribe 사용

Type에서 Subscribe를 선택한 다음 본인이 보유한 구독 링크를 URL 필드에 붙여 넣고 알아보기 쉬운 이름을 지정합니다. 이름은 기기에서 항목을 식별하는 용도이며 링크 내용에는 영향을 주지 않습니다. 저장하기 전에 앞뒤에 공백이나 줄바꿈, 메신저에서 덧붙인 설명이 포함되지 않았는지 확인하세요. 소개 페이지 주소를 구독 링크로 사용하면 안 됩니다. 구독 주소에는 개인 인증 정보가 포함될 수 있으므로 매개변수를 그대로 유지하되 공개하지 마세요.

저장한 뒤 Home으로 돌아가 구독 내용을 가져올 때까지 기다린 다음 해당 그룹을 펼쳐 서버 목록을 확인합니다. 구독 이름이 표시된다고 해서 서버까지 성공적으로 불러온 것은 아닙니다. 그룹 안에 실제 항목이 있는지 확인하세요. 목록이 비어 있으면 먼저 구독 주소에 접속할 수 있는지, 링크가 유효한지, 반환된 내용이 클라이언트에서 인식할 수 있는 구독 데이터인지 확인합니다. 다시 가져오려면 해당 구독의 작업 메뉴에서 업데이트를 실행하세요. 메뉴 위치는 화면 구성에 따라 다를 수 있으므로 현재 앱에 표시된 항목을 기준으로 합니다.

기존 서버 정보가 있는 경우: 항목별 입력

개별 서버 정보를 보유한 경우 제공된 정보에 맞는 Type을 Add Server에서 선택한 다음 Host와 Port를 확인합니다. Host에는 일반적으로 서버 도메인이나 IP 주소를 입력하며 웹페이지 경로를 덧붙이지 않습니다. Port는 서버 설정과 일치해야 합니다. 스크린샷의 Password와 Method는 해당 유형에서 사용하는 필드입니다. 다른 Type을 선택하면 인증 및 전송 옵션도 달라집니다. 특정 항목이 보이지 않는다고 해서 이름이나 비밀번호 필드에 대신 입력하지 마세요.

비밀번호, UUID, TLS, 전송 방식 등의 정보는 본인의 서버 자료와 하나씩 대조해야 하며 다른 항목에서 임의로 복사하면 안 됩니다. 지원되는 QR 코드가 제공되었다면 Add Server에서 Scan QR Code를 사용하고 시스템 안내에 따라 필요한 권한을 허용하세요. Import from Cloud JSON은 해당 형식의 구성 데이터를 가져오는 기능이지 일반적인 구독 입력 메뉴가 아닙니다. 기존 일반 구독 링크는 Subscribe 경로로 처리하세요.

저장한 뒤 Home으로 돌아가 항목이 표시되는지 확인하고 이번에 사용할 항목을 선택합니다. 구독 그룹에는 항목이 여러 개 있을 수 있지만 이 가이드에서는 하나를 선택해 확인하면 됩니다. 이때 여러 서버의 매개변수를 반복해서 바꾸지 마세요. 정보가 부족하면 누락된 필드를 기록한 다음 용어 설명을 확인하세요. 항목을 선택한 뒤에는 Global Routing을 확인해 요청이 해당 정보를 어떻게 사용할지 결정합니다.

Shadowrocket 공식 Add Server 스크린샷. Type, Host, Port, Password, Method, Scan QR Code 및 Import from Cloud JSON 표시
Add Server: 먼저 Type을 확인한 다음 해당 필드를 입력합니다. 스크린샷은 특정 유형의 필드 조합을 보여 주며 모든 프로토콜이 같은 입력 항목을 사용하는 것은 아닙니다.

Step 02 / Global Routing · Config

Global Routing의 세 가지 모드 선택

서버 정보는 “어디에 연결할지”를 정하고, Global Routing과 규칙은 “요청을 어떻게 처리할지”를 정합니다.

Home으로 돌아가 Global Routing을 엽니다. Config, Proxy, Direct를 구분해 선택하세요. 선택한 뒤 Home으로 돌아와 해당 항목에 방금 선택한 모드가 표시되는지 확인합니다. 모드만 바꿔서는 서버 정보가 채워지거나 만료된 인증 정보가 복구되지 않으므로 첫 단계를 완료한 다음 진행해야 합니다.

Config: 현재 구성 파일의 규칙에 따라 처리

Config는 현재 활성화된 구성 파일의 규칙에 따라 요청을 처리합니다. Config로 이동해 실제로 선택된 파일을 확인하고 파일을 열어 General, Rule 등의 섹션을 살펴보세요. Rule의 개별 규칙은 일반적으로 기본 규칙보다 앞에 배치해야 하며, 일치 결과에 따라 요청은 PROXY, DIRECT 또는 그 밖에 정의된 정책을 따릅니다. 구성에서 정책 그룹을 참조한다면 그룹 안의 선택도 확인해야 합니다. Home에서 서버를 선택했다는 이유만으로 모든 정책이 올바른 서버를 가리킨다고 단정할 수 없습니다.

아래는 규칙 순서를 이해하기 위한 구성 문법 예시이며 완성된 구성 파일이 아니고 서버 정보도 포함하지 않습니다. 예시에서는 example.com과 일치하는 도메인 요청에 PROXY를 사용하고, 일치하지 않는 요청은 FINAL,DIRECT로 처리합니다. 실제로 테스트하기 전에는 본인의 파일을 확인하세요. 이 교육용 예시로 기존 파일을 덮어쓰면 안 됩니다.

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

구독 목록과 규칙 파일은 각각 따로 확인해야 합니다. Subscribe는 일반적으로 서버 항목을 가져오는 기능이며 현재 목적에 맞는 규칙이 활성화되어 있다는 뜻은 아닙니다. 처음 사용할 때는 현재 파일이 본인이 알고 있는 구성 출처에서 제공되었는지 확인한 다음 테스트할 대상이 어떤 규칙에 일치하는지 살펴보세요. 익숙하지 않은 규칙을 한꺼번에 많이 가져오면 실제 접속에 실패했을 때 서버 문제인지 규칙 일치 문제인지 판단하기 어렵습니다.

Proxy와 Direct: 확인 목적 구분

Proxy는 프록시 처리 대상인 요청을 프록시 경로로 보내며 선택한 서버의 작동 여부를 확인하는 데 활용할 수 있습니다. 다만 시스템에서 처리하는 트래픽 범위와 기타 설정에 따라 결과가 달라질 수 있으므로 모든 요청이 반드시 같은 경로를 이용한다고 볼 수는 없습니다. Direct는 직접 연결 경로로 처리하므로 프록시 서버의 작동 여부를 확인하는 용도로 기대해서는 안 됩니다. 두 모드를 비교할 때는 같은 대상과 같은 네트워크를 사용하고 다른 조건은 그대로 유지하세요.

일상적으로 규칙에 따라 트래픽을 분기하려는 경우 구성을 확인한 뒤 Config 모드로 다음 단계를 진행합니다. 규칙의 영향을 분리해 확인하려면 잠시 Proxy를 사용해 비교한 다음 확인이 끝나면 원래 모드로 되돌립니다. 처음 연결할 때 구성 파일의 DNS, 규칙, 정책 그룹을 모두 조정할 필요는 없습니다. 더 자세히 확인하려면 Settings 및 구성 설정 자세히 보기를 참조하세요.

Shadowrocket 공식 Config 스크린샷. General, Rule, Hosts, URL Rewrite, HTTPS Decryption 섹션과 Add Rule 표시
Config: 현재 파일의 섹션과 규칙을 확인합니다. Global Routing은 Home에서 선택하는 항목이며 Config는 구성 파일 자체를 확인하는 곳으로 서로 다른 메뉴입니다.

Step 03 / Home · Connection

연결 스위치를 켜고 시스템 권한 설정

먼저 Home에서 서버 선택과 모드를 확인한 다음 시스템 안내를 처리합니다.

Home으로 돌아가 먼저 간단히 확인합니다. SERVER에서 테스트하려는 서버가 선택되어 있고 Global Routing에 이전 단계에서 결정한 모드가 표시되는지 확인하세요. Config를 사용하는 경우 현재 구성 파일도 확인합니다. 공식 스크린샷의 상단에 Not Connected라고 표시되어 있다면 아직 연결되지 않은 상태입니다. 아래에 서버 목록이 표시된다는 이유만으로 연결이 완료되었다고 판단하면 안 됩니다.

Home 상단의 연결 스위치를 켭니다. 처음 연결할 때 시스템에서 Shadowrocket이 VPN 구성을 추가하도록 허용할지 물을 수 있습니다. 이는 관련 네트워크 요청을 클라이언트가 처리하도록 기기에서 허용하는 시스템 권한입니다. 안내 창에서 앱을 확인한 뒤 계속 진행하고 기기에서 요구하는 인증을 완료하세요. 인증 정보는 시스템 화면에 입력해야 하며 Add Server의 Password 필드에 입력하면 안 됩니다.

권한 설정을 완료한 뒤 Shadowrocket으로 돌아와 상단 연결 상태가 바뀌었는지 확인합니다. 안내 창을 취소하면 스위치가 꺼진 상태로 돌아갈 수 있습니다. 이때는 구독 주소를 수정하지 말고 권한 설정을 다시 진행하세요. 안내 창이 나타나지 않아도 반드시 문제가 있는 것은 아닙니다. 기기에 이미 해당 구성이 있을 수 있습니다. 현재 상태와 시스템의 VPN 설정을 함께 확인하고 안내 창이 다시 뜨게 하려고 구성을 반복해서 삭제하지 마세요.

테스트를 시작하기 전에 기기의 다른 구성이 같은 종류의 네트워크 연결을 처리 중이지 않은지도 확인합니다. 구성을 바꾸면 현재 연결에 영향을 줄 수 있으므로 먼저 현재 상태를 기록한 다음 시스템 설정에서 실제로 적용 중인 항목을 확인하세요. 회사나 학교에서 관리하는 기기에는 VPN 구성에 추가 제한이 있을 수 있으므로 기기 관리 지침을 따르세요. 시스템 제한을 서버 비밀번호 오류로 처리하면 안 됩니다.

연결 상태가 바뀌면 앱에서 선택한 항목을 그대로 유지한 채 다음 단계로 넘어가 확인합니다. 연결 스위치가 켜져 있다는 것은 로컬 연결 절차가 진행되었다는 뜻이지만 원격 인증, 도메인 확인, 모든 대상에 대한 접속이 정상이라는 점까지 입증하지는 않습니다. 클라이언트 상태와 실제 요청을 함께 확인해야 이번 설정이 기대한 대로 작동하는지 판단할 수 있습니다.

Shadowrocket 공식 Home 스크린샷. 상단에 Not Connected 스위치, Global Routing, Connectivity Test가 있고 아래에 SERVER 그룹과 Add Server가 표시됩니다.
Home: 먼저 SERVER와 Global Routing을 확인한 다음 상단 스위치를 사용합니다. 스크린샷은 미연결 상태이며 실제 상태는 기기에 표시된 내용을 기준으로 합니다.

Step 04 / Connectivity Test · Requests

테스트 결과와 실제 접속 확인

“테스트 완료”, “연결 설정”, “대상에 접속 가능”을 각각 구분해 판단합니다.

Home에서 Connectivity Test를 실행하고 현재 테스트가 끝날 때까지 기다린 다음 각 항목의 결과를 확인합니다. 테스트 방법에 따라 결과의 의미가 달라집니다. 연결 설정을 중점적으로 확인하는 방법도 있고 지정한 대상에 요청하는 방법도 있습니다. 결과를 통해 명백하게 연결할 수 없는 항목을 찾을 수 있지만 모든 앱의 접속을 확인해 주는 것은 아니며 숫자 하나만으로 실제 사용 결과를 판단해서도 안 됩니다.

그다음 브라우저를 열어 정상적으로 접속할 수 있어야 하는 대상 페이지를 방문하고 페이지 내용과 필요한 리소스가 모두 로드되는지 확인합니다. 프록시 경로를 확인하려면 현재 구성에서 실제로 PROXY를 이용하는 대상을 선택하세요. Config를 사용하는 경우 우연히 DIRECT에 일치한 페이지가 열린다고 해서 프록시 서버가 작동한다는 뜻은 아닙니다. 테스트 대상과 규칙에 대한 예상이 일치해야 합니다.

비교가 필요하면 대상과 기기 네트워크를 그대로 유지하고 연결 전후 또는 모드 전환 전후의 동작을 각각 기록합니다. 매번 조건 하나만 바꾸세요. 예를 들어 Config에서 Proxy로만 전환한 다음 요청을 다시 보냅니다. 서버 교체, 네트워크 전환, DNS 변경, 규칙 업데이트를 동시에 하면 증상이 나아져도 어떤 변경이 영향을 주었는지 알 수 없습니다.

브라우저 캐시, 기존 연결, 앱 자체의 네트워크 동작이 확인에 영향을 줄 수 있습니다. 페이지를 새로고침하고 필요하면 기존 페이지를 닫은 뒤 다시 여세요. 이전에 표시된 페이지가 그대로 보이는 것을 새 요청의 성공으로 판단하면 안 됩니다. 특정 웹페이지가 열리더라도 모든 앱과 프로토콜의 요청이 같은 방식으로 처리된다는 뜻은 아닙니다. 최종 확인은 해당 앱에서 실제로 필요한 기능을 기준으로 합니다.

Connectivity Test 결과는 있지만 실제 페이지가 열리지 않으면 다음으로 Global Routing, 일치한 정책, DNS, 대상 자체를 확인합니다. 테스트와 실제 접속이 모두 실패하면 서버 정보와 현재 네트워크부터 확인하세요. 스위치를 반복해서 누르기보다 어느 단계에서 실패했는지 기록하는 것이 더 유용합니다. 테스트 방법의 자세한 차이는 테스트 및 Ping 설정 안내에서 확인하고, 다른 용어는 용어 설명을 참조하세요.

Step 05 / Settings · Diagnostics

실패 단계별로 설정 확인

먼저 문제가 발생한 단계를 찾고 설정을 바꿀지 결정합니다.

가져온 뒤 서버 항목이 표시되지 않음

첫 번째 단계로 돌아가 Subscribe의 URL이 완전한지, 안내 문구를 함께 붙여 넣지는 않았는지, 구독에서 실제로 유효한 내용을 반환하는지 확인합니다. 구독 데이터 가져오기와 서버 연결은 서로 다른 네트워크 작업입니다. 목록을 업데이트할 수 없다고 해서 저장된 서버를 모두 사용할 수 없는 것은 아니며, 반대로 목록이 업데이트되어도 모든 항목에 연결할 수 있다는 뜻은 아닙니다. 링크가 유효한지 확인할 때는 기존 서비스의 정보 제공처에 문의하고 인증 정보가 포함된 전체 주소를 공개하지 마세요.

항목은 있지만 Connectivity Test 실패

직접 추가한 항목은 Type, Host, Port 및 인증 필드를 하나씩 확인한 다음 TLS와 전송 관련 매개변수를 살펴봅니다. 구독 항목은 먼저 한 번 업데이트하고 현재도 유효한 범위에서 사용할 수 있는지 확인하세요. 잘 모르는 필드를 직접 수정하지 마세요. Settings에서 Test Method를 확인할 때는 현재 선택값을 먼저 기록합니다. 테스트 방법에 따라 결과가 달라질 수 있으며 방법을 바꾸는 것은 확인 방식을 변경할 뿐 서버 설정을 자동으로 복구하지 않습니다.

스위치가 켜진 상태를 유지하지 못하거나 실제 접속 결과가 예상과 다름

스위치가 바로 꺼지면 시스템에서 VPN 구성 권한 설정이 완료되었는지, 기기에서 해당 구성을 사용할 수 있는지 먼저 확인합니다. 스위치는 켜져 있지만 일부 대상에 접속할 수 없다면 두 번째 단계로 돌아가 Global Routing과 현재 규칙을 확인하세요. Direct 상태의 접속 결과로 프록시 서버가 정상인지 판단하면 안 됩니다. 특정 대상에서만 문제가 발생한다면 대상 서비스 자체의 제한이나 장애도 확인하세요. 모든 설정을 바로 초기화하지 마세요.

특정 네트워크 조건에서 연결 상태가 자동으로 바뀐다면 Settings에서 On Demand를 확인합니다. 조건에 따라 연결을 시작하는 기능이므로 처음 수동으로 확인할 때는 현재 조건이 테스트를 방해하는지 살펴보세요. 연결을 개선하는 만능 옵션으로 취급하면 안 됩니다. Proxy, TCP, UDP 등의 설정도 처음 문제를 해결할 때 한꺼번에 바꾸지 마세요. 변경하기 전에 기존 값을 기록하고 같은 대상을 다시 테스트한 뒤 개선되지 않았다면 원래 값으로 복원합니다.

Diagnostics 사용 시 필요한 맥락 보존

추가로 문제를 좁혀야 한다면 Settings에서 Diagnostics의 진단 메뉴를 확인하고 문제가 발생한 시점과 구체적인 대상을 함께 고려해 결과를 읽습니다. 현재 네트워크, Global Routing, 선택한 항목의 유형, 표시된 오류 문구를 기록하세요. 로그에 도메인, 주소, 인증 정보 또는 구독 인증 정보가 포함되어 있다면 공유하기 전에 민감한 내용을 처리합니다. 도움을 받으려고 전체 구독 링크나 확인하지 않은 구성 파일 전체를 보내지 마세요.

기본 확인을 마친 뒤 평소 사용할 Global Routing 모드로 되돌리고 실제 접속을 다시 확인합니다. 이후 DNS, On Demand, 로그 또는 동기화를 조정할 때도 “기존 값 기록, 한 번에 하나만 변경, 결과 확인” 원칙을 따릅니다. 설정에 관한 자세한 설명은 설정 자세히 보기에서, 증상별 문제 해결은 자주 묻는 질문에서 확인하세요. 이 가이드는 첫 설정 절차를 다룹니다. 처음 사용할 때 모든 기능을 활성화할 필요는 없습니다.

Shadowrocket 공식 Settings 스크린샷. Language, Test Method, Today Widget, On Demand, Diagnostics, Proxy, TCP 및 UDP 표시
Settings: 문제 해결 목적에 따라 Test Method, On Demand, Diagnostics를 확인합니다. 현재 값을 먼저 기록하고 하나씩 확인하세요. 설정 항목이 많다고 구성이 완료된 것은 아닙니다.