On Demand는 VPN 터널을 언제 연결할지 관리하며, 연결 후 적용되는 트래픽 라우팅 규칙을 대신하지 않습니다. 사용할 서버와 구독이 있고 수동 연결이 정상 작동하는 경우를 전제로, 지정 Wi-Fi·셀룰러 네트워크·도메인 요구에 따른 설정 방법과 확인 순서, 비활성화 방법을 설명합니다. 수동 전환을 줄이면서 연결 조건을 명확히 관리하려는 iPhone·iPad 사용자에게 적합합니다.
연결과 라우팅을 구분하세요
Shadowrocket의 Home 스위치는 연결을 시작하거나 중단합니다. Settings → On Demand는 조건에 따른 연결 동작을 관리하고, Home → Global Routing은 연결 후 트래픽을 처리하는 방식을 정합니다. 각 항목은 서로 다른 설정 단계이므로, VPN 상태가 표시된다고 해서 모든 요청이 프록시를 거친다고 볼 수는 없습니다.
On Demand는 Apple 시스템의 VPN On Demand 기능을 사용합니다. 네트워크가 바뀌거나 조건에 맞는 네트워크 요청이 발생하면 시스템이 저장된 조건을 확인합니다. 웹페이지 내용을 계속 감시하는 타이머가 아니며, 페이지에 특정 문구가 있다고 연결을 시작하지도 않습니다. Shadowrocket을 화면에서 닫아도 시스템에 설정된 On Demand 동작이 꺼지는 것은 아닙니다.
최소 조건으로 테스트하기
처음에는 조건 하나만 켜고 정상 작동을 확인한 뒤 예외를 추가하세요. 앱 표시 언어나 시스템 환경에 따라 조건 편집 메뉴 이름과 사용할 수 있는 항목이 다를 수 있습니다. 아래 안내는 Settings → On Demand에서 시작하며, 실제 화면에 표시되는 네트워크·SSID·도메인·연결 동작 항목을 기준으로 설정합니다. 예시 조건을 그대로 가져다 쓸 수 있는 구성 파일로 간주하지 마세요.
-
수동 연결 확인
Home으로 이동해 기존 서버를 선택하고 연결 스위치를 켠 다음 시스템 VPN 구성 권한을 허용합니다. Connectivity Test를 실행하고 정상적으로 열리는 것으로 확인된 페이지에 접속해 테스트 결과와 실제 접속 결과를 각각 기록하세요.
-
라우팅 설정 확인
Home → Global Routing에서 현재 선택 항목을 확인하세요. 규칙에 따라 평소 트래픽을 처리하려면 Config를 선택하고, Config에서 사용 중인 구성 파일도 확인합니다. 자동 연결은 됐지만 Direct 상태여서 트리거가 실패했다고 잘못 판단하는 일을 막을 수 있습니다.
-
조건 하나 설정하기
Settings → On Demand로 이동해 네트워크 조건 하나만 설정하세요. 예를 들어 현재 Wi-Fi의 정확한 SSID를 지정하고 원하는 연결 동작을 선택합니다. 조건을 저장한 뒤 On Demand를 켜세요. 서로 겹치는 조건을 한꺼번에 추가하지 마세요.
-
테스트 환경 다시 만들기
먼저 대상 네트워크에서 나갔다가 다시 연결한 다음 새 웹 요청을 보내세요. On Demand 스위치가 켜져 있는지만 보지 말고, 시스템 VPN 상태와 Home 상태를 확인하세요.
-
예외를 하나씩 추가하기
조건 하나가 정상 작동한 뒤에 가정용 Wi-Fi, 셀룰러 네트워크, 도메인 조건을 추가하세요. 항목을 하나 추가할 때마다 네트워크를 전환하고 접속을 테스트합니다. 실패하면 마지막으로 추가한 조건을 되돌리고 이미 확인한 조건은 유지하세요.
화면에 도메인을 별도로 평가하는 항목이 없다면 도메인을 SSID 입력란에 넣지 마세요. Rule에 도메인 규칙을 추가하는 것만으로 On Demand 트리거 설정이 완료되는 것도 아닙니다. 전자는 조건 대상이 잘못된 것이고, 후자는 이미 터널에 들어온 트래픽의 경로만 바꿉니다.
Wi-Fi 및 셀룰러 조건 설정
Wi-Fi 조건은 일반적으로 SSID, 즉 무선 네트워크 이름을 기준으로 합니다. SSID는 라우터 관리 주소나 기기 이름이 아닙니다. 시스템에서 현재 연결된 네트워크 정보를 확인해 입력하고 공백, 대소문자, 문장 부호를 그대로 유지하세요. 예를 들어 Home-WiFi와 Home-WiFi-5G는 별개의 네트워크입니다. 같은 라우터에서 제공하더라도 반드시 같은 조건으로 인식되는 것은 아닙니다.
두 네트워크 조건의 설정 범위
Wi-Fi 지정
- 정확한 SSID를 확인한 뒤 필요한 연결 또는 연결 해제 동작을 선택하세요.
- 가정용 Wi-Fi에서 연결을 유지하지 않으려면 명확한 예외로 설정하고, 더 포괄적인 Wi-Fi 조건이 먼저 적용되지 않는지 확인하세요.
- 웹 인증이 필요한 게스트 네트워크라면 먼저 인증을 마친 뒤 On Demand를 테스트하세요.
셀룰러 네트워크
- 기기에서 셀룰러 데이터 연결을 사용할 수 있고 켜져 있어야 합니다. Wi-Fi 전용 iPad에는 이 조건을 적용할 수 없습니다.
- 실제 네트워크 인터페이스를 기준으로 판단하세요. 휴대전화 핫스팟에 연결한 경우 기기는 보통 Wi-Fi 환경으로 인식됩니다.
- 테스트할 때는 Wi-Fi를 끄고 셀룰러 데이터가 작동하는지 확인한 다음 새 요청을 보내세요.
조건을 설정하기 전에 각 네트워크에서 연결할지 연결을 해제할지 명확히 정하세요. 네트워크 이름만으로 해당 네트워크를 신뢰할 수 있는지는 알 수 없습니다.
여러 On Demand 조건이 일치 순서에 따라 적용된다면 구체적인 예외를 포괄적인 조건보다 먼저 두세요. 예를 들어 가정용 SSID에서 연결을 해제하는 조건을 먼저 처리하고, 나머지 Wi-Fi에서 연결하는 조건을 뒤에 둡니다. 실제 화면에서 제공하는 정렬 방식을 확인하고, 새로 추가한 조건이 반드시 우선 적용된다고 가정하지 마세요. 예외를 설정했는데도 가정용 네트워크에서 연결되는 경우, 지나치게 포괄적인 기본 조건이 있는지 확인하세요.
- 네트워크 변경: Wi-Fi에서 셀룰러 네트워크로 전환하면 기존 연결이 잠시 유지되거나 다시 설정될 수 있습니다. 전환 후 새 요청을 보내 확인하세요.
- 시스템 권한: SSID를 인식하지 못한다면 관련 네트워크 정보에 대한 시스템 접근 제한과 화면 안내를 확인하세요. 네트워크 이름 대신 빈 문자열을 입력하지 마세요.
- 자동 연결 해제: 연결 조건만 설정했다고 해서 해당 네트워크에서 벗어날 때 반드시 연결이 해제되는 것은 아닙니다. 다른 조건과 기본 동작도 함께 확인하세요.
도메인 트리거와 도메인 라우팅은 다릅니다
도메인 기반 On Demand 기능은 일반적으로 브라우저 주소 표시줄을 하나씩 확인하는 것이 아니라, 시스템이 도메인 DNS 조회 요청을 평가하는 방식으로 작동합니다. 화면에 해당 조건이 있다면 example.com처럼 도메인을 입력하고 https://example.com/path처럼 URL 전체를 입력하지 마세요. 매칭 범위와 하위 도메인 처리 방식은 해당 입력 항목의 설명을 따르며, Rule의 DOMAIN-SUFFIX 의미를 그대로 적용할 수는 없습니다.
Apple의 On Demand 기능은 DNS 조회 조건이 충족되면 연결을 요청하도록 도메인을 평가할 수 있지만, 도메인에 접속할 때마다 무조건 터널을 연결하는 것은 아닙니다. 따라서 대상 도메인에 접속했는데 바로 연결되지 않는다면 조건의 동작, 현재 DNS 결과, 캐시를 함께 확인하세요. 도메인 철자만 확인해서는 충분하지 않습니다. 브라우저에 이미 연결이 열려 있거나 앱 자체의 암호화 DNS를 사용하거나 IP 주소로 직접 접속하면, 시스템이 기대한 도메인 DNS 조회 요청이 발생하지 않을 수 있습니다.
| 위치 | 처리하는 항목 | 확인 방법 |
|---|---|---|
| Settings → On Demand | 네트워크 또는 도메인 요청에 따라 VPN을 연결할지 여부 | 연결을 해제한 뒤 새 요청을 보내 연결 여부를 확인합니다 |
| Config의 Rule | 터널 내 요청이 어떤 규칙과 정책을 적용받는지 | 연결 후 요청 기록과 적용된 정책을 확인합니다 |
| Home → Global Routing | 현재 적용 중인 트래픽 처리 방식 | Config, Proxy, Direct 또는 Scene을 확인합니다 |
아래는 지정한 도메인에는 프록시를 적용하고 나머지는 직접 연결하는 Rule 예시이며, On Demand 조건이 아닙니다. 사용 중인 구성 파일의 Rule 섹션에 넣고 Config 모드에서 확인해야 합니다. 프록시 정책을 사용하려면 사용자가 이미 보유한 사용 가능한 서버도 선택되어 있어야 합니다.
[Rule]
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
DOMAIN-SUFFIX는 지정한 도메인과 하위 도메인을 매칭하고, FINAL은 마지막 기본 규칙으로 사용됩니다. 규칙은 위에서 아래 순서로 평가됩니다. GEOIP와 IP-CIDR은 대상 IP의 위치나 IP 대역을 기준으로 하며, 아직 연결되지 않은 VPN을 시작하지 않습니다. On Demand로 연결된 뒤에야 이 규칙들이 이후 트래픽의 라우팅을 처리합니다.
연결 후 Global Routing 확인
자동 연결은 첫 단계일 뿐입니다. 테스트할 때는 Global Routing 모드를 고정하세요. 모드에 따라 같은 도메인의 경로가 달라져 On Demand 동작을 잘못 판단할 수 있습니다. 아래 비교는 Shadowrocket 자체 설정에 관한 것이며 서비스 제공업체별 차이는 다루지 않습니다.
Config
권장현재 구성 파일의 규칙에 따라 트래픽을 처리합니다. 도메인 규칙, IP 규칙, FINAL의 순서가 실제 경로에 영향을 주므로 자동 연결 후에도 명확한 라우팅 기준을 유지할 수 있습니다.
적합한 경우: 구성 파일을 준비했고 일상 요청을 규칙에 따라 처리하려는 경우
Proxy
해당 모드에서 처리하는 트래픽에 프록시 경로를 적용합니다. 규칙 구성의 영향을 분리해 확인할 때 쓸 수 있지만 On Demand를 대신하지 않으며 모든 시스템 트래픽을 처리한다고 보장하지도 않습니다.
적합한 경우: 프록시 경로의 작동 여부를 잠시 확인한 뒤 원래 모드로 되돌리려는 경우
Direct
처리 대상 트래픽을 직접 연결합니다. VPN이 연결된 상태에서도 요청은 직접 연결될 수 있으므로 상태 아이콘만으로 프록시 서버를 거쳤는지 판단할 수 없습니다.
적합한 경우: 직접 연결 결과와 비교해 대상 웹사이트 문제와 프록시 경로 문제를 구분하려는 경우
Scene
설정한 Scene에 따라 해당 처리 방식을 선택합니다. 테스트 전에 Scene의 조건을 확인하세요. Scene 선택과 시스템의 On Demand 터널 연결은 서로 다른 설정입니다.
적합한 경우: Scene 조건을 구성해 두었고 Scene에 따라 처리 방식을 전환하려는 경우
수동 연결 해제 및 문제 해결 순서
On Demand가 켜져 있을 때 Home 스위치를 수동으로 꺼도 자동 연결이 영구적으로 비활성화되는 것은 아닙니다. 이후 네트워크가 바뀌거나 조건에 맞는 요청이 발생하면 시스템이 다시 평가할 수 있습니다. 구체적인 시점은 시스템의 수동 연결 해제 처리 방식에 따라 달라집니다. On Demand 동작을 확실히 중단하려면 Settings → On Demand에서 먼저 비활성화한 다음 Home에서 연결을 해제하세요.
연결을 껐는데 왜 다시 연결되나요?
Settings → On Demand가 아직 켜져 있는지 확인한 뒤 현재 네트워크에 적용되는 포괄적인 연결 조건이 있는지 살펴보세요. 잠시 비활성화하려면 On Demand를 먼저 끄고 Home 스위치도 끄세요. 네트워크를 다시 전환해 자동 연결이 재개되지 않는지 확인합니다.
셀룰러 네트워크로 바꿨는데도 반응이 없나요?
Wi-Fi가 완전히 끊겼고 셀룰러 데이터로 웹페이지에 접속할 수 있는지 먼저 확인하세요. 그런 다음 조건이 어떤 네트워크 유형에 적용되는지 살펴봅니다. 새 요청을 보내 Home 상태를 확인하세요. 수동 연결도 실패한다면 기본 연결 문제부터 해결하고 On Demand 조건을 더 추가하지 마세요.
도메인을 제대로 입력했는데 왜 트리거되지 않나요?
해당 조건보다 먼저 평가되는 네트워크 조건이 있는지와 도메인 평가 동작을 확인하세요. 열려 있는 페이지를 닫고 다시 테스트합니다. 비공개 브라우징 창을 사용해도 시스템 DNS 캐시가 비워진다고 보장할 수는 없습니다. 앱이 자체 DNS 경로를 사용한다면 시스템 DNS 조회 요청을 발생시키는 방식으로 교차 확인하세요.
자동 연결됐는데도 웹페이지가 열리지 않나요?
Home에서 Connectivity Test를 실행하고 Global Routing 모드와 현재 Config를 확인하세요. 지연 시간 테스트는 해당 테스트 대상의 결과만 보여 줍니다. 대상 도메인의 DNS 조회, TLS 연결, 페이지 리소스가 모두 정상이라는 뜻은 아닙니다. 요청 기록을 확인해 DNS 조회 실패와 연결 실패를 구분하세요.
구독을 업데이트하면 On Demand도 다시 설정해야 하나요?
구독 업데이트와 On Demand 조건은 서로 다른 설정이므로 목록 업데이트만으로 조건을 다시 만들 필요는 보통 없습니다. 다만 이전에 선택한 서버가 여전히 있는지, 인증 정보가 유효한지 확인한 뒤 수동 연결을 테스트하세요. 서버 목록 업데이트만으로 현재 Config와 On Demand 조건 확인을 대신할 수는 없습니다.
전환 기록으로 최종 확인하기
최종 확인에는 대상 Wi-Fi에 연결하는 경우, 대상 Wi-Fi에서 벗어나는 경우, 셀룰러 데이터로 접속하는 경우, On Demand를 끈 뒤 수동으로 연결을 해제하는 경우를 각각 한 번 이상 포함하세요. 매번 변수 하나만 바꾸고 ‘현재 네트워크, 트리거 요청, 연결 상태, 실제 접속 결과’를 기록합니다. 이렇게 하면 트리거되지 않는 문제, 트리거는 됐지만 연결에 실패하는 문제, 연결은 됐지만 라우팅이 잘못된 문제를 구분할 수 있습니다.
- 대상 Wi-Fi: 정확한 SSID에 다시 연결해 새 요청을 보내고 설정한 연결 또는 연결 해제 동작이 적용되는지 확인하세요.
- 예외 네트워크: 연결 해제 조건을 설정한 Wi-Fi로 전환하고 더 포괄적인 조건이 이를 덮어쓰지 않는지 확인하세요.
- 셀룰러 접속: Wi-Fi를 끈 뒤 모바일 데이터가 작동하는지 확인하고 테스트 도메인에 다시 접속해 상태를 살펴보세요.
- 자동 연결 중지: Settings → On Demand를 비활성화한 다음 Home 스위치를 끄고 네트워크를 다시 전환해 비활성화가 적용됐는지 확인하세요.
On Demand 연결에는 터널 설정과 네트워크 전환 과정이 포함되므로 모든 전환이 지연 없이 이뤄진다고 기대해서는 안 됩니다. 자동 연결을 켰다는 이유만으로 배터리 소모가 줄어든다고 판단할 수도 없습니다. 필요한 조건만 남기고 중복 조건을 삭제한 뒤 위 절차로 확인하면, 기본 조건을 계속 추가하는 것보다 문제를 찾기 쉽습니다.