Add Server: 서버 추가 또는 구독 가져오기
이 단계의 목표는 Home에 선택할 수 있는 서버 항목을 표시하는 것입니다. 아직 연결 스위치를 켤 필요는 없습니다. 먼저 보유한 정보가 서버 목록을 갱신하는 구독 링크인지, 아니면 특정 서버의 프로토콜, 주소 및 포트 등의 매개변수인지 확인합니다. 두 정보의 입력 방법은 다릅니다. 전체 구독 링크를 Host에 입력하거나 개별 서버 주소를 Subscribe 링크로 사용하지 마세요.
구독 링크가 있는 경우: Type에서 Subscribe 선택
Home으로 이동해 오른쪽 위의 +를 눌러 Add Server를 열고, Type을 눌러 Subscribe를 선택합니다. 추가 화면으로 돌아와 해당 링크 입력란에 이용 중인 서비스 제공업체에서 확인한 전체 링크를 붙여 넣은 다음 저장합니다. 입력 전후에 공백이나 줄바꿈을 추가하지 마세요. 채팅 앱을 통해 전달된 링크라면 표시된 텍스트만 복사되었거나 끝부분의 매개변수가 누락되지 않았는지 확인합니다.
저장 후 Home으로 돌아가 구독 내용이 불러와질 때까지 기다립니다. 내용을 가져오면 목록에 해당 그룹이나 서버 항목이 표시됩니다. 먼저 목록이 비어 있지 않은지 확인한 다음 항목을 선택할 수 있는지 확인합니다. 구독 기록만 보이고 서버가 없다면 같은 구독을 반복해서 만들지 말고, 기본 네트워크가 연결되어 있는지, 링크가 유효한지, 제공된 형식이 선택한 가져오기 방식에 맞는지 먼저 확인합니다.
개별 서버 정보가 있는 경우: 프로토콜에 맞는 항목 입력
마찬가지로 Home에서 +를 눌러 Add Server로 이동하고, Type에서 보유한 정보에 지정된 프로토콜을 선택합니다. 스크린샷에는 Host, Port, Password, Method가 있는 추가 화면이 표시됩니다. 다른 Type에서는 항목이 다를 수 있으므로 선택 후 실제 화면을 기준으로 입력합니다. Host에는 서버 주소, Port에는 포트를 입력하고, Password와 Method 등은 보유한 매개변수에 따라 정확히 입력합니다. 이름이 비슷하다는 이유로 임의로 바꾸지 마세요.
매개변수에 UUID, TLS, 전송 방식 또는 경로가 포함된 경우에도 각 항목을 확인합니다. 서버 이름은 항목을 식별하기 위한 것이며 연결 매개변수를 대신할 수 없습니다. 화면의 Scan QR Code는 해당 QR 코드 정보를 읽는 데 사용할 수 있습니다. Import from Cloud JSON은 별도의 정보 가져오기 방식이므로 임의의 텍스트나 일반 구독 링크를 이 형식으로 가져오면 안 됩니다. 보유한 정보에 맞는 한 가지 경로를 선택하면 되며, 모든 방식을 하나씩 시도할 필요는 없습니다.
다음 단계로 넘어가기 전에: Home으로 돌아가 SERVER에 대상 항목이 있는지, 사용할 항목을 구분할 수 있는지 확인합니다. 목록이 비어 있다면 이 단계에서 가져오기 문제를 해결하세요. 정보가 아직 불러와지지 않은 문제를 Global Routing 변경으로 해결하려고 하지 마세요.
Global Routing: 요청 처리 방식 선택
서버 항목을 준비한 다음 요청 처리 방식을 정합니다. Home에서 Global Routing을 누르고 구성(Config), 프록시(Proxy), 직접 연결(Direct) 세 가지 모드를 먼저 살펴봅니다. 여기서 선택하는 것은 요청 처리 방식이지 서버를 다시 가져오는 것이 아닙니다. 모드를 바꿔도 잘못된 주소나 비밀번호, 만료된 구독이 자동으로 수정되지는 않습니다.
- 구성(Config): 현재 구성 파일의 규칙에 따라 요청에 적용할 정책을 결정합니다. 규칙이 준비되어 있고 요청별로 경로를 구분하려는 경우에 적합합니다.
- 프록시(Proxy): 일반적으로 이 모드에서 처리되는 요청에 프록시 경로를 사용합니다. 현재 선택한 서버의 사용 가능 여부를 비교하는 데 쓸 수 있지만, 모든 시스템 요청이 반드시 같은 경로를 사용한다는 뜻은 아닙니다.
- 직접 연결(Direct): 직접 연결 경로를 사용합니다. 요청이 프록시 서버를 거쳐야 한다면 이 항목을 잘못 선택하지 않았는지 먼저 확인합니다.
일상적인 사용에서 Config를 선택하기 전에 하단의 Config로 이동해 예상한 구성 파일이 선택되어 있는지 확인합니다. 구독은 일반적으로 서버 목록을 제공하거나 갱신하며, 구성 파일은 규칙 및 관련 설정을 관리합니다. Subscribe를 가져왔다고 예상한 규칙까지 함께 가져온 것은 아닙니다. 스크린샷의 General, Rule, Hosts, URL Rewrite, HTTPS Decryption은 구성 편집 영역이며, 처음 사용하는 단계에서는 각각 수정할 필요가 없습니다.
규칙을 이해할 때는 “위에서 아래로 일치 여부를 확인하고, 일치한 정책에 따라 처리한다”고 기억하면 됩니다. 예를 들어 DOMAIN-SUFFIX는 도메인 접미사 일치에 사용되고, GEOIP는 해당 IP 지리 데이터 일치에 사용되며, FINAL은 앞선 규칙에 일치하지 않을 때 최종 처리에 사용됩니다. PROXY, DIRECT, REJECT는 서로 다른 처리 정책입니다. 같은 서버를 선택해도 요청별 경로가 달라질 수 있는 이유를 보여 줍니다.
기존 구성은 그대로 두고, 연결 테스트를 위해 Add Rule을 임의로 추가하지 마세요. 용도를 모르는 상태에서 HTTPS Decryption을 활성화하지 마세요. 모드와 규칙의 관계를 더 알아보려면 프록시 모드 안내를 참고하세요. App Store에서 받기, 정품 확인 및 계정 관련 내용은 정품 가이드에서 확인할 수 있습니다. 모드를 선택했으면 Home으로 돌아가 연결을 시작합니다.
Home: 항목 선택 후 연결 켜기
Home으로 돌아가 SERVER 그룹에서 사용할 서버를 선택합니다. 구독 그룹 이름과 실제 서버 항목이 목록에 함께 표시될 수 있으므로, 그룹을 펼치기만 한 것이 아니라 대상 항목을 선택했는지 확인합니다. 구독을 방금 갱신했다면 기존 항목이 바뀌었을 수 있으니 연결 전에 선택 상태를 다시 확인합니다.
Global Routing을 확인한 다음 Home 상단의 스위치를 켭니다. 처음 연결할 때 시스템에서 VPN 구성을 추가하도록 허용할지 물을 수 있습니다. 현재 Shadowrocket에서 진행 중인 작업에 대한 안내인지 확인한 후 시스템 요구에 따라 승인합니다. 기기 암호나 본인 확인이 필요할 수 있습니다. 승인이 완료되기 전에 스위치를 연속해서 전환하지 마세요. 승인이 끝나면 앱으로 돌아와 상단의 기존 Not Connected 상태가 바뀌었는지, 스위치가 계속 켜져 있는지 확인합니다.
스위치를 켠 직후 다시 꺼진다면 먼저 시스템 권한 승인이 완료되었는지 확인하고 명확한 오류 안내가 있는지 살펴봅니다. 이때 문제는 서버 경로 때문이 아닐 수 있습니다. 앱의 로컬 연결 구성이 아직 만들어지지 않았거나, 시스템 작업이 취소되었거나, 기기의 연결 설정이 서로 영향을 주어 연결이 시작되지 않았을 수 있습니다. 안내 문구를 기록하고 여러 항목을 한꺼번에 바꾸지 마세요.
상단에 연결됨이 표시되면 연결 구성이 활성화된 것입니다. 하지만 그것만으로 서버와 모든 대상 요청이 정상이라고 단정할 수는 없습니다. 서버 매개변수 오류, 원격 서버에 연결할 수 없는 문제, 규칙 선택 문제는 이후 확인을 거쳐 구분해야 합니다. 다음 단계에서 항목의 연결 가능 여부와 실제 접근 결과를 각각 확인합니다.
처음 사용하는 경우 On Demand의 기존 설정은 그대로 두고 자동 연결 조건을 추가하지 않는 것이 좋습니다. 그래야 수동으로 스위치를 켜고 끌 때 상태 변화를 쉽게 확인할 수 있습니다. 확인을 마치려면 먼저 Home에서 직접 연결을 끕니다. 이후 다시 자동으로 연결되면 Settings에서 On Demand의 트리거 조건을 확인합니다.
Connectivity Test: 연결 및 실제 요청 확인
확인은 두 단계로 진행합니다. 먼저 선택한 항목이 현재 테스트를 완료할 수 있는지 보고, 다음으로 실제 사용할 앱이나 페이지가 작동하는지 확인합니다. Home에서 Connectivity Test를 실행하고 테스트가 끝날 때까지 기다린 뒤 결과가 표시되는지, 실패 안내가 나타나는지 확인합니다. 테스트 방식에 따라 결과의 의미가 달라질 수 있으므로 숫자 하나만으로 전체 상태를 판단하지 마세요. 한 번의 실패가 모든 서버를 사용할 수 없다는 뜻도 아닙니다.
그런 다음 원래 사용하려던 앱이나 페이지를 열어 같은 페이지를 새로고침하는 등 간단하고 반복할 수 있는 작업을 실행합니다. 테스트할 때는 같은 서버와 네트워크를 유지합니다. Wi-Fi에서 셀룰러 네트워크로 동시에 전환하면 결과가 달라진 원인을 파악하기 어렵습니다. 이미 열어 둔 페이지에는 캐시된 내용이 표시될 수 있으므로, 기존 화면만 보는 대신 필요하면 요청을 다시 실행합니다.
Connectivity Test에서 결과가 나왔는데 실제 앱에 접근할 수 없다면 Global Routing 모드를 확인합니다. Config는 규칙에 따라 요청을 분기하므로 특정 대상이 DIRECT에 일치하면 다른 대상이 프록시를 사용한다고 해서 해당 대상도 프록시를 사용하는 것은 아닙니다. 같은 대상을 Proxy 모드에서 일시적으로 비교해 본 다음 원래 Config로 복원하고 관련 규칙을 확인합니다. 비교 테스트의 목적은 경로 차이를 찾는 것이며 특정 모드를 계속 사용하라는 뜻은 아닙니다.
실제 앱은 정상 작동하는데 특정 테스트만 실패한다면 Settings의 Test Method와 테스트 조건을 확인합니다. 서버를 곧바로 삭제할 필요는 없습니다. 반대로 테스트를 통과했지만 특정 기능에 문제가 있다면 문제 범위를 해당 대상, 네트워크 또는 요청 유형으로 한정해야 합니다. “모든 기능이 정상”이라고 결론 내릴 수는 없습니다. 다시 확인할 수 있는 테스트 기록에는 선택한 항목, Global Routing, 기본 네트워크와 성공 또는 실패한 구체적인 작업을 포함합니다. 구독 링크나 비밀번호는 기록할 필요가 없습니다.
Settings: 문제가 발생한 위치에 따라 확인
문제 해결은 “기본 네트워크 → 정보가 올바른지 → 현재 모드 → 구체적인 요청” 순서로 진행합니다. 한 번에 한 항목만 변경한 뒤 확인 단계로 돌아가 동일한 테스트를 반복합니다. 개선되지 않으면 원래 값으로 되돌린 다음 다음 항목을 확인합니다. 이렇게 하면 사용 가능한 설정을 유지하고 문제가 발생한 단계를 설명하기도 쉽습니다.
가져온 뒤 서버 항목이 표시되지 않는 경우
연결을 끈 상태에서 기본 네트워크가 작동하는지 확인한 다음 링크가 온전한지, Type에서 Subscribe를 선택했는지, 링크가 아직 유효한지 확인합니다. 구독 상태와 접근 제한은 이용 중인 서비스 제공업체에 문의해야 합니다. Host를 바꾸거나 링크 매개변수를 임의로 변경해 구독 문제를 “해결”하려 하지 말고, 같은 기록을 반복해서 추가하지도 마세요. 확인하기 쉽도록 구독 하나를 유지한 뒤 갱신 여부를 확인합니다.
항목은 있지만 연결 또는 테스트에 실패하는 경우
서버를 직접 추가했다면 Type, Host, Port 및 인증 항목을 하나씩 확인합니다. TLS나 특정 전송 매개변수가 필요하다면 보유한 정보와 함께 비교합니다. 구독에서 가져온 항목은 먼저 갱신한 다음 다시 선택합니다. 시스템 시간이 정확한지 확인하고 Wi-Fi와 셀룰러 네트워크에서의 결과를 구분합니다. 특정 항목만 실패한다면 보유한 다른 항목으로 비교할 수 있지만, 이름이 비슷한 매개변수를 임의로 조합하지 마세요.
연결되었지만 일부 앱에서 문제가 발생하는 경우
Global Routing과 Config를 먼저 확인한 다음 문제가 발생한 대상이 PROXY, DIRECT 또는 REJECT 중 무엇에 일치해야 하는지 확인합니다. 특정 요청 유형에서만 문제가 발생한다면 현상을 기록한 뒤 관련 설정을 확인합니다. DNS, TCP, UDP 등 여러 항목을 동시에 변경하지 마세요. Settings에 이러한 항목이 보인다고 해서 처음 사용할 때 모두 변경해야 하는 것은 아닙니다. 이미 알고 있는 설정을 유지하는 편이 차이를 파악하기 쉽습니다.
자동 재연결 또는 해석하기 어려운 테스트 결과
Settings에서 On Demand를 열어 현재 네트워크와 일치하는 자동 연결 조건이 있는지 확인합니다. 수동으로 연결을 껐는데 다시 연결되면 서버를 반복해서 삭제하지 말고 먼저 이 항목을 확인합니다. 테스트 결과와 실제 접근이 일치하지 않으면 Test Method를 확인해 현재 테스트가 무엇을 확인하는지 파악한 다음 같은 네트워크에서 다시 실행합니다.
그래도 원인을 찾기 어렵다면 Diagnostics에서 이용할 수 있는 진단 정보를 확인합니다. 오류 원문, 발생 단계 및 반복 가능한 작업을 기록하면 됩니다. 외부에 공유하기 전에 전체 구독 링크, 인증 정보, QR 코드와 기타 개인 데이터를 삭제합니다. 진단 정보는 문제 범위를 좁히는 데 쓰이며, 서버 상태를 서비스 제공업체에 확인하는 절차를 대신하지 않습니다.
최종적으로 문제를 명확한 단계로 분류할 수 있어야 합니다. 정보가 불러와지지 않음, 시스템 권한 승인 미완료, 서버 연결 실패 또는 요청 경로 불일치가 이에 해당합니다. 가져오기 문제는 1단계로, 규칙 문제는 2단계로 돌아갑니다. 기록 없이 모든 옵션을 처음부터 바꾸지 마세요.