서버 추가 또는 기존 구독 가져오기
서버 하나를 수동으로 입력
Shadowrocket을 연 뒤 먼저 Home에 머뭅니다. 아래에서 SERVER 그룹을 찾아 Add Server를 탭해 추가 화면으로 들어갑니다. 첫 항목은 보통 Type이며, 기존 서버 정보에 표시된 프로토콜과 일치해야 합니다. 예를 들면 Shadowsocks, VMess, VLESS, Trojan, HTTP, SOCKS5, WireGuard 또는 Hysteria2가 있습니다. 프로토콜은 필드 구조를 선택하는 기준일 뿐, 포트나 서버 이름만으로 추정할 수 없습니다.
Type을 선택한 뒤 원본 정보를 기준으로 Host, Port, Password, Method 및 해당 프로토콜에 필요한 다른 필드를 하나씩 입력합니다. Host에는 호스트 이름 또는 IP 주소만 입력하고 설명 문구는 덧붙이지 마세요. Port에는 포트 값만 입력합니다. Password, UUID, Method, TLS 등의 내용은 원래의 대소문자와 문자 순서를 유지해야 합니다. 정보에 특정 필드가 없으면 임의로 값을 입력하지 말고, 해당 Type에서 실제로 필요한 필드인지 먼저 확인하세요.
Type: Shadowsocks
Host: example.com
Port: 443
Password: your-password
Method: 기존 정보를 기준으로 입력
위 내용은 필드 위치를 설명하기 위한 예시일 뿐, 연결에 사용할 수 있는 정보 세트가 아닙니다. 입력을 마친 뒤 화면의 저장 기능을 사용해 Home으로 돌아갑니다. 새 항목이 SERVER 그룹에 표시되면 탭하여 현재 사용할 서버로 선택합니다. 이때는 Global Routing을 서둘러 변경하지 말고 이름, Type, Host 및 Port가 원본 정보와 일치하는지 먼저 확인하세요.
Subscribe로 기존 구독 가져오기
완전한 구독 링크가 있다면 서버 또는 구독 관리 진입점에서 Subscribe를 선택합니다. 링크 전체를 해당 주소 입력란에 붙여 넣고, 필요하면 식별하기 쉬운 이름을 입력한 다음 저장하고 업데이트를 실행합니다. 예시는 다음과 같은 형식으로 작성할 수 있습니다:
https://example.com/sub?token=xxxx
예시 도메인과 매개변수는 링크 구조만 보여 주기 위한 것입니다. 실제 작업에서는 사용자가 직접 보유한 전체 주소를 사용해야 합니다. 붙여 넣은 후에는 세 곳을 확인하세요. 시작 부분에 올바른 https://가 있는지, 주소 중간에 줄바꿈으로 공백이 생기지 않았는지, 끝의 매개변수가 메신저에서 잘리지 않았는지 확인합니다. 업데이트가 완료되면 Home의 SERVER 그룹에 구독에서 반환된 항목이 표시됩니다. 업데이트에 실패하면 기존 링크를 유지하고 같은 이름의 Subscribe 항목을 계속 새로 만들지 마세요.
구독은 서버 정보를 일괄 관리하는 방법입니다. 서비스 제공자가 내용을 업데이트하면 기존 Subscribe 항목에서 업데이트를 실행해야 하며, 링크를 반복해서 붙여 넣어 중복 목록을 만들지 마세요. 구독으로 생성된 항목을 수동으로 수정하면 다음 업데이트에서 구독 내용으로 덮어써질 수 있습니다. 별도로 조정한 서버를 유지해야 한다면 해당 항목이 구독으로 관리되는지 먼저 확인한 뒤 수정 방법을 결정하세요.
Config, Proxy 또는 Direct 방식 선택
Home으로 돌아가 Global Routing을 탭합니다. 세 가지 방식은 보통 Config, Proxy, Direct로 표시됩니다. 이 설정은 트래픽이 Shadowrocket에 들어온 뒤 처리되는 방식을 결정하며, 서버 사용 가능 여부와는 별개입니다.
Config: 규칙에 따라 항목별 판단
Config는 일상적인 규칙 분류에 적합합니다. 요청은 현재 구성 파일의 Rule을 위에서 아래로 순서대로 대조하며, 적용 가능한 첫 번째 규칙에 도달하면 해당 정책을 사용합니다. 자주 사용되는 키워드에는 DOMAIN, DOMAIN-SUFFIX, DOMAIN-KEYWORD, GEOIP, IP-CIDR, IP-CIDR6 및 USER-AGENT가 있으며, 처리 결과는 보통 PROXY, DIRECT 또는 REJECT입니다. 실제 결과는 키워드 이름이 아니라 구성 파일 자체에 따라 달라집니다.
Config에 들어간 뒤 먼저 현재 선택된 구성 파일을 확인하고 Rule을 살펴봅니다. 더 구체적인 도메인이나 주소 규칙은 보통 앞에 배치하고, 범위가 넓은 규칙은 뒤에 배치하며, 앞에서 일치하지 않은 요청은 마지막에 FINAL이 처리합니다. 범위가 넓은 규칙이 너무 앞에 있으면 뒤의 더 구체적인 항목은 대조 기회를 얻지 못합니다.
Proxy: 현재 서버로 일괄 처리
Proxy는 Shadowrocket으로 들어오는 트래픽을 현재 선택한 서버에서 일괄 처리하도록 합니다. 짧은 비교 테스트에 적합합니다. Config에서 특정 대상에 예상대로 접속되지 않지만 Proxy에서는 가능하다면 규칙 대조, 정책 이름 또는 Config 선택에 문제가 있을 가능성이 큽니다. Proxy에서도 동일하게 실패하면 서버 정보, 연결 상태, DNS 또는 로컬 네트워크를 우선 확인해야 합니다.
Direct: 프록시 서버를 거치지 않고 직접 연결
Direct는 현재 네트워크를 통해 트래픽을 직접 전송합니다. 비교 판단에도 사용할 수 있습니다. 예를 들어 Direct에서는 정상이고 Proxy에서는 실패한다면 서버 연결 상태와 서버 매개변수를 다시 확인해야 합니다. Direct에서도 문제가 있으면 현재 Wi-Fi, 셀룰러 네트워크, DNS 또는 대상 자체에 원인이 있을 수 있습니다. Direct는 문제 해결을 위한 방식이며 서버가 확인되었다는 의미는 아닙니다.
처음 설정할 때는 Proxy로 서버 연결의 기준 상태를 한 번 확인한 뒤 Config로 돌아가 분류 결과를 점검하는 것이 좋습니다. Global Routing 전환을 영구적인 해결책으로 간주하지 마세요. Proxy에서는 접속되지만 Config에서는 접속되지 않는다면 구체적인 규칙 적용 차이를 찾아야 합니다. Config가 정상 작동한 뒤에야 규칙 설정 단계가 완료된 것으로 볼 수 있습니다.
DOMAIN-SUFFIX,example.com,PROXY
DOMAIN-KEYWORD,example,DIRECT
IP-CIDR,192.168.0.0/16,DIRECT
GEOIP,CN,DIRECT
FINAL,PROXY
이 규칙은 순서에 따른 대조 방식만 보여 줍니다. 첫 번째 규칙은 지정한 도메인 접미사를 우선 처리하고, 로컬 네트워크 주소는 IP-CIDR에 따라 직접 연결하며, 일치하지 않은 요청은 마지막에 FINAL로 이동합니다. 실제 구성은 사용자의 목적에 맞게 정리해야 합니다. 규칙 우선순위, DNS 및 복잡한 문제 해결 방법은 문제 해결 문서에서 계속 확인할 수 있습니다.
연결 스위치를 켜고 상태 확인
연결하기 전에 Home으로 돌아가 위에서 아래로 빠르게 확인합니다. SERVER 그룹에서 대상 서버가 선택되어 있고, Global Routing에 원하는 방식이 표시되며, 현재 Config와 규칙도 확인되어 있어야 합니다. 그런 다음 상단 연결 스위치를 켭니다. 처음 연결을 설정할 때 시스템에 VPN 구성 승인 안내가 표시됩니다. 시스템 절차에 따라 승인하면 Shadowrocket이 기기의 네트워크 터널을 생성할 수 있습니다.
스위치를 켜면 Home 상단 상태가 Not Connected에서 Connected로 바뀌어야 합니다. 상태 변화는 기기의 터널이 설정되었다는 뜻이지만, 원격 서버를 사용할 수 있다는 사실이나 모든 요청이 원하는 규칙에 적용되었다는 점을 단독으로 증명하지는 않습니다. Connected가 표시된 뒤에도 Connectivity Test와 실제 요청 확인을 계속 진행해야 합니다.
상태가 잠시 바뀐 뒤 즉시 Not Connected로 돌아가면 스위치를 연속해서 빠르게 누르지 마세요. 몇 초 기다린 다음 현재 서버가 선택되어 있는지, 필드가 완전한지, 시스템에서 VPN 구성을 생성할 수 있는지 확인합니다. 시스템에서 다른 네트워크 전환이 진행 중이라면 Wi-Fi 또는 셀룰러 네트워크가 안정된 뒤 다시 시도하세요.
단일하고 재현 가능한 테스트 조건부터 설정
처음 테스트할 때는 On Demand를 동시에 켜거나 Config를 자주 전환하거나 여러 서버를 연속으로 바꾸지 마세요. 하나의 네트워크, 하나의 서버 및 하나의 Global Routing 방식을 고정하고 전체 확인을 마친 뒤 다음 항목을 변경하는 것이 좋습니다. 이렇게 해야 “스위치가 유지되지 않음”, “서버 시간 초과” 및 “규칙 적용 불일치”를 분리해 확인할 수 있습니다.
iPad에서는 가로 화면이나 분할 화면으로 인해 Home의 항목 배치가 달라질 수 있지만 조작 방식은 같습니다. 서버 선택, Global Routing 확인, 연결 켜기, 그리고 확인 순서로 진행합니다. Mac, Apple TV 및 Apple Vision의 호환 여부는 동일한 App Store 제품 페이지에서 확인할 수 있으며 시스템 요구 사항은 App Store 페이지의 표기를 기준으로 합니다. 이 페이지의 단계는 iPhone과 iPad를 중심으로 설명합니다.
서버 연결 및 규칙 적용 확인
확인은 두 단계로 나누어야 합니다. 첫 번째는 선택한 서버가 유효한 연결을 설정할 수 있는지 확인하는 것이고, 두 번째는 실제 요청이 Global Routing과 Config 규칙에 따라 처리되는지 확인하는 것입니다. 스위치 상태만 보면 원격 시간 초과를 놓칠 수 있고, 한 번의 웹페이지 결과만 보면 캐시, DNS 및 규칙의 영향을 구분하기 어렵습니다.
Connectivity Test 실행
Home에서 Connectivity Test를 탭해 현재 서버의 연결을 테스트합니다. 테스트가 완료되면 서버 정보와 현재 네트워크에 최소한의 통신 조건이 갖춰졌다는 의미입니다. timeout이 표시되거나 결과가 계속 나오지 않으면 Add Server로 돌아가 Type, Host, Port, Password, Method 및 프로토콜에 필요한 필드를 확인합니다. Subscribe로 생성된 항목은 먼저 원래 Subscribe를 업데이트한 뒤 서버를 다시 선택해 테스트합니다.
Connectivity Test 결과는 연결 상태를 판단하는 단서일 뿐입니다. 규칙 확인을 대신할 수 없으며 모든 대상이 같은 경로를 사용한다는 의미도 아닙니다. 테스트가 통과하면 현재 설정을 유지하고 식별하기 쉬운 실제 요청을 한 번 발생시킨 뒤 요청 기록을 확인하세요.
Data 또는 연결 기록에서 결과 확인
Data 또는 앱에서 연결 기록을 확인할 수 있는 영역을 열고, 화면을 정리한 뒤 대상에 다시 한 번 접속합니다. 새로 생성된 요청을 찾아 도메인, 대상 주소, 정책 및 규칙 정보를 확인합니다. Config 방식에서는 DOMAIN-SUFFIX, DOMAIN-KEYWORD, GEOIP, IP-CIDR 또는 FINAL 중 예상한 규칙에 적용되었는지, 최종 결과가 PROXY, DIRECT 또는 REJECT 중 무엇인지 중점적으로 확인합니다.
요청이 잘못된 규칙에 적용되었다면 먼저 순서를 확인하고 서버를 바로 변경하지 마세요. 규칙은 위에서 아래로 처리되며 먼저 일치한 항목에서 이번 판단이 끝납니다. 예를 들어 범위가 넓은 DOMAIN-SUFFIX 규칙이 구체적인 DOMAIN 규칙보다 앞에 있으면 후자는 사용되지 않을 수 있습니다. 변경 후 Config를 저장하고 Home으로 돌아가 해당 Config가 계속 선택되어 있는지 확인한 다음 요청을 다시 발생시키세요.
세 가지 방식으로 최소 비교 테스트
- Direct 기준: 잠시 Direct로 전환해 현재 로컬 네트워크에서 기본 접속이 가능한지 확인합니다.
- Proxy 기준: Proxy로 전환해 현재 선택한 서버가 요청을 처리할 수 있는지 확인합니다.
- Config 확인: Config로 돌아가 Data에서 구체적인 요청의 규칙과 정책 결과를 확인합니다.
Direct는 정상이고 Proxy가 실패하면 서버 정보와 Connectivity Test를 우선 확인합니다. Proxy는 정상이고 Config가 실패하면 현재 구성 파일, Rule 순서 및 정책 참조를 우선 확인합니다. 세 방식 모두 실패하면 로컬 네트워크, DNS 및 대상 상태부터 확인합니다. 매번 같은 서버와 같은 대상을 사용해 새로운 변수를 만들지 마세요.
단계별로 일반적인 실패 원인 확인
문제 해결은 “입력 정보—서버 연결—기기 연결—Global Routing—Config 규칙—DNS 및 네트워크” 순서로 진행합니다. 한 번에 한 단계만 변경하고 변경 후 동일한 테스트를 반복하세요. 서버를 바꾸고 규칙을 수정하며 DNS까지 동시에 조정하면 정상으로 돌아와도 실제 원인을 판단할 수 없습니다.
Subscribe 업데이트 실패
먼저 링크가 완전한지, 공백이나 줄바꿈이 없는지, 시작 프로토콜이 원본 주소와 일치하는지, 끝의 매개변수가 누락되지 않았는지 확인합니다. 그런 다음 Shadowrocket 연결을 잠시 끄고 현재 네트워크에서 해당 주소에 정상적으로 요청할 수 있는지 확인한 뒤 원래 Subscribe 항목에서 업데이트를 실행합니다. 같은 이름의 항목을 여러 개 만들어 문제를 덮으려 하지 마세요. 중복 항목은 이후 잘못 선택할 가능성을 높입니다.
Connectivity Test 시간 초과
수동으로 추가한 서버는 Type, Host, Port, Password, Method, TLS 및 프로토콜에 필요한 추가 필드를 하나씩 확인합니다. Subscribe로 생성된 서버는 먼저 구독을 업데이트한 뒤 대상 항목을 다시 선택합니다. 이후 Wi-Fi와 셀룰러 네트워크 사이에서 한 가지 변수만 바꾸어 비교합니다. 특정 네트워크에서만 실패한다면 해당 네트워크의 DNS, 인증 페이지 또는 연결 제한을 계속 확인하세요.
Connected로 표시되지만 접속할 수 없음
먼저 Direct로 전환해 로컬 네트워크 기준을 확인한 뒤 Proxy로 서버 기준을 확인합니다. Direct는 가능하지만 Proxy가 불가능하면 서버와 Connectivity Test를 다시 확인합니다. Proxy는 가능하지만 Config가 불가능하면 현재 Config, Rule 순서, 정책 이름 및 FINAL을 확인합니다. 상태는 Connected인데 Data에 새 요청이 나타나지 않으면 시스템 VPN 상태가 Shadowrocket에 해당하는지 확인하고, On Demand가 연결 트리거 조건을 변경했는지 살펴봅니다.
일부 대상만 예상과 다른 결과가 나옴
이 문제는 보통 규칙 계층에서 발생합니다. 먼저 Data에서 해당 요청의 실제 도메인이나 IP를 찾고, 실제로 적용된 첫 번째 규칙을 확인합니다. 브라우저 주소 표시줄만 보고 판단하지 마세요. 하나의 페이지가 여러 도메인에 동시에 요청할 수 있습니다. 특정 도메인에는 DOMAIN 또는 DOMAIN-SUFFIX를 사용할 수 있고, 키워드 범위에는 DOMAIN-KEYWORD를 신중하게 사용해야 합니다. 주소 대역에는 IP-CIDR 또는 IP-CIDR6을 사용할 수 있습니다. 규칙을 추가한 뒤 Config를 저장하고 요청을 다시 발생시켜 확인합니다.
DNS 확인 이상
Connectivity Test는 완료되지만 도메인 접속에 실패하고 직접 주소를 사용한 결과가 다르다면 DNS를 확인합니다. 먼저 원인을 설명할 수 있는 DNS 설정으로 되돌리고 여러 해석 방식을 동시에 적용하지 마세요. 그런 다음 Direct, Proxy 및 Config에서 같은 도메인을 반복 테스트하고 Data에 해석된 연결이 나타나는지 확인합니다. 복잡한 Hosts, URL Rewrite 또는 HTTPS Decryption 설정도 결과를 바꿀 수 있으므로 문제와 관련이 있는지 먼저 확인하세요.
On Demand로 상태가 반복해서 변함
On Demand는 네트워크 조건에 따라 연결하거나 연결을 끊습니다. 처음 설정하거나 문제를 확인하는 동안에는 On Demand를 먼저 끄고 안정적인 연결을 수동으로 한 번 설정하는 것이 좋습니다. 기본 절차가 확인된 뒤 Settings로 돌아가 트리거 조건을 구성하세요. Wi-Fi를 전환하거나 특정 네트워크를 벗어나거나 기기를 깨운 뒤 상태가 바뀐다면 Home 스위치만 반복해서 누르지 말고 On Demand 조건도 함께 확인해야 합니다.
변경 후에도 원인을 판단할 수 없음
Settings의 Diagnostics와 관련 테스트 항목을 사용해 현상을 수집하고, 현재 네트워크, 서버 이름, Global Routing, Config, Connectivity Test 결과 및 구체적인 실패 시간을 기록합니다. 진단 정보를 공유하기 전에 개인 연결 정보가 포함되어 있는지 확인하세요. 인터넷 연결 불가, 서버 시간 초과, 구독 실패, 속도 저하, DNS, 배터리 소모 및 iPad 전용 절차는 Shadowrocket 문제 해결 종합 가이드에서 증상별로 확인할 수 있습니다.
재현 가능한 정상 구성 저장
확인을 마친 뒤 Global Routing을 일상적인 용도에 맞는 방식으로 되돌립니다. Config를 사용할 때는 선택한 구성 파일 이름이 명확하고 Rule 순서가 실제 요청을 설명할 수 있는지 확인합니다. Subscribe를 사용할 때는 주요 업데이트 진입점을 하나만 남기고 테스트 중 생성된 중복 항목을 정리합니다. 서버 이름은 용도에 맞게 정리할 수 있지만 프로토콜에 의해 결정되는 주요 필드는 수정하지 마세요.
최소한의 정상 상태를 기록해 두는 것이 좋습니다. 현재 서버, Global Routing 방식, Config 이름, 성공한 Connectivity Test 결과 하나, 그리고 Data에서 예상대로 적용된 규칙 하나를 기록하세요. 이후 문제가 발생하면 모든 설정을 처음부터 바꾸는 것보다 이 상태와 비교하는 편이 원인을 찾기 쉽습니다.
기기를 바꾸거나 App Store에서 Shadowrocket을 다시 복원한 뒤에는 앱 구매 기록과 서버 정보가 서로 다른 종류의 데이터라는 점에 유의하세요. 구매한 항목은 App Store 절차에 따라 복원할 수 있으며, 구독과 Config는 사용자가 직접 준비한 백업 방식으로 다시 가져와야 합니다. 시스템 요구 사항, 호환 범위 및 구매 표시 여부는 App Store 페이지의 표기를 기준으로 합니다.
다음 단계: 증상별 문제 해결 계속하기
기본 설정을 마쳤는데도 인터넷 연결 불가, 시간 초과, 규칙 오류, DNS 또는 배터리 소모 문제가 계속되면 긴 문서에서 증상별 항목을 차례로 확인하세요.