공식 가이드 / 처음 사용하기

Shadowrocket 시작 가이드

먼저 기존 연결 정보를 추가하고 트래픽 처리 방식을 정한 다음 연결하여 확인합니다. 이 페이지에서는 처음 사용할 때의 실제 순서에 따라 설명합니다. iPhone과 iPad에 적용되며, 시스템 요구 사항은 App Store 페이지를 기준으로 확인하세요.

스크린샷은 공식 App Store 이미지로, 화면과 입력 항목을 식별하는 데 사용합니다. 가져올 수 있는 연결 정보는 아닙니다. 실제로 표시되는 항목은 선택한 Type과 앱 화면에 따라 달라질 수 있습니다.

01 서버 추가 또는 구독 가져오기

먼저 보유한 정보의 종류를 확인하세요. 서버 목록을 업데이트하는 전체 링크는 일반적으로 구독으로 처리하고, 프로토콜, 주소, 포트, 인증 정보가 각각 제공되면 서버를 직접 추가합니다. 두 방법 모두 Home의 추가 메뉴에서 시작하지만 입력 내용은 다릅니다. 구독 주소를 Host에 입력하거나 서버 주소를 Subscribe에 직접 입력하지 마세요.

기존 구독: Subscribe 선택하기

Home에서 Add Server 또는 상단의 추가 버튼을 누르고 Add Server 화면에서 Type을 열어 Subscribe를 선택합니다. 구독의 URL 입력란에 본인의 전체 링크를 붙여 넣고 앞뒤와 쿼리 매개변수가 모두 포함되었는지 확인합니다. 알아보기 쉬운 이름을 입력한 뒤 저장하세요. 링크에 공백이나 줄바꿈이 들어가거나 메시지 일부만 복사하면 가져오기에 실패할 수 있습니다.

저장한 뒤 Home으로 돌아가 서버 목록이 불러와질 때까지 기다립니다. 항목이 표시되지 않으면 해당 구독의 작업 메뉴에서 업데이트를 실행하고 오류 메시지가 나타나는지 확인하세요. 가져오기가 완료되면 Home에 해당 그룹과 서버 항목이 표시되고 그중 하나를 선택할 수 있어야 합니다. 구독 이름만 표시된다고 해서 구독 내용까지 정상적으로 가져온 것은 아닙니다.

구독을 업데이트하면 원격에 있는 내용에 따라 목록이 변경됩니다. 평소에는 구독 주소, 서버 항목, 구성 파일을 한꺼번에 수정하지 마세요. 먼저 목록이 정상적으로 업데이트되는지 확인한 뒤 다음 단계로 진행합니다. 업데이트에 실패하면 원래 링크가 아직 유효한지, 현재 네트워크에서 구독 주소에 접속할 수 있는지, 반환된 내용이 앱에서 지원하는 구독 형식인지 확인하세요. 웹 안내 페이지나 로그인 화면이 반환된 것은 아닌지도 살펴봅니다.

기존 서버 정보: Add Server에 항목별로 입력하기

서버를 직접 추가하려면 먼저 Type을 보유한 정보에 해당하는 프로토콜로 변경한 다음 Host와 Port를 입력합니다. 이어서 화면에 표시되는 항목에 따라 Password, Method 또는 해당 프로토콜에 필요한 인증 정보를 입력하세요. Type마다 입력 항목이 다릅니다. 스크린샷의 Password와 Method는 해당 유형의 예시일 뿐, 모든 프로토콜에 같은 정보를 입력해야 한다는 뜻은 아닙니다.

Host에는 제공받은 서버 도메인 또는 주소만 입력하고, Port는 서버에서 실제로 수신 대기하는 포트와 일치시켜야 합니다. 비밀번호는 대소문자를 구분하므로 복사할 때 앞뒤 공백이 없는지 확인하세요. TLS, 서버 이름, 전송 경로가 관련된 경우에도 원본 정보를 항목별로 확인하고 도메인 형태만 보고 추측하지 마세요. 저장하기 전에 Type을 다시 확인해 주소와 비밀번호가 맞아도 연결 프로토콜을 잘못 선택하는 일이 없도록 합니다.

