공식 핸드북 · 시작 가이드

Shadowrocket 사용법

정보 추가 → 라우팅 선택 → 연결 및 확인

iPhone과 iPad에서 사용할 수 있습니다. 먼저 연결이 정상인지 확인한 뒤 일상 설정을 하나씩 조정하세요. 프로토콜 세부 사항과 전체 규칙은 관련 안내에서 확인할 수 있습니다.

App Store 다운로드 안내
STEP 01 / INPUT

Add Server: 추가 또는 가져오기

구독 링크와 개별 서버 정보는 서로 다른 입력 방식입니다. 가지고 있는 정보에 맞는 한 가지 방법을 선택하면 되며, 둘 다 추가할 필요는 없습니다.

먼저 보유한 정보 종류 확인

Shadowrocket을 열고 Home으로 이동합니다. 화면 아래의 SERVER에는 선택할 수 있는 서버 항목이 표시됩니다. 아직 추가하지 않았다면 Add Server를 찾으세요. 서비스 제공자가 전달한 전체 구독 URL은 일반적으로 여러 항목을 가져오는 데 사용합니다. 프로토콜, 주소, 포트, 인증 정보가 각각 적혀 있다면 직접 입력하는 방식이 적합합니다. URL 길이만으로 종류를 판단하거나 구독 URL을 서버 Host로 입력하지 마세요.

원본 정보는 안전한 곳에 보관하고, 입력할 때 항목별로 대조하세요. 구독 URL, Password, UUID 등에는 접속 인증 정보가 포함될 수 있으므로 공개 페이지에 붙여 넣거나 전체 화면을 캡처해 공유하지 마세요. 프로토콜 종류나 필수 항목이 안내되어 있지 않다면 다른 가이드를 보고 추측하지 말고 서비스 제공자에게 확인하세요.

방법 1: 보유한 서버 정보 직접 입력

  1. Home에서 Add Server를 누른 다음 Type을 열고 보유한 정보와 일치하는 프로토콜을 선택합니다. 예를 들어 Shadowsocks, VMess, VLESS 또는 Trojan을 선택할 수 있습니다. Type에 따라 입력 항목이 달라지므로 먼저 정확히 선택해야 합니다.
  2. 정보에 맞춰 Host와 Port를 입력합니다. Host에는 서버 도메인이나 주소를 입력하고 웹페이지 경로는 덧붙이지 마세요. Port에는 제공받은 포트를 입력하며, 웹에서 흔히 쓰이는 포트로 대체하면 안 됩니다.
  3. 선택한 프로토콜의 인증 정보와 전송 매개변수를 입력합니다. Shadowsocks에서는 Password와 Method를 확인해야 합니다. 다른 프로토콜에서는 UUID, TLS, Server Name 또는 전송 관련 항목이 표시될 수 있습니다. 실제로 요구되는 항목만 입력하고 프로토콜마다 다른 필드를 섞어 쓰지 마세요.
  4. 입력값의 앞뒤 공백, 줄바꿈, 잘못 복사된 문장 부호를 확인한 뒤 저장하고 Home으로 돌아갑니다. SERVER에 새 항목이 표시되는지 확인하고 선택해 다음 테스트에 사용할 서버로 지정합니다.

Add Server 아래의 Scan QR Code로 보유한 정보의 QR 코드를 읽을 수 있습니다. 인식 후에도 Type과 매개변수를 확인하세요. Import from Cloud JSON은 특정 JSON 가져오기 형식에 사용하는 기능이며 모든 URL을 가져오는 일반적인 방법은 아닙니다. 이번에는 유효한 추가 방법 하나만 완료하면 됩니다.

방법 2: 기존 구독 가져오기

구독 링크가 있다면 Add Server의 Type에서 Subscribe를 선택하고 전체 링크를 URL에 붙여 넣은 뒤 알아보기 쉬운 메모를 입력하고 저장합니다. Home으로 돌아가 구독 정보를 가져올 때까지 기다리세요. 필요한 경우 해당 구독의 업데이트 기능을 사용합니다. 가져오기가 완료되면 연결된 서버 항목이 표시됩니다. 테스트할 항목을 선택하세요. 구독 기록이 저장되었다고 해서 원격 콘텐츠까지 정상적으로 가져온 것은 아닙니다.

