Shadowrocket 첫 연결 가이드
기존 정보를 가져오고 Global Routing을 선택한 다음 연결 상태를 확인합니다.
iPhone 및 iPad용입니다. 아래 5단계 순서에 따라 처음 설정하세요.
1단계: 서버 추가 또는 구독 가져오기
먼저 Home에 선택할 수 있는 서버가 표시되어야 합니다. 그다음 모드와 연결 스위치를 설정하세요. 구독 링크와 서버 한 대의 정보는 입력 방식이 다릅니다. 구독 링크는 업데이트 가능한 서버 목록을 가져오는 데 사용하고, 단일 서버 정보는 특정 서버의 매개변수를 저장하는 데 사용합니다. 가지고 있는 정보에 맞는 한 가지 방법만 사용하면 되며, 같은 정보를 중복으로 추가할 필요는 없습니다.
구독 링크가 있는 경우: Subscribe 선택
Shadowrocket을 열고 Home으로 이동해 오른쪽 위의 더하기 버튼을 누른 다음 Add Server를 엽니다. Type에서 Subscribe를 선택하고 본인의 전체 구독 링크를 URL에 입력합니다. 알아보기 쉬운 이름을 지정한 뒤 오른쪽 위의 Done을 눌러 저장합니다. Home으로 돌아와 구독 정보를 가져올 때까지 기다린 다음 해당 그룹에 서버 항목이 표시되는지 확인합니다.
링크를 복사할 때는 원본 전체를 복사하고 안내 문구, 공백, 줄바꿈이 함께 들어가지 않도록 하세요. 끝부분의 복잡해 보이는 매개변수를 직접 삭제해서도 안 됩니다. 구독 주소에는 인증 정보가 포함될 수 있으며, 이 매개변수는 접근 권한에 영향을 줍니다. 본인 기기에서만 사용하고 전체 주소를 공개 댓글, 채팅방 또는 문제 해결용 스크린샷에 올리지 마세요.
저장 후 구독 이름만 보이고 서버가 표시되지 않는다면 현재 네트워크에서 구독 정보를 가져올 수 있는지 확인한 뒤 해당 구독을 업데이트해 보세요. 서비스 제공업체의 웹사이트 주소가 구독 주소인 것은 아닙니다. 로그인 페이지, 주문 페이지, 일반 안내 페이지는 Subscribe에 입력할 수 없습니다. 웹페이지나 오류 안내가 표시되면 프로토콜 설정을 계속 바꾸지 말고 해당 링크의 용도를 서비스 제공업체에 확인하세요.
서버 한 대의 정보가 있는 경우: Add Server에서 입력
서버 주소, 포트, 비밀번호, UUID 등의 개별 정보를 받았다면 Home의 더하기 버튼을 눌러 Add Server로 이동합니다. Type에서는 Subscribe가 아니라 정보에 명시된 프로토콜(예: Shadowsocks, VMess, VLESS 또는 Trojan)을 선택합니다. 원본 정보를 기준으로 서버 주소, 포트, 인증 항목을 입력하세요. 프로토콜마다 표시되는 항목이 다르므로 다른 프로토콜의 항목까지 채울 필요는 없습니다.
암호화 방식, TLS, Server Name, 전송 방식, 경로 등의 추가 매개변수는 특히 주의하세요. 임의로 입력할 메모가 아니라 서버 측 요구 사항과 일치해야 하는 값입니다. 주소와 포트가 정확하더라도 전체 항목이 올바르다는 뜻은 아닙니다. 안내를 없애려고 프로토콜을 임의로 바꾸거나 TLS를 끄지 마세요. 필요한 정보가 없다면 먼저 본인의 서비스 제공업체 자료를 확인하세요.
호환되는 QR 코드가 있다면 Scan QR Code로 읽을 수 있습니다. 카메라 권한은 QR 코드 스캔에만 사용됩니다. 인식이 끝나면 프로토콜, 주소, 포트를 확인한 뒤 저장하세요. QR 코드에도 연결 인증 정보가 포함될 수 있으므로 공개하지 마세요. 직접 입력과 QR 코드 스캔은 정보 입력 방식만 다르며, 이후 서버 선택과 연결 과정은 같습니다.
Home으로 돌아가 기본 서버 선택
저장에 성공하면 Home의 서버 목록에서 사용할 항목을 선택하고 왼쪽 선택 표시가 켜졌는지 확인합니다. 서버 이름이 여러 개 보이는 것은 가져오기에 성공했다는 뜻일 뿐, 모든 항목의 테스트가 통과했거나 특정 항목이 기본 서버로 선택됐다는 뜻은 아닙니다. 처음에는 이름과 용도가 분명한 항목을 선택하고, 서버와 다른 설정을 동시에 바꾸지 마세요.
이 단계의 완료 기준은 Home에 서버 항목이 표시되고, 사용할 항목이 선택되어 있으며, 해당 항목을 열어 매개변수를 확인할 수 있는 것입니다. Subscribe는 서버 목록의 출처를 관리하고 Config는 구성 파일을 관리하므로 혼동하지 마세요. 용어를 확인하려면 개념 빠른 참조를 살펴본 다음 기본 가져오기를 마치고 다음 단계로 진행하세요.
2단계: Global Routing 선택
서버는 프록시 연결에 사용할 출구를 결정하고, Global Routing은 트래픽 처리 방식을 결정합니다. Home에서 Global Routing을 눌러 현재 목적에 맞게 구성(Config)/프록시(Proxy)/직접 연결(Direct)을 선택합니다. 처음 확인할 때는 어떤 모드를 선택했는지 분명히 해 두세요. 그렇지 않으면 연결 스위치가 켜져 있어도 정상적인 분할 라우팅을 연결 실패로 오해할 수 있습니다.
구성(Config): 현재 구성을 기준으로 판단
구성(Config)은 현재 사용 중인 구성 파일과 그 규칙에 따라 연결을 처리합니다. 이 모드를 사용하기 전에 Config에서 사용할 구성 파일이 맞는지 확인하세요. 파일이 목록에 보인다고 선택된 것은 아니며, 파일 이름만 보고 내부 규칙을 추측해서도 안 됩니다. 아직 구성을 준비하지 않았다면 먼저 최소한의 연결 테스트를 완료한 뒤 전체 매뉴얼을 참고해 분할 라우팅을 설정하세요. 출처가 불분명한 구성을 여러 개 한꺼번에 가져오는 것보다 문제를 파악하기 쉽습니다.
규칙은 일반적으로 순서대로 매칭되며 대상에는 DIRECT, PROXY 또는 다른 구성된 정책이 적용될 수 있습니다. 예를 들어 DOMAIN-SUFFIX,example.com,PROXY는 해당 도메인과 일치하면 PROXY를 사용한다는 뜻입니다. FINAL,PROXY는 앞선 규칙과 일치하지 않는 연결에 최종 처리 방식을 지정합니다. 이는 문법 설명일 뿐, 처음 설정할 때 바로 규칙을 편집할 필요는 없으며 기존 구성을 덮어써서도 안 됩니다.
프록시(Proxy): 프록시 경로 확인
프록시(Proxy)는 전체 라우팅 모드를 프록시 사용으로 설정하므로 선택한 서버가 실제 접속을 처리할 수 있는지 처음 확인할 때 적합합니다. Home에서 서버를 선택하고 Proxy를 지정한 다음 다음 단계에서 연결을 켭니다. 처음 테스트할 때 분할 라우팅 규칙의 영향을 줄일 수 있지만, 모든 요청이 언제나 원격 서버를 거친다는 뜻은 아닙니다. 시스템 트래픽, 제외 항목 및 관련 설정이 실제 경로에 영향을 줄 수 있습니다.
Proxy에서 테스트와 웹페이지 접속이 정상인데 Config로 전환한 뒤 특정 대상만 문제가 생긴다면 구독 전체를 다시 가져오기보다 해당 대상에 적용된 규칙이나 정책을 먼저 확인하세요. 이렇게 비교하면 서버를 사용할 수 없는 문제와 분할 라우팅 결과가 예상과 다른 문제를 구분할 수 있습니다.
직접 연결(Direct): 프록시 성공 여부를 판단하는 기준이 아님
직접 연결(Direct)은 트래픽을 직접 연결 방식으로 처리하며, 일반적인 접속 경로로 선택한 프록시 서버를 사용하지 않습니다. 기기에서 원래 사용하던 네트워크와 비교할 때 쓸 수 있지만 Direct에서 웹페이지가 열린다고 해서 방금 가져온 프록시 서버가 유효하다는 뜻은 아닙니다. 앱의 연결 스위치를 켜는 것과 프록시를 사용하는 것도 별개의 판단이므로 스위치 상태만 보고 결론을 내리지 마세요.
이 단계가 끝나면 선택한 모드와 Config에서 사용 중인 구성 파일을 기록해 두세요. 이후 다시 테스트할 때는 가능하면 이 두 항목을 그대로 유지합니다. 규칙 우선순위, 정책, 구성 항목에 대한 자세한 설명은 전체 매뉴얼을 참고하세요. 여기서는 먼저 테스트 목적과 선택한 모드가 일치하는지 확인합니다.
3단계: 연결 스위치를 켜고 VPN 구성 허용
Home으로 돌아가 기본 서버의 선택 표시와 Global Routing을 다시 확인합니다. 문제가 없으면 화면 위쪽의 연결 스위치를 켭니다. 처음 연결할 때 시스템에서 Shadowrocket이 VPN 구성을 추가하도록 허용할지 묻는 안내가 표시될 수 있습니다. 이는 앱이 시스템 네트워크 처리 기능을 사용하기 위한 승인이지, 구독이 정상적으로 검증됐다는 알림은 아닙니다.
시스템 팝업에서 요청한 앱이 Shadowrocket인지 확인한 뒤 허용을 선택하고 기기 안내에 따라 본인 확인을 완료합니다. 승인하는 동안 앱을 반복해서 전환하거나 연결 스위치를 연속으로 누르지 마세요. 완료되면 Home으로 돌아와 연결 상태가 업데이트될 때까지 기다립니다. 앞서 승인을 취소했다면 다시 연결을 시도하고 시스템 안내에 따라 진행하세요.
iPhone과 iPad에서는 시스템 안내의 레이아웃, 인증 방식, 상태 표시 위치가 다를 수 있으므로 기기에 실제로 표시되는 내용을 기준으로 진행하세요. 시스템 구성을 확인하려면 시스템 Settings에서 VPN 관련 항목을 찾아 Shadowrocket 구성이 있는지 확인할 수 있습니다. 연결 실패를 해결하려고 용도를 알 수 없는 기기 관리 구성을 삭제하지 마세요.
현재 작동 중인 다른 VPN 연결이 있는지도 확인하세요. 여러 구성이 현재 연결을 두고 충돌하면 연결 직후 끊기거나 스위치가 자동으로 원래 상태로 돌아오거나 상태 표시가 예상과 다를 수 있습니다. 먼저 현재 활성화된 구성이 무엇인지 확인한 뒤 테스트하세요. 관리되는 기기에서 VPN 구성 추가가 제한되어 있다면 기기 관리 요구 사항을 따라야 하며 서버 매개변수를 바꿔 시스템 제한을 해결할 수는 없습니다.
이 단계의 완료 기준은 시스템 연결이 설정된 것이며 모든 대상에 접속할 수 있다는 뜻은 아닙니다. 연결 상태가 정상이라는 것은 로컬 네트워크 처리가 시작됐다는 의미일 뿐입니다. 다음 단계에서 원격 연결 상태와 실제 웹페이지 접속을 확인해야 합니다. 스위치를 켠 상태로 유지할 수 없다면 이 단계에서 승인을 비롯한 시스템 상태를 먼저 점검하고 DNS나 규칙은 아직 변경하지 마세요.
4단계: Connectivity Test 및 실제 접속 확인
연결이 설정되면 Home에서 Connectivity Test를 찾아 한 번 실행하고 결과가 표시될 때까지 기다립니다. 테스트는 현재 조건에서의 연결 상태를 확인하기 위한 것이므로 지연 시간 숫자만 기록하지 말고 성공, 시간 초과 또는 기타 오류인지도 남겨 두세요. 목록의 지연 시간 테스트와 연결 후 실제 접속은 서로 다른 확인 항목입니다. 서버가 응답한다고 해서 인증, 전송, 대상 접속 과정이 모두 정상인 것은 아닙니다.
먼저 연결을 테스트한 다음 실제 대상에 접속
테스트가 끝나면 브라우저를 열어 실제로 사용하려는 일반 웹페이지에 접속합니다. 평소 접속 상태를 확인할 수 있고 주소가 분명한 대상을 하나 선택하세요. 여러 페이지를 한꺼번에 열지 마세요. 이미 페이지가 열려 있었다면 새로 고침해 콘텐츠가 실제로 다시 로드됐는지 확인합니다. 캐시된 콘텐츠가 보인다고 현재 경로가 작동한다고 단정할 수 없습니다. 한 번에 대상 하나만 테스트하면 브라우저 결과와 앱 기록을 쉽게 대조할 수 있습니다.
Connectivity Test는 성공했지만 특정 웹페이지가 열리지 않는다면 테스트 대상과 웹페이지의 접속 조건이 다르거나 DNS, 규칙 적용, 대상 서비스 자체에 문제가 있을 수 있습니다. 반대로 테스트 대상에 일시적으로 연결할 수 없다고 해서 모든 서버가 실패했다고 단정할 필요는 없습니다. 테스트 결과와 실제 접속을 함께 확인하고 한 번의 결과만으로 판단하지 마세요.
Config 사용 시 분할 라우팅도 확인
구성(Config)을 사용 중이라면 직접 연결이 예상되는 대상과 프록시 사용이 예상되는 대상을 각각 하나 이상 확인합니다. 앱의 연결 기록에서 해당 요청과 적용된 정책을 보고 현재 구성의 규칙 순서와 대조하세요. 웹사이트가 열린다는 사실만으로 예상한 경로를 사용했다고 단정할 수는 없습니다. 적용된 규칙 기록을 함께 확인해야 합니다.
Data는 연결 중 트래픽 변화를 파악하는 데 참고할 수 있지만 데이터가 증가했다고 규칙이 올바르거나 모든 앱의 접속 경로가 확인된 것은 아닙니다. 처음 확인할 때는 선택한 서버와 Global Routing이 명확한지, Connectivity Test 결과가 있는지, 실제 대상에 접속할 수 있는지가 중요합니다. Config를 사용한다면 해당 정책이 적용된 이유도 설명할 수 있어야 합니다.
네 항목이 모두 예상대로라면 현재 설정을 유지하고 정상적으로 사용할 수 있습니다. 테스트 숫자를 더 낮추려고 서버를 계속 바꾸거나 DNS를 바로 변경할 필요는 없습니다. 현재 정상 작동하는 설정을 기록해 두면 나중에 문제가 생겼을 때 당시 네트워크, 모드, 서버와 비교할 수 있습니다.
5단계: 실패 단계별 문제 해결
먼저 ‘내용을 가져오지 못함’, ‘시스템 연결이 설정되지 않음’, ‘연결 후 접속 이상’을 구분하세요. 단계마다 확인해야 할 대상이 다릅니다. 한 번에 한 항목만 바꾸고 변경 후 같은 대상으로 다시 테스트하세요. 서버, DNS, 구성을 동시에 바꾸면 문제가 해결되더라도 원인을 파악하기 어렵고 나중에 같은 문제가 반복될 수 있습니다.
구독에 내용이 없음: 입력값과 가져오기 과정 확인
Subscribe 기록으로 돌아가 URL 전체가 입력됐는지, 서비스 제공업체의 웹페이지를 잘못 붙여 넣지 않았는지, 현재 네트워크에서 구독 정보를 가져올 수 있는지 확인합니다. 원래 서비스 제공업체가 링크를 재설정했거나 링크가 만료 또는 변경됐는지도 살펴보세요. 업데이트에 실패하더라도 기존에 사용할 수 있는 기록은 유지하고 안내 내용을 확인한 뒤 다시 가져올지 결정합니다. 같은 구독을 반복해서 새로 만들어도 원본 링크의 권한 문제는 해결되지 않는 경우가 많습니다.
새 구독의 서버 목록이 예상과 다르다면 먼저 구독 출처와 서비스 이용 상태를 확인하세요. 전체 URL을 공개된 곳에 올려 도움을 요청하지 마세요. ‘업데이트 후 목록이 비어 있음’, ‘인증 실패 안내 표시’처럼 현상을 설명하면 본인의 서비스 제공업체가 계정 및 구독 상태를 확인할 수 있습니다.
스위치가 켜지지 않음: 시스템 승인 확인
스위치를 켠 직후 다시 꺼진다면 VPN 구성 추가 안내를 취소했는지, 기기에서 해당 구성을 통해 연결할 수 있는지 확인하세요. Home으로 돌아가 다시 연결을 시도하고 시스템 안내가 가려져 있거나 아직 승인되지 않은 상태인지 살펴봅니다. 이 단계에서는 시스템 연결이 아직 설정되지 않았으므로 구독의 서버를 계속 바꾸는 것이 첫 번째 해결책은 아닙니다.
상태가 비정상적으로 표시되면 현재 활성화된 VPN 구성과 기기 관리 제한도 확인하세요. 일반 네트워크가 정상이라고 해서 일부 기본 네트워크 문제만 제외할 수 있을 뿐, Shadowrocket에 필요한 시스템 승인을 대신하는 것은 아닙니다.
연결됐지만 테스트 실패: 서버와 네트워크 확인
먼저 Home에서 실제로 선택된 서버가 방금 입력했거나 테스트하려던 항목인지 확인하고 주소, 포트, 비밀번호 또는 UUID, TLS와 전송 매개변수를 다시 살펴보세요. 이름이 비슷한 서버가 있으면 잘못 선택하기 쉽습니다. 기존 구독에 사용 가능하다고 확인된 다른 항목이 있다면 다른 설정은 그대로 두고 해당 항목만 선택해 비교할 수 있습니다. 모든 정보를 다시 가져올 필요는 없습니다.
그다음 기기의 기존 네트워크가 작동하는지 확인하고, 필요하다면 사용이 허용된 다른 네트워크에서 다시 테스트합니다. 네트워크를 바꾼 뒤에도 같은 서버와 같은 대상을 사용해야 결과를 비교할 수 있습니다. 테스트 실패는 서버 측 상태와 관련이 있을 수도 있습니다. 클라이언트의 연결 스위치가 켜졌다고 서비스 제공업체 측의 인증과 서비스가 여전히 유효하다는 뜻은 아닙니다.
일부 대상만 실패: 규칙과 DNS 확인
Proxy에서는 정상인데 Config에서 문제가 생기면 Config로 돌아가 현재 파일과 대상에 적용된 정책을 확인하세요. 더 앞에 있는 DIRECT 또는 REJECT 규칙과 일치하는지 살펴보고 마지막 규칙만 확인하지 마세요. 규칙을 변경하기 전에 원래 구성을 저장하고 한 번에 한 곳만 수정한 뒤 다시 테스트해 해당 대상의 처리 방식이 실제로 바뀌었는지 확인합니다.
도메인 이름 확인 관련 안내가 표시되면 모든 실패를 DNS 탓으로 돌리지 말고 현재 DNS 설정을 살펴보세요. 변경 전 원래 값을 기록하고 직접 이해할 수 있으며 명확한 근거가 있는 설정을 사용합니다. 웹페이지가 열리지 않는다는 이유만으로 여러 DNS 주소를 연달아 바꾸면 변수가 늘어납니다. DNS, IP-CIDR, FINAL 등의 개념은 먼저 개념 빠른 참조에서 확인한 뒤 전체 매뉴얼을 참고해 자세히 살펴보세요.
문제가 계속되면: 최소한의 점검 기록 정리
본인의 서비스 제공업체에 문의하기 전에 사용한 프로토콜, Global Routing 모드, 실패한 단계, Connectivity Test 결과, 네트워크를 바꾼 뒤에도 같은 문제가 발생하는지를 정리하세요. 민감한 정보를 삭제한 오류 문구는 첨부할 수 있지만 전체 구독 링크, 비밀번호, UUID, QR 코드 또는 인증 매개변수는 포함하지 마세요. ‘연결할 수 없음’이라고만 하기보다 구체적인 오류를 설명하면 문제를 파악하는 데 도움이 됩니다.
첫 설정을 마친 뒤에는 필요한 경우 기존 구독을 업데이트하고 기본 서버와 현재 구성을 확인한 다음 연결을 켜고 실제 접속을 확인하면 됩니다. App Store는 앱의 구매와 업데이트를 담당하고 Subscribe는 기존 서버 목록을 업데이트하며 Config는 구성 파일을 관리합니다. 각각 용도가 다르므로 서버 연결 문제 하나 때문에 앱을 다시 구매할 필요는 없습니다.