Shadowrocket의 연결 스위치, 서버 항목, 라우팅 설정은 각각 다른 역할을 합니다. 이 글은 사용자가 이미 이용 중인 서비스와 구독 정보를 갖고 있다는 전제에서 권한 허용, 가져오기, 업데이트, 라우팅 선택, 테스트 방법을 차례로 설명합니다. 처음 사용하는 경우 순서대로 진행하고, 문제가 생기면 현재 설정을 보존한 채 항목별로 확인하세요. 앱 구매, 서비스 이용 가능 여부, 규칙 설정을 혼동하지 않는 것이 중요합니다.
1. Shadowrocket을 구입한 뒤 무엇을 준비해야 하나요?
Shadowrocket은 Apple 플랫폼용 클로즈드 소스 상용 앱으로, 주로 iPhone과 iPad에서 사용하며 App Store에서만 받을 수 있습니다. 앱을 구입한 뒤에는 직접 보유하고 사용 권한이 있는 서버 정보나 Subscribe 링크도 준비해야 합니다. 앱 구매 내역은 앱을 구입했다는 사실만 증명하며 서버 설정 완료를 의미하지 않습니다.
- App Store에서 개발자 Shadow Launch Technology Limited와 앱 ID
932747118을 확인하세요. - 직접 보유한 Subscribe 링크 또는 서버 주소, 포트, 프로토콜, 인증 정보를 준비하세요.
- 시스템 요구 사항과 구입 가능 여부는 App Store 페이지를 기준으로 확인하세요. Mac, Apple TV, Apple Vision 호환 여부도 같은 스토어 페이지에서 확인할 수 있습니다.
2. 처음 연결할 때 VPN 구성 추가를 허용해야 하는 이유는 무엇인가요?
처음 연결을 켜면 시스템에서 VPN 구성 추가를 허용할지 묻는 메시지가 표시될 수 있습니다. 이 권한은 Shadowrocket이 시스템 네트워크 확장을 통해 해당 트래픽을 처리하도록 허용하는 절차입니다. 서비스를 구입하는 단계도, 원격 서버가 사용 가능하다는 증거도 아닙니다. 방금 실행한 Shadowrocket에서 요청한 권한인지 확인한 다음 시스템 안내에 따라 인증을 완료하세요.
-
항목 확인
Home으로 이동해 직접 추가한 서버 항목이 있고 선택되어 있는지 확인하세요. 앱만 설치하고 사용할 수 있는 서버 정보가 없다면, 권한을 허용해도 유효한 프록시 연결을 만들 수 없습니다.
-
연결 켜기
Home에서 연결 스위치를 켜세요. 처음 VPN 구성 추가 메시지가 표시되면 요청한 앱을 확인하고 허용한 뒤, 안내에 따라 기기 인증을 완료하세요.
-
상태 확인
Home으로 돌아가 Not Connected 상태가 바뀌었는지 확인한 뒤 Connectivity Test를 실행하세요. 시스템의 연결 상태와 원격 요청 테스트 결과는 각각 따로 확인해야 합니다.
-
권한 다시 허용
앞서 권한 요청을 거부했다면 Home으로 돌아가 다시 연결을 시도하세요. 시스템 구성을 확인하려면 iPhone 또는 iPad의 ‘설정 → 일반 → VPN 및 기기 관리 → VPN’에서 해당 항목을 확인하세요.
연결에 실패했다고 시스템의 VPN 구성을 모두 삭제하지 마세요. 먼저 다른 VPN 연결을 끄고 네트워크가 정상인지 확인한 뒤 현재 항목으로 다시 시도하세요. 기기가 관리 대상이라면 관리 정책에서 VPN 구성 추가를 제한하는지도 확인해야 합니다.
3. Home 스위치와 Not Connected는 각각 무엇을 의미하나요?
Home의 연결 스위치는 Shadowrocket의 네트워크 연결 세션을 제어합니다. Not Connected는 현재 세션이 연결되지 않았다는 뜻이지, 구독이 만료됐다는 뜻은 아닙니다. 반대로 연결 상태가 표시되어도 로컬 세션이 시작됐다는 의미일 뿐, 모든 웹사이트와 규칙, 원격 서버가 정상 작동한다는 보장은 없습니다.
- 스위치가 켜진 상태로 유지되지 않음: 시스템 권한, 구성의 유효성, 다른 VPN 연결과의 충돌 여부를 먼저 확인하세요.
- 스위치는 켜졌지만 웹페이지가 열리지 않음: 선택한 서버, Global Routing, DNS, 대상 웹사이트를 추가로 확인하세요. 상태 표시만으로 판단하면 안 됩니다.
- 앱을 나간 뒤에도 연결 상태가 유지됨: 홈 화면으로 돌아가는 것만으로 연결이 끊기지는 않습니다. 연결을 중지하려면 Home에서 스위치를 끄고 On Demand가 다시 연결을 시작하는지도 확인하세요.
Home에서는 연결 상태, 서버 선택, 테스트를 관리하고 Config에서는 라우팅 구성 파일을 관리합니다. Settings에는 앱 설정이 있습니다. 이 세 위치의 역할을 구분하면 규칙을 수정하다 서버 정보를 잘못 바꾸는 일을 피할 수 있습니다.
4. 직접 보유한 Subscribe 링크는 어떻게 가져오나요?
Subscribe 링크는 서버 항목을 가져오는 데 사용하며, Config에 있는 라우팅 규칙 파일과는 다른 항목입니다. 가져온 뒤에는 예상한 항목이 생성됐는지 확인하고 하나를 직접 선택해 테스트하세요. 링크를 저장하는 것만으로 모든 설정이 자동 완료되는 것은 아닙니다.
-
링크 복사
이미 이용 중인 서비스 정보에서 전체 Subscribe 링크를 복사하세요. 앞뒤 공백, 줄바꿈, 쿼리 매개변수가 빠지지 않았는지 확인하세요. 계정 관리 페이지 주소를 구독 링크로 사용하면 안 됩니다.
-
유형 선택
Home → 오른쪽 위 ‘+’ → Type → Subscribe로 이동한 뒤 직접 보유한 링크를 입력하세요. 링크의 인증 정보는 민감한 정보이므로 공개된 게시판에 공유하지 마세요.
-
저장 후 확인
저장한 뒤 콘텐츠를 가져올 때까지 기다리고 Home에 표시된 항목 이름과 개수를 확인하세요. 구독 주소만 저장되고 항목이 나타나지 않으면 가져오기 오류부터 확인하고, 같은 구독을 반복해서 추가하지 마세요.
-
선택 후 테스트
직접 보유한 서버 항목을 선택하고 연결 스위치를 켠 뒤 Home → Connectivity Test를 실행하세요. 브라우저에서도 실제로 이용하려는 웹사이트가 열리는지 확인하세요.
서버를 직접 추가할 때는 Type을 기존 정보에 표시된 프로토콜과 일치시켜야 합니다. Shadowsocks, VMess, VLESS, Trojan, Hysteria2, WireGuard는 인증 및 전송 항목이 서로 다릅니다. 주소와 포트만 복사한 뒤 임의로 프로토콜을 선택하면 안 됩니다. 포트를 443으로 입력했다고 해서 특정 프로토콜이라고 단정할 수도 없습니다.
5. Subscribe를 업데이트하면 직접 수정한 내용도 덮어쓰나요?
Subscribe를 업데이트하면 원격에서 서버 항목을 다시 가져오기 때문에 이름, 주소, 개수가 달라질 수 있습니다. 구독으로 관리되는 항목을 장기간 보관할 유일한 수동 편집본으로 취급하지 마세요. 서버에서 데이터를 다시 내려받을 때 일부 로컬 수정 사항이 유지되지 않을 수 있습니다. 업데이트 전에 현재 선택된 항목을 기록하고, 업데이트 후 선택 상태와 연결 결과를 다시 확인하세요.
- Home의 구독 목록을 아래로 당겨 새로고침하고 업데이트 완료 여부와 오류 메시지를 확인하세요.
- 시간 초과가 발생하면 먼저 현재 네트워크에서 구독 주소에 접속할 수 있는지 확인하세요. 이미 사용 가능한 연결을 통해 가져와야 하는지도 검토하세요.
- 프록시를 통해 업데이트해야 한다면 Settings → Subscribe → Update via Proxy를 확인하세요. 현재 연결이 이미 설정되어 있고 정상 작동하는 경우에만 사용할 수 있습니다.
- 인증 오류와 시간 초과는 원인이 다릅니다. 인증 오류라면 직접 보유한 링크의 권한과 전체 내용을 확인하고, 시간 초과라면 네트워크와 주소 접근 가능 여부도 점검하세요.
6. Global Routing의 네 가지 모드는 어떻게 선택하나요?
Home → Global Routing에서 현재 사용할 라우팅 모드를 선택합니다. 이 설정은 ‘어떤 서버를 선택했는지’와 별개입니다. 서버 선택은 사용할 출구를 정하고, 라우팅 모드는 어떤 요청에 프록시를 사용할지 결정합니다. 아래 안내는 올바른 Config를 이미 갖고 있다는 전제이며, 알 수 없는 모든 구성에 적용되지는 않습니다.
Config
추천현재 활성화된 구성의 규칙에 따라 요청의 경로를 결정합니다. DIRECT에 일치하면 직접 연결하고, 프록시 정책에 일치하면 해당 정책을 사용합니다. 앞선 규칙에 일치하지 않는 요청은 FINAL에 따라 처리되므로, 모두 직접 연결된다고 단정할 수 없습니다.
적합한 경우: 규칙과 최종 정책을 확인한 뒤 일상적으로 트래픽을 분리 라우팅할 때
Proxy
Config의 규칙별 라우팅 대신 트래픽을 프록시 모드로 처리합니다. 비교 테스트에 사용할 수 있지만 시스템 네트워크, 서버 이용 가능 여부, 관련 제외 설정의 영향을 받습니다.
적합한 경우: 라우팅 규칙이 문제의 원인인지 일시적으로 확인할 때
Direct
트래픽을 직접 연결 모드로 처리합니다. 스위치가 켜져 있어도 요청이 원격 프록시를 사용한다고 볼 수 없습니다. 프록시가 필요한 대상은 이 모드에서 계속 접속되지 않을 수 있습니다.
적합한 경우: 로컬 네트워크에서 직접 접속할 수 있는지 확인할 때
Scene
설정된 시나리오 조건에 따라 해당 라우팅 설정을 적용합니다. 별도의 서버 회선을 추가하는 기능이 아닙니다. 사용 전에 시나리오 조건과 연결된 동작을 확인하세요.
적합한 경우: 시나리오 전환을 설정하고 검증한 네트워크 환경
문제를 점검할 때 Config에서의 결과를 기록하고, 잠시 Proxy로 전환해 같은 대상을 다시 테스트한 뒤 Config로 되돌릴 수 있습니다. 같은 네트워크, 같은 서버, 같은 대상을 기준으로 비교해야 의미가 있습니다. 구독 업데이트, 서버 전환, DNS 변경을 동시에 하지 마세요.
7. Config 규칙에서 어떤 키워드를 확인해야 하나요?
Config 모드에서는 먼저 Config에서 어떤 파일이 활성화되어 있는지 확인한 다음 규칙 순서와 정책을 살펴보세요. 규칙은 일반적으로 순서대로 적용되므로 앞쪽의 포괄적인 조건이 뒤쪽의 구체적인 조건보다 먼저 적용될 수 있습니다. 구성 파일을 다운로드하거나 저장했더라도 현재 연결에 적용되고 있다는 뜻은 아닙니다.
[Rule]
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX: 지정한 도메인 접미사를 기준으로 일치시킵니다. 예를 들어example.com과 그 하위 도메인이 해당됩니다.IP-CIDR: IP 주소 대역을 기준으로 일치시킵니다. 예시의192.0.2.0/24는 문서용 예시 주소 대역입니다.no-resolve는 해당 IP 규칙에서 도메인 조회를 별도로 실행하지 않는다는 뜻입니다.GEOIP: IP 위치 데이터베이스를 기준으로 판단합니다.CN은 이 예시에서 사용하는 일치 매개변수이며, 모든 도메인 판단을 대신하지는 않습니다.FINAL: 앞선 규칙에 일치하지 않을 때 적용하는 최종 정책입니다. 예시에서는 나머지 요청을PROXY로 보냅니다.
이 내용은 문법 설명을 위한 예시이며 일상적으로 사용할 완성된 구성 권장안이 아닙니다. 기존 파일을 수정하기 전에 백업하세요. 존재하지 않는 사용자 지정 정책 이름을 입력하거나 FINAL을 앞쪽에 잘못 배치하면 예상과 다른 결과가 발생할 수 있습니다. 프로토콜은 서버에 연결하는 방법을 정하고 규칙은 요청의 경로를 정하므로 서로 대체할 수 없습니다.
8. Connectivity Test는 성공했는데 웹페이지가 열리지 않는 이유는 무엇인가요?
Home → Connectivity Test는 현재 조건에서 테스트 대상 요청이 어떤 결과를 내는지 확인하는 기능이며, 모든 인터넷 대상에 대한 접속을 보장하지 않습니다. 테스트는 성공했지만 특정 웹사이트가 열리지 않는다면 도메인에 다른 정책이 적용되거나, DNS 조회에 문제가 있거나, 대상 서비스 자체에 장애가 있거나, 웹사이트가 출구 IP를 제한하는 경우일 수 있습니다. 테스트 지연 시간은 실제 다운로드 대역폭을 나타내지 않습니다.
시간 초과가 표시되면 구독이 만료된 건가요?
아닙니다. 먼저 Home에서 선택된 항목을 확인한 다음 Global Routing을 점검하세요. 구성을 그대로 둔 상태에서 Wi-Fi와 셀룰러 네트워크를 각각 사용해 다시 테스트하세요. 한 네트워크에서만 실패한다면 해당 네트워크의 접속 가능 여부를 먼저 확인하세요.
테스트는 성공했는데 특정 웹사이트 하나만 열리지 않으면 어떻게 해야 하나요?
브라우저에서 같은 주소를 다시 열고 요청 로그에 표시된 대상 도메인과 정책을 확인하세요. Global Routing을 Config에서 Proxy로 잠시 바꿔 비교 테스트한 뒤, 테스트가 끝나면 원래 모드로 되돌리세요.
지연 시간은 낮은데 동영상이 계속 버퍼링되는 게 정상인가요?
지연 시간은 특정 테스트 요청의 응답 상황만 보여 주며 지속적인 전송 속도, 패킷 손실, 대상 사이트의 상태까지 알려 주지는 않습니다. 네트워크와 서버를 동일하게 유지하고 실제 이용하려는 서비스로 테스트하세요. 지연 시간이 가장 낮다는 이유만으로 서버를 선택하지 마세요.
서버를 바꾸기 전에 무엇을 기록해야 하나요?
네트워크 유형, 항목 이름, Global Routing 설정, 테스트 결과, 실패한 대상을 기록하세요. 그런 다음 한 번에 변수 하나만 바꿔 다시 테스트하세요. 진단 정보를 공유하기 전에는 비밀번호, 인증 정보, Subscribe 링크를 가리세요.
스위치를 껐는데 다시 연결된다면 On Demand는 어디서 확인하나요?
On Demand는 조건에 따라 연결을 시작하는 기능이지, 구독 유효 기간을 늘리거나 서버 속도를 높이는 기능이 아닙니다. 직접 연결을 껐는데 다시 연결된다면 Home 스위치를 계속 끄기보다 Settings → On Demand에서 활성화 상태와 조건을 먼저 확인하세요.
- Settings → On Demand로 이동해 현재 기능이 활성화되어 있는지와 설정된 네트워크 조건을 기록하세요.
- 수동으로 제어해야 한다면 On Demand를 일시적으로 비활성화한 다음 Home으로 돌아가 연결을 끄세요.
- Wi-Fi 또는 셀룰러 네트워크를 한 번 전환해 자동 연결이 계속 시작되는지 확인하세요. 기기가 조직에서 관리된다면 시스템 관리 요구 사항도 함께 점검하세요.
- 동작이 예상대로인지 확인한 뒤 필요한 조건을 하나씩 복원하세요. 조건을 하나 복원할 때마다 해당 네트워크로 전환해 테스트하세요.
On Demand는 ‘언제 연결할지’를, Global Routing → Scene은 ‘어떤 시나리오 라우팅을 적용할지’를 다룹니다. 두 기능은 같은 스위치가 아닙니다. 처음 설정할 때는 먼저 수동으로 연결하고 Config를 확인한 다음 자동화 조건을 추가하면 문제 원인을 좁히기 쉽습니다.
10. iPhone 또는 iPad를 교체한 뒤 구입한 앱을 어떻게 복원하나요?
새 기기의 App Store에서 기존에 구입한 계정으로 로그인한 뒤 계정의 구입 항목이나 앱 기록에서 Shadowrocket을 찾아 다시 받으세요. Apple 계정 페이지의 메뉴 이름은 시스템 인터페이스에 따라 달라질 수 있습니다. 앱을 찾지 못했다면 검색 결과에 같은 이름이 있다는 이유만으로 판단하지 말고 구입 계정과 구매 내역부터 확인하세요.
기기 교체 시 확인 사항: 앱 구매 내역과 구성 자료를 따로 복원
기존 기기
- App Store에서 기존 구매 계정과 구입 내역을 확인하세요.
- 현재 유효한 Config를 백업하고 직접 보유한 Subscribe 정보를 안전하게 보관하세요.
- 현재 선택된 항목, Global Routing, On Demand 설정을 기록하세요.
새 기기
- 기존 구매 계정의 App Store 구입 내역에서 앱을 다시 받으세요.
- 직접 보유한 구성과 구독 정보를 가져온 다음 서버 측 기기 사용 제한을 확인하세요.
- VPN 구성 권한을 다시 허용하고 Connectivity Test를 실행하세요.
구입 항목을 복원해도 모든 로컬 데이터가 복구되는 것은 아니며, 기존 서비스가 여러 기기의 동시 연결을 허용한다는 보장도 없습니다. 구성, 권한, 서비스 이용 제한을 각각 확인해야 합니다.
앱이 기기에 다시 표시된 뒤에도 ‘항목 선택 → Global Routing 확인 → 연결 켜기 → 대상 테스트’ 순서로 전체 절차를 진행하세요. 추가로 문제를 확인하려면 문제 진단을 참고하세요. 처음부터 설정하려면 빠른 시작을 이용하세요.