항목이 표시되지 않으면 링크가 완전한지, 구독이 아직 유효한지 먼저 확인하세요. 모든 설정을 바로 새로 만들 필요는 없습니다. 서버 목록을 가져오는 구독 URL과 규칙 라우팅에 사용하는 설정 파일은 서로 다른 정보입니다. 서버 목록을 가져온 뒤 요청을 규칙에 따라 처리할지는 다음 단계의 Global Routing과 현재 설정에 따라 달라집니다. 관련 내용은 용어집에서 확인할 수 있습니다.

Shadowrocket Add Server 공식 화면: Type, Host, Port, Password, Method 및 하단의 가져오기 메뉴 표시
App Store 공식 스크린샷: Add Server. Type에 따라 입력 항목이 달라지므로 실제로 선택한 프로토콜과 현재 앱 화면을 기준으로 확인하세요.
STEP 02 / ROUTING

Global Routing: 요청 처리 방식 선택

서버는 프록시 요청을 전달할 대상을 결정하고, Global Routing은 요청을 처리하는 방식을 결정합니다. 두 항목을 각각 확인해야 합니다.

Home으로 돌아가 Global Routing을 눌러 현재 선택된 항목을 확인합니다. 처음 설정할 때는 서버를 선택했다는 이유만으로 모든 요청이 해당 서버를 거칠 것이라고 생각하지 마세요. Config, Proxy, Direct의 차이를 먼저 파악한 뒤 이번 확인 목적에 맞는 방식을 선택하세요.

세 가지 방식의 용도

  • Config: 현재 활성화된 설정의 규칙에 따라 요청을 매칭합니다. 요청에 따라 PROXY, DIRECT 또는 다른 정책이 적용될 수 있습니다. 규칙이 마련된 상태에서 일상적으로 사용하기에 적합하지만 결과는 설정 내용과 규칙 순서에 따라 달라집니다.
  • Proxy: 클라이언트에서 처리할 수 있는 요청을 프록시 방식으로 처리합니다. 선택한 서버가 실제 접속에 사용할 수 있는지 처음 확인할 때 적합합니다. 모든 시스템 제한을 우회할 수 있는 것은 아니며, 대상 서비스의 이용 가능성을 보장하지도 않습니다.
  • Direct: 요청을 직접 연결 방식으로 처리하며 프록시 결과와 비교할 때 사용할 수 있습니다. 서버를 선택한 상태에서 Direct를 선택해도 서버가 정상인지 확인할 수는 없습니다.

새로 추가한 서버만 확인하려는 경우 먼저 Proxy를 선택하고 해당 설정을 기록한 다음 다음 단계로 진행하세요. 용도를 이해하고 신뢰할 수 있는 설정 파일이 있다면 Config를 선택할 수 있습니다. 테스트가 끝나면 일상 사용에 적합한 방식으로 되돌려 임시 문제 해결 설정을 계속 사용하지 않도록 하세요.

Config 사용 전 현재 설정 확인

규칙에 따라 라우팅하려면 아래쪽의 Config로 이동해 사용할 설정이 선택되어 있는지 확인합니다. 설정 편집 화면에는 General, Rule, Hosts, URL Rewrite, HTTPS Decryption 등의 섹션이 표시됩니다. Rule과 Add Rule은 규칙을 관리하는 기능입니다. 처음 사용할 때 모든 섹션을 수정할 필요는 없으며, 첫 연결을 위해 HTTPS Decryption을 켤 필요도 없습니다.

