Shadowrocket 공식 매뉴얼 · 시작하기

Shadowrocket 사용법
구독 가져오기와 연결 확인

Home에서 시작해 가져오기, Global Routing 선택, 연결, 확인 순으로 진행합니다. 이 문서는 처음 사용할 때 필요한 기본 절차를 안내하며 iPhone과 iPad에 적용됩니다. 복잡한 규칙과 지속적인 오류는 별도의 문제 해결 안내를 참고하세요.

진행 순서: 항목이 저장되었는지 확인하고, 연결 경로를 점검한 다음 실제 요청을 보냅니다. 진행 중에는 한 번에 한 항목만 변경해 가져오기 문제와 연결 문제를 혼동하지 않도록 합니다.

STEP 01 / IMPORT

Add Server와 Subscribe로 가져오기

Shadowrocket을 열고 Home으로 이동합니다. 먼저 가지고 있는 정보가 무엇인지 확인하세요. 구독 링크는 보통 여러 서버를 한 번에 가져오고 업데이트할 때 사용합니다. 개별 서버 정보에는 프로토콜, 주소, 포트, 인증 정보가 포함됩니다. 두 종류의 정보는 입력 경로가 다르므로 링크가 길어 보인다는 이유만으로 Subscribe 링크라고 단정하지 마세요. 정보 유형이 불분명하면 먼저 제공자가 안내한 설명을 확인하세요.

구독 링크가 있는 경우: Subscribe 선택

Home 오른쪽 위의 더하기 버튼을 눌러 Add Server로 이동하고 Type을 열어 Subscribe를 선택합니다. URL에 본인의 전체 구독 링크를 붙여 넣고 알아보기 쉬운 이름을 입력한 다음 저장합니다. 붙여 넣은 뒤 링크의 시작과 끝, 쿼리 매개변수를 확인하세요. 메시지에 딸려 온 따옴표, 공백, 줄바꿈은 제거하되 링크 뒷부분을 임의로 삭제하지 마세요. 구독 주소에 접근 인증 정보가 포함될 수 있으므로 본인 기기의 앱에서만 사용하세요.

저장한 뒤 Home으로 돌아와 처음 정보를 가져올 때까지 기다리거나 해당 구독을 업데이트합니다. 구독 그룹 아래에 서버 항목이 나타나야 앱이 내용을 가져와 인식한 것입니다. 구독 이름만 표시된다면 서버 가져오기가 완료된 것이 아닙니다. 목록이 비어 있으면 여기서 멈추고 링크와 업데이트 결과를 확인하세요. 연결 스위치를 계속 시도할 필요는 없습니다.

https://example.com/sub?token=xxxx

위 내용은 주소 형식을 설명하기 위한 예시이며 실제로 사용할 수 있는 구독 링크가 아닙니다. 앱에는 본인의 링크를 붙여 넣고, 예시 주소는 입력하지 마세요.

서버 정보가 있는 경우: 프로토콜에 맞게 입력

개별 서버 정보를 받은 경우에도 Home의 더하기 버튼을 눌러 Add Server로 이동합니다. 단, Type에서 Subscribe가 아니라 제공된 정보에 지정된 프로토콜을 선택해야 합니다. 그런 다음 Address, Port와 해당 프로토콜에서 요구하는 인증 항목을 하나씩 확인합니다. Shadowsocks, VMess, VLESS, Trojan 등의 프로토콜은 입력 항목이 서로 다를 수 있습니다. 다른 프로토콜의 양식에 맞춰 입력하거나 경험만으로 암호화 방식 및 전송 매개변수를 추측하지 마세요.

정보에 TLS, 서버 이름 또는 전송 관련 매개변수가 포함되어 있다면 원본에 적힌 대로 입력합니다. 주소와 인증서 확인에 사용하는 이름은 서로 다를 수 있으므로 임의로 같은 값으로 합치지 마세요. 본인의 서버 공유 링크나 Scan QR Code로 가져온 경우에도 항목을 열어 주요 필드를 확인해야 합니다. 저장되었다는 것은 항목 형식을 인식했다는 뜻일 뿐, 원격 서버가 실제로 작동한다는 의미는 아닙니다.

Home으로 돌아가 사용할 서버를 탭하고 선택 표시가 원하는 항목에 있는지 확인합니다. 처음 확인할 때는 분명한 서버 하나만 사용하세요. 여러 서버를 연달아 바꾼 뒤 결과를 판단하지 마세요. 가져오기가 완료되려면 목록에 실제 서버가 있고, 매개변수를 확인할 수 있으며, 현재 선택 항목이 분명해야 합니다. 그다음 서버를 연결에 어떻게 사용할지 정합니다.

STEP 02 / GLOBAL ROUTING

