OFFICIAL MANUAL / FIRST CONNECTION
Shadowrocket 사용법: 구독 가져오기와 첫 연결
가져오기, 라우팅, 연결, 확인, 문제 해결 순서로 진행합니다. 먼저 확인 가능한 연결을 한 번 완료한 뒤 규칙과 자동 연결 설정을 조정하세요.
- iPhone / iPad
- 기존 구독 또는 서버 정보
- 5단계로 진행
STEP 01 / IMPORT
Add Server: 서버 추가 또는 구독 가져오기
Shadowrocket을 열고 Home으로 이동합니다. 먼저 보유한 정보가 서버 목록을 갱신하는 구독 링크인지, 단일 서버의 주소·포트·인증 정보인지 확인하세요. 입력 방법이 서로 다릅니다. 링크 길이만으로 종류를 판단하지 말고, 잘 모르겠다면 서비스 제공업체의 안내에서 용도를 확인하세요. 처음 설정할 때는 연결 스위치를 끈 채 정보를 모두 저장합니다.
기존 구독 링크가 있는 경우: Subscribe 선택
Home 오른쪽 상단의 추가 버튼을 눌러 Add Server로 이동합니다. Type 목록을 열고 Subscribe를 선택한 다음 전체 구독 링크를 URL 필드에 붙여 넣습니다. 메모에는 알아보기 쉬운 이름을 입력할 수 있습니다. 붙여 넣은 링크의 처음과 끝이 온전한지 확인하고, 복사 과정에서 공백이나 줄바꿈, 채팅 문구가 함께 들어가지 않았는지 살펴보세요. 링크의 매개변수를 직접 삭제하거나 수정하지 마세요.
확인한 뒤 화면의 저장 버튼을 눌러 Home으로 돌아가 구독 내용을 불러올 때까지 기다립니다. 가져오기가 완료되었는지는 구독 이름만 표시되는지가 아니라, 해당 구독 아래에서 선택 가능한 서버가 표시되는지로 확인할 수 있습니다. 그룹만 있고 서버가 없다면 먼저 오류 안내가 있는지 확인한 뒤 구독을 업데이트하세요. 같은 링크를 반복해서 새로 추가하지 마세요. 어떤 항목을 테스트 중인지 구분하기 어려워집니다.
구독 링크에는 보통 계정 인증 정보가 포함되므로 계정 정보처럼 안전하게 관리하세요. 전체 링크를 공개 게시판에 붙여 넣거나, 테스트를 위해 출처를 알 수 없는 웹페이지에 제출하지 마세요. 앱에서 구독을 업데이트하면 해당 링크에서 최신 서버 목록을 요청합니다. App Store에서 Shadowrocket을 업데이트하는 것과는 별개의 작업입니다. 나중에 서버 목록이 바뀌면 기존 구독을 업데이트하고 선택한 서버가 여전히 있는지 다시 확인하세요.
기존 단일 서버 정보가 있는 경우: 해당 프로토콜에 맞게 입력
단일 서버 정보를 받았다면 Add Server에서 서비스 제공업체가 지정한 프로토콜 유형을 먼저 선택한 뒤 서버 주소, 포트, 해당 프로토콜에 필요한 인증 항목을 입력합니다. 예를 들어 Shadowsocks와 VLESS는 인증 항목이 서로 다르므로 주소가 같더라도 Type을 서로 바꿔 선택할 수 없습니다. TLS, 전송 방식, 서버 이름 관련 항목도 받은 정보에 맞춰 입력하고, 경험에 의존해 임의로 켜거나 끄지 마세요.
단일 서버 정보를 가져오는 QR 코드가 있다면 Scan QR Code로 읽은 뒤 저장하기 전에 인식된 Type과 서버 주소를 확인하세요. QR 코드는 정보를 담는 수단일 뿐, 매개변수가 유효하다는 보장은 없습니다. 인식에 실패하면 원본 정보를 다시 확인하고, 포트나 인증 값을 추측해 입력하지 마세요. 프로토콜 항목의 의미는 용어 설명에서 확인할 수 있습니다.
저장한 뒤 Home으로 돌아와 사용할 서버를 선택하고, 현재 선택된 항목이 의도한 서버인지 확인합니다. 여기까지는 정보가 클라이언트에 입력된 상태일 뿐, 서버 연결이 가능하다는 뜻은 아닙니다. 다음 단계에서 요청을 어떤 방식으로 라우팅할지 정한 뒤 연결 스위치를 켜세요. 모드를 모르는 상태에서 바로 가져오기가 성공했는지 판단하지 마세요.
- Input
- 기존 구독 링크 또는 완전한 서버 매개변수
- Result
- Home에 선택 가능한 서버가 표시되고 항목 하나가 선택되어 있습니다.
- Next
- Global Routing을 열어 이번 테스트에 사용할 모드를 확인합니다.
STEP 02 / GLOBAL ROUTING
Global Routing: Config, Proxy 또는 Direct 선택
Home으로 돌아가 Global Routing을 눌러 현재 모드를 확인합니다. 여기서는 요청 처리 방식을 정합니다. 서버 지역을 선택하거나 구독 업데이트를 켜는 곳이 아닙니다. 먼저 현재 선택 항목을 기억해 두면 이후 테스트 결과가 서버와 라우팅 설정 중 어느 쪽에서 비롯됐는지 비교할 수 있습니다. 세 가지 모드는 Config, Proxy, Direct입니다.
- Config
- Config: 현재 구성 파일의 규칙과 정책에 따라 요청을 처리하며, 요청별로 PROXY, DIRECT 또는 REJECT를 적용할 수 있습니다.
- Proxy
- Proxy: 클라이언트가 처리하는 요청을 프록시 경로로 보냅니다. 첫 연결을 확인할 때 비교 기준으로 사용하기 좋습니다.
- Direct
- Direct: 직접 연결합니다. 이 모드에서 접속이 정상이라고 해서 프록시 경로까지 확인된 것은 아닙니다.
기존 서버를 처음 확인할 때는 Proxy를 먼저 선택해 규칙 일치 여부를 변수에서 제외한 뒤 다음 단계에서 연결을 켜도 됩니다. 여기서 말하는 범위는 클라이언트가 처리하는 요청이며, 기기의 모든 통신을 예외 없이 처리한다는 뜻은 아닙니다. 모드를 선택한 뒤 Home으로 돌아가 표시가 바뀌었는지, 서버가 올바르게 선택되어 있는지 확인하세요.
Config를 사용하려면 Config 페이지로 이동해 현재 사용 중인 구성 파일을 확인합니다. Config 페이지는 구성 관리 화면이고, Global Routing의 Config는 라우팅 모드입니다. 이름은 같지만 작업은 서로 다릅니다. 서버 구독은 규칙 구성 전체와 같지 않으며, 서버 목록을 가져왔다고 해서 특정 규칙 파일로 전환된 것은 아닙니다.
현재 구성의 규칙을 잘 모르겠다면 첫 연결 전에 굳이 수정하지 않아도 됩니다. 먼저 Proxy로 서버 경로가 작동하는지 확인한 다음 Config로 바꿔 비교하세요. Config에서 일부 요청이 직접 연결되는 것은 규칙에 따른 정상 동작일 수 있으며, 연결 스위치가 작동하지 않는다는 뜻은 아닙니다. DOMAIN-SUFFIX, FINAL, 정책의 의미는 규칙 키워드 설명에서 확인할 수 있습니다.
STEP 03 / CONNECT
Home: 연결 스위치 켜기 및 권한 승인
Home에서 현재 서버와 Global Routing을 다시 확인한 뒤 상단의 연결 스위치를 켭니다. 처음 연결할 때 시스템에서 Shadowrocket이 VPN 구성을 추가하도록 허용할지 물을 수 있습니다. 이 안내는 앱이 네트워크 트래픽을 처리하기 위한 시스템 연결 구성을 만들려는 것이며, 입력한 원격 서버를 시스템이 검증했다는 뜻은 아닙니다. 안내 내용을 읽고 직접 시작한 작업이 맞는지 확인한 뒤 시스템 요구에 따라 허용하고 인증을 완료하세요.
권한을 승인한 뒤 Shadowrocket으로 돌아와 스위치와 연결 상태가 계속 켜져 있는지 확인합니다. 기기마다 연결 표시가 나타나는 위치가 다를 수 있으므로 상태 막대에 특정 아이콘이 보이는지만으로 판단하지 마세요. 인증 실패, 연결 시간 초과, 서버에 연결할 수 없는 문제가 계속 발생할 수 있습니다. 시스템 연결이 설정된 것과 원격 프록시 경로를 사용할 수 있는지는 각각 확인해야 합니다.
이전에 권한 요청을 취소했다면 Home으로 돌아가 다시 켜 보고 시스템 안내가 나타나는지 확인합니다. 스위치가 바로 꺼지면 앱 안내를 먼저 읽고, 시스템 Settings에서 관련 VPN 구성의 상태와 기기의 제한 사항을 확인하세요. 관리 대상 기기라면 기기 관리 정책을 따르세요. 안내를 완료하려고 기존 관리 구성을 임의로 삭제하지 마세요.
연결이 계속 켜져 있으면 당장은 서버를 여러 개 바꾸거나 Global Routing을 함께 변경하지 마세요. 다음 단계에서 테스트 결과를 먼저 확인합니다. 테스트를 중단하려면 Home으로 돌아가 스위치를 직접 끄고 앱에 연결 해제 상태가 표시되는지 확인하세요. 연결이 자동으로 다시 설정되면 On Demand나 다른 자동 연결 조건이 설정되어 있는지 확인합니다.
STEP 04 / VERIFY
Connectivity Test: 연결 및 규칙 결과 확인
연결을 켠 뒤 Home에서 Connectivity Test를 실행해 기존 서버를 테스트합니다. 테스트가 끝날 때까지 기다린 다음 현재 선택한 서버에 결과가 반환되었는지 확인하세요. 테스트 수치는 특정 테스트 방식과 당시 네트워크 조건에서 한 번 측정한 결과일 뿐, 웹페이지 로딩 속도나 지속적인 사용 가능성을 뜻하지 않습니다. 시간 초과가 발생하면 점검할 필요가 있지만, 한 번의 시간 초과만으로 모든 요청이 실패한다고 단정할 수는 없습니다.
실제 접속을 먼저 테스트한 뒤 규칙 일치 여부 확인
브라우저에서 평소 정상적으로 이용하는 가벼운 페이지를 열고 새 요청이 완료될 때까지 기다립니다. 연결을 끊어도 캐시된 내용은 표시될 수 있으므로 이미 열려 있던 페이지만 확인하지 마세요. 이어서 별도의 페이지도 테스트하고 모든 접속이 실패하는지, 일부만 실패하는지, 아니면 로딩이 느린지 기록합니다. 특정 웹사이트 자체의 장애를 곧바로 Shadowrocket 문제로 판단하지 마세요.
앱으로 돌아가 연결 기록이나 Data에서 확인할 수 있는 관련 정보를 살펴보고 방금 요청한 대상을 찾아 실제 적용된 정책과 경로를 확인합니다. 기록에 일치 규칙이 표시된다면 예상한 결과인지도 확인하세요. 예를 들어 직접 연결하려던 대상은 DIRECT와 일치하고, 프록시를 사용하려던 대상은 현재 서버나 구성의 해당 정책을 사용해야 합니다. 트래픽 수치가 증가한 것만으로 특정 요청이 프록시를 거쳤다고 입증되지는 않습니다.
Proxy에서 정상적으로 접속했다면 Config로 바꿔 같은 페이지를 다시 방문할 수 있습니다. 결과를 비교할 때는 같은 서버와 로컬 네트워크를 유지하세요. Config에서만 차이가 난다면 구독을 다시 가져오기보다 현재 구성, 규칙 순서, 정책 선택을 먼저 점검합니다. 규칙에 따라 요청이 Home에서 선택한 서버와 다른 정책으로 전달될 수도 있으므로 실제 기록을 함께 확인하세요.
확인 결과를 세 단계로 나누기
첫째, 스위치와 앱 상태로 클라이언트 연결 여부를 확인합니다. 둘째, 테스트 결과와 실제 접속으로 서버 경로의 사용 가능 여부를 확인합니다. 셋째, 같은 대상의 규칙 일치 기록으로 규칙이 예상대로 작동하는지 확인합니다. 세 단계는 서로 대신할 수 없습니다. 첫 번째 단계만 완료한 상태에서 구독이 유효하다고 단정해서는 안 되며, 두 번째 단계까지 확인했더라도 Config가 예상대로 요청을 라우팅하는지 살펴봐야 합니다.
기존 네트워크와 비교하려면 먼저 현재 라우팅 모드를 기록하고, 수동으로 연결을 끊은 뒤 같은 페이지를 다시 요청한 다음 연결을 복구해 한 번 더 테스트합니다. 결과를 해석할 수 있도록 한 번에 조건 하나만 바꾸세요. 테스트가 끝나면 일상적으로 사용할 모드를 유지하면 됩니다. 테스트 수치를 낮추려고 서버를 계속 바꿀 필요는 없습니다.
- Connection
- 스위치가 켜져 있고 앱의 연결 상태가 안정적입니다.
- Request
- 새로 요청한 페이지가 정상적으로 열립니다.
- Routing
- 요청 기록의 규칙, 정책, 경로가 예상한 결과와 일치합니다.
STEP 05 / TROUBLESHOOT
자주 발생하는 문제: 처음으로 실패한 단계부터 점검
문제를 찾을 때는 먼저 ‘어느 단계에서 처음으로 예상한 결과가 나오지 않았는가’를 확인하세요. Home에 사용할 수 있는 항목이 없다면 가져오기부터 해결하고, 권한 승인이 끝나지 않았다면 시스템 연결부터 확인합니다. 연결은 되지만 일부 페이지가 실패한다면 접속과 규칙을 점검하세요. 구성을 초기화하고 구독을 다시 가져오고 네트워크까지 한꺼번에 바꾸지 마세요. 비교 조건이 사라지고 원래 올바르던 정보가 덮어써질 수 있습니다.
구독 내용이 없거나 가져오기 오류가 표시되는 경우
전체 URL과 구독 용도를 다시 확인하고, 서비스 안내 웹페이지 주소를 잘못 입력하지 않았는지, 복사 과정에서 매개변수가 빠지지 않았는지 살펴보세요. 구독 내용을 가져오려면 현재 네트워크에서 해당 링크에 접속할 수 있어야 합니다. 클라이언트가 실행된다고 해서 구독 주소까지 접속 가능하다는 뜻은 아닙니다. 인증 또는 내용 형식 오류가 표시되면 오류 문구를 기록하고 서비스 제공업체에 링크 상태와 지원 형식을 문의하세요. 전체 링크를 공개하지 말고, 원인을 확인하지 않은 채 인증 매개변수를 임의로 수정하지 마세요.
단일 서버를 가져오지 못했다면 Type부터 확인하고 주소, 포트, 인증, TLS, 전송 설정 순서로 하나씩 대조하세요. 항목이 누락된 경우와 값이 잘못된 경우는 다릅니다. 저장에 성공했더라도 입력한 값이 올바르다는 뜻은 아닙니다. QR 코드에서 인식한 내용도 확인해야 합니다. 필수 정보가 빠졌다면 흔히 쓰는 기본값을 임의로 입력하지 말고 원본 안내에서 정확한 값을 확인하세요.
스위치는 켜지지만 실제 요청이 실패하는 경우
현재 선택한 서버가 업데이트된 목록에 여전히 있는지 확인한 다음 Connectivity Test와 실제 페이지 접속을 각각 테스트합니다. 사용할 서버가 여러 개라면 라우팅 모드는 그대로 두고 서버만 바꿔 한 번 비교해 보세요. 이어서 가능한 경우 Wi-Fi와 셀룰러 네트워크를 전환해 동일한 테스트를 반복합니다. 이를 통해 문제가 서버를 바꿀 때 달라지는지, 특정 로컬 네트워크에서만 발생하는지 구분할 수 있습니다.
모든 테스트가 실패한다면 서버 주소가 올바르게 확인되는지, 포트와 인증 정보가 일치하는지 점검하고 앱에 표시된 오류 유형도 살펴보세요. 연결 시간 초과와 인증 실패는 확인할 항목이 다릅니다. 시간 초과라면 네트워크에서 서버에 도달할 수 있는지, 인증 실패라면 자격 증명과 프로토콜이 맞는지 먼저 확인하세요. 모든 상황을 단순히 ‘연결 실패’로 묶거나 스위치를 반복해서 누르는 것을 해결 방법으로 삼지 마세요.
Proxy에서는 정상이고 Config에서 일부 접속이 실패하는 경우
Config에서 현재 사용 중인 구성 파일을 확인한 뒤, 접속에 실패한 대상의 일치 기록을 살펴봅니다. 예상한 규칙에 일치하는지, 정책이 사용 가능한 서버를 가리키는지, DIRECT 또는 REJECT로 지정되지는 않았는지 확인하세요. 도메인 조회가 관련된 경우 도메인 확인에 실패한 것인지, 확인 후 연결에 실패한 것인지 구분해야 합니다. 처음 문제를 점검할 때는 DNS 설정을 여러 개 한꺼번에 바꾸지 말고 현재 상태와 증거를 기록하세요. 관련 용어는 용어 설명에서 확인할 수 있습니다.
일부 대상만 실패하고 다른 요청은 정상이라면 모든 구성을 바로 삭제하지 말고 해당 대상, 일치 규칙, 사용 경로를 먼저 확인하세요. 속도만 느린 경우에는 가벼운 페이지와 실제 서비스 요청을 각각 비교하고 비슷한 시간대에 테스트합니다. 한 번 측정한 지연 시간만으로 대역폭, 서버 부하, 대상 서비스 응답, 로컬 네트워크 품질의 차이를 모두 판단할 수는 없습니다.
재현 가능한 정보를 정리한 뒤 다음 단계로 진행
기기 종류, 로컬 네트워크, Global Routing 모드, 현재 프로토콜, 오류가 발생한 단계, 앱에 표시된 원문 오류를 기록하세요. 기록을 공유하기 전에는 구독 URL, 서버 인증 정보, 기타 개인 정보를 가리고 문제를 파악하는 데 필요한 내용만 남깁니다. ‘같은 서버가 Proxy에서는 작동하지만 Config에서 특정 대상에 접속되지 않는다’고 구체적으로 설명하면 앱을 반복해서 재설치하는 것보다 원인을 좁히는 데 도움이 됩니다.
첫 사용 과정은 정보 가져오기, 서버 선택, 연결 설정, 실제 요청 완료, 규칙 결과 확인 순서로 마무리됩니다. 구체적인 오류는 자주 묻는 질문에서 확인할 수 있습니다. App Store 스토어 지역, 구매, 기기 변경 후 복원에 대한 내용은 구매와 설치 안내를 참고하세요. 이 안내에서는 수동 연결의 기본 흐름을 다룹니다. 이후 On Demand나 복잡한 구성을 조정할 때도 한 번에 조건 하나만 바꾸며 결과를 확인하세요.