해당 서버의 QR 코드가 있다면 Scan QR Code로 가져온 다음 입력 항목을 확인할 수 있습니다. Import from Cloud JSON은 형식에 맞는 클라우드 JSON 정보를 이미 보유한 경우에만 사용합니다. 임의의 구독 링크를 모두 여기서 가져오는 것은 아닙니다. 어느 방법을 사용하든 완료 후 Home의 SERVER 그룹으로 돌아가 저장한 서버를 선택할 수 있는지 확인한 다음 Global Routing을 설정합니다.

Shadowrocket 공식 Add Server 화면. Type, Host, Port, Password, Method 및 가져오기 메뉴 표시
Add Server: 먼저 Type을 선택한 뒤 해당 유형에 필요한 항목을 입력합니다. 하단에서 Scan QR Code와 Import from Cloud JSON을 확인할 수 있습니다.

02 Global Routing 및 구성 선택하기

서버는 프록시 연결에 사용할 원격 정보를 결정하고, Global Routing은 어떤 요청을 서버에 전달할지 결정합니다. Home으로 돌아가 Global Routing을 누른 뒤 Config, Proxy, Direct 세 가지 모드를 확인하세요. 처음 사용할 때는 스위치가 켜져 있는지만 보지 말고 선택한 모드가 확인하려는 대상에 맞는지도 살펴봅니다.

Config: 규칙에 따라 트래픽 경로 결정하기

도메인이나 주소에 따라 평소 트래픽을 분기하려면 Config를 선택한 다음 Config 페이지에서 사용할 구성 파일을 확인합니다. Config에는 규칙과 관련 설정이 저장되며 구독 서버 목록은 포함되지 않습니다. 구독을 성공적으로 가져왔더라도 원하는 구성이 선택되어 있다는 뜻은 아닙니다. Home의 서버와 Config의 현재 파일을 각각 확인하세요.

구성 파일의 편집 화면을 열면 General, Rule, Hosts, URL Rewrite, HTTPS Decryption 등의 섹션을 확인할 수 있습니다. 처음에는 현재 파일의 출처와 Rule의 마지막 정책을 확인하고, 연결 절차를 완료하려고 모든 섹션을 수정하지 마세요. 특히 HTTPS Decryption은 첫 연결에 필요한 단계가 아닙니다. 이 페이지의 연결 확인에는 해당 설정이 필요하지 않습니다.

아래 예시는 규칙이 일치하는 방식을 설명하기 위한 것으로, 기존 파일을 그대로 바꾸라는 뜻은 아닙니다. 규칙은 일반적으로 위에서 아래로 확인하며 먼저 일치한 규칙이 처리 방식을 결정합니다. 앞선 규칙에 해당하지 않는 요청에만 FINAL이 적용됩니다. 실제 요청은 현재 Global Routing 모드와 다른 설정의 영향도 받으므로 규칙 하나만 보고 전체 연결 결과를 판단할 수는 없습니다.

[Rule]
DOMAIN-SUFFIX,example.com,PROXY
IP-CIDR,192.168.0.0/16,DIRECT
FINAL,PROXY

이 예시에서는 example.com과 하위 도메인에 해당하는 요청이 PROXY를 사용하고, 지정한 사설 주소 대역에 해당하는 요청은 DIRECT를 사용합니다. 나머지 요청은 마지막에 PROXY로 전달됩니다. 이 주소는 문법을 설명하기 위한 예시이며 실제 연결 정보가 아닙니다. 기존 구성을 수정하기 전에 사본을 보관해 테스트 규칙으로 원래 설정을 덮어쓰지 않도록 하세요.

Proxy와 Direct: 경로 비교에 사용하기

Proxy는 주로 프록시 경로로 트래픽을 처리하므로 문제 해결 중 규칙 분기가 원인인지 확인할 때 유용합니다. Direct는 현재 네트워크를 통해 직접 접속한 결과와 비교할 때 사용합니다. 두 모드 모두 사용할 수 없는 서버나 잘못된 인증 정보를 해결하지는 않습니다. Proxy에서 접속에 실패하면 모드를 반복해서 바꾸기보다 연결 정보를 확인하세요.