Global Routing의 세 가지 모드

Home에서 Global Routing을 열고 이번 확인에 사용할 모드를 선택합니다. 여기서는 트래픽 처리 방식을 정하며, 현재 선택한 서버와는 별개의 설정입니다. 이 안내에서는 Config(구성), Proxy(프록시), Direct(직접 연결)로 표기합니다. 괄호 안은 화면에서 찾아야 하는 영문 항목명입니다.

모드처리 방식이번 안내에서의 사용법
Config(구성)현재 구성 파일에 설정된 규칙과 정책에 따라 요청을 처리합니다.규칙 기반 분기에 사용합니다. 먼저 현재 구성과 정책의 연결 대상을 확인하세요.
Proxy(프록시)트래픽을 프록시 모드로 처리해 선택한 서버의 프록시 경로를 확인하기 쉽습니다.처음 문제를 점검할 때 규칙 매칭 변수를 줄이기 위해 임시로 사용합니다.
Direct(직접 연결)대상에 직접 연결합니다. 선택한 서버가 작동한다는 근거로 볼 수는 없습니다.로컬 네트워크에서 대상에 직접 접속할 수 있는지 비교할 때 사용합니다.

처음 가져온 뒤 선택한 서버가 실제 요청을 처리할 수 있는지 확인하려면 먼저 Proxy를 선택해 테스트를 한 번 진행한 다음 필요에 따라 Config로 돌아갑니다. 이는 문제를 점검하기 위한 순서이며 일상적으로 Proxy를 유지해야 한다는 뜻은 아닙니다. 모드를 바꾼 후 Home으로 돌아가 표시된 값을 다시 확인하세요. 변경했다고 생각했지만 실제로는 이전 선택에 머물러 있을 수 있습니다.

Config를 사용할 예정이라면 Config 페이지에서 현재 선택된 구성 파일을 확인합니다. 구독의 서버 목록과 Config의 규칙 파일은 서로 역할이 다릅니다. 전자는 연결할 서버 항목을 제공하고, 후자는 요청이 어떤 규칙에 매칭되고 어떤 정책을 사용할지 결정합니다. 구독 업데이트는 규칙 업데이트와 다르며, 서버를 가져왔다고 규칙 구성이 선택된 것도 아닙니다. 본인이 가진 구성을 사용하기 전에는 원본 파일을 보존하고, 파일에서 참조하는 정책이 예상한 서버나 정책 그룹을 찾을 수 있는지 확인하세요.

처음 연결하기 위해 이해하지 못한 규칙 전체를 복사하지 마세요. 먼저 개별 서버의 연결 경로를 확인한 뒤 트래픽 분기를 설정하세요. DOMAIN-SUFFIX, PROXY, DIRECT 등의 키워드 설명은 용어 안내에서 확인할 수 있습니다. 이 페이지에서는 규칙 우선순위와 복잡한 정책 조합을 다루지 않습니다. 모드를 선택한 뒤 시스템 연결 승인을 진행하세요.

STEP 03 / CONNECT

연결 스위치 켜기 및 시스템 승인

Home으로 돌아가 선택한 서버, 현재 Global Routing 값, 로컬 Wi-Fi 또는 셀룰러 네트워크가 정상적으로 작동하는지 차례로 확인한 뒤 상단 연결 스위치를 켭니다. 처음 연결할 때 시스템에서 Shadowrocket이 VPN 구성을 추가하도록 허용할지 물을 수 있습니다. 이는 시스템 네트워크 연결에 필요한 승인 절차이며 구독 업데이트나 앱 재구매와는 다릅니다. 앱 이름을 확인한 뒤 시스템 안내에 따라 허용하고 기기 인증을 완료하세요.

승인 후 Shadowrocket으로 돌아와 스위치가 켜진 상태인지 확인합니다. 시스템의 VPN 상태도 연결 여부를 확인하는 참고 자료가 될 수 있지만, 이는 시스템 연결이 설정되었다는 뜻일 뿐 모든 대상에 접속할 수 있거나 모든 요청이 선택한 서버를 통과한다는 뜻은 아닙니다. 다음 단계에서 실제로 확인해야 합니다. 스위치가 켜진 것만 보고 절차를 끝내지 마세요.

시스템 승인을 거부했거나 스위치를 켜자마자 다시 꺼졌다면 서버를 바로 삭제하지 마세요. 연결을 다시 시도해 승인 안내가 표시되는지 확인한 다음 시스템 설정에서 VPN 구성 상태와 다른 VPN 연결이 작동 중인지 점검합니다. 문제를 확인하는 동안 다른 VPN 연결을 먼저 종료해 네트워크 구성이 동시에 바뀌지 않도록 하세요. 조직에서 관리하는 기기는 정책에 따라 구성 추가가 제한될 수 있으니 기기 관리자에게 허용된 작업을 문의하세요.