예를 들어 DOMAIN-SUFFIX,example.com,PROXY는 도메인 접미사로 매칭한 뒤 PROXY 정책을 사용한다는 뜻입니다. 이는 규칙 문법의 예시이며 그대로 추가해야 하는 완성된 설정은 아닙니다. 규칙은 보통 순서대로 매칭되므로 뒤쪽 항목은 적용되지 않을 수도 있습니다. FINAL이나 DIRECT의 처리 관계를 알고 싶다면 전체 핸드북의 Global Routing 섹션을 읽어보세요. 이번 확인 과정에서는 서버 매개변수와 규칙을 동시에 변경하지 마세요.

Shadowrocket Config 설정 편집 공식 화면: General, Rule, Hosts, URL Rewrite, HTTPS Decryption 및 Add Rule 표시
App Store 공식 스크린샷: Config 설정 편집 화면. 이곳에서 설정 내용을 관리합니다. Global Routing 방식은 Home에서 선택합니다.
STEP 03 / CONNECT

Home: 연결 스위치 켜기

먼저 서버와 라우팅 방식을 확인한 다음 시스템 VPN 구성 안내를 처리하세요. 시스템 권한 허용과 서버 인증은 별개의 절차입니다.

Home으로 돌아가 SERVER에서 선택된 항목과 Global Routing을 다시 확인합니다. 가져오기나 화면 이동 중 설정이 바뀌지 않았는지 살펴본 뒤 화면 상단의 연결 스위치를 켭니다. 연결 전에 Not Connected가 표시될 수 있습니다. 스위치를 켠 뒤 상태가 바뀌는지, 켜진 상태가 유지되는지 확인하세요.

처음 활성화할 때 iPhone이나 iPad에 VPN 구성을 추가할지 묻는 시스템 안내가 표시될 수 있습니다. 이는 시스템 네트워크 확장 기능을 통해 클라이언트가 연결을 처리하도록 허용하는 절차이며, 앱을 다시 구매하거나 서비스 제공자에게 Password를 인증하는 과정이 아닙니다. 방금 조작한 Shadowrocket에서 요청한 안내인지 확인한 뒤 허용하고, 시스템 안내에 따라 기기 암호 입력 또는 다른 인증을 완료하세요. 인증은 시스템 화면에서 진행해야 하며 Add Server에 기기 암호를 입력하면 안 됩니다.

권한 허용을 마친 뒤 Shadowrocket으로 돌아와 연결 상태를 확인합니다. 안내를 거부했다면 스위치를 다시 켜고 권한 요청이 다시 표시되는지 살펴보세요. 여전히 진행되지 않으면 다섯 번째 단계에 따라 시스템의 VPN 구성 상태를 확인합니다. 스위치를 빠르게 반복해서 켜고 끄거나 권한 설정이 끝나기 전에 서버 정보를 계속 수정하지 마세요. 실패 원인을 구분하기 어려워질 수 있습니다.

연결 스위치가 켜진 상태로 유지되면 클라이언트의 네트워크 처리 절차가 시작되었다는 뜻입니다. 원격 서버, DNS, 대상 웹사이트가 모두 정상이라는 뜻은 아닙니다. 이 단계에서는 On Demand를 변경하지 말고 수동 연결 상태를 유지한 채 다음 단계에서 확인하세요. iPad에서는 화면 구성이나 배치가 다를 수 있지만 Home에서 서버, Global Routing, 연결 스위치 순으로 확인하면 됩니다.

Shadowrocket Home 공식 화면: 상단에 Not Connected 스위치, 아래에 Global Routing, Connectivity Test 및 SERVER 표시
App Store 공식 스크린샷: Home. 상단 스위치로 연결을 제어합니다. Global Routing과 서버 선택은 각각 확인해야 합니다. 화면에 표시된 상태는 현재 연결 상태를 나타내지 않습니다.
STEP 04 / CHECK

Connectivity Test: 실제 접속 확인

서버 테스트 성공, 스위치 유지, 웹 요청 성공을 각각 확인해야 어느 단계까지 완료됐는지 판단할 수 있습니다.

먼저 현재 항목 테스트