모드를 확인한 뒤 Home으로 돌아가 사용할 서버가 선택되어 있는지 확인합니다. 테스트를 위해 Proxy나 Direct를 잠시 사용했다면 완료 후 평소 사용하는 Config로 되돌리세요. 구성 파일의 섹션, 규칙 우선순위, 정책의 의미는 규칙 및 구성 항목 참고에서 확인할 수 있습니다. 처음에는 서버, 모드, 현재 구성의 차이만 알아두면 됩니다.

Shadowrocket 공식 Config 편집 화면. General, Rule, Hosts, URL Rewrite, HTTPS Decryption 및 Add Rule 표시
Config: 구성 편집 화면에서 규칙 섹션을 확인합니다. Global Routing은 Home에서 선택하며 구성 편집 화면과 혼동하지 마세요.

03 연결 스위치를 켜고 권한 승인하기

이제 Home으로 돌아가 SERVER 그룹에서 사용할 서버를 누르고 선택 표시가 원하는 항목에 있는지 확인한 다음 Global Routing을 확인합니다. 스크린샷 상단의 Not Connected는 당시 연결되지 않은 상태를 나타냅니다. 이는 상태 안내일 뿐이며 서버 이름이나 테스트 수치로 연결 상태를 판단할 수는 없습니다.

Home 상단의 연결 스위치를 누릅니다. 처음 연결할 때 시스템에서 Shadowrocket의 VPN 구성 추가를 허용할지 물을 수 있습니다. 시스템 팝업에 표시된 앱 이름과 안내를 읽고 방금 직접 시작한 작업인지 확인한 뒤 시스템 절차에 따라 허용하고 기기에서 요구하는 인증을 완료하세요. 이 권한을 통해 시스템이 해당 네트워크 트래픽을 앱에서 처리하도록 할 수 있지만 서버 주소나 인증 정보가 자동으로 입력되지는 않습니다.

시스템 권한을 승인한 뒤 Shadowrocket으로 돌아가 상단 스위치와 상태 문구가 연결 상태를 유지하는지 확인합니다. 스위치가 바로 꺼지거나 오류가 표시되면 내용을 먼저 기록하고 서버 입력 항목을 확인하세요. 짧은 간격으로 스위치를 연속해서 누르지 마세요. 시스템 권한 승인이 완료되지 않았다면 연결을 다시 시작해 안내를 처리합니다. 기기가 관리 정책의 제한을 받는 경우에는 관련 제한도 먼저 확인해야 합니다.

연결 상태가 설정되었다는 것은 시스템에서 네트워크 처리가 시작되었다는 뜻일 뿐, 대상 서버와 모든 웹페이지를 사용할 수 있다는 의미는 아닙니다. 비밀번호 오류, 원격 서버 접속 불가, 도메인 조회 실패, 규칙 경로 불일치 등의 문제는 실제 요청이 발생한 뒤에야 드러날 수 있습니다. 따라서 이 단계가 끝나면 다음 절차에 따라 테스트하고 실제로 접속해 확인해야 합니다.

연결을 중지하려면 Home으로 돌아가 상단 스위치를 끄고 상태가 바뀌는지 확인합니다. 처음 연결을 확인하는 동안 새로운 자동 연결 조건을 함께 설정하지 마세요. 수동으로 껐는데 다시 연결되면 원인을 판단하기 어려워집니다. On Demand가 이미 설정되어 있다면 자동 연결 조건을 확인한 뒤 자동 동작을 잠시 중지할지 결정하세요. 자세한 확인 방법은 이 페이지의 설정 및 문제 해결을 참고하세요.

Shadowrocket 공식 Home 화면. 상단에 Not Connected, Global Routing, Connectivity Test가 표시되고 아래에 SERVER 그룹과 Add Server가 표시됨
Home: SERVER에서 선택된 항목, Global Routing, 상단 연결 스위치를 확인한 뒤 Connectivity Test로 점검합니다.

