공식 매뉴얼 · 첫 연결
Shadowrocket 빠른 시작
가져오기, 모드 선택, 연결, 확인, 문제 해결 순서로 진행합니다. 이 안내는 iPhone과 iPad를 대상으로 하며, 먼저 원인을 파악할 수 있는 연결을 한 번 완료한 뒤 규칙과 다른 설정을 조정합니다.
이번 확인에 필요한 서버와 구성만 남겨 두세요. DNS, Rule, On Demand 등을 한꺼번에 변경하면 접속 결과가 달라졌을 때 원인을 파악하기 어렵습니다. 구독 주소, 비밀번호, 인증 정보는 개인 정보입니다. 복사할 때 전체 내용이 맞는지 확인하고, 문제를 해결할 때도 인증 정보가 포함된 내용을 그대로 공개하지 마세요.
01 · Add Server / Subscribe 정보 가져오기
Shadowrocket을 열고 먼저 Home으로 이동합니다. 이 화면에서는 서버를 확인하고 선택하며, Config에서는 구성 파일을 관리합니다. 두 화면의 용도는 다릅니다. 구독을 가져온 뒤에는 Config에 파일 이름만 표시되는 것이 아니라 Home에 서버 항목이 보여야 합니다. 보유한 정보에 맞는 방법 하나를 선택하세요. 처음 설정할 때 같은 정보를 중복으로 가져올 필요는 없습니다.
구독 링크가 있는 경우: Subscribe 선택
Home 오른쪽 상단의 추가 버튼을 눌러 Add Server로 이동합니다. Type을 열고 Subscribe를 선택한 다음 본인의 전체 구독 링크를 URL 필드에 입력합니다. 이름이나 메모는 출처를 구분하기 위한 항목이므로 알아보기 쉬운 문구를 적으면 됩니다. 메모를 인증 정보로 사용하지 마세요. 저장 후 내용을 불러올 때까지 기다린 다음 Home으로 돌아가 구독 그룹과 서버가 표시되는지 확인합니다.
붙여넣기 전에 받은 주소가 구독 URL인지 확인하세요. 계정 페이지나 안내 페이지, 개별 서버 공유 링크와 혼동하지 않아야 합니다. 복사 과정에서 주소 끝의 매개변수가 빠지거나 줄바꿈, 공백, 메시지의 문장 부호가 함께 들어갈 수 있습니다. 원래 주소의 대소문자와 매개변수를 유지하고, 임의로 쿼리 부분을 삭제하지 마세요. 구독을 성공적으로 가져왔다는 것은 클라이언트가 내용을 읽었다는 뜻일 뿐, 목록의 모든 서버에 연결할 수 있다는 의미는 아닙니다.
구독은 업데이트할 수 있는 서버 목록입니다. 목록을 갱신하려면 Home에서 해당 구독 항목을 찾아 편집 또는 작업 메뉴에서 업데이트하세요. 같은 이름의 구독을 매번 새로 추가하지 말고 기존 항목을 업데이트해야 합니다. 업데이트 후 현재 선택한 서버가 목록에 있는지 다시 확인합니다. 읽기에 실패해도 기존 항목은 그대로 두고 링크와 네트워크부터 확인하세요. 모든 정보를 바로 삭제하지 마세요.
단일 서버 정보가 있는 경우: Type과 항목 확인
마찬가지로 Home에서 Add Server로 이동한 뒤, 먼저 Type에서 서버 정보와 일치하는 프로토콜을 선택합니다. 이어 주소, 포트, 해당 프로토콜에 필요한 인증 정보를 항목별로 입력합니다. 프로토콜마다 표시되는 항목이 다르며 비밀번호, UUID, TLS, 전송 방식은 서로 대체할 수 없습니다. 주소 필드에는 서버 주소만 입력하고 포트, 경로, 전체 공유 문자열을 한꺼번에 넣지 마세요.
Shadowrocket에서 사용할 수 있는 전체 공유 링크가 있다면 앱의 가져오기 기능을 사용하세요. QR 코드가 있다면 Scan QR Code를 사용하고, 시스템에서 요청할 경우 필요한 카메라 접근을 허용합니다. 가져온 뒤에도 항목을 열어 Type, 주소, 포트, 인증 정보를 확인해야 합니다. 자동으로 읽어 오면 수동 입력은 줄일 수 있지만, 서버 정보의 유효 기간이나 전송 매개변수가 서버 측과 일치하는지는 확인해 주지 않습니다.
저장한 뒤 Home으로 돌아가 선택할 수 있는 서버 이름이 표시되는지 확인합니다. 이름은 식별을 위한 것이며 실제 연결 여부는 항목에 저장된 매개변수에 따라 결정됩니다. 여기까지는 정보를 클라이언트에 입력한 단계이며, 요청의 라우팅 방식은 아직 정하지 않았습니다. 다음으로 Global Routing을 선택한 뒤 연결 스위치를 켭니다. 구독, 공유 링크, 구성 파일의 차이는 용어집을 참조하세요.
02 · Global Routing 모드 선택
Home에서 Global Routing을 찾아 열고 이번에 사용할 모드를 선택합니다. 세 가지 모드는 구성(Config)/프록시(Proxy)/직접 연결(Direct)입니다. 이 설정은 요청의 라우팅 방식을 바꾸며, 서로 다른 서버 세 개를 뜻하지 않습니다. 모드를 바꿔도 서버 주소나 인증 정보가 수정되지는 않으며, 만료된 구독이 복구되지도 않습니다.
구성(Config): 현재 구성의 정책에 따라 판단
구성(Config)은 현재 구성을 기준으로 요청을 처리합니다. Config 화면에서 사용할 구성이 파일 목록에 있기만 한 것이 아니라 실제로 선택되어 있는지 확인합니다. Home으로 돌아와 Global Routing이 Config로 설정되어 있는지도 확인하세요. 처음 사용하는데 규칙이 준비되지 않았다면 출처가 불분명한 구성을 여러 개 가져와 바꿔 가며 사용하지 마세요. 먼저 현재 구성의 용도를 확인한 뒤 사용할지 결정합니다.
규칙에서 자주 볼 수 있는 PROXY, DIRECT, REJECT는 각각 프록시 정책 사용, 직접 연결, 요청 거부를 뜻합니다. 요청이 서버를 거치는지는 일치한 규칙과 정책 설정에 따라 달라집니다. 따라서 Config에서 일부 요청이 직접 연결되는 것은 정상일 수 있습니다. 특정 웹페이지가 열린다는 이유만으로 모든 요청이 프록시를 사용한다고 볼 수 없으며, 직접 연결된 결과만 보고 구성이 작동하지 않는다고 판단해서도 안 됩니다.
프록시(Proxy): 선택한 서버 먼저 확인
처음 서버를 확인할 때는 Proxy를 사용할 수 있습니다. Home에서 본인의 서버를 선택한 뒤 Global Routing을 Proxy로 설정하면 규칙에 따른 분기가 판단에 미치는 영향을 줄일 수 있습니다. 이는 문제 해결을 위한 방법이며 모든 상황에서 이 모드를 계속 사용해야 한다는 뜻은 아닙니다. 앱이나 시스템에서 처리하는 일부 예외 요청은 영향을 받을 수 있으므로 Proxy라고 해서 기기의 모든 통신이 완전히 같은 경로를 사용한다고 이해하면 안 됩니다.
Proxy에서는 정상적으로 접속되지만 Config에서는 실패한다면, 다음에는 서버 비밀번호를 바로 다시 입력하기보다 현재 구성, 규칙 매칭, DNS를 확인하세요. 테스트가 끝나면 평소 필요한 모드로 되돌리고 어떤 구성을 사용했는지 기록합니다. 이렇게 하면 서버 사용 가능 여부와 규칙이 예상대로 작동하는지를 구분해 확인할 수 있습니다.
직접 연결(Direct): 원래 네트워크와 비교
직접 연결(Direct)은 요청을 바로 연결하는 방식으로 처리하므로 현재 네트워크에서 대상에 접속할 수 있는지 확인할 때 유용합니다. Direct를 선택해도 서버가 Home 목록에 남아 있을 수 있지만, 서버 항목이 있다는 사실만으로 요청이 해당 서버를 사용하고 있지는 않습니다. 비교할 때는 같은 네트워크와 대상, 비슷한 시간대를 유지하세요. 네트워크를 바꾼 뒤 비교하면 결과에 네트워크 변화가 함께 영향을 줄 수 있습니다.
모드를 선택한 뒤 고급 항목을 더 조정할 필요는 없습니다. 먼저 Home으로 돌아가 모드 이름을 확인하고 다음 단계로 진행합니다. 구성 파일의 General, Rule, Host, URL Rewrite 및 규칙 순서에 관한 자세한 내용은 구성 항목 참고에서 확인할 수 있습니다. 이 페이지에서는 첫 연결에 필요한 내용만 다룹니다.
03 · Home 연결 켜기
Home으로 돌아가 사용할 서버 항목을 누르고 선택된 상태인지 확인한 뒤 연결 스위치를 켭니다. 구독에 서버가 여러 대 있더라도 처음에는 한 대만 테스트해 같은 과정에서 반복해서 바꾸지 않도록 합니다. 항목을 수정해야 한다면 먼저 연결을 끊고 편집한 뒤 저장하세요. 그런 다음 해당 항목을 다시 선택해 연결합니다.
처음 연결할 때 VPN 구성 추가 안내가 표시되는 경우
처음 연결 스위치를 켜면 시스템에서 Shadowrocket이 VPN 구성을 추가하도록 허용해 달라는 메시지가 표시될 수 있습니다. 안내에 표시된 앱 이름을 확인하고 허용한 다음, 시스템 지침에 따라 기기 인증을 완료하고 Shadowrocket으로 돌아와 상태를 확인합니다. 이 승인은 앱이 네트워크 처리를 위한 시스템 연결을 설정하도록 허용하는 절차입니다. 구매 확인이 아니며 구독이나 서버 정보를 가져오지도 않습니다.
이전에 승인을 취소했다면 연결이 완료되지 않을 수 있습니다. 스위치를 다시 켜고 실제로 표시되는 시스템 안내에 따라 진행하세요. 안내가 다시 나타나지 않으면 시스템 설정의 VPN 관리 화면에서 Shadowrocket 항목을 확인할 수 있습니다. 시스템 설정의 경로와 화면 배치는 시스템 버전에 따라 달라질 수 있으므로, 특정 메뉴 이름을 찾으려고 다른 구성을 임의로 삭제하지 마세요.
iPad에서도 서버 선택, 연결 켜기, 시스템 승인 순서로 진행합니다. 가로 화면이나 기기마다 배치가 다르면 메뉴 위치가 달라질 수 있습니다. 버튼이 화면의 어느 쪽에 있는지만 보고 기능을 판단하지 말고 Home, Global Routing, Config 등의 화면 이름을 기준으로 찾으세요.
스위치 상태와 실제 사용 가능 여부 구분
스위치가 켜져 있고 시스템에 VPN 표시가 나타나면 연결 구성이 해당 상태에 있음을 뜻합니다. 그러나 서버 인증 성공, DNS 정상 작동, 모든 웹페이지 접속 가능 여부를 함께 증명하는 것은 아닙니다. 요청을 실제로 보낼 때만 드러나는 문제가 있으므로 다음 단계에서 실제 접속을 확인해야 합니다. 스위치를 켜자마자 자동으로 꺼진다면 Rule부터 바꾸지 말고 승인이나 연결 수립 문제를 먼저 확인하세요.
첫 연결 단계에서는 On Demand를 설정하지 않아도 됩니다. On Demand는 조건에 따라 연결을 시작하는 기능이며 수동 연결 성공의 전제 조건이 아닙니다. 이전에 관련 조건을 설정했다면 네트워크를 바꾸거나 수동으로 연결을 끊은 뒤 다시 연결될 수 있다는 점에 유의하세요. 문제를 확인하는 동안은 해당 조건과 수동 스위치의 결과를 먼저 살펴보고, 수동 연결이 안정된 후 자동 연결 동작을 별도로 설정하고 확인합니다.
04 · Connectivity Test 적용 여부 확인
연결한 뒤 선택한 서버와 실제 웹페이지를 차례로 확인합니다. 앱에서 Connectivity Test를 열고 테스트 대상이 이번에 선택한 항목인지 확인한 다음 결과를 살펴봅니다. 목록의 항목에 테스트 결과가 표시되어도 현재 연결에서 해당 항목을 선택했다는 뜻은 아닙니다. 구독을 업데이트하거나 서버를 바꾼 뒤에는 Home으로 돌아가 다시 확인하세요.
테스트 결과를 확인한 뒤 실제 요청 보내기
Connectivity Test는 테스트 요청에 응답이 있었는지 판단하는 데 도움이 되지만, 결과는 테스트 방식과 대상, 현재 네트워크의 영향을 받습니다. 테스트 시간 초과는 추가 확인이 필요하며, 성공하더라도 브라우저 확인을 대신할 수는 없습니다. 측정 시간을 모든 앱의 실제 접속 속도로 간주하거나 한 번의 결과만으로 서버 항목을 삭제하지 마세요.
Safari를 열고 익숙하며 접속이 허용되어 현재 확인에 사용할 수 있는 웹페이지에 접속해 본문과 필요한 리소스가 모두 로드되는지 확인합니다. 한 사이트의 점검이나 접속 제한을 클라이언트 문제로 오해하지 않도록 서로 다른 사이트 두 곳을 준비하는 것이 좋습니다. 네트워크를 유지한 상태에서 페이지를 새로고침하고 이미 열어 둔 탭만 확인하지 마세요. 브라우저 캐시 때문에 이전 내용이 새 요청에 성공한 것처럼 보일 수 있습니다.
웹페이지가 정상적으로 열리면 Global Routing 설정과 결과가 일치하는지도 확인합니다. Proxy에서는 서버 경로를 확인하고, Direct에서는 원래 네트워크를 확인하며, Config에서는 규칙을 함께 살펴봐야 합니다. Config에서는 일부 대상이 직접 연결될 수 있으므로 페이지가 열리는지와 프록시를 거쳐 열리는지는 서로 다른 문제입니다. 라우팅을 확인하려면 해당 요청의 기록에서 실제로 적용된 정책을 확인하고 구성의 예상과 비교하세요.
같은 조건으로 비교하기
결과가 명확하지 않다면 현재 서버, Global Routing, 선택한 구성, 테스트 대상을 기록합니다. 연결을 끊고 같은 대상이 원래 네트워크에서 어떻게 작동하는지 확인한 뒤 다시 연결해 비교합니다. 서버, 모드, 네트워크 중 무엇이 문제와 관련 있는지 알아보려면 매번 조건 하나만 바꾸세요. 서버와 네트워크를 바꾸고 DNS까지 수정한 뒤 단순히 “이제 된다”고만 기록하지 마세요.
확인 완료 기준은 특정 표시 하나가 아니라 선택한 서버가 예상과 일치하고, 모드가 용도에 맞으며, 실제 요청이 완료되고, Config에서는 정책이 규칙 설정에 부합하는 것입니다. 이 조건을 만족하면 현재 설정을 유지해 사용할 수 있습니다. 라우팅을 더 설정하려면 Rule 구성 참고를 확인하세요. 여전히 실패하면 다음 절에 따라 원인을 찾으면 되며 설치 단계부터 다시 시작할 필요는 없습니다.
05 · 자주 발생하는 문제 단계별 해결
먼저 문제가 발생한 단계를 구분하세요. 구독이 아직 불러와지지 않았는지, 연결 스위치가 켜진 상태를 유지하지 못하는지, 아니면 스위치는 켜져 있지만 웹페이지 접속에 실패하는지 확인합니다. 각 상황에 필요한 점검은 다릅니다. 작동하는 항목과 기존 구성은 유지하고, 변경 전에 원래 값을 기록하세요. 한 가지를 수정할 때마다 앞 절의 테스트를 다시 진행하고 설정 전체를 한꺼번에 덮어쓰지 마세요.
Subscribe에서 읽기 실패 또는 목록이 비어 있는 경우
Home으로 돌아가 해당 구독의 편집 메뉴를 열고 URL 전체가 입력되었는지 확인합니다. 특히 끝부분의 매개변수, 공백, 줄바꿈을 확인하세요. 링크가 유효하고 내용이 계정 로그인 페이지나 웹 안내가 아닌 서버 구독 형식인지 확인합니다. 브라우저에서 주소가 열린다고 해서 반환 내용이 구독 형식이라는 뜻은 아닙니다. 인증 정보가 포함된 링크를 공개 도구에서 테스트하지 마세요.
원래 네트워크에서 구독을 읽을 수 있다면 해당 네트워크에서 먼저 업데이트를 진행하세요. 특정 연결 조건이 필요한 경우에는 본인이 이미 보유한 사용 가능한 서버를 이용한 다음, 앱의 현재 설정에 따라 업데이트를 시도합니다. 아직 가져오지 않은 서버를 같은 구독을 가져오기 위한 전제 조건으로 삼을 수는 없습니다. 링크 유효성, 계정 상태, 서버 정보를 확인해야 한다면 기존에 이용 중인 서비스 제공자에게 문의하세요. 이 사이트는 대체 구독을 제공하지 않습니다.
스위치가 바로 꺼지거나 연결을 설정할 수 없는 경우
먼저 시스템의 VPN 구성 승인을 확인한 다음 Home에서 사용 가능한 항목이 실제로 선택되어 있는지 확인합니다. 항목을 열어 Type, 주소, 포트, 인증 정보가 원래 자료와 일치하는지 살펴보세요. TLS나 전송 설정이 있는 프로토콜은 서버 이름, 경로, 기타 지정 매개변수도 확인합니다. 알 수 없는 오류를 피하려고 인증서 확인을 끄지 말고 다른 프로토콜의 매개변수를 현재 항목에 그대로 복사하지 마세요.
시스템에서 다른 VPN 연결을 사용 중이라면 먼저 연결을 끊고 Shadowrocket만 따로 테스트하세요. 연결이 전환되거나 다른 연결이 우선되는 상황을 서버 문제로 오해하지 않도록 하기 위한 조치입니다. 기기의 날짜와 시간이 올바른지도 확인하세요. 시간이 크게 틀리면 보안 연결에 영향을 줄 수 있습니다. 수정한 뒤 다시 연결해 상태가 유지되는지 확인하고, 계속 유지되지 않는다면 라우팅 규칙보다 연결 단계부터 점검하세요.
스위치는 켜져 있지만 모든 대상에 접속할 수 없는 경우
먼저 Direct를 사용하거나 연결을 중지해 원래 네트워크 상태를 확인합니다. 원래 네트워크에서도 접속되지 않는다면 Wi-Fi, 셀룰러 네트워크 또는 현재 네트워크의 로그인 절차부터 확인하세요. 원래 네트워크가 정상이라면 본인의 서버 한 대를 선택하고 Proxy로 비교한 뒤 Connectivity Test를 실행합니다. 두 가지 모두 실패하면 서버 사용 가능 여부, 인증 정보, 전송 매개변수를 집중적으로 확인하세요.
테스트 결과는 있지만 브라우저에서 접속되지 않는다면 DNS 설정과 실제 접속 대상을 확인합니다. 오래된 사용자 지정 DNS 설정은 도메인 이름 확인에 영향을 줄 수 있으므로 먼저 기존 값을 기록하고 정상 작동이 확인된 설정과 비교하세요. 웹페이지가 열리지 않는다는 이유만으로 DNS 문제라고 단정하거나 사용자 지정 주소를 여러 개 임의로 추가하지 마세요. DNS 설정에 대한 자세한 내용은 General 및 다른 구성 항목을 다루는 구성 항목 참고를 확인하세요.
Proxy에서는 정상이나 Config에서 실패하거나 일부 대상만 실패하는 경우
Config를 열어 현재 선택된 구성을 확인한 뒤 관련 Rule을 살펴봅니다. 규칙은 대개 순서대로 적용되므로 범위가 넓은 규칙이 앞에 있으면 뒤의 구체적인 규칙보다 먼저 일치할 수 있습니다. FINAL은 맨 마지막의 기본 처리에 사용해야 합니다. 대상 도메인이 규칙에 있는지만 보지 말고 실제로 일치한 정책이 PROXY, DIRECT, REJECT 중 무엇인지도 확인하세요.
일부 사이트만 실패한다면 대상 사이트의 상태, 페이지에서 사용하는 다른 도메인, 현재 네트워크 조건도 함께 고려합니다. 특정 페이지 하나 때문에 모든 요청에 동일한 정책을 적용하지 마세요. 같은 대상을 Proxy와 Config에서 비교하고 실제 요청 기록을 확인하면 문제 범위를 좁힐 수 있습니다. DOMAIN-SUFFIX, IP-CIDR, FINAL의 의미는 용어집에서, 전체 작성법과 순서는 Rule 구성 참고에서 확인하세요.
재현 정보를 정리해 원인 계속 찾기
기기 유형, 현재 네트워크, Global Routing, 문제가 발생한 단계, 그리고 모든 대상에서 실패하는지 일부 대상에서만 실패하는지를 기록합니다. 오류 정보를 공유할 때는 구독 URL, 비밀번호, UUID 등 인증 정보를 가리세요. 프로토콜 유형, 오류 문구, 이미 완료한 점검 사항만 남기면 됩니다. 구성에 개인 주소가 포함될 수도 있으므로 서버 이름만 가리지 말고 공유 전에 항목별로 확인하세요.
마지막으로 문제 해결 중 임시로 변경한 모드와 설정을 원래대로 복구하고, 평소 사용할 서버와 Config를 다시 선택한 뒤 실제 웹페이지 접속을 확인합니다. 문제가 계속되면 실패가 확인된 단계부터 원인을 추적하세요. 첫 연결에서는 서버 정보, 라우팅, 승인, 요청 결과가 서로 맞물리는지 확인하면 됩니다. 규칙 조정, On Demand, 추가 구성 항목은 기본 절차가 안정된 뒤 하나씩 설정하세요.