처음 수동 연결이 안정되지 않았다면 아직 On Demand를 설정하지 마세요. On Demand는 조건에 따라 연결을 실행하는 기능이지 잘못된 구독 주소나 서버 매개변수를 고치는 기능이 아닙니다. 먼저 수동 연결을 켜고 끄는 동작이 예상대로인지 확인한 뒤 자동 연결 조건을 별도로 설정하세요. iPad에서도 같은 순서로 진행합니다. 기기 및 앱 업데이트에 따라 화면 배치는 달라질 수 있으므로 현재 앱의 영문 항목명을 기준으로 찾으세요.

STEP 04 / VERIFY

Connectivity Test와 실제 작동 확인

연결을 켠 뒤 현재 서버에서 Connectivity Test를 실행하고 결과가 표시되는지 확인합니다. 테스트는 연결 상태를 파악하는 단서일 뿐 접속을 완전히 보장하지 않습니다. 테스트 대상이나 프로토콜 경로가 실제 사이트 요청과 다를 수 있어 한 번 성공해도 모든 요청이 성공하는 것은 아닙니다. 한 번 시간 초과가 발생했다고 서버가 영구적으로 작동하지 않는다고 단정할 수도 없습니다. 새 변수가 생기지 않도록 현재 서버와 모드를 그대로 유지하세요.

이어서 브라우저를 열고 익숙하며 접근 권한이 있는 사이트에 접속한 뒤 페이지를 새로고침해 정상 요청이 완료되는지 확인합니다. 캐시가 연결 상태를 가릴 수 있으므로 이미 열어 둔 페이지만 확인하지 마세요. 비교가 필요하면 연결을 끈 상태, Proxy, Config에서 같은 대상의 결과를 기록합니다. 상태를 바꿀 때마다 새 요청을 보내고 네트워크와 서버를 동시에 바꾸지 마세요.

접속 여부뿐 아니라 경로도 확인

사이트가 열린다고 해서 프록시를 거쳤다는 뜻은 아닙니다. Config 모드에서는 일부 요청이 원래 DIRECT로 처리될 수 있습니다. 트래픽 분기를 확인하려면 앱의 해당 요청 기록을 살펴보고 대상 도메인, 매칭된 규칙, 최종 정책을 함께 확인하세요. Data 페이지의 트래픽 변화도 참고할 수 있지만 백그라운드 활동으로 트래픽이 발생할 수 있으므로 특정 수치 변화가 방금 방문한 사이트 때문이라고 단정하지 마세요.

Proxy에서는 접속되지만 Config에서 실패한다면 현재 구성의 매칭 규칙과 정책 대상부터 확인하세요. Direct에서는 접속되지만 Proxy에서 실패한다면 선택한 서버와 원격 연결 경로를 점검하세요. 두 모드 모두 실패하면 먼저 로컬 네트워크와 대상 사이트가 정상인지 확인합니다. 이 비교는 문제 범위를 좁히는 데 도움을 줄 뿐 구체적인 오류 기록을 확인하는 과정을 대신하지 않습니다.

확인 기준을 구체적으로 정하세요. 선택한 서버의 테스트 결과를 설명할 수 있고, 대상 요청이 완료되며, 트래픽 분기가 필요한 요청의 경로가 예상과 일치해야 합니다. 확인을 마치면 일상적으로 사용할 Global Routing 모드로 돌아간 뒤 같은 대상을 다시 확인합니다. 현재 작동하는 서버와 구성 이름을 기록해 두면 나중에 문제가 생겼을 때 모든 설정을 처음부터 추측하지 않고 비교할 수 있습니다.

STEP 05 / CHECKPOINTS

문제가 발생한 단계별로 점검

문제가 발생하면 가장 먼저 완료되지 않은 단계부터 확인합니다. 서버 목록이 비어 있다면 가져오기부터 해결하고, 스위치가 켜진 상태를 유지하지 못한다면 시스템 연결부터 점검합니다. 특정 대상만 실패한다면 해당 대상의 규칙과 이름 해석을 확인하세요. 모든 문제를 앱 재설치로 해결하려 하지 마세요. 재설치하면 로컬 구성을 잃을 수 있고 원격에서 비활성화된 링크도 복구되지 않습니다.

Subscribe 저장 후 서버 항목이 표시되지 않음