04 연결 및 트래픽 분기 결과 확인하기

확인할 항목은 세 가지입니다. 시스템 연결이 유지되는지, 선택한 서버 테스트가 완료되는지, 실제 요청이 예상대로 처리되는지 살펴보세요. 상단 스위치, VPN 표시 또는 한 번의 테스트 결과만으로 모든 대상에 정상적으로 접속할 수 있다고 단정할 수는 없습니다. 네트워크 환경을 그대로 유지하고 아래 순서대로 확인해야 결과를 구체적인 설정과 연결할 수 있습니다.

먼저 Connectivity Test 실행하기

Home에서 Connectivity Test를 누르고 테스트가 완료될 때까지 기다린 다음, 선택한 항목에 결과나 실패 메시지가 표시되는지 확인합니다. Settings의 Test Method에서 테스트 방식을 확인할 수 있습니다. 방식에 따라 검사하는 단계가 다르므로 특정 테스트가 성공했다고 실제 요청도 반드시 성공하는 것은 아니며, 테스트 하나의 실패만으로 모든 원인을 파악할 수도 없습니다.

테스트에 실패하면 현재 상태를 그대로 두고 서버 정보와 기본 네트워크부터 확인합니다. 항목을 한꺼번에 삭제하거나 테스트 결과만으로 구독 유효 기간을 판단하지 마세요. 목록 업데이트, 주소 연결, 인증 성공은 각각 별도로 점검해야 하는 문제입니다.

실제 요청과 정책 확인하기

브라우저를 열어 확인하려는 페이지에 접속한 뒤 새로고침하고 요청이 완료되는지 살펴봅니다. Config를 사용 중이라면 앱의 요청 기록이나 Data 관련 화면에서 대상 도메인과 요청 시간으로 해당 기록을 찾아 실제로 적용된 정책을 확인할 수 있습니다. 메뉴 위치는 현재 앱 화면을 기준으로 확인하세요. 오래된 요청이나 다른 앱의 백그라운드 요청을 이번 테스트로 착각하지 마세요.

프록시를 사용해야 하는 요청은 PROXY에 일치하는지 확인하고, 직접 연결해야 하는 요청은 DIRECT인지 확인합니다. REJECT에 일치한다면 먼저 차단 규칙이 원래 구성 의도에 맞는지 살펴봅니다. CDN을 사용하는 페이지는 여러 도메인에 요청을 보낼 수 있으므로 일부 리소스만 실패하면 주소창의 기본 도메인만 확인하지 말고 실패한 리소스 자체를 확인하세요.

규칙 문제인지 연결 문제인지 여전히 구분하기 어렵다면 Config에서 Proxy로 잠시 바꾸고 같은 대상에 다시 요청해 비교할 수 있습니다. Proxy는 정상이고 Config에서만 실패하면 규칙, FINAL, DNS를 우선 확인합니다. 두 모드 모두 실패하면 서버와 인증 정보를 먼저 점검합니다. 비교가 끝나면 원래 모드로 되돌리고 한 번에 조건 하나만 바꿔 변경 전후 결과를 기록하세요.

05 설정 확인 및 자주 발생하는 문제

문제를 점검할 때는 기본 네트워크 → 정보 → 연결 → 모드 → 규칙 순서로 확인합니다. 먼저 현재 구성을 저장하고 가져오기, 테스트, 연결, 실제 접속 중 어느 단계에서 실패했는지 기록하세요. 여러 항목을 한꺼번에 수정하면 다시 작동하더라도 어떤 설정이 영향을 주었는지 알기 어렵습니다.

목록이 표시되지 않는 경우: 가져오기 단계 확인

먼저 기기에서 네트워크에 정상적으로 접속할 수 있는지 확인한 뒤 Subscribe에 입력한 전체 주소, 특히 링크 끝부분의 매개변수를 살펴봅니다. 수동으로 업데이트한 후에도 서버 항목이 표시되지 않으면 원격에서 유효한 구독 내용이 반환되는지, 본인의 구독을 계속 사용할 수 있는지 확인하세요. 오류 메시지는 원문 그대로 보관하되 다른 사람에게 전달할 때는 구독 주소의 인증 정보를 가려야 합니다.

