공식 매뉴얼 · 첫 설정

Shadowrocket 사용법

기존 정보로 시작해 가져오기, 라우팅, 연결 및 테스트를 차례로 진행하세요. 각 단계의 결과를 확인한 후 다음 단계로 넘어가세요.

  • iPhone / iPad에서 설정
  • 기존 구독 또는 서버 정보
  • 5단계 확인 절차

아래에서는 앱 인터페이스에 표시된 영문 이름을 기준으로 안내합니다. 공식 스크린샷은 화면을 식별하기 위한 참고 자료이며, 실제 입력 항목은 선택한 Type과 앱 내 설정에 따라 달라질 수 있습니다. 스크린샷의 서버 정보를 그대로 입력하거나 구독 링크 및 비밀번호를 공개된 곳에 보내지 마세요.

01 · Add Server / Subscribe기존 정보를 가져온 뒤 저장 결과 확인

Shadowrocket을 열고 우선 Home에 머뭅니다. 바로 연결 스위치를 켤 필요는 없습니다. SERVER 영역에서 Add Server를 찾아 엽니다. 추가하기 전에 보유한 정보가 어떤 종류인지 확인하세요. 구독 링크는 서버 목록을 가져오는 데 사용하고, 개별 서버 정보에는 프로토콜 종류, 서버 주소, 포트 및 인증 매개변수가 포함됩니다. 두 자료는 입력하는 위치가 다릅니다. 구독 링크를 서버 Host에 입력하면 보통 유효한 항목이 생성되지 않습니다.

서버 한 대 직접 추가

Add Server에서 Type을 누르고 보유한 자료에 맞는 프로토콜을 선택한 다음 해당 유형에 필요한 항목을 입력합니다. Host, Port, Password, Method가 표시되는 화면이라면 Host에는 서버 주소, Port에는 포트 번호를 입력하고 Password와 Method를 원본 정보와 하나씩 대조합니다. Type에 따라 표시되는 매개변수가 다르므로 항목 이름이 비슷하다는 이유로 다른 프로토콜의 설정을 그대로 사용하지 마세요. TLS 또는 기타 전송 옵션도 기존 서버 정보를 기준으로 설정해야 합니다.

입력을 마친 뒤 앞뒤 공백, 포트 번호 및 인증 정보의 대소문자를 확인하고 화면의 저장 기능을 사용해 Home으로 돌아갑니다. 호환되는 QR 코드가 있다면 Scan QR Code를 사용할 수 있습니다. 시스템 안내에 따라 카메라 접근을 허용한 뒤 본인의 정보를 스캔하세요. QR 코드는 입력 방법일 뿐이므로 스캔 후에도 Type과 주요 매개변수가 올바른지 확인해야 합니다. Import from Cloud JSON은 별도의 가져오기 기능이므로 해당 형식의 자료를 실제로 보유한 경우에만 사용하세요. 일반 웹페이지나 임의의 텍스트를 해당 형식으로 가져오면 안 됩니다.

Subscribe로 기존 구독 가져오기

구독 링크가 있다면 Add Server의 Type에서 Subscribe를 선택하고 해당 주소 입력란에 본인의 전체 링크를 붙여넣은 뒤 알아보기 쉬운 메모를 입력하고 저장합니다. 복사할 때 링크의 전체 경로와 쿼리 매개변수가 유지되도록 하고, 채팅 문구나 줄바꿈, 끝에 붙은 문장 부호가 포함되지 않게 주의하세요. 구독 주소에는 보통 접근 권한이 포함되므로 비밀번호처럼 안전하게 보관해야 합니다. 이 페이지에서는 사용 가능한 주소를 보여주지 않으며 구독을 업로드하도록 요구하지 않습니다.

저장한 뒤 Home으로 돌아가 구독을 읽어 올 때까지 기다리고 SERVER에 해당 그룹과 서버 항목이 표시되는지 확인합니다. 구독 이름만 표시되고 항목이 비어 있다면 가져오기가 완료된 것이 아닙니다. 처리 안내, 현재 네트워크 및 링크가 온전한지 확인하세요. 구독 내용이 바뀌었다면 해당 구독의 업데이트 기능으로 다시 가져온 뒤 현재 선택된 서버를 확인해 삭제된 이전 항목을 계속 사용하지 않도록 합니다.