구독 설정을 다시 열어 URL 전체가 온전히 입력되었는지, 공백·줄바꿈·메시지에 포함된 문장 부호가 섞이지 않았는지 확인합니다. 계정 웹페이지 주소가 아니라 구독 주소를 붙여 넣었는지도 확인하세요. 한 번 업데이트를 실행해 결과를 살펴봅니다. 내용이 비어 있거나 형식을 인식할 수 없거나 링크가 만료되었다면 본인의 제공자에게 링크 상태와 지원 형식을 문의하세요. 전체 구독 주소에 개인 인증 정보가 포함될 수 있으므로 공개 게시판에 올리지 마세요.

이전까지 업데이트가 잘되다가 갑자기 실패했다면 먼저 일반 네트워크 접속이 정상인지 확인하고, 현재 네트워크에서 같은 구독 정보를 가져올 수 있는지 점검합니다. 같은 구독을 반복해서 추가하며 해결을 기대하지 마세요. 중복 그룹이 생기면 나중에 선택한 항목을 구분하기 어려워집니다. 구독 업데이트와 앱 업데이트는 별개의 작업입니다. 전자는 서버 정보를 새로 가져오고, 후자는 App Store에서 클라이언트를 업데이트합니다.

스위치는 켜졌지만 서버 테스트가 시간 초과됨

먼저 서버 주소, 포트, 인증 정보가 원본과 일치하는지 확인한 다음 해당 프로토콜의 추가 TLS 또는 전송 매개변수를 살펴봅니다. 사용할 수 있는 다른 로컬 네트워크로 전환해 서버는 그대로 둔 채 비교해 보세요. 네트워크를 바꾼 뒤 정상화된다면 기존 네트워크 경로를 우선 점검합니다. 여러 네트워크에서 모두 실패하면 임의로 포트를 바꾸거나 필요한 확인 절차를 끄지 말고 본인의 서버 관리자에게 원격 상태를 문의하세요.

가져온 항목 중 하나만 실패한다면 같은 구독에 이미 있는 다른 항목을 선택해 비교할 수 있습니다. 전환 전후 결과를 기록하세요. 한 번에 서버 하나만 바꾸고 Config와 DNS를 동시에 변경하지 마세요. 테스트는 가끔 성공하지만 실제 요청이 계속 실패한다면 구체적인 대상과 오류 기록을 확인하세요. 테스트 결과만 믿고 연결을 반복해서 껐다 켜지 마세요.

Proxy는 정상인데 Config에서 일부 대상에 접속할 수 없음

Config 페이지에서 예상한 파일이 선택되어 있는지 확인한 다음 실패한 요청이 어떤 규칙에 매칭되었는지 살펴봅니다. 규칙이 DIRECT 또는 REJECT를 지정하거나 올바르게 설정되지 않은 정책 그룹을 가리킬 수 있습니다. 서버가 작동하더라도 모든 규칙이 해당 서버를 참조하는 것은 아닙니다. 관련 규칙을 먼저 찾고 원본 파일을 보존한 채 수정하세요. 파일 전체를 교체해 실제 원인을 가리지 않도록 합니다.

도메인 접속에 문제가 있지만 다른 연결은 정상인 것 같다면 DNS도 점검하되 여러 DNS 설정을 동시에 바꾸지 마세요. 현재 설정을 기록하고 기존 구성의 의미를 파악한 뒤 한 항목씩 비교합니다. 인증서 경고가 표시되어도 바로 무시하지 말고 대상 이름, 기기 시간, 관련 연결 매개변수를 확인하세요. DNS, TLS, 규칙 관련 문제의 자세한 절차는 문제 해결 매뉴얼을 참고하세요.

네트워크 전환 또는 앱 복귀 후 문제가 발생함

먼저 수동으로 연결을 끊었다가 다시 연결하고 새 네트워크가 정상적으로 작동하는지 확인합니다. 그런 다음 서버와 Global Routing이 방금 확인한 조합 그대로인지 살펴봅니다. On Demand를 설정했다면 실행 조건을 기록하고 필요에 따라 자동 연결을 잠시 끈 뒤 수동 연결만 확인하세요. 기본 연결이 안정되기 전에 자동화 설정을 더하면 실행 조건 문제인지 서버 연결 문제인지 구분하기 어렵습니다.

이 페이지를 마치면 Home에서 본인의 서버를 찾고, 현재 모드의 의미를 설명하며, 연결을 수동으로 켜고 끄고, 실제 요청으로 결과를 확인할 수 있어야 합니다. 평소에는 필요에 따라 구독을 업데이트하고 작동하는 구성을 보관하며 설정을 조정한 뒤 다시 확인하면 됩니다. 구매 및 승인 관련 내용은 자주 묻는 질문을, 익숙하지 않은 영문 항목은 용어 안내를 참고하세요. 문제가 계속되면 문제 해결 매뉴얼의 절차에 따라 더 자세히 살펴보세요.