Shadowrocket 빠른 시작
5단계로 기존 정보 가져오기, Global Routing 선택 및 연결 확인을 완료합니다. 처음 설정하는 경우 약 10분 정도를 예상할 수 있으며, 실제 소요 시간은 정보가 갖춰진 정도와 네트워크 상태에 따라 달라집니다.
순서대로 진행하고 서버, 규칙 및 DNS를 동시에 변경하지 마세요. 각 단계의 결과를 확인한 뒤 다음 단계로 넘어가세요. 문제가 생기면 어느 화면에서 멈췄는지와 표시된 오류 문구를 기록하세요.
Add Server: 서버 추가 또는 구독 가져오기
Shadowrocket을 열고 Home으로 이동합니다. 먼저 보유한 정보의 유형을 확인하세요. 서버 목록을 업데이트하는 URL이라면 Subscribe를 사용합니다. 단일 서버의 주소, 포트, 프로토콜 및 인증 정보라면 직접 추가합니다. 보유한 정보에 맞는 방법 하나를 선택하면 됩니다. 가이드를 완료하려고 두 방법을 모두 사용할 필요는 없습니다. 구독 주소에는 접근 자격 증명이 포함될 수 있으므로 비밀번호처럼 보관하고 공개 페이지에 게시하거나 함부로 전달하지 마세요.
기존 구독 링크가 있는 경우
Home에서 오른쪽 위의 추가 버튼을 누르고 Add Server로 이동합니다. Type을 누른 다음 Subscribe를 선택하고 전체 구독 링크를 URL에 입력한 뒤 저장합니다. 붙여넣은 링크의 처음과 끝을 확인하고, 복사 과정에서 공백이나 줄바꿈, 설명 문구가 들어가지 않았는지 주의하세요. 주소에서 물음표 뒤의 매개변수를 삭제하지 말고 서비스 계정 로그인 페이지를 구독 주소로 사용하지 마세요.
Home으로 돌아온 뒤 구독 내용이 불러와질 때까지 기다립니다. 정상이라면 목록에 해당 그룹과 서버 항목이 표시됩니다. 구독 이름만 보이고 선택할 서버가 없다면 먼저 현재 기기에서 구독 주소에 접속할 수 있는지 확인한 다음 구독의 유효 기간과 응답 내용이 클라이언트에 적합한지 확인하세요. 이때는 가져오기 문제부터 해결하세요. 모드를 바꿔도 읽을 수 없는 구독 주소는 복구되지 않습니다.
단일 서버 정보가 있는 경우
Home에서 Add Server를 열고 Type에서 정보에 표시된 프로토콜을 선택합니다. 예를 들어 Shadowsocks, VMess, VLESS 또는 Trojan을 선택한 뒤 주소, 포트 및 인증 항목을 각각 입력합니다. 프로토콜마다 필요한 항목이 다르므로 비밀번호, UUID, 암호화 방식 및 TLS 설정은 서로 대체할 수 없습니다. 이름이 비슷하다는 이유로 프로토콜을 추측하지 말고, 프로토콜 접두사가 포함된 전체 공유 정보를 서버 주소 입력란에 그대로 넣지 마세요.
정보에 QR 코드가 포함되어 있다면 앱의 Scan QR Code 항목을 사용해 읽고 시스템 안내에 따라 카메라 접근을 허용할 수 있습니다. 인식한 뒤에도 프로토콜과 주소가 원본 정보에 맞는지 확인하고 저장하세요. 직접 입력할 경우 TLS의 서버 이름과 같은 항목이 연결 주소와 다를 수 있으므로 원본 정보를 따르세요. 두 항목을 같아 보이게 하려고 임의로 수정하지 마세요.
이 단계의 완료 기준: Home에 선택할 수 있는 서버가 표시되고 다음에 테스트할 항목이 선택되어 있어야 합니다. 목록 이름은 메모일 뿐, 서버가 현재 사용 가능하다는 뜻은 아닙니다. 나중에 연결에 실패했을 때 항목별로 대조할 수 있도록 원본 정보를 보관하세요. 항목의 의미가 불분명하면 개념 빠른 참조를 먼저 확인하세요. 프로토콜의 설계와 매개변수 설명은 프로토콜 가이드를 참고하세요.
Global Routing: 세 가지 처리 방식 구분
서버를 저장한 뒤 바로 연결을 켜지 마세요. Home에서 Global Routing을 누르고 사용할 처리 방식을 확인합니다. 여기에는 Config/Proxy/Direct의 세 가지 방식이 있습니다. 이 방식은 연결을 처리하는 방법을 정하며 서버 매개변수를 수정하거나 서버 자체의 프로토콜 유형을 나타내지 않습니다. 모드를 전환하기 전에 현재 선택된 값을 기억해 두면 테스트 후 되돌리기 쉽습니다.
| 모드 | 처리 방식 | 처음 설정할 때 확인할 항목 |
|---|---|---|
| Config | 현재 구성의 규칙에 따라 정책을 결정합니다. | Config에서 본인의 구성을 선택했는지 확인합니다. |
| Proxy | 프록시 방식으로 트래픽을 처리하며, 프록시 경로를 잠시 확인할 때 적합합니다. | Home에서 올바른 서버를 선택했는지 확인합니다. |
| Direct | 현재 서버를 통해 프록시로 전달하지 않고 대상에 직접 접속합니다. | 직접 연결에 성공한 것을 프록시 확인 성공으로 오인하지 마세요. |
규칙에 따라 사용하려면 먼저 Config로 이동해 본인의 구성 파일이 선택되어 있는지 확인한 뒤 Global Routing으로 돌아와 Config를 선택합니다. 서버 구독과 구성 파일은 서로 다릅니다. 전자는 주로 서버 목록을 제공하고, 후자는 도메인과 주소 등의 조건에 적용할 정책을 결정합니다. 구독을 가져온 뒤 규칙 구성까지 설정되었다고 가정하지 마세요.
현재 서버 정보만 있고 규칙 구성이 아직 없다면 Proxy를 사용해 짧게 연결 상태를 확인할 수 있습니다. 이렇게 하면 규칙 문제와 연결 문제를 혼동하지 않고 서버 경로가 작동하는지 먼저 확인할 수 있습니다. 테스트가 끝나면 본인의 구성에 따라 Config로 돌아가세요. 이 가이드는 어떤 웹사이트에 어떤 경로를 사용해야 하는지 대신 결정하지 않습니다.
Direct는 기본 네트워크를 비교하는 데 사용할 수 있지만 프록시 연결 성공을 의미하지는 않습니다. Direct 상태에서 웹페이지가 열린다면 현재 직접 연결 경로에서 해당 페이지에 접속할 수 있다는 뜻입니다. 다음 단계에서 확인할 때는 접속 가능 여부만 기록하지 말고 사용한 모드, 선택한 서버 및 접속한 페이지를 함께 기록하세요.
이 단계의 완료 기준: 현재 선택된 방식이 무엇인지 알고 있어야 합니다. Config를 사용하는 경우 Config에서 활성 구성을 확인하세요. 규칙 순서와 PROXY / DIRECT / REJECT 및 FINAL의 상세한 의미는 개념 빠른 참조에서 확인할 수 있습니다. 첫 연결에서 모든 설정을 한꺼번에 변경할 필요는 없습니다.
Home: 연결 스위치와 시스템 권한
Home으로 돌아가 현재 선택된 서버와 Global Routing을 다시 확인합니다. 정보와 모드가 맞는지 확인한 뒤 Home 상단의 연결 스위치를 켭니다. 처음 연결할 때 iPhone/iPad에 VPN 구성을 추가하라는 시스템 안내가 표시될 수 있습니다. 방금 수행한 작업에서 나온 안내인지 확인한 다음 허용을 누르고 시스템 요청에 따라 기기 암호 또는 생체 인증을 완료합니다.
이 시스템 권한은 앱이 기기에 VPN 구성을 만들도록 허용하는 절차이지, 구독 계정 로그인이나 서버 인증이 아닙니다. 기기 암호는 시스템 인증 화면에서 입력하세요. Add Server의 Password 항목에 입력하지 마세요. 반대로 서버 비밀번호는 기기 잠금을 해제하는 데 사용하지 않습니다. 입력창이 표시되면 시스템 안내인지 앱의 서버 입력 양식인지 먼저 확인하세요.
권한 승인이 끝나면 Shadowrocket으로 돌아와 스위치가 계속 켜져 있는지 확인합니다. 시스템 상태 영역에 VPN 표시가 보이면 연결 상태를 확인하는 한 가지 참고 자료로 사용할 수 있지만, 대상 웹페이지에 접속할 수 있다는 뜻은 아닙니다. 시스템 구성이 설정되었는지, 서버에 도달할 수 있는지, 규칙이 예상대로 적용되는지는 서로 다른 단계이므로 다음 단계에서 실제 접속도 확인해야 합니다.
연결을 켜자마자 바로 꺼지면 반복해서 누르지 말고, 권한 처리가 완료되지 않았거나 오류 안내가 표시되었는지 확인하세요. 그런 다음 Home에서 서버가 실제로 선택되어 있는지, 앞서 입력한 포트와 비밀번호 등의 항목이 빠짐없이 입력되었는지 확인합니다. 기기에서 다른 VPN 연결이 활성화되어 있다면 먼저 다른 연결을 종료한 뒤 다시 시도하세요. 동시에 여러 연결을 조작하면 현재 네트워크를 어떤 연결이 처리하는지 판단하기 어렵습니다.
처음 수동으로 확인하는 동안에는 On Demand 설정을 변경하지 마세요. On Demand는 조건에 따라 연결을 시작하는 기능이며 수동 연결에 반드시 필요한 사전 설정은 아닙니다. 스위치를 끈 뒤 자동으로 다시 연결되는 경우에만 기존의 자동 연결 조건을 확인하세요. 하나의 문제를 확인하면서 자동화 설정을 여러 개 바꾸지 마세요.
이 단계의 완료 기준: 시스템 권한 처리가 끝나고 Home의 연결 스위치가 켜진 상태로 유지되며 미처리 안내가 없어야 합니다. 현재 서버를 수정해야 한다면 먼저 연결을 끄고 변경 사항을 저장한 다음 다시 켜세요. 이렇게 하면 각 테스트에서 사용한 매개변수를 명확히 파악하고 문제가 발생했을 때 이전 상태를 복원하기 쉽습니다.
Connectivity Test: 테스트 결과와 실제 접속 교차 확인
연결을 켠 뒤 먼저 Connectivity Test로 현재 서버를 확인하고 실제 접속을 테스트합니다. 테스트 결과는 특정 탐지 방식, 대상 및 네트워크 상태에 영향을 받습니다. 응답이 있다고 모든 웹페이지와 앱이 정상 작동하는 것은 아니며, 시간 초과가 표시되더라도 실제 접속과 함께 판단해야 합니다. 하나의 수치만으로 구성이 완료되었는지 결정하지 마세요.
- 기본 네트워크를 확인합니다. 현재 아무것도 접속되지 않는다면 먼저 Shadowrocket 연결을 끄고 브라우저에서 정상 작동을 확인한 일반 웹페이지를 엽니다. 기본 네트워크도 작동하지 않으면 Wi-Fi 또는 셀룰러 네트워크를 확인하고, 클라이언트에서 프로토콜 항목을 계속 바꾸지 마세요.
- 서버 경로를 확인합니다. 연결을 다시 켜고 서버 선택이 바뀌지 않았는지 확인한 뒤 Connectivity Test를 실행합니다. 응답 여부와 테스트 당시 네트워크 환경을 기록한 다음 같은 웹페이지를 열어 새 콘텐츠가 로드되는지 확인합니다. 이전에 저장된 페이지가 표시되는지만 확인하지 마세요.
- 구성 적용 결과를 확인합니다. Config를 사용한다면 본인의 구성에 있는 규칙을 참고해 PROXY를 사용해야 하는 대상과 DIRECT를 사용해야 하는 대상을 각각 확인합니다. 두 대상 모두 열린다는 사실만으로 예상한 정책이 적용되었다고 단정할 수는 없습니다. 필요하면 앱에서 확인할 수 있는 연결 기록을 함께 살펴보세요.
Proxy에서는 접속되지만 Config에서 예상대로 작동하지 않는다면 서버를 바로 삭제하지 말고 활성 구성과 규칙을 먼저 확인하세요. 반대로 같은 서버를 사용하는 두 모드 모두에서 접속할 수 없다면 연결 경로와 서버 매개변수를 먼저 확인해야 합니다. 모드를 비교하면 문제 범위를 좁힐 수 있지만, 비교 테스트 중 서버와 네트워크를 동시에 바꾸면 결과를 해석하기 어렵습니다.
Wi-Fi에서는 정상인데 셀룰러 네트워크에서 문제가 생기는 것도 유용한 단서입니다. 네트워크를 전환한 뒤 새 환경에서 다시 연결하고 테스트하세요. 이전 Connectivity Test 결과를 새 네트워크의 판단에 그대로 사용하지 마세요. 일부 프로토콜은 네트워크에 따라 전송 조건이 달라질 수 있습니다. 구체적인 문제는 보유한 서버 정보를 바탕으로 확인해야 하며 한 번 실패했다고 클라이언트 구성이 모두 잘못되었다고 단정하지 마세요.
이 단계의 완료 기준: 실제 웹페이지에 한 번 이상 접속하고 테스트에 사용한 서버, Global Routing 모드 및 네트워크 환경을 설명할 수 있어야 합니다. 정상 작동을 확인한 뒤 해당 설정을 보관하세요. 이후 규칙이나 DNS를 변경할 때 이 설정을 비교 기준으로 사용합니다. 연결 스위치만 켜고 실제 접속을 확인하지 않았다면 이 단계가 완료된 것이 아닙니다.
가져오기, 연결, 규칙 단계별 문제 해결
문제가 발생하면 가장 먼저 완료되지 않은 단계로 돌아갑니다. 처음부터 앱을 재설치하지 마세요. 재설치해도 만료된 구독, 잘못된 서버 비밀번호 또는 맞지 않는 규칙은 해결되지 않으며 기존 구성을 찾기 어려워질 수 있습니다. 오류 문구와 최근 변경 사항을 먼저 기록한 다음 아래 순서에 따라 확인하세요. 한 번에 한 항목만 변경하고 저장한 뒤 같은 대상을 다시 테스트합니다.
가져온 뒤 서버 항목이 표시되지 않음
먼저 Subscribe에 저장된 주소가 계정 홈페이지나 안내 페이지 또는 단일 서버 메모가 아니라 전체 구독 주소인지 확인합니다. 링크가 잘렸거나 불필요한 문자가 들어갔는지, 구독이 유효한지도 확인하세요. 응답 내용이 로그인 안내나 웹페이지라면 서버 목록으로 사용할 수 없습니다. 정보 자체에 문제가 있으면 기존 서비스 제공자에게 올바른 주소와 지원 형식을 문의하세요. 전체 링크를 공개 토론 공간에 올리지 마세요.
항목은 있지만 테스트 또는 연결에 실패함
원본 정보와 Type, 서버 주소, 포트 및 인증 항목을 대조한 다음 TLS 관련 매개변수가 실수로 변경되지 않았는지 확인합니다. 기기의 날짜와 시간도 정확해야 합니다. 시간 차이가 인증서 확인에 영향을 줄 수 있습니다. 오류를 없애려고 인증서 확인을 함부로 끄지 마세요. 먼저 서버 이름과 인증서 요구 사항을 확인합니다. 본인이 보유하고 정상 작동을 확인한 다른 서버가 있다면 같은 네트워크에서 비교 테스트할 수 있지만, 테스트를 위해 출처가 낯선 정보를 반복해서 가져올 필요는 없습니다.
테스트에는 응답이 있지만 웹페이지가 열리지 않음
먼저 한 페이지만 문제가 있는지, 정상 작동을 확인한 여러 대상에서 문제가 발생하는지 확인합니다. 특정 대상의 실패는 대상 서비스, 이름 확인 또는 규칙과 관련된 문제일 수 있으며 모든 연결이 실패한다는 뜻은 아닙니다. Global Routing이 실수로 Direct에 설정되어 있지 않은지, Config에서 다른 구성이 선택되어 있지 않은지 확인하세요. 도메인 접속만 문제가 있다면 DNS 설정을 확인하고 이해하지 못하는 설정을 여러 개 추가하지 마세요.
Config에서만 결과가 비정상임
활성 구성을 확인한 다음 규칙이 위에서 아래로 적용되는 순서와 기본 규칙 FINAL의 정책을 확인합니다. 앞에 있는 광범위한 규칙이 요청과 먼저 일치하면 뒤에 있는 세부 규칙은 적용되지 않을 수 있습니다. 구독 업데이트에 성공해도 구성 규칙이 함께 바뀌는 것은 아닙니다. 먼저 정상 작동을 확인한 구성을 복원해 비교한 다음 규칙을 하나씩 조정하세요. 규칙 키워드의 자세한 내용은 개념 빠른 참조에서, 프로토콜과 전송 항목 문제는 프로토콜 가이드에서 확인할 수 있습니다.
문제 해결이 끝나면 테스트를 위해 사용한 Proxy를 원래 사용할 방식으로 되돌리고 다시 확인합니다. 추가로 원인을 찾아야 한다면 기기의 운영체제, 네트워크 유형, 프로토콜 유형, 오류가 발생한 단계 및 민감한 내용을 제거한 오류 설명을 보관하세요. 비밀번호, 전체 구독 링크 또는 인증 정보가 포함된 QR 코드를 공개하지 마세요. 이렇게 하면 연결 자격 증명을 문제 설명에 노출하지 않으면서 진단에 필요한 정보를 보존할 수 있습니다.
처음 연결한 뒤에는 평소 세 가지 항목을 확인하면 됩니다. Home에서 선택한 항목, Global Routing 방식, 현재 Config 구성입니다. 기존 구독을 업데이트하거나 구성을 변경한 뒤에는 이 페이지의 네 번째 단계에 따라 다시 테스트하세요.