추가를 마친 뒤에는 매개변수를 반복해서 바꾸지 마세요. 다음 단계에서 Global Routing을 확인해 연결 후 어떤 요청에 이 서버가 사용되는지 파악합니다. 라우팅 방식과 서버 사용 가능 여부를 혼동하지 않도록 주의하세요.

Shadowrocket의 Add Server 화면: Type, Host, Port, Password, Method와 하단의 가져오기 기능 표시
Add Server: 먼저 Type을 선택하고 해당 항목을 확인하세요.

02 · Global Routing구성, 프록시, 직접 연결의 차이 확인

Home으로 돌아가 Global Routing을 열고 이번 목적에 따라 구성(Config), 프록시(Proxy) 또는 직접 연결(Direct)을 선택합니다. 이 설정은 요청을 라우팅하는 방식을 정하며 서버 매개변수를 보완하거나 서버 자체를 대체하지 않습니다. 처음 설정할 때는 세 가지 방식의 차이를 먼저 이해한 후 계속 사용할 방식을 선택하세요. 특정 웹사이트가 열리는지만 보고 모든 옵션을 연달아 바꾸지 마세요.

구성(Config): 현재 구성의 규칙에 따라 처리

구성(Config)은 현재 활성화된 구성의 규칙에 따라 요청을 처리합니다. Config에 들어가 사용하려는 구성이 활성화되어 있는지 확인하세요. 파일의 편집 화면을 열어 둔 것만으로는 활성화된 것이 아닙니다. 구성 편집 화면의 General, Rule, Hosts, URL Rewrite, HTTPS Decryption은 각각 기능이 다릅니다. 처음 연결할 때 모두 수정할 필요는 없습니다. 이 단계에서는 구성의 출처와 활성화 상태, 그리고 Rule에서 대상과 관련된 정책을 확인하세요.

규칙은 보통 위에서 아래 순서로 확인하며 먼저 일치한 규칙이 해당 요청의 처리 방식을 결정합니다. DOMAIN은 전체 도메인과 일치하고, DOMAIN-SUFFIX는 도메인 접미사와 일치하며, IP-CIDR은 주소 범위와 일치합니다. FINAL은 마지막 대체 규칙으로 사용됩니다. PROXY, DIRECT, REJECT는 서로 다른 정책이며 REJECT를 다른 서버로 재시도하는 기능으로 보면 안 됩니다. 아래 내용은 규칙 문법 예시일 뿐, 현재 구성을 대체할 완전한 파일을 제안하는 것이 아닙니다.

[Rule]
DOMAIN,api.example.com,DIRECT
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT

이 예시에서는 api.example.com이 첫 번째 줄과 일치해 DIRECT를 사용하고, 접미사 조건에 맞는 다른 도메인은 두 번째 줄의 정책을 따릅니다. 범위가 넓은 규칙을 구체적인 규칙보다 앞에 두면 뒤의 항목은 일치할 기회를 얻지 못할 수 있습니다. 수정하기 전에 기존 구성을 보관하고, 확실히 이해하는 규칙 하나만 변경한 뒤 현재 구성이 활성화되어 있는지 다시 확인하세요. 스크린샷의 Add Rule은 규칙을 추가하는 기능이지 서버를 추가하는 기능이 아닙니다.

프록시(Proxy)와 직접 연결(Direct): 경로를 구분해 확인

프록시(Proxy)는 요청을 프록시 경로로 처리하며 선택한 서버의 연결 상태를 1차로 확인할 때 사용할 수 있습니다. 원격의 모든 대상에 반드시 접속할 수 있다는 뜻은 아닙니다. 직접 연결(Direct)은 로컬 직접 연결 경로를 사용하므로 기본 네트워크가 정상인지 확인할 수 있지만, 이 방식으로 웹사이트가 열린다고 프록시 경로가 작동한다는 뜻은 아닙니다. 문제를 확인할 때 잠시 전환해 비교할 수 있지만 테스트가 끝나면 원래 사용하려던 방식으로 되돌리세요.