Home에서 Connectivity Test를 실행하고 결과가 나올 때까지 기다린 뒤 테스트 방식과 현재 네트워크를 기록합니다. 표시된 값은 선택한 테스트 방식의 결과일 뿐, 고정된 회선 품질 순위가 아닙니다. 한 번 시간 초과가 발생했다고 서버를 계속 사용할 수 없다고 단정할 수도 없습니다.

다음으로 실제 요청 테스트

브라우저에서 접속 권한이 있고 주소를 알고 있는 웹페이지를 열어 새로고침한 뒤 새 콘텐츠가 표시될 때까지 기다립니다. 이미 로드된 페이지나 캐시된 이미지에만 의존하지 마세요. 특정 웹사이트 하나가 실패했다고 모든 연결이 실패한 것으로 판단하지도 마세요.

테스트 결과는 있지만 웹페이지가 열리지 않는다면 먼저 현재 Global Routing을 확인합니다. Config에서는 해당 웹페이지에 DIRECT나 다른 규칙이 적용되어 방금 테스트한 서버를 거치지 않을 수 있습니다. 기존 상태를 기록한 뒤 Proxy로 잠시 전환해 같은 주소를 다시 시도할 수 있습니다. Proxy에서는 접속되지만 Config에서 실패한다면 설정 파일과 규칙을 중점적으로 확인해야 하며 인증 정보를 바로 다시 입력할 필요는 없습니다.

그다음 Data로 이동해 새 요청을 보낼 때 트래픽 수치가 변하는지 확인할 수 있습니다. 요청 활동을 파악하는 단서가 되지만 집계 범위가 서비스 제공자의 사용량과 다를 수 있으며, 숫자가 늘었다고 대상 콘텐츠가 정상적으로 반환되었다고 단정할 수 없습니다. 시스템의 VPN 아이콘도 연결 상태를 보여주는 단서일 뿐 실제 접속 확인을 대신하지 않습니다.

현재 네트워크의 기준 상태를 확인하려면 먼저 현재 방식을 기록한 뒤 Direct로 전환하거나 연결을 끄고 같은 주소로 비교해 보세요. Direct에서도 접속되지 않으면 현재 Wi-Fi에 웹 인증이 필요한지, 네트워크가 사용 가능한지, 대상 서비스에 문제가 있는지 확인합니다. 비교가 끝나면 원래 방식으로 되돌리고 테스트 상태를 그대로 두지 마세요.

STEP 05 / DIAGNOSE

Settings: 실패 단계별 문제 해결

가장 먼저 완료되지 않은 단계로 돌아가세요. 한 번에 조건 하나만 변경하고 같은 테스트를 다시 진행하며 되돌릴 수 있도록 변경 내용을 기록합니다.

구독은 저장됐지만 서버 항목이 표시되지 않음

먼저 구독 URL이 잘리지 않았는지, 복사 과정에서 공백이 들어가지 않았는지, 서비스 제공자가 링크를 새로 발급해야 하는지 확인합니다. Subscribe 항목을 저장해도 클라이언트가 주소를 기억할 뿐입니다. 원격 요청이 실패하거나 예상과 다른 내용이 반환되면 SERVER에 사용할 수 있는 항목이 표시되지 않을 수 있습니다. 현재 네트워크에서 구독 요청을 보낼 수 있는지 확인한 뒤 본인의 구독이 유효한지 살펴보세요. 인증 정보가 포함된 전체 URL을 공개된 문제 해결 정보로 공유하지 마세요.

서버는 표시되지만 테스트 실패

직접 추가한 항목은 Type, Host, Port와 인증 필드부터 확인한 다음 TLS 및 전송 매개변수가 원본 정보와 일치하는지 살펴봅니다. 구독에서 가져온 항목은 먼저 업데이트하고 선택한 항목이 여전히 유효한지 확인하세요. Settings에서 Test Method를 확인해 현재 테스트가 실제 요청을 사용하는지 파악합니다. 테스트 방식이 다르면 표시되는 수치를 단순 비교할 수 없습니다. Wi-Fi와 Cellular를 바꾼 뒤 결과가 달라진다면 모든 매개변수를 동시에 변경하지 말고 네트워크 문제의 단서로 기록하세요.

