수동 연결은 가능하고 네트워크 환경에 따라 자동으로 연결을 켜고 끄고 싶은 iPhone 및 iPad 사용자에게 적합합니다. 먼저 On Demand와 Global Routing의 차이를 확인한 다음 Wi-Fi, 셀룰러, 도메인 조건을 설정하고 네트워크 전환과 요청 기록으로 결과를 검증합니다. 본인 소유의 서비스와 구독을 이미 이용 중인 경우를 전제로 합니다.
1. On Demand는 연결 시점을 정하며 요청별 경로는 정하지 않습니다
Shadowrocket의 On Demand는 시스템 VPN 주문형 연결 기능을 사용해 조건이 충족되면 연결을 시작하거나 끊습니다. 즉 연결 시점을 제어하는 기능입니다. 연결 후 트래픽이 어떤 경로를 이용할지는 Global Routing과 현재 설정에 따라 달라집니다. 시스템에 VPN 연결됨으로 표시되어도 모든 요청이 프록시 서버를 거치는 것은 아닙니다.
설정 경로는 Settings → On Demand입니다. 서버 선택은 Home, 규칙 설정은 Config에서 합니다. 세 기능의 역할을 구분하면 자동 연결 문제를 해결할 때 트래픽 분할 규칙을 불필요하게 수정하지 않아도 됩니다. 표시되는 옵션은 현재 앱 인터페이스와 시스템 지원 여부에 따라 다를 수 있습니다.
확인 순서: 연결 여부를 먼저, 경로를 다음으로 확인
VPN 연결이 시작되지 않았다면 먼저 On Demand 조건을 확인합니다. 연결은 되었지만 경로가 예상과 다르면 Global Routing과 적용된 정책을 확인하세요. 두 문제를 한데 묶어 해결하려 하지 마세요.
2. 설정 전에 수동 연결을 한 번 완료하세요
자동화 설정은 연결이 정상적으로 작동하는 상태에서 시작해야 합니다. On Demand는 서버 주소, 인증 정보 또는 만료된 구독 문제를 해결하지 않습니다. 먼저 주문형 연결을 잠시 끄고 같은 네트워크에서 수동으로 한 번 연결한 다음 조건을 추가하세요.
- Home에서 이미 보유한 구독이 가져와져 있는지 확인합니다. 업데이트가 필요하면 먼저 업데이트한 뒤 사용할 서버가 목록에 남아 있는지 확인하세요.
- 대상 서버 왼쪽의 원을 탭해 기본 서버로 선택합니다. 서버 상세 화면을 열기만 하고 선택하지 않는 일이 없도록 하세요.
- Home 상단의 연결 스위치를 켭니다. 처음 연결할 때는 시스템 안내에 따라 VPN 구성을 허용하세요.
- Connectivity Test를 실행하고 접속 가능한지 알고 있는 HTTPS 페이지를 방문합니다. 테스트에 실패하면 먼저 수동 연결 문제를 해결하세요.
- Config에서 현재 사용 중인 구성을 확인합니다. 그런 다음 Global Routing을 확인하고, 규칙에 따라 트래픽을 분할하려면 Config를 선택하세요.
- 현재 정상 작동하는 구성과 기존 On Demand 조건을 기록해 두고 Settings → On Demand에서 한 번에 하나씩 조정합니다.
3. Wi-Fi 설정: SSID별 연결 및 연결 해제
Wi-Fi 이름은 보통 SSID를 뜻하며 라우터 관리 주소나 휴대전화 기기 이름을 말하는 것이 아닙니다. 먼저 시스템의 Wi-Fi 설정에서 현재 이름을 확인한 뒤 On Demand의 Wi-Fi 조건에 입력하세요. 공백, 대소문자, 문자를 정확히 일치시켜야 하며 임의로 와일드카드를 추가하지 마세요.
집 Wi-Fi에서는 자동으로 연결을 끊고 다른 Wi-Fi에서는 자동으로 연결하는 경우를 예로 들면, 먼저 집의 SSID를 구체적으로 지정한 다음 나머지 Wi-Fi 조건을 설정해야 합니다. 아래 내용은 설정 목표와 확인 방법이며 Config에 붙여 넣는 설정 문법이 아닙니다. 동작 이름과 편집 가능한 항목은 현재 인터페이스를 기준으로 확인하세요.
| 적용 대상 | 원하는 동작 | 확인 방법 |
|---|---|---|
| 지정한 SSID(예: Home-WiFi) | 연결 해제 | 해당 Wi-Fi에 연결한 뒤 VPN 상태가 예상대로인지 확인 |
| 기타 Wi-Fi | 연결 시작 | 사용 가능한 다른 Wi-Fi로 전환한 뒤 자동 연결되는지 확인 |
| 로그인이 완료되지 않은 공용 Wi-Fi | 먼저 네트워크 인증 완료 | 시스템 로그인 페이지가 열리는지 확인한 뒤 주문형 연결 테스트 |
- Settings → On Demand에서 Wi-Fi 조건을 찾아 먼저 명확한 SSID 하나만 설정합니다.
- 해당 SSID에 연결 또는 연결 해제 중 원하는 동작을 지정합니다. 조건 순서를 바꿀 수 있다면 구체적인 SSID 조건을 포괄적인 Wi-Fi 조건보다 앞에 두세요.
- On Demand를 저장하고 활성화합니다. 해당 Wi-Fi에서 나갔다가 다시 연결해 실제 네트워크 변화를 확인하세요. 같은 네트워크에서 화면만 반복해서 열어 보는 것으로는 충분하지 않습니다.
- 이 조건이 예상대로 작동하는 것을 확인한 뒤 다른 Wi-Fi 조건을 추가하세요.
SSID는 네트워크 이름을 식별할 뿐, 네트워크가 신뢰할 수 있는지 확인해 주지는 않습니다. 장소가 달라도 같은 이름의 Wi-Fi가 있을 수 있습니다. 네트워크 환경을 명확히 알고 있을 때만 자동 연결 해제를 설정하세요. 익숙해 보이는 이름만으로 연결 기준을 낮추지 마세요.
4. 셀룰러 설정: Wi-Fi 조건과 따로 확인
셀룰러 조건은 셀룰러 연결을 지원하는 기기에서만 사용할 수 있습니다. Wi-Fi 전용 iPad에 이 조건을 추가해도 셀룰러 네트워크가 생기지는 않습니다. 테스트할 때 기기가 실제로 셀룰러 데이터를 사용 중인지 확인해 Wi-Fi 연결 때문에 잘못 판단하지 않도록 하세요.
- Settings → On Demand에서 셀룰러 네트워크에 적용할 연결 동작을 설정합니다. 이미 확인한 Wi-Fi 조건은 그대로 두고 다른 설정은 동시에 변경하지 마세요.
- 시스템 Wi-Fi를 끄고 셀룰러 데이터를 사용할 수 있는지 확인합니다. 네트워크 전환이 완료될 때까지 기다린 뒤 VPN 상태를 확인하세요.
- 새 HTTPS 페이지를 열고 필요한 경우 Connectivity Test를 실행합니다. 이미 열려 있는 페이지는 캐시를 사용할 수 있으므로 유일한 확인 수단으로 삼지 마세요.
- Wi-Fi를 다시 켜고 설정한 네트워크에 연결해 해당 Wi-Fi에 지정한 동작이 실행되는지 확인하세요.
- 자동 재연결이나 다른 자동화 설정이 있다면 각 기능의 역할을 확인해 여러 기능이 연결 상태를 동시에 제어하지 않도록 하세요.
5. 도메인 조건: 연결 트리거는 DOMAIN-SUFFIX 규칙과 다릅니다
도메인별 주문형 연결은 도메인 조회 요청을 시스템이 평가하는 기능이지, 각 웹페이지의 전체 URL을 확인하는 기능이 아닙니다. 사용할 수 있는 도메인 조건과 평가 동작, 추가 확인 항목은 Settings → On Demand에 현재 표시되는 입력란을 기준으로 하세요. Config의 규칙을 도메인 입력란에 붙여 넣지 마세요.
시스템은 DNS 조회 가능 여부, 지정된 DNS 서버 또는 탐색 결과 등을 바탕으로 도메인 조건을 평가해 연결 여부를 결정할 수 있습니다. 따라서 도메인을 설정해도 접속할 때마다 VPN 연결이 새로 시작되는 것은 아닙니다. 기존 연결, DNS 캐시, 앱 자체의 이름 해석 방식에 따라 확인 결과가 달라질 수 있습니다.
| 설정 위치 | 입력 내용 | 용도 |
|---|---|---|
| Settings → On Demand의 도메인 조건 | 도메인(예: example.com) | 시스템이 연결 필요 여부를 판단하도록 설정 |
| Config의 DOMAIN | DOMAIN,example.com,DIRECT | 정확한 도메인에 적용할 요청 정책 지정 |
| Config의 DOMAIN-SUFFIX | DOMAIN-SUFFIX,example.com,DIRECT | 해당 도메인과 하위 도메인에 적용할 요청 정책 지정 |
- 접근 권한이 있고 용도가 명확한 실제 도메인을 선택하세요. 위 표의 example.com은 입력 형식을 보여 주기 위한 예시입니다.
- 도메인 입력란에는 도메인만 입력하고
https://, 경로, 포트 또는 쿼리 매개변수는 추가하지 마세요. - 인터페이스에서 지원하는 평가 옵션에 따라 조건을 설정하세요. 해당 도메인 입력란이 없다면 트래픽 분할 규칙으로 연결 트리거를 대신 설정하지 마세요.
- 테스트 전에 다른 Wi-Fi 또는 셀룰러 조건이 먼저 연결을 시작하지 않는지 확인한 뒤 새로 도메인에 접속하세요.
- VPN 연결 여부, 도메인 조회 여부, 요청 성공 여부를 각각 기록하세요. 실패하면 이 세 단계를 차례로 확인하세요.
IP 주소에 직접 접속하는 방법으로는 보통 도메인 트리거를 확인할 수 없습니다. 브라우저가 캐시된 주소를 사용하거나 앱이 자체 암호화 DNS를 사용하면 예상한 시스템 도메인 평가 경로를 거치지 않을 수도 있습니다. 네트워크 수준에서 안정적으로 자동 연결하려면 먼저 Wi-Fi 또는 셀룰러 조건을 확인한 뒤 도메인 조건을 추가하세요.
6. 규칙 충돌: 조건 적용 범위를 먼저, Global Routing은 다음으로 확인
흔한 충돌은 구체적인 조건이 포괄적인 조건에 덮이는 경우입니다. 예를 들어 집 Wi-Fi에서 연결을 끊으려는 동시에 모든 Wi-Fi에 연결하는 조건을 설정하면 충돌할 수 있습니다. 조건 목록이 순서대로 적용된다면 구체적인 예외를 일반 조건보다 앞에 두세요. 네트워크 유형별로 설정하는 인터페이스라면 각 유형의 동작을 확인하고 모든 유형이 하나의 규칙표를 공유한다고 가정하지 마세요.
- Proxy: 트래픽을 프록시 경로로 일괄 처리하는 경우에 사용합니다. Config 규칙이 모든 요청을 결정한다는 뜻은 아닙니다.
- Direct: 직접 연결 방식에 사용합니다. VPN 연결 상태와 프록시를 통한 외부 경로는 같은 의미가 아닙니다.
- Config: 현재 구성에 따라 트래픽을 처리합니다. DOMAIN-SUFFIX, GEOIP, IP-CIDR, FINAL을 확인하려면 먼저 이 항목이 선택되어 있는지 확인하세요.
- Scene: 설정된 장면에 따라 트래픽을 처리합니다. 실제로 선택된 장면 설정을 확인하고 Config와 같은 기능이라고 간주하지 마세요.
아래는 Config의 [Rule] 섹션에서 가져온 문법 예시로, 규칙 순서를 설명하기 위한 것입니다. 완전한 구성이나 On Demand 설정이 아닙니다. 도메인과 네트워크 대역은 설명용 값입니다. 현재 정상 작동하는 구성은 그대로 두고 덮어쓰지 마세요.
[Rule]
DOMAIN,example.com,DIRECT
DOMAIN-SUFFIX,example.org,REJECT
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
요청은 규칙 순서대로 일치 여부를 확인하며, 앞선 규칙에 일치하지 않는 요청은 FINAL이 처리합니다. IP-CIDR 예시의 no-resolve는 해당 규칙을 위해 도메인을 능동적으로 조회하지 않는다는 뜻입니다. 자동 연결은 성공했는데 페이지가 REJECT로 차단된다면 On Demand를 반복해서 켜고 끄지 말고 해당 규칙을 수정하세요.
7. 자주 묻는 질문과 최소 확인 기록
스위치를 직접 껐는데 왜 다시 연결되나요?
먼저 Settings → On Demand에서 주문형 연결을 일시 중지한 다음 Home 상단의 스위치를 끄세요. 연결만 끄고 트리거 조건을 그대로 두면 이후 네트워크가 바뀌거나 새 평가가 실행될 때 다시 연결될 수 있습니다. 계속 재연결된다면 다른 자동 연결 설정도 확인하세요.
같은 Wi-Fi인데 연결될 때도 있고 안 될 때도 있나요?
실제 SSID를 확인하고 이름이 다른 주파수 대역의 네트워크로 전환된 것은 아닌지 살펴보세요. 공용 네트워크 인증이 완료되었는지도 확인합니다. 다른 조건은 잠시 제거하고 해당 조건 하나만 남겨 재현해 네트워크 장애를 조건 오류로 오인하지 않도록 하세요.
VPN은 연결됐는데 왜 웹페이지가 열리지 않나요?
Home에서 Connectivity Test를 실행해 현재 서버를 사용할 수 있는지 확인하세요. 그런 다음 Global Routing과 Config에서 어떤 규칙이 적용되는지 살펴봅니다. 특정 도메인만 실패한다면 DNS와 REJECT 규칙을 확인하고 VPN 구성을 전부 새로 만들지는 마세요.
도메인 조건을 설정했는데 페이지를 새로고침해도 연결되지 않나요?
먼저 다른 조건이 먼저 연결을 시작하지 않았는지 확인한 뒤 도메인 입력란에 URL 경로가 섞이지 않았는지 살펴보세요. 새로 접속해 테스트하고 시스템 DNS 캐시와 앱의 도메인 조회 방식도 확인합니다. 한 번 새로고침한 결과만으로 도메인 조건이 작동하지 않는다고 단정하지 마세요.
테스트할 때마다 아래 네 항목을 기록하세요. 네트워크 조건, 연결 상태, 요청 결과가 서로 맞아야 자동화 설정이 예상대로 작동하는지 판단할 수 있습니다. 한 번에 변수를 하나씩만 변경하고 확인한 뒤 다음 항목을 추가하는 것이 좋습니다.
- 현재 네트워크: 실제 SSID 또는 현재 사용 중인 셀룰러 네트워크.
- 예상 동작: 연결, 연결 해제 또는 도메인 조건 평가 대기.
- 실제 상태: 시스템 VPN 상태와 Home에 표시되는 연결 상태.
- 요청 결과: Connectivity Test 결과, 새 페이지가 열리는지 여부, 해당 요청에 적용된 정책.
설정을 복구하려면 먼저 On Demand를 비활성화한 뒤 기록해 둔 조건과 현재 구성을 복원하세요. 수동 연결이 정상적으로 되는지 확인한 다음 자동화 기능을 하나씩 다시 활성화합니다. 이 순서로 진행하면 서버 문제, 규칙 문제, 연결 트리거 문제를 구분해 해결할 수 있습니다.