Shadowrocket 사용 설명
추가, 모드 선택, 연결, 확인, 문제 해결 순서로 진행합니다. 먼저 재현 가능한 연결을 한 번 완료한 뒤 규칙과 자동 연결 조건을 조정합니다.
단계별로 읽어 보세요. 가져오기를 마친 경우 Global Routing부터 시작할 수 있습니다. 스크린샷은 화면을 식별하기 위한 것이며, 실제 메뉴 위치는 현재 앱 화면을 기준으로 확인하세요.
서버 추가 또는 구독 가져오기
iPhone / iPad: 먼저 Home의 SERVER 목록에 본인의 항목이 표시되도록 한 뒤 연결 모드를 선택합니다.
Shadowrocket을 열고 Home 화면에 머뭅니다. 상단 스위치를 바로 켤 필요는 없습니다. 기존 연결 정보는 보통 두 종류입니다. 여러 서버가 포함된 구독 링크 또는 한 서버의 프로토콜, 주소, 포트 및 인증 필드입니다. 두 종류는 입력 위치가 다릅니다. 전체 구독 링크를 Host에 입력하거나 단일 서버 주소를 구독 주소 입력란에 넣지 마세요.
Subscribe로 기존 구독 가져오기
- 기존 서비스 제공자에게 구독 링크를 받아 전체 내용을 복사합니다. 복사할 때 앞뒤에 공백, 줄바꿈 또는 설명 문구가 포함되지 않았는지 확인하세요. 특히 채팅 앱에서 일부만 표시된 내용을 그대로 복사하지 않도록 주의합니다.
- 구독 관리 메뉴로 이동해 Subscribe를 찾습니다. Add Server에서 이동한 경우 먼저 구독 유형을 선택한 뒤 본인의 링크를 입력합니다. Config의 구성 파일 관리와 서버 구독은 용도가 다릅니다. 링크의 끝부분이 같다는 이유만으로 형식이 같다고 판단하지 마세요.
- 저장한 뒤 업데이트를 실행합니다. 요청이 끝나면 Home으로 돌아가 해당 그룹을 펼치고 SERVER에 예상한 항목이 표시되는지 확인합니다. 구독 이름만 보이고 서버가 하나도 없다면 업데이트 결과를 먼저 확인하고 연결 스위치를 반복해서 전환하지 마세요.
구독을 업데이트하면 원격에서 제공하는 서버 정보를 읽어옵니다. 이는 프록시 연결이 이미 설정되었다는 뜻이 아닙니다. 구독 주소에 개인 접근 식별 정보가 포함될 수 있으므로 공개 게시판에 올리지 마세요. 문제를 설명할 때는 오류 현상만 공유하고 전체 주소는 공개하지 않습니다. 업데이트 결과로 웹페이지나 로그인 안내가 표시되면 Host나 Port를 바꾸어 해결하려 하지 말고 기존 정보 제공자에게 링크의 용도를 확인하세요.
Add Server에서 직접 입력
- Home의 SERVER 영역에서 Add Server를 누릅니다. 먼저 Type을 선택해 양식이 기존 정보의 프로토콜과 일치하도록 합니다. 예를 들어 Shadowsocks, VMess, VLESS 또는 Trojan을 선택할 수 있습니다. Type에 따라 표시되는 필드가 다를 수 있습니다.
- Host, Port와 현재 Type에서 요구하는 인증 정보를 차례로 입력합니다. 스크린샷의 Password, Method는 해당 양식의 필드입니다. 모든 프로토콜에서 반드시 입력해야 하는 공통 항목이라고 여기거나 암호화 방식을 추측해 입력하지 마세요.
- 내용을 확인하고 저장한 뒤 Home으로 돌아갑니다. 정보가 QR 코드에 있다면 Scan QR Code를 사용할 수 있습니다. Import from Cloud JSON은 해당 형식의 정보에만 사용할 수 있으며, 임의의 구독 주소를 대신하는 메뉴가 아닙니다.
예를 들어 example.com은 주소 필드를 이해하기 위한 예시일 뿐, 실제로 사용할 수 있는 서버가 아닙니다. 입력을 마치면 기존 정보를 항목별로 다시 확인하세요. 프로토콜을 올바르게 선택했더라도 인증 정보가 일치하지 않으면 시간 초과나 연결 중단이 발생할 수 있습니다. 항목이 저장된 것을 확인하면 다음 단계에서 Global Routing을 선택합니다.
Global Routing 모드 선택
iPhone / iPad: 서버는 연결 대상을 결정하고, Global Routing은 요청에 적용할 정책을 결정합니다.
Home으로 돌아가 Global Routing을 열고 현재 선택된 모드를 확인합니다. 처음 설정할 때 혼동하기 쉬운 점은 “서버 항목이 있다”는 것과 “모든 요청이 해당 서버를 통한다”는 것이 서로 다르다는 점입니다. 전자는 연결 정보가 저장되었다는 뜻일 뿐이며, 후자는 Global Routing과 현재 구성에 따라 달라집니다. 먼저 무엇을 확인할지 정한 다음 모드를 선택하면 이후 문제 해결에서 변수를 줄일 수 있습니다.
- 구성(Config): 현재 활성화된 구성의 규칙에 따라 요청 정책을 결정합니다. 대상별로 트래픽을 분기하려면 이 모드를 사용하고 필요한 구성이 선택되어 있는지 먼저 확인합니다. 서버 구독을 가져와도 개인 용도에 맞는 규칙 파일이 자동으로 준비되는 것은 아닙니다.
- 프록시(Proxy): 선택한 프록시 서버의 연결 상태를 집중적으로 확인하는 데 사용합니다. 서버 연결 문제와 규칙 선택 문제를 임시로 구분하는 데 적합하지만, 모든 앱과 모든 연결 유형의 성공을 보장하지는 않습니다.
- 직접 연결(Direct): 요청을 직접 연결 모드로 처리합니다. 원래 네트워크 상태와 비교할 수 있습니다. 이 모드에서 접속이 정상이라고 해서 프록시 서버를 사용할 수 있다는 증거가 되지는 않습니다.
모드를 선택한 뒤 Home으로 돌아가 Global Routing 행에 예상한 값이 표시되는지 확인합니다. 규칙 기반으로 계속 사용하려면 Config로 이동해 본인의 구성 파일을 찾아 활성화합니다. 내용을 확인해야 할 때는 편집 화면을 엽니다. 공식 스크린샷의 General, Rule, Hosts, URL Rewrite, HTTPS Decryption은 구성 섹션이며 Add Rule은 규칙을 추가하는 메뉴이지 서버 추가 메뉴가 아닙니다.
Rule에서는 처음 연결하기 위해 새 규칙을 추가할 필요 없이 기존 규칙부터 확인합니다. 규칙은 보통 위에서 아래로 일치하며 먼저 일치한 항목이 이후 판단에 영향을 줍니다. 마지막의 FINAL은 기본 처리 규칙입니다. 아래는 문법을 읽기 위한 예시일 뿐, 개인 구성을 그대로 대체할 수 있는 완성 파일이 아닙니다. PROXY에는 사용할 수 있는 프록시 정책이 필요하며 DIRECT는 직접 연결을 뜻합니다. 정책 이름은 현재 구성에 실제로 정의된 값을 따라야 합니다.
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY
처음 설정할 때 DNS, URL Rewrite, HTTPS Decryption을 동시에 조정할 필요는 없습니다. 기존 구성을 유지하고 Global Routing만 확인하면 다음 단계의 결과를 더 쉽게 해석할 수 있습니다. 규칙 키워드가 낯설다면 먼저 용어 설명을 확인하세요. 자세한 일치 규칙 및 DNS 문제 해결은 문제 해결 매뉴얼에서 다룹니다. 여기서는 연결 확인을 계속 진행합니다.
항목을 선택하고 연결 스위치 켜기
iPhone / iPad: 먼저 SERVER에서 선택한 항목을 확인한 뒤 시스템 VPN 구성 권한을 처리합니다.
이제 서버 정보가 저장되었고 Global Routing도 정했습니다. Home으로 돌아가 SERVER 그룹에서 사용할 항목을 찾아 선택합니다. 하나의 구독에 항목이 여러 개라면 먼저 하나를 정해 전체 테스트를 진행하세요. 테스트 전후에 서버를 바꾸면 결과 차이가 특정 설정 때문이라고 오해할 수 있습니다.
- Home에 표시된 서버 선택과 Global Routing을 확인합니다. 서버 목록이 비어 있다면 첫 단계로 돌아가 가져오기를 처리하세요. 구독 업데이트 대신 연결 스위치를 사용하지 마세요.
- 상단의 Not Connected에 해당하는 연결 스위치를 켭니다. 처음 연결할 때 시스템에서 VPN 구성을 추가해 달라고 요청할 수 있습니다. 안내를 읽고 Shadowrocket에서 요청한 것인지 확인한 뒤 허용하고, 시스템 요구에 따라 기기 인증을 완료합니다.
- 앱으로 돌아와 Home의 상태가 바뀌는지 기다립니다. 시스템 권한 창이 앞에 계속 표시되면 해당 작업을 완료하거나 취소하세요. 여러 화면에서 스위치를 연속으로 반복해서 누르지 마세요.
VPN 구성을 허용하면 앱이 시스템 네트워크 기능을 통해 관련 트래픽을 처리할 수 있습니다. 이는 회선을 구매하는 것이 아니며 누락된 서버 암호를 채워 주지도 않습니다. 이전에 권한을 거부했다면 스위치를 다시 켜고 시스템 안내에 따라 처리하세요. 기기가 조직에서 관리되는 경우 시스템 제한에 대해 관리자 확인이 필요할 수 있으며, 앱을 다시 설치해도 제한이 바뀌지 않을 수 있습니다.
연결 상태가 바뀌면 먼저 Home에서 상태를 확인하고 바로 On Demand를 켜지 마세요. 수동 연결을 안정적으로 재현한 다음 자동 연결 조건을 검토합니다. 다른 VPN 구성이나 유사한 네트워크 제어 기능이 있는 도구가 현재 연결에 영향을 줄 수 있습니다. 테스트 중 다른 연결이 전환되고 있지 않은지 확인해 상태가 반복해서 바뀌는 일을 방지하세요.
Home에 연결됨으로 표시되더라도 현재 연결 절차가 해당 상태에 도달했다는 의미일 뿐, 모든 대상에 접속할 수 있음을 증명하지는 않습니다. 다음 단계에서 서버, 대상 접속, 규칙 선택을 각각 확인해야 합니다. 스위치가 곧바로 꺼진다면 다섯 번째 단계에서 권한과 연결 환경을 확인하세요.
연결 및 규칙 적용 여부 확인
iPhone / iPad: 테스트 결과, 실제 접속, 적용된 정책을 각각 확인해야 합니다.
연결 스위치가 켜진 상태에서 Home의 Connectivity Test를 실행하고 결과를 확인합니다. 테스트 결과는 해당 방법과 대상의 상태만 보여 줍니다. 결과가 있다고 모든 서비스를 사용할 수 있는 것은 아니며, 시간이 초과되어도 서버 전체를 사용할 수 없다고 바로 단정할 수 없습니다. 먼저 현재 네트워크, 선택한 항목, Global Routing을 기록한 뒤 같은 조건으로 계속 확인합니다.
- 먼저 기본 네트워크를 확인합니다. Shadowrocket 연결을 잠시 끄고 브라우저에서 평소 접속할 수 있는 페이지를 엽니다. 원래 네트워크에 로그인이 필요하거나 인터넷에 연결되지 않았다면 먼저 네트워크 접속을 완료합니다. 프록시 설정은 Wi-Fi 또는 모바일 데이터 연결을 대신하지 않습니다.
- 실제 대상에 접속합니다. 다시 연결하고 실제로 사용하려는 페이지나 서비스에서 동일한 작업을 한 번 실행합니다. 예를 들어 같은 페이지를 새로고침합니다. 상태 표시줄의 VPN 아이콘만 보고 접속에 성공했다고 판단하지 마세요.
- 마지막으로 규칙을 확인합니다. 구성(Config)을 사용하는 경우 Data에서 대상 도메인, 시간, 정책 기록을 함께 확인합니다. 한 페이지에서 여러 도메인을 요청할 수 있으므로 목록 맨 위의 항목만 보는 대신 실패한 작업과 관련된 기록을 찾습니다.
프록시(Proxy)에서는 대상에 접속되지만 구성(Config)에서는 실패한다면 현재 구성과 일치한 정책을 먼저 확인합니다. 흔한 원인은 대상에 DIRECT가 적용되거나 규칙 순서가 예상과 다르거나 정책 참조가 현재 사용 가능한 항목과 일치하지 않는 경우입니다. 두 모드에서 모두 실패한다면 서버 인증, 기본 네트워크, DNS를 확인하세요. 규칙을 먼저 더 많이 추가하지 마세요.
캐시의 영향을 줄이려면 설정을 바꿀 때마다 같은 작업을 다시 실행하고, 필요한 경우 테스트 중인 페이지를 닫았다가 다시 엽니다. 이미 연결된 세션에는 새 규칙이 즉시 적용되지 않을 수 있으므로 “저장 후 기존 페이지에 변화가 없다”는 사실만으로 수정이 적용되지 않았다고 판단할 수 없습니다. 한 번에 변수 하나만 바꾸고 전후 차이를 기록해야 구체적인 설정을 찾을 수 있습니다.
브라우저에서는 정상인데 특정 앱에서만 실패한다면 해당 앱이 실제로 요청하는 대상과 연결 유형을 먼저 확인합니다. DNS, UDP, 속도, 앱별 차이 문제는 문제 해결 매뉴얼을 참고하고, 자주 묻는 간단한 질문은 문제 해결 FAQ에서 확인할 수 있습니다.
실패한 단계에 따라 Settings 확인
iPhone / iPad: 가장 먼저 실패한 단계부터 확인하고 프로토콜, DNS, 규칙을 한꺼번에 변경하지 마세요.
Settings로 이동하기 전에 “구독 업데이트 실패”, “스위치가 바로 꺼짐”, “테스트 시간 초과”, “특정 대상만 열리지 않음”처럼 현상을 한 문장으로 설명해 보세요. 각 현상은 서로 다른 단계에서 발생하므로 해결 방법도 다릅니다. Settings의 Test Method, On Demand, Diagnostics, Proxy, TCP, UDP는 각기 다른 설정이며 모든 문제에 맞는 단일 설정 조합은 없습니다.
- 가져오기 실패: 링크가 완전한지, 현재 네트워크에서 구독 요청을 완료할 수 있는지, 정보가 여전히 유효한지 확인합니다. 직접 입력했다면 Type, Host, Port 및 인증 필드를 다시 확인합니다. 서버 목록에 항목이 이미 표시된다면 이후 접속 실패만으로 구독 전체를 반복해서 삭제하지 마세요.
- 스위치가 켜지지 않거나 바로 꺼짐: 시스템 VPN 구성 권한을 완료했는지, 다른 연결이 동시에 시작되는지 확인한 뒤 기기 관리 제한을 살펴봅니다. 수동으로 끈 뒤 자동으로 다시 연결된다면 Settings의 On Demand에서 조건을 확인합니다. 문제를 찾는 동안 자동 실행을 잠시 중지하고 수동으로 다시 테스트하세요.
- Connectivity Test 시간 초과: Settings에서 Test Method를 확인하고 현재 테스트 방법을 파악한 뒤 실제 웹페이지 접속 결과와 비교합니다. 본인이 보유한 다른 서버로 비교할 수 있지만, 동일한 네트워크와 같은 방법을 유지해 모든 조건을 동시에 바꾸지 않도록 합니다.
- 연결되었지만 접속 실패: 프록시(Proxy)와 구성(Config)을 먼저 비교한 뒤 Data에서 관련 대상의 정책 기록을 확인합니다. 도메인 접속에 문제가 있고 다른 연결 결과는 있다면 DNS를 확인합니다. 처음부터 여러 DNS 설정을 임의로 바꾸지 마세요.
- 일부 앱 또는 연결 유형에서 문제 발생: 특정 대상, 네트워크 또는 작업에서만 문제가 발생하는지 확인합니다. TCP와 UDP의 결과는 다를 수 있으므로 기존 서버의 기능 및 실제 요청에 맞춰 판단합니다. 특정 옵션을 켜는 것을 모든 문제의 해결 방법으로 여기지 마세요.
더 자세한 원인 확인이 필요할 때 Diagnostics를 사용합니다. 오류 시간과 단계를 파악할 수 있는 기록만 보관하세요. 스크린샷이나 기록을 공유하기 전에 구독 주소의 접근 식별 정보, 인증 정보 및 공개할 필요가 없는 대상 정보를 가립니다. 진단 정보는 현상을 파악하는 데 사용하며 전체 구성을 공개하는 데 사용하지 마세요.
Wi-Fi와 모바일 네트워크를 전환한 뒤에만 문제가 발생하면 수동 연결 상태로 돌아가 두 네트워크에서 네 번째 단계를 각각 반복합니다. 앱 업데이트 후에만 문제가 발생한다면 현재 정보를 보존하고 설정을 하나씩 확인하세요. 백업 없이 모든 구성을 삭제하지 마세요. 처리 후에는 “항목 선택 → 연결 → 테스트 → 실제 접속” 전체 절차를 다시 진행해 우연히 해결된 것이 아닌지 확인합니다.
원인을 찾지 못했다면 문제 해결 매뉴얼에서 증상별 점검을 계속하세요. 기기 시스템, 현재 네트워크, Global Routing, 가장 먼저 실패한 단계, 이미 시도한 개별 변경 사항을 기록하면 “연결되지 않음”이라고만 설명하는 것보다 문제 범위를 좁히는 데 도움이 됩니다.