일반적으로 요청별로 규칙을 적용하려면 구성(Config)을 사용하고 해당 규칙을 확인하세요. 서버 문제와 규칙 문제를 구분해야 할 때는 잠시 다른 방식과 비교해 볼 수 있습니다. 처음 사용하는 경우 Hosts, URL Rewrite, HTTPS Decryption을 동시에 수정하기보다 기존 구성의 구조를 유지하는 편이 결과를 파악하기 쉽습니다. 이 단계를 마치면 현재 방식과 활성 구성의 이름을 기억한 뒤 연결 단계로 넘어가세요.

규칙 키워드에 관한 자세한 설명은 규칙 문법 안내에서 확인할 수 있습니다. 스토어 국가·지역, 구매 및 구입 항목 복원은 별도의 절차이므로 App Store 가이드를 참고하세요. 첫 연결 단계에서 함께 처리할 필요는 없습니다.

Shadowrocket의 Config 구성 편집 화면: General, Rule, Hosts, URL Rewrite, HTTPS Decryption 및 Add Rule 표시
Config: Rule과 현재 구성을 확인하고 모든 항목을 한꺼번에 수정하지 마세요.

03 · Home 연결 스위치시스템 권한을 승인하고 연결 상태 확인

Home으로 돌아가 세 가지를 차례로 확인합니다. SERVER에서 이번에 사용할 서버를 선택했는지, Global Routing이 앞서 정한 방식과 일치하는지, 기기 자체가 정상적으로 인터넷에 연결되는지 확인하세요. 화면 상단에 Not Connected가 표시되면 연결이 아직 설정되지 않은 상태입니다. 상단 스위치를 켜고 시스템 안내와 앱 상태의 변화를 확인하세요. 기다리는 동안 스위치를 반복해서 켜고 끄거나 구독을 동시에 업데이트하지 마세요.

VPN 구성 추가를 요청하는 시스템 안내 확인

처음 연결을 켤 때 시스템에서 VPN 구성 추가를 허용할지 물을 수 있습니다. 이 요청은 Shadowrocket이 시스템에서 관리하는 네트워크 연결 구성을 만들기 위한 것이며, 구매 안내나 서버 정보 입력란이 아닙니다. 팝업에 표시된 앱 이름과 설명을 읽고 시스템 안내에 따라 승인하세요. 기기 인증을 추가로 요청할 수도 있습니다. 완료되면 Shadowrocket으로 돌아가 화면 상단의 상태가 Not Connected에서 바뀌었는지 확인합니다.

이전에 권한 요청을 취소했다면 연결이 설정되지 않을 수 있습니다. 연결 스위치를 다시 켜고 실제로 표시되는 안내에 따라 진행하세요. 안내를 피하려고 다른 용도의 시스템 구성을 임의로 삭제하지 마세요. 조직에서 관리하는 기기는 정책상 구성 작업이 제한될 수 있으므로 먼저 해당 작업이 허용되는지 확인해야 합니다. 권한 승인은 이 기기의 구성 권한만 처리하며 잘못된 Host, Port 또는 인증 매개변수를 바로잡지는 않습니다.

연결 상태와 실제 사용 가능 여부는 별도로 확인

시스템에 VPN 상태가 표시되거나 앱 스위치가 켜져 있으면 로컬 연결 상태가 바뀐 것입니다. 하지만 그것만으로 선택한 서버와 대상 웹사이트가 모두 정상이라고 볼 수는 없습니다. 반대로 스위치가 즉시 꺼지거나 상태가 계속 설정되지 않으면 먼저 안내 메시지를 확인한 뒤 권한 승인 여부, 서버 선택 상태 및 구성의 유효성을 점검하세요. 단순히 연결이 안 된다고 기록하는 것보다 상태에 표시된 문구를 적어 두면 문제를 파악하는 데 도움이 됩니다.

첫 연결을 확인하는 동안에는 테스트 조건을 하나로 유지하세요. 같은 네트워크, 같은 서버, 같은 라우팅 방식을 사용합니다. Wi-Fi와 셀룰러 네트워크를 바꿔야 한다면 현재 테스트를 먼저 중지하고 새 네트워크에서 다시 연결해 결과를 확인하세요. 여러 조건을 동시에 바꾸면 우연히 성공한 결과를 재현하기 어렵고 실제 문제도 가려질 수 있습니다.

Shadowrocket의 Home 화면: 상단에 Not Connected, Global Routing, Connectivity Test가 표시되고 아래에 SERVER와 Add Server가 표시됨
Home: 연결 스위치, 라우팅 방식 및 서버 선택 상태를 확인하세요.