스위치는 켜지지만 웹페이지가 로드되지 않음

먼저 네 번째 단계에 따라 Proxy와 Config의 결과를 비교합니다. Config에서만 실패하면 현재 설정과 규칙을 확인하세요. 두 방식 모두 실패하지만 서버 테스트에는 응답이 있다면 DNS 조회, 대상 주소, TLS 또는 전송 설정을 살펴봅니다. 기기의 날짜와 시간이 크게 어긋나도 보안 연결에 영향을 줄 수 있습니다. DNS를 계속 바꾸는 것이 해결책은 아닙니다. 먼저 기존 값을 기록하고 한 번에 하나씩 변경한 뒤 같은 대상을 다시 테스트하세요. 자세한 설명은 FAQ의 규칙 라우팅 및 문제 해결 항목에서 확인할 수 있습니다.

연결을 끈 뒤 다시 연결되거나 네트워크 전환 후 동작이 달라짐

Settings에서 On Demand를 확인합니다. 설정한 조건에 따라 연결이 시작될 수 있으므로 수동으로 연결을 끈 직후 조건에 따라 다시 연결되는 상황이 생길 수 있습니다. 처음 문제를 확인할 때는 현재 On Demand 설정을 기록하고 관련 자동 실행 조건을 잠시 끈 뒤 수동 스위치로 다시 테스트하세요. 기본 연결이 안정되면 설정을 복원하고 조건을 하나씩 확인합니다. 자동 실행을 서버 매개변수가 저장되지 않은 문제로 오해하지 마세요.

필요한 내용만 문제 해결 기록으로 남기기

Settings의 Diagnostics로 추가 진단을 진행할 수 있습니다. Proxy, TCP, UDP 등의 항목은 더 세부적인 네트워크 동작에 영향을 주므로 첫 연결을 위해 하나씩 변경할 필요는 없습니다. 도움을 요청할 때는 실패한 단계, 현재 방식, Wi-Fi 또는 Cellular 사용 여부, 테스트 방식과 오류 메시지 원문을 기록하세요. 진단 정보를 공유하기 전에 구독 URL, Password, UUID 및 그 밖의 식별 가능한 인증 정보를 삭제하세요. 설정 전체를 그대로 공개하지 마세요.

앱 재설치는 우선적으로 시도할 방법이 아닙니다. 기존 설정과 문제를 파악할 단서를 잃을 수 있지만 원격 서비스의 상태는 바뀌지 않습니다. 먼저 본인의 설정과 원본 매개변수를 보관한 뒤 실패 단계별로 확인하세요. 구독 관리, 규칙 순서와 자주 쓰는 설정에 대한 자세한 설명은 Shadowrocket 전체 핸드북에서 확인할 수 있습니다.

Shadowrocket Settings 공식 화면: Language, Test Method, Today Widget, On Demand, Diagnostics, Proxy, TCP 및 UDP 표시
App Store 공식 스크린샷: Settings. 먼저 Test Method와 On Demand의 영향을 확인한 뒤 실제 문제에 맞춰 다른 설정을 살펴보세요.

완료 후: 정상 상태 저장

연결을 확인한 뒤 선택한 서버, Global Routing 방식 및 현재 설정 파일을 기록합니다. 테스트를 위해 임시 변경한 옵션은 원래 사용하려던 상태로 되돌린 다음 일상적으로 필요한 규칙이나 On Demand를 하나씩 설정하세요. 서버 구독과 설정 파일은 별도로 관리되므로 어느 한쪽을 업데이트하더라도 실제 요청을 다시 확인해야 합니다.

다음에 문제가 생기면 모든 설정을 초기화하기보다 구독 가져오기 성공 여부, 스위치가 유지되는지, 테스트 결과와 실제 접속 결과가 일치하는지부터 확인하면 원인을 찾기 쉽습니다.