Connectivity Test
현재 테스트 방식으로 접속할 수 있는지 살펴보되, 한 번의 결과를 모든 요청이 작동한다는 뜻으로 확대 해석하지 마세요.
OFFICIAL MANUAL / GETTING STARTED
서버 추가, 모드 선택, 연결, 확인, 문제 해결 순서로 진행합니다. 먼저 기존 설정으로 실제 요청을 성공시킨 뒤 규칙과 설정을 단계적으로 조정하세요.
STEP 01 / ADD SERVER
먼저 보유한 정보가 개별 서버 매개변수인지 구독 링크인지 확인하세요. 두 정보는 입력하는 메뉴가 다르므로 전체 구독 링크를 Host에 입력하면 안 됩니다.
Home의 SERVER 그룹에서 Add Server를 찾아 서버 편집 화면을 엽니다. 먼저 Type을 눌러 보유한 정보에 맞는 프로토콜을 선택한 다음 Host, Port 및 해당 인증 항목을 입력합니다. Type에 따라 이후에 표시되는 입력 항목이 달라집니다. 따라서 프로토콜을 먼저 선택하고 매개변수를 확인하세요. 모든 항목을 먼저 입력한 뒤 Type을 바꾸지 마세요.
Shadowsocks를 예로 들면 Host에는 서버 도메인이나 IP를, Port에는 포트 번호를 입력하고 Password와 Method에는 각각 보유한 비밀번호와 암호화 방식을 입력합니다. Host는 웹 주소가 아니므로 경로를 덧붙이지 말고, Port에는 콜론을 함께 붙여 입력하지 마세요. 정보가 Trojan, VMess, VLESS 또는 다른 프로토콜에 해당한다면 알맞은 Type으로 바꾼 뒤 각 항목을 입력해야 합니다. Shadowsocks의 항목 구성을 그대로 적용할 수는 없습니다.
입력이 끝나면 각 항목의 앞뒤 공백, 대소문자와 숫자를 확인한 뒤 저장하고 Home으로 돌아갑니다. 새 항목이 표시되는 것은 정보가 저장됐다는 뜻일 뿐, 서버 연결이 가능하다는 뜻은 아닙니다. 먼저 항목의 프로토콜, 주소와 포트를 확인한 다음 사용할 항목을 선택하세요. 프로토콜 항목의 의미가 불분명하면 용어 안내서를 확인하세요. 확실하지 않은 값은 본인의 서비스 제공업체에 문의하고 임의로 채우지 마세요.
구독 링크가 있다면 Config 페이지에서 Subscribe를 찾아 전체 링크를 붙여 넣고 가져오기를 확인합니다. 화면 구성에 따라 메뉴 위치가 달라질 수 있으므로 앱에 표시되는 실제 항목을 기준으로 하세요. 링크의 경로와 쿼리 매개변수는 그대로 두고, 불필요해 보이는 문자도 삭제하지 마세요. 구독 링크에 인증 정보가 포함될 수 있으므로 해당 입력란에만 붙여 넣고 공개 게시물이나 스크린샷에 노출하지 마세요.
가져오기가 끝날 때까지 기다린 뒤 Home으로 돌아가 SERVER 그룹에 예상한 항목이 표시되는지 확인합니다. 목록이 비어 있으면 가져오기 오류나 네트워크 오류가 있는지 먼저 살펴보고, 같은 구독을 여러 번 연속으로 추가하지 마세요. 구독 가져오기는 서버 목록을 불러오는 기능이며 Config 구성 파일에는 Rule 같은 항목도 포함될 수 있습니다. 목록이 표시돼도 트래픽 분할 규칙까지 설정됐다는 뜻은 아니므로 다음 단계에서 Global Routing을 별도로 확인해야 합니다.
서버 QR 코드가 있다면 Scan QR Code로 인식한 다음 결과를 확인할 수 있습니다. 클립보드에 지원되는 링크가 있다면 앱 안내에 따라 가져오세요. Import from Cloud JSON은 별도의 가져오기 메뉴이므로 보유한 정보 형식이 해당 메뉴의 요구 사항과 일치할 때만 사용합니다. 모든 메뉴를 사용할 필요는 없습니다. 가지고 있는 정보에 맞는 방법 하나를 선택하세요.
STEP 02 / GLOBAL ROUTING
Home으로 돌아와 Global Routing을 엽니다. 여기서는 요청 처리 방식을 선택하며 서버 프로토콜을 고르는 메뉴가 아닙니다.
Global Routing에서 Config, Proxy 또는 Direct를 선택하고 확인한 다음 Home으로 돌아와 현재 선택된 항목을 확인합니다. 처음 사용할 때는 먼저 확인 목적을 정하세요. 규칙에 따라 요청을 구분하려면 Config를 사용합니다. 선택한 프록시 서버가 요청을 처리할 수 있는지 일시적으로 확인하려면 Proxy를 비교 테스트에 사용할 수 있습니다. 로컬 네트워크의 기본 접속만 확인하려면 Direct를 사용합니다. 세 모드는 각각 켜는 스위치가 아니므로 필요한 모드 하나만 선택하세요.
| 모드 | 요청 처리 기준 | 사용 전 확인 사항 |
|---|---|---|
| Config | 현재 구성의 규칙과 정책에 따라 요청을 처리합니다 | 구성 파일이 선택됐는지, 정책 참조가 유효한지 확인합니다 |
| Proxy | 프록시 방식으로 요청을 처리해 선택한 서버를 확인할 수 있습니다 | 현재 서버가 올바른지, 실제 요청이 성공하는지 확인합니다 |
| Direct | 직접 연결 방식으로 요청을 처리합니다 | 로컬 네트워크 자체가 작동하는지 확인합니다 |
Config로 이동해 사용할 구성 파일을 확인한 다음 편집 내용을 엽니다. 공식 스크린샷의 General, Rule, Hosts, URL Rewrite 및 HTTPS Decryption은 구성 파일의 각 섹션입니다. 처음 설정할 때는 우선 Rule만 확인하면 되며 연결을 위해 다른 섹션을 하나씩 수정할 필요는 없습니다. 스크린샷은 구성 편집 화면을 보여 주며 Home의 Global Routing 선택 화면이 아닙니다. 이름은 관련이 있지만 쓰임이 다릅니다.
Rule에서 규칙 순서와 대상 정책을 확인합니다. 규칙은 일반적으로 순서대로 적용되며 앞쪽 규칙이 일치하면 이후 규칙은 해당 요청 처리에 적용되지 않을 수 있습니다. DOMAIN-SUFFIX는 도메인 접미사를 기준으로 일치시키고, GEOIP는 IP의 지리 정보를 기준으로 일치시키며, FINAL은 앞선 규칙이 일치하지 않을 때 마지막으로 처리합니다. 테스트를 위해 FINAL을 임의로 삭제하지 말고 알 수 없는 정책 이름을 구성에 그대로 복사하지 마세요.
예를 들어 DOMAIN-SUFFIX,example.com,PROXY는 규칙 구문 예시일 뿐, 연결에 필요한 서버 정보가 아닙니다. 실제로 사용하기 전에 PROXY가 현재 구성에서 유효한 정책이나 선택 항목을 가리키는지 확인해야 합니다. 규칙의 텍스트가 서버를 자동으로 추가해 주지는 않습니다. 규칙 구문이 익숙하지 않다면 기존 구성을 유지하고 Global Routing과 분할 규칙 안내에서 자세한 일치 방식을 확인하세요.
이 단계를 마치면 Home에서 현재 Global Routing 모드를 확인할 수 있어야 합니다. 잠시 비교하기 위해 Proxy를 사용했다면 테스트 후 계획했던 Config로 다시 전환하고 실제 요청을 확인하세요. 비교 테스트에 사용한 모드를 이유를 잊은 채 기본값으로 계속 두지 마세요.
STEP 03 / CONNECT
먼저 서버와 모드를 확인한 다음 연결을 켭니다. 처음 사용할 때는 시스템 권한 승인도 필요합니다. 시스템 팝업이 표시된 상태는 연결이 완료된 것이 아닙니다.
Home으로 돌아가 SERVER에서 선택된 항목이 테스트하려는 서버와 일치하는지 확인한 다음, Global Routing이 앞 단계에서 선택한 모드인지 확인합니다. 확인이 끝나면 상단 스위치를 켭니다. 연결 전에는 Not Connected가 표시될 수 있습니다. 스위치를 켠 뒤 상단 상태와 시스템 안내를 확인하고 연결 상태가 바뀔 때까지 기다리세요. 상태가 안정되기 전에 서버와 스위치를 반복해서 바꾸지 마세요.
처음 연결할 때 시스템에서 Shadowrocket이 VPN 구성을 추가하도록 허용할지 물을 수 있습니다. 요청을 시작한 앱이 방금 연 Shadowrocket인지 확인한 뒤 시스템 안내에 따라 허용하고 기기에서 요구하는 인증을 완료하세요. 이 구성은 시스템이 관련 네트워크 요청을 앱에 전달하도록 하는 용도입니다. 사용 가능한 서버 정보가 포함되지는 않으며 구독 가져오기를 대신하지도 않습니다. 거부하거나 취소하면 연결을 계속할 수 없을 수 있으므로 연결을 다시 시작해 권한을 승인해야 합니다.
권한 승인이 끝나면 앱으로 돌아와 상단에 연결 상태가 유지되는지 확인합니다. 스위치가 바로 꺼지면 권한 승인이 완료됐는지, 선택한 항목이 있고 매개변수가 저장됐는지 먼저 확인하세요. 이 단계에서 DNS, Rule 또는 기타 고급 설정을 반복해서 변경하지 마세요. 이후 연결에 성공하더라도 어떤 변경이 영향을 줬는지 판단하기 어려워집니다.
연결할 때 기기에서 실행 중인 다른 VPN 연결이 있는지 확인하세요. 전환해야 한다면 현재 연결을 먼저 중지한 뒤 Shadowrocket에서 이번 테스트 연결을 시작합니다. 연결이 대체되는 현상을 매개변수 오류로 오해하지 않도록 주의하세요. 앱을 다시 열었을 때도 이전에 시스템 표시가 나타났다는 이유만으로 판단하지 말고 현재 상태를 다시 확인해야 합니다.
연결 상태가 켜져 있으면 시스템 네트워크 구성이 작동하기 시작한 것입니다. 그러나 이것만으로 모든 대상에 접속할 수 있다거나 모든 요청이 선택한 서버를 통한다고 단정할 수는 없습니다. 다음 단계에서 Connectivity Test와 실제 페이지 접속을 각각 진행해 테스트 대상과 실제 사용 환경을 확인하세요.
STEP 04 / CONNECTIVITY TEST
먼저 테스트하고, 실제로 접속할 페이지를 연 다음, 마지막으로 정책을 확인합니다. 각 단계에서 하나의 질문에 답하고 결과를 종합해 판단하세요.
현재 테스트 방식으로 접속할 수 있는지 살펴보되, 한 번의 결과를 모든 요청이 작동한다는 뜻으로 확대 해석하지 마세요.
확인하려는 요청을 새로 보내세요. 캐시된 페이지가 표시된 것만으로 연결 성공을 판단하지 마세요.
트래픽 변화와 확인 가능한 기록을 함께 살펴 요청이 발생했는지, 처리 정책이 예상과 일치하는지 확인합니다.
Home에서 Connectivity Test를 눌러 테스트가 끝날 때까지 기다린 다음 성공, 시간 초과 또는 기타 오류를 기록합니다. 테스트 결과는 Settings의 Test Method와 테스트 대상에 따라 달라질 수 있으므로 한 번의 시간 초과를 모든 연결이 실패했다는 뜻으로 해석하지 마세요. 결과 숫자의 크기만 비교해 구성이 올바른지 판단하지 말고 테스트가 완료됐는지, 실제 요청에 응답이 있는지 차례로 확인하세요.
연결을 켜 둔 상태에서 접속하려는 페이지나 앱을 열고 요청을 한 번 새로 보냅니다. 페이지 전체가 로드되거나 로그인 절차가 완료되거나 앱이 새 콘텐츠를 가져오는 것이 오래된 페이지가 보이는 것보다 실제 접속 여부를 더 잘 보여 줍니다. 페이지가 캐시에서 제공될 수 있다면 새로고침하거나 새 브라우징 세션에서 다시 시도하세요. 확인하는 동안 서버, 네트워크와 모드를 동시에 바꾸면 전후 차이를 재현할 수 없습니다.
그런 다음 Shadowrocket으로 돌아와 Data의 트래픽 변화를 확인합니다. 현재 화면에 요청 기록이 표시된다면 방금 요청한 도메인이나 시간을 기준으로 해당 요청을 찾으세요. 트래픽이 증가했다는 사실만으로 대상 요청이 프록시를 통했다고 증명할 수는 없습니다. Global Routing, 일치한 규칙과 최종 정책도 확인해야 합니다. Config를 사용할 때 일부 요청이 규칙에 따라 직접 연결되는 것은 의도된 동작일 수 있습니다.
Proxy에서 실제 요청이 성공하고 Config로 전환한 뒤 실패한다면 서버 항목을 바로 다시 만들기보다 규칙, 정책 참조와 관련된 이름 확인 동작을 먼저 점검하세요. 반대로 모든 모드에서 로컬 네트워크의 기본 접속이 되지 않는다면 먼저 기기 네트워크 문제를 해결합니다. 다음 단계에서 확인을 이어갈 수 있도록 사용한 네트워크, 선택한 서버, 모드와 실패한 요청을 기록하세요.
STEP 05 / DIAGNOSTICS
먼저 가져오기, 권한 승인, 연결, 접속 중 어느 단계에서 문제가 생겼는지 확인합니다. 한 번에 한 항목만 변경하고 다시 테스트한 뒤 유지할지 결정하세요.
Subscribe로 돌아가 링크가 온전히 복사됐는지, 특히 끝부분 매개변수와 줄바꿈, 불필요한 공백이 있는지 확인합니다. 먼저 기기 네트워크가 작동하는지 확인하고 원래 메뉴에서 한 번 업데이트해 구체적인 오류를 살펴보세요. 구독 업데이트 성공과 목록의 항목을 사용할 수 있는지는 별개의 문제입니다. 응답 내용이 해당 메뉴의 요구 형식에 맞지 않거나 본인이 이용하는 서비스가 만료됐다면 서비스 제공업체에 정보를 확인하세요. 링크를 추측한 주소로 바꾸거나 같은 내용을 반복해서 가져와 원래 오류를 가리지 마세요.
Home으로 돌아가 연결을 다시 켜고 확인을 기다리는 시스템 팝업이 있는지 살펴봅니다. 필요한 경우 기기의 시스템 설정으로 이동해 Shadowrocket에 해당하는 VPN 구성이 있는지, 현재 연결이 다른 VPN으로 대체되지는 않았는지 확인하세요. 서버 응답을 확인하기 전에 권한과 연결 상태부터 해결해야 합니다. 시스템 연결이 아직 설정되지 않은 상태에서는 Rule을 수정해도 보통 이 단계의 문제가 해결되지 않습니다.
SERVER에서 현재 항목의 편집 화면을 열어 Type, Host, Port와 인증 정보를 확인하고 이름이 비슷한 다른 항목을 선택하지 않았는지 살펴봅니다. TLS에 의존하는 프로토콜이라면 원래 정보에 따라 SNI, 인증서 검증 및 관련 전송 설정도 확인하세요. 기기의 날짜와 시간이 맞지 않으면 TLS 검증에 영향을 줄 수 있습니다. 인증서 오류가 발생하면 도메인, 날짜와 서버 정보를 먼저 확인하고 검증 수준을 낮추는 방법을 일반적인 해결책으로 사용하지 마세요.
먼저 현재 Global Routing을 기록하고, 같은 대상을 Proxy로 임시 테스트한 뒤 원래 모드로 되돌립니다. Config에서만 문제가 발생한다면 Rule의 일치 순서와 정책 이름, 올바른 구성이 선택됐는지 먼저 확인하세요. 도메인 이름 확인에 문제가 있다면 기존 DNS 설정을 점검하고 최근에 직접 변경한 항목부터 원래대로 되돌린 다음 테스트합니다. DNS는 이름 확인 경로의 일부를 결정할 뿐 모든 연결 오류를 해결하는 방법은 아닙니다. 관련 개념은 DNS 및 네트워크 용어에서 확인하세요.
Settings에서 Test Method를 확인해 두 번의 Connectivity Test가 같은 방식으로 실행됐는지 살펴봅니다. 추가 점검이 필요하면 Diagnostics에서 현재 사용할 수 있는 진단 기능을 이용하고 오류 발생 시간, 오류 문구와 작업 순서를 기록하세요. On Demand는 조건에 따라 연결을 시작하는 기능입니다. 처음 수동으로 연결을 확인하는 동안 이 기능이 설정돼 있다면 연결 상태가 자동으로 바뀌는지 살펴 수동 조작의 결과로 오해하지 않도록 합니다.
본인이 이용하는 서비스 제공업체에 문의할 때는 프로토콜 유형, 실패 단계, 네트워크 환경과 이미 진행한 개별 비교 테스트를 설명하세요. 스크린샷이나 기록을 보내기 전에 구독 링크, Password, 인증 매개변수와 키 등 민감한 정보를 가립니다. 문제 해결을 위해 전체 구성을 공개하지 마세요. 오류 문구와 재현 절차를 먼저 전달하면 대개 문제 범위를 좁힐 수 있습니다.
문제 해결을 마치면 사용할 계획이었던 Global Routing으로 되돌리고 실제 요청을 다시 확인합니다. 새 설정이 작동하는 것을 확인한 뒤 필요한 구성 백업을 보관하고 원래 메뉴를 통해 기존 구독을 정기적으로 업데이트하세요. 앱 업데이트는 App Store에서 진행합니다. 앱을 다시 설치해도 서버와 규칙 정보가 복원되는 것은 아닙니다. 체계적인 문제 해결 방법은 사용 설명서의 연결 문제 해결 섹션에서 확인하세요.