항목은 있지만 연결에 실패한다면 해당 서버의 편집 화면을 다시 열고 원본 정보와 Type, Host, Port, 인증 정보를 항목별로 대조합니다. 추가 전송 설정이 있다면 경로와 서버 이름 등의 입력 항목도 확인하세요. 여기서 중요한 것은 정보를 원본과 일치시키는 것이지 프로토콜이나 암호화 방식을 임의로 바꾸는 것이 아닙니다.

스위치가 켜져 있는데 접속되지 않는 경우: 단계별 확인

먼저 Connectivity Test를 실행한 다음 Global Routing을 확인합니다. Direct 상태에서는 프록시 서버의 작동 여부를 확인할 수 없습니다. Config 상태라면 올바른 구성이 선택되어 있는지, 대상 요청이 앞선 규칙에 먼저 일치하는지 확인하세요. FINAL은 앞선 규칙에 일치하지 않은 요청에만 적용되며, 먼저 일치한 DIRECT나 REJECT를 덮어쓰지 않습니다.

서버 테스트 결과는 있지만 도메인 접속에 실패한다면 DNS 설정과 관련 요청 기록을 추가로 확인합니다. DNS를 바꾸는 것이 모든 문제의 해결책은 아닙니다. 잘못된 인증, 원격 서버 접속 불가, 규칙 차단은 DNS 조정으로 해결되지 않습니다. 현재 조회 설정을 기록하고 실제로 도메인 조회 단계에서 문제가 발생했는지 확인한 뒤 한 가지 항목씩 비교하세요. 단계별 점검 순서는 스위치는 켜져 있지만 인터넷에 접속되지 않을 때 확인할 항목을 참고하세요.

Settings: 먼저 확인하고 한꺼번에 바꾸지 않기

Settings를 열면 Test Method, On Demand, Diagnostics, Proxy, TCP, UDP 등의 메뉴를 확인할 수 있습니다. Test Method에서는 현재 테스트 방식을 확인하고, On Demand에서는 조건에 따른 자동 연결을 관리하며, Diagnostics에서는 진단 정보를 확인하거나 생성합니다. 각 항목의 용도는 다르므로 처음 사용할 때 모든 설정을 바꿀 필요는 없습니다.

수동으로 끈 뒤 자동으로 다시 연결되면 앱을 바로 삭제하지 말고 먼저 On Demand에 조건을 충족하는 규칙이 있는지 확인합니다. 특정 앱이나 네트워크에서만 실패한다면 Wi-Fi 또는 셀룰러 네트워크, 실패한 대상, 발생 시간을 기록하고 TCP, UDP 등의 관련 설정을 살펴봅니다. 고급 설정은 문제 범위를 파악한 뒤 의미를 확인하고, 문제와 관계없는 항목은 변경하지 마세요.

Diagnostics 정보를 저장해야 한다면 공유 전에 서버 주소, 구독 링크, 인증 정보, 개인 접속 기록이 포함되어 있는지 확인하고 민감한 정보를 가립니다. 전체 연결 정보를 공개하기보다는 오류 유형, 발생 순서, 이미 수행한 점검 내용을 기록하는 편이 재확인에 유용합니다.

문제 해결 후 Home으로 돌아가 서버, Global Routing, 연결 스위치를 다시 확인한 다음 확인 절차에 따라 재테스트합니다. 구성 파일 구조, DOMAIN-SUFFIX, GEOIP, IP-CIDR, FINAL에 대한 자세한 설명은 구성 항목 및 규칙 참고에서 확인하세요. 작업 순서를 다시 살펴보려면 이 페이지의 추가 및 가져오기부터 시작하면 됩니다.

Shadowrocket 공식 Settings 화면. Language, Test Method, Today Widget, On Demand, Diagnostics, Proxy, TCP, UDP 표시
Settings: 문제 해결 시 Test Method, On Demand, Diagnostics를 중심으로 확인하고 기존 설정을 보존한 채 하나씩 테스트하세요.