공식 매뉴얼 · 첫 설정
Shadowrocket 사용 가이드
기존 연결 정보를 바탕으로 추가, 모드 선택, 연결, 확인, 문제 해결의 다섯 단계를 거쳐 처음 설정을 완료합니다. iPhone과 iPad의 조작 순서는 같으며, 화면은 앱에 표시되는 내용을 기준으로 확인하세요.
처음 설정할 때는 현재 Wi-Fi 또는 Cellular 연결을 안정적으로 유지하고, 서비스 제공업체에서 받은 정보를 빠짐없이 준비한 뒤 순서대로 진행하세요. 구독 링크에는 계정 정보가 포함될 수 있으므로 공개 댓글이나 스크린샷, 단체 채팅방에 올리지 마세요. 기존 설정을 수정할 때는 되돌릴 수 있도록 먼저 복사본을 보관하세요. 이 안내의 목표는 하나의 접속 경로가 정상 작동하는지 확인하는 것이므로, 모든 고급 설정을 한꺼번에 변경할 필요는 없습니다.
01 · Add Server: 서버 추가 또는 구독 가져오기
Shadowrocket을 연 뒤 Home 화면에 머뭅니다. 아래의 SERVER 그룹에서 서버 항목을 확인할 수 있으며, Add Server를 누르면 추가 화면으로 이동합니다. 보유한 정보에 따라 한 가지 방법을 선택하세요. 서버 목록을 가져오는 구독 링크가 있다면 Subscribe를 사용합니다. 프로토콜, 주소, 포트와 인증 정보가 명확하다면 해당 프로토콜에 맞춰 직접 입력합니다. 두 정보는 용도가 다르므로 구독 주소를 서버의 Host에 입력하지 마세요.
기존 구독 링크가 있는 경우: Subscribe 선택
Add Server에서 Type을 누르고 목록에서 Subscribe를 선택한 다음 전체 구독 링크를 해당 URL 필드에 입력합니다. 붙여넣은 뒤 링크의 앞뒤와 쿼리 매개변수가 모두 포함됐는지 확인하고, 안내 문구나 공백, 줄바꿈이 함께 들어가지 않도록 주의하세요. 알아보기 쉬운 이름을 메모로 입력한 뒤 저장하고 Home으로 돌아갑니다. 앱이 구독 내용을 가져옵니다. 성공하면 해당 그룹에 가져온 서버가 표시되어야 합니다. 메모 이름만 보이는 상태와 혼동하지 마세요.
저장 후 서버가 표시되지 않으면 먼저 업데이트 실패 메시지가 있는지 확인한 뒤 해당 구독을 업데이트해 보세요. 구독 내용이 나중에 변경된 경우에도 업데이트를 통해 다시 가져와야 합니다. 연결 스위치를 껐다 켜는 것만으로 구독이 업데이트되지는 않습니다. 같은 주소를 반복해서 추가하지 마세요. 중복 항목이 여러 그룹에 생겨 현재 사용 중인 정보가 무엇인지 확인하기 어려워질 수 있습니다.
기존 서버 정보가 있는 경우: Type에 맞춰 항목별로 입력
직접 추가할 때는 먼저 서비스 제공업체가 안내한 Type을 선택한 뒤 Host, Port와 해당 프로토콜에 필요한 인증 및 전송 정보를 입력합니다. 스크린샷에 표시된 Password와 Method가 모든 프로토콜에 공통으로 필요한 것은 아닙니다. 정보가 Trojan이라면 Trojan에 맞는 필드를 입력하고, Shadowsocks라면 해당 Method와 비밀번호를 확인하세요. 필드 이름이 비슷해도 값을 서로 바꿔 쓸 수 있는 것은 아닙니다. 확실하지 않은 매개변수는 이름만 보고 추측하지 말고 본인의 서비스 제공업체에 확인하세요.
Host에는 일반적으로 제공받은 도메인이나 주소를 입력하며 웹 경로를 임의로 덧붙이지 않습니다. Port에는 서버에서 실제 사용하는 포트를 입력합니다. TLS, 서버 이름 또는 기타 전송 옵션은 제공된 서버 정보와 일치시켜야 합니다. 테스트를 통과하기 위해 검증 요구 사항을 임의로 낮추지 마세요. QR 코드가 있다면 Scan QR Code로 인식한 뒤 각 항목을 다시 확인하세요. Import from Cloud JSON은 해당 형식의 정보가 이미 있는 경우에만 사용하며 일반 구독 가져오기를 대신할 수 없습니다.
저장한 뒤 SERVER 그룹으로 돌아가 사용할 서버를 눌러 선택합니다. 아직 연결을 시작하지 마세요. 서버 항목이 표시된다는 것은 정보가 입력되었다는 뜻일 뿐입니다. 다음 단계에서 요청에 적용할 Global Routing을 선택해야 합니다.
02 · Global Routing: 접속 방식 선택
Home으로 돌아가 Global Routing을 눌러 사용 가능한 모드를 확인합니다. 먼저 기본 방식 세 가지를 구분하세요: Config, Proxy, Direct. 각 모드는 요청의 경로를 선택하며, 서버 정보를 대신 입력하거나 만료된 구독을 자동으로 복구하지는 않습니다. 모드를 변경한 뒤에는 Home으로 돌아가 현재 선택을 확인하고 연결을 테스트하세요.
Config: 설정 파일의 규칙에 따라 요청 처리
평소 규칙에 따라 트래픽을 분기하려면 Config를 선택합니다. 단, 적절한 설정 파일이 있고 현재 파일로 선택되어 있어야 합니다. 하단의 Config를 눌러 설정 파일 페이지로 이동해 사용 중인 파일을 확인하세요. 내용을 점검하려면 해당 파일의 편집 화면에서 General, Rule, Hosts 등의 섹션을 확인합니다. 스크린샷은 설정 편집 화면을 보여 줍니다. Home의 모드 선택 목록과는 역할이 다릅니다.
Rule의 항목은 순서대로 확인합니다. 앞쪽 규칙이 일치하면 뒤에 있는 기본 규칙은 대개 해당 요청을 결정하지 않습니다. 다음 예시는 순서를 이해하기 위한 것입니다. apple.com과 하위 도메인은 DIRECT를 사용하고, 일치하지 않은 나머지 요청은 PROXY를 사용합니다. 이는 완성된 설정 파일이 아니며 모든 사용자에게 적합한 접속 방식이라는 뜻도 아닙니다. 수정하기 전에 복사본을 저장하고 본인의 설정에서 해당 정책을 실제로 사용하는지 확인하세요.
[Rule]
DOMAIN-SUFFIX,apple.com,DIRECT
FINAL,PROXY
편집 화면의 Add Rule을 사용하면 규칙을 추가할 수 있습니다. 처음에는 많은 항목을 한꺼번에 추가하지 말고, 연결을 위해 HTTPS Decryption을 수정할 필요도 없습니다. 먼저 대상 도메인이 앞쪽의 DOMAIN, DOMAIN-SUFFIX 또는 다른 규칙과 일치하는지 확인한 다음 최종 정책을 살펴보세요. 설정 문법, 정책 그룹과 일치 우선순위는 규칙 및 설정 참고서에서 자세히 확인할 수 있습니다.
Proxy와 Direct: 경로 지정 또는 비교 테스트에 사용
Proxy는 앱에서 처리하는 요청을 프록시 경로로 보내며, 문제를 진단할 때 규칙의 영향을 잠시 줄이는 데 유용합니다. 다만 현재 서버가 정상적으로 작동해야 합니다. Direct는 대상에 직접 연결하는 방식이므로 프록시 서버의 작동 여부를 확인하는 용도로 사용하면 안 됩니다. Direct로 전환한 뒤 웹사이트가 열린다면 해당 대상에 직접 접속할 수 있다는 뜻일 뿐, 프록시 설정이 올바르다는 뜻은 아닙니다.
처음 기준 상태를 확인할 때는 Proxy를 잠시 선택해 기존 서버를 테스트한 뒤, 정상 작동을 확인하면 Config로 돌아가 분기 규칙을 점검할 수 있습니다. 이미 사용할 설정이 준비되어 있다면 바로 Config를 선택해도 됩니다. 비교 테스트가 끝날 때마다 원래 모드로 되돌려 테스트 상태를 평소 설정으로 착각하지 않도록 하세요. 익숙하지 않은 필드나 정책 이름은 용어 설명에서 확인할 수 있습니다. 이 단계에서 모든 고급 옵션을 살펴볼 필요는 없습니다.
03 · Home: 연결을 켜고 상태 확인
서버를 선택하고 Global Routing을 설정한 뒤 Home으로 돌아갑니다. 스위치를 켜기 전에 한 번 더 확인하세요. SERVER에서 방금 테스트할 서버를 선택했는지, Global Routing에서 사용할 Config 또는 Proxy를 선택했는지 확인합니다. Config를 사용한다면 현재 설정 파일도 확인해야 합니다. 이렇게 하면 구독을 업데이트한 직후 이전 항목을 테스트하거나 Direct 상태의 접속 결과를 프록시 결과로 오해하는 일을 방지할 수 있습니다.
Home 상단의 연결 스위치를 누릅니다. 처음 연결할 때 시스템에서 VPN 구성 추가를 허용하라는 요청이 표시될 수 있습니다. 이는 앱이 관련 네트워크 요청을 처리하는 데 필요한 시스템 권한입니다. 알림 내용을 읽고 현재 작업으로 인해 표시된 요청임을 확인한 뒤 계속 진행하고, 시스템 안내에 따라 기기 인증을 완료하세요. 취소를 선택하면 앱으로 돌아온 뒤에도 연결이 설정되지 않을 수 있습니다. 이때는 서버 비밀번호를 반복해서 변경하지 말고 다시 연결을 시작해 권한을 완료하세요.
권한을 승인한 뒤 Shadowrocket으로 돌아와 상단에 Not Connected가 계속 표시되는지, 스위치가 켜져 있는지 확인합니다. 시스템 VPN 상태와 앱의 연결 상태를 통해 네트워크 구성이 활성화되었는지 확인할 수 있지만, 스위치가 켜져 있다고 해서 대상 웹사이트에 반드시 접속할 수 있는 것은 아닙니다. 서버 인증, 대상 주소, DNS와 현재 규칙이 실제 결과에 영향을 줄 수 있으므로 다음 단계에서 별도로 확인해야 합니다.
스위치를 켠 직후 다시 꺼지면 먼저 시스템 권한이 승인되었는지 확인하고 앱에 표시된 메시지를 기록합니다. 현재 연결에 영향을 줄 수 있는 다른 활성 VPN 구성도 살펴보세요. 먼저 권한과 연결 상태 문제를 해결하고, Global Routing, 서버 프로토콜과 DNS를 동시에 변경하지 마세요. 어떤 항목이 결과에 영향을 주었는지 파악하기 어려워집니다. 연결 상태를 확인하기 전에 스위치를 빠르게 반복해서 켜고 끄지 마세요. 상태 변화와 실제 접속 결과를 구분하기 어려워질 수 있습니다.
iPad에서는 목록이 더 넓게 표시되거나 분할 레이아웃이 나타날 수 있지만, Home, 서버 선택, Global Routing, 연결 스위치 순서로 확인하면 됩니다. 기기에 표시되는 VPN 상태 표시는 시스템 화면에 따라 다를 수 있으므로 앱 상태와 이후 실제 요청 결과를 기준으로 판단하세요. 잠시 사용을 중단하려면 Home으로 돌아가 연결을 끄면 됩니다. 이후 자동으로 다시 연결된다면 5단계에서 On Demand 조건을 확인하세요.
04 · Connectivity Test: 테스트 결과와 실제 접속 확인
연결을 유지한 상태에서 Home의 Connectivity Test를 눌러 현재 화면에서 제공하는 방식으로 테스트합니다. 테스트 결과는 선택한 테스트 방식의 연결 상태를 주로 나타내며, 모든 대상과 모든 프로토콜 트래픽이 같은 결과를 보장하지는 않습니다. 특정 테스트가 실패했다고 해서 전체 연결이 불가능하다고 단정할 수는 없습니다. 실제 접속 결과, 앱 기록과 현재 네트워크 상태를 함께 살펴보세요.
이어서 브라우저를 열고 확인이 필요한 대상 페이지에 접속해 새로고침합니다. 캐시된 이전 페이지가 아니라 새 요청의 결과를 확인하고, 페이지에 표시된 특정 지역 문구만으로 경로를 판단하지 마세요. 출구 주소를 확인하려면 현재 요청의 출구를 표시하는 신뢰할 수 있는 서비스를 사용하세요. Config에서는 대상에 따라 서로 다른 정책이 적용될 수 있으므로 한 번의 조회 결과가 기기의 모든 요청을 대표하지는 않습니다.
Shadowrocket으로 돌아가 Data에서 현재 확인할 수 있는 연결 또는 요청 기록을 살펴보고 방금 접속한 대상을 찾습니다. 기록에 일치 규칙, 정책 또는 서버 정보가 표시된다면 하나씩 예상한 내용과 비교하세요. 대상 요청이 DIRECT와 일치하면 보통 규칙에 따라 직접 연결된 것입니다. PROXY와 일치했는데도 접속에 실패했다면 현재 서버와 대상 자체를 추가로 확인해야 합니다. 기록 내용은 화면에 따라 다르므로 실제로 표시된 정보를 기준으로 판단하세요. 기록을 확인하지 못했다고 해서 요청이 전혀 없었다고 단정하지 마세요.
Config에서 접속이 실패하고 원인을 알 수 없다면 Proxy로 잠시 전환한 뒤 같은 대상에 다시 요청을 보냅니다. Proxy에서는 접속되지만 Config에서는 되지 않는다면 규칙 일치, 정책 참조와 설정의 DNS 항목을 우선 확인하세요. 두 모드 모두 실패한다면 서버, 프로토콜 매개변수와 현재 네트워크를 점검합니다. 비교할 때는 대상, 서버와 로컬 네트워크를 그대로 유지하고 모드 하나만 변경해야 테스트 결과를 참고할 수 있습니다.
특정 앱에서만 문제가 발생하면 해당 앱의 현재 요청을 완전히 종료한 다음 다시 열어 비교하세요. Wi-Fi에서만 실패하고 Cellular로 전환했을 때 정상 작동한다면 모든 설정을 처음부터 다시 만들기보다 로컬 네트워크를 점검하세요. 네트워크를 전환하면 데이터 요금이 발생하거나 기존 On Demand 조건이 작동할 수 있으므로 테스트 전에 관련 설정을 확인하세요.
05 · Settings: 문제 단계별로 확인하기
문제가 발생하면 먼저 어느 단계에서 멈췄는지 확인하세요. 구독을 가져오지 못했는지, 연결 스위치가 켜진 상태를 유지하지 못하는지, 서버 테스트에 실패했는지, 일부 대상에만 접속할 수 없는지 구분합니다. 단계마다 확인할 항목이 다릅니다. Settings에서 Test Method, On Demand, Diagnostics 등의 메뉴를 확인할 수 있지만 모든 옵션을 차례로 변경할 필요는 없습니다. 먼저 현상을 기록한 뒤 필요한 부분만 조정하세요.
구독에서 서버가 생성되지 않거나 업데이트가 실패하는 경우
먼저 구독 설정으로 돌아가 전체 URL을 확인하세요. 관리 페이지 주소를 복사했거나 쿼리 매개변수가 빠졌는지, 불필요한 문자가 포함됐는지 점검합니다. 현재 네트워크에서 해당 주소에 접속할 수 있는지, 본인의 구독이 아직 유효한지도 확인하세요. 브라우저에 구독 주소의 내용이 표시된다고 해서 현재 가져오기 방식에 맞는 형식이라고 보장할 수는 없습니다. 로그인 페이지, 오류 안내 또는 빈 내용이 표시되면 주소와 형식을 서비스 제공업체에 문의하세요. 새 정보가 유효하다고 확인되기 전에는 기존에 사용할 수 있는 정보를 보관하고 모든 서버를 지우지 마세요.
서버는 표시되지만 연결 또는 테스트에 실패하는 경우
직접 추가한 항목은 먼저 Type, Host, Port와 인증 정보를 확인하세요. 특히 비밀번호 앞뒤의 공백, Method의 일치 여부, 전송 및 TLS 매개변수가 올바른지 살펴봅니다. 구독 항목은 업데이트한 뒤 제공받은 정보 중 사용 가능한 것으로 확인된 다른 서버를 선택해 비교하세요. 모든 항목이 동일한 네트워크에서만 실패한다면 로컬 네트워크 제한이나 일시적인 문제를 확인하세요. 한 항목만 실패한다면 해당 서버 상태와 매개변수를 먼저 확인하는 것이 좋습니다.
Settings의 Test Method에 따라 연결 테스트 방식이 달라집니다. 일부 서비스는 특정 탐지 방식에 응답하지 않으므로 테스트 시간 초과는 실제 접속 결과와 함께 판단해야 합니다. 테스트 결과를 전체 속도의 판단 기준으로 삼지 말고, 테스트 알림을 없애기 위해 TCP, UDP 등의 옵션을 동시에 바꾸지도 마세요. 프로토콜과 전송 방식은 기존 서버의 실제 설정을 기준으로 조정해야 합니다.
연결은 성공하지만 일부 요청 경로가 예상과 다른 경우
먼저 Global Routing이 테스트에 사용한 Proxy 또는 Direct로 남아 있는지 확인한 뒤 Config에서 선택된 파일을 확인하세요. 다음으로 4단계에 따라 대상 요청 기록을 찾아 앞쪽 규칙이 적용되었는지 살펴봅니다. 도메인 확인과 관련된 문제라면 같은 네트워크와 같은 대상에서 반복되는지 확인한 뒤 General의 관련 설정을 점검하세요. 규칙을 변경한 뒤에는 새 요청을 보내야 합니다. 기존 연결에는 새 정책이 바로 적용되지 않을 수 있습니다.
연결을 수동으로 껐는데 다시 자동으로 켜진다면 On Demand의 기존 조건을 확인해 Wi-Fi, Cellular 또는 다른 조건이 연결을 다시 시작했는지 살펴보세요. 문제를 확인하는 동안 해당 조건을 잠시 비활성화하고 비교한 뒤 원래 설정으로 되돌립니다. 추가 진단이 필요하면 Diagnostics에서 현상에 필요한 진단 정보를 수집하세요. 공유하기 전에 구독 정보, 서버 인증 정보 또는 개인 접속 기록이 포함되어 있는지 확인합니다.
마지막으로 현재 네트워크, 사용한 서버, Global Routing, 실패한 대상, 변경한 항목과 결과를 간단히 기록해 두세요. 다음에 문제를 확인할 때 같은 시도를 반복하지 않고 명확한 상태에서 이어갈 수 있습니다. 자주 발생하는 문제는 질문과 문제 해결 안내에서 확인하고, 규칙을 하나씩 이해하려면 규칙 및 설정 참고서를 읽어 보세요. 여기까지 진행하면 정보 가져오기 실패, 연결 설정 실패, 요청 경로 오류를 구분할 수 있습니다.