04 · Connectivity Test서버를 먼저 테스트한 다음 실제 요청 확인

연결한 뒤 Home으로 돌아가 Connectivity Test를 사용해 현재 서버의 테스트 결과를 확인하세요. 시작하기 전에 테스트 대상이 실제로 선택한 서버와 일치하는지 확인하고 이번 테스트가 끝난 후 결과를 비교합니다. 테스트 결과는 해당 테스트 방식과 당시 네트워크 조건에서의 상태를 보여줄 뿐, 모든 앱과 대상이 사용 가능하다는 뜻은 아닙니다. 단일 테스트 값을 장기적인 성능으로 간주하거나 목록의 순서만 보고 실제 접속 결과를 판단하지 마세요.

테스트 결과와 실제 접속 결과를 따로 기록

먼저 현재 네트워크에서 보통 직접 접속할 수 있는 페이지를 열어 기기의 기본 네트워크가 정상인지 확인하세요. 그다음 이번에 확인하려는 대상에 접속해 로딩이 완료되는지 살펴봅니다. 테스트는 성공했지만 대상에 접속하지 못한다면 모든 서버를 즉시 삭제하지 말고 라우팅 규칙, 대상 자체 및 관련 연결 기록을 확인하세요. 테스트는 실패했지만 일부 페이지가 열린다면 해당 요청은 DIRECT를 사용했거나 테스트 방식과 실제 요청의 경로가 다를 수 있습니다.

구성(Config) 방식에서는 현재 규칙을 고려해 결과를 해석해야 합니다. 대상에 DIRECT가 적용되었다면 페이지가 열려도 프록시 서버가 작동하는지 확인한 것이 아닙니다. REJECT가 적용되었다면 실패가 구성에서 의도한 동작일 수 있습니다. 앱에서 연결 기록을 볼 수 있다면 대상 도메인, 일치한 규칙 및 적용된 정책을 확인하세요. 기록만으로 충분한 정보를 얻을 수 없다면 결론을 유보하고, 한 번 접속된 결과만으로 모든 트래픽 경로를 단정하지 마세요.

한 번의 비교 테스트로 범위 좁히기

규칙 문제로 의심된다면 기존 설정을 기억해 둔 뒤 잠시 프록시(Proxy)로 전환하고 같은 서버로 같은 대상에 다시 접속해 보세요. 결과가 달라지면 Config에서 일치한 규칙을 우선 확인하고, 결과가 같다면 서버 매개변수와 현재 네트워크를 살펴보세요. 로컬 네트워크를 확인할 때는 직접 연결(Direct)로 잠시 비교할 수 있지만, 이는 확인 절차일 뿐 프록시 연결 성공을 증명하지 않습니다.

비교가 끝나면 원래 Global Routing 설정으로 복구해 문제 확인용 방식을 일상 설정으로 착각하지 않도록 합니다. 최종 기록에는 현재 네트워크, 서버 메모, 라우팅 방식, Connectivity Test 상태 및 대상 접속 결과를 포함하세요. 서버 주소를 공개하지 않고 본인이 알아볼 수 있는 이름으로 메모하면 됩니다. 이러한 확인으로도 문제를 파악하지 못했다면 다음 단계의 정해진 순서대로 점검하세요.

확인 순서: 기기 인터넷 연결 → 정보 가져오기 완료 → 선택한 서버 테스트 가능 → 연결 상태 확인 → 대상에 예상한 정책 적용 → 실제 접속 결과 확인.

앞 단계가 확인되지 않았다면 먼저 해당 단계의 문제를 해결하세요. 뒤 단계에서 우연히 성공한 결과로 앞 단계의 확인을 대신하지 마세요.

05 · Settings 및 문제 해결한 번에 하나씩 변경하고 재현 가능한 결과 기록

문제가 발생하면 구성을 반복해서 새로 만들지 말고 로컬 네트워크 → 입력 정보 → 서버 매개변수 → 시스템 시간 → 규칙 및 테스트 설정 순서로 확인하세요. Settings의 Test Method, On Demand, Diagnostics, Proxy, TCP, UDP는 서로 다른 항목이므로 한꺼번에 켜거나 끄면 안 됩니다. 가져오기, 연결, 실제 접속 중 어느 단계에서 문제가 발생했는지 먼저 확인한 다음 해당 항목을 점검하세요.

가져온 뒤 서버가 표시되지 않거나 업데이트에 실패하는 경우

먼저 기기에서 정상적인 네트워크에 접속할 수 있는지 확인한 다음 구독 링크가 온전한지, 공백이 포함되었는지, 여전히 접근 가능한지 점검하세요. 구독 내용을 읽을 수 없는 경우 Global Routing을 반복해서 바꿔도 주소 자체의 문제는 해결되지 않습니다. 업데이트 결과와 안내를 확인하고 필요한 경우 기존에 이용 중인 서비스 제공자에게 링크 상태를 문의하세요. 유효한 정보를 다시 받은 뒤 해당 Subscribe를 업데이트하고 서버 항목이 실제로 표시되는지 확인합니다. 그룹 이름만 확인하고 끝내지 마세요.

테스트 시간이 초과되거나 연결 후 대상이 열리지 않는 경우

Type, Host, Port 및 해당 프로토콜의 인증 항목을 확인하세요. 직접 입력하면서 빠뜨린 문자, 대소문자 변경, 잘못된 포트 번호에 특히 주의합니다. TLS 연결이라면 기존 정보에 기재된 관련 이름과 옵션도 확인하고 기기의 날짜, 시간 및 시간대가 정확한지 살펴보세요. 시간 차이는 인증서 검증에 영향을 줄 수 있습니다. 매개변수는 기존 정보를 기준으로 설정하고, 임의로 검증을 끄거나 다른 프로토콜로 바꾸지 마세요.

그런 다음 Settings에서 Test Method를 열어 현재 테스트 방식을 확인하고 Home으로 돌아와 같은 조건에서 다시 시도하세요. 특정 테스트 방식의 실패는 해당 테스트에서 예상한 결과를 얻지 못했다는 뜻일 뿐이므로 실제 접속 결과도 함께 살펴야 합니다. 구성(Config)에서만 실패한다면 활성 구성, 규칙 순서 및 최종 정책을 확인하세요. 같은 서버가 네트워크에 따라 다르게 작동하면 네트워크별 차이를 기록하고 한 번에 하나씩 범위를 좁히세요.

스위치 상태가 자동으로 바뀌거나 일부 앱에서만 문제가 발생하는 경우

먼저 On Demand가 활성화되어 있는지, 트리거 조건이 예상과 일치하는지 확인하세요. On Demand는 수동 스위치와 사용 상황이 다릅니다. 처음 문제를 확인할 때는 자동 실행이 비교 결과에 영향을 주지 않도록 하되, 기능을 이해하지 못한 상태에서 기존 설정을 한꺼번에 지우지는 마세요. 일부 앱에서만 문제가 발생한다면 도메인 일치, DNS 조회, TCP 및 UDP 경로 문제를 구분해야 합니다. Settings에 해당 항목이 보인다는 이유만으로 모든 옵션을 바로 수정하지 마세요.

추가 확인이 필요하면 Diagnostics에서 실제로 제공되는 진단 항목을 사용하고 오류가 발생한 동작과 안내를 기록하세요. 기록을 공유하기 전 구독 링크, 비밀번호, 인증 식별자 및 기타 민감한 정보를 삭제하고 문제를 설명하는 데 필요한 상태, 항목 이름 및 조작 순서만 남기세요. 전체 구독 주소는 문제를 설명하는 데 필요하지 않습니다.

항목 하나를 수정한 뒤 이 페이지의 순서에 따라 다시 확인하세요. Add Server / Subscribe에서 정보를 확인하고 Global Routing을 점검한 다음 연결하여 Connectivity Test 및 실제 접속을 확인합니다. 유효한 결과를 저장한 뒤 다음 항목을 처리해 이미 해결된 문제를 다시 변경하지 않도록 하세요. 서버 연결 시간 초과에 관한 자세한 점검 순서는 연결 시간 초과 문제 해결 순서를 참고하세요.

Shadowrocket의 Settings 화면: Language, Test Method, Today Widget, On Demand, Diagnostics, Proxy, TCP 및 UDP 표시
Settings: 문제에 해당하는 항목만 확인하고 설정을 한꺼번에 변경하지 마세요.