On Demand는 네트워크 조건에 따라 시스템이 VPN 연결을 설정하거나 처리하도록 하는 기능이며, 각 요청의 아웃바운드 정책을 결정하지는 않습니다. Shadowrocket에 직접 준비한 서비스를 설정하고 수동 연결이 정상적으로 되는 사용자를 대상으로 합니다. Wi-Fi, 셀룰러 네트워크, 도메인 조건을 차례로 설정하고 확인하면 자동 연결, 규칙 라우팅, 수동 연결 해제의 차이를 구분할 수 있습니다.
On Demand와 규칙 라우팅의 차이
On Demand 설정은 시스템의 주문형 연결 기능을 구성하는 메뉴로, Settings → On Demand에 있습니다. 이 설정은 “언제 VPN 연결이 필요한가”를 지정하며, “특정 웹사이트가 어떤 경로를 사용해야 하는가”를 정하지는 않습니다. 스위치와 조건 목록, 기본 동작은 현재 앱에 표시되는 내용을 기준으로 확인하세요. 처음 설정할 때는 네트워크 조건 하나만 활성화하고, 동작을 확인한 뒤 예외를 추가하는 것이 좋습니다.
규칙 라우팅은 터널이 설정된 뒤 Home의 Global Routing과 현재 Config에 따라 적용됩니다. Config를 선택하면 요청은 해당 설정에 따라 처리됩니다. Proxy, Direct, Scene은 다른 라우팅 모드이며 On Demand의 트리거 조건이 아닙니다. 자동 연결이 되었다고 해서 모든 요청이 프록시를 통과하는 것은 아니며, Direct를 선택해도 시스템 VPN 연결이 해제되는 것은 아닙니다.
네트워크 전환, 도메인 확인 또는 이후의 네트워크 접근으로 시스템이 조건을 다시 평가할 수 있습니다. 구체적인 동작은 저장된 규칙과 시스템 상태에 따라 달라집니다. On Demand를 일정한 간격으로 연결을 확인하는 기능으로 이해하면 안 됩니다. 터널 설정, 원격 서비스 연결, 대상 웹페이지 접근은 각각 따로 확인해야 합니다.
요약: 먼저 터널을 확인하고, 그다음 라우팅을 점검하세요
자동 연결 후에도 웹페이지에 문제가 있으면 먼저 시스템 VPN이 연결되었는지 확인한 다음 Home → Global Routing과 현재 Config를 점검하세요. On Demand와 라우팅 규칙을 동시에 변경하면 어떤 변경이 결과에 영향을 줬는지 파악하기 어렵습니다.
설정 전: 수동 연결 기준선 만들기
수동 연결 기준선은 자동 트리거를 끈 상태에서도 반복해서 확인할 수 있는 연결 결과입니다. 기존 프로토콜 설정은 그대로 두고, Home에서 이미 설정한 서비스를 한 번 연결해 보세요. 이 글은 사용자가 자신의 서비스와 구독을 보유하고 있다는 전제이며, 서비스 이용 경로는 다루지 않습니다.
- Settings → On Demand로 이동해 기존 설정을 기록한 뒤, 문제를 확인하는 동안 시스템이 다시 연결을 시도하지 않도록 주문형 연결을 잠시 끄세요.
- Home으로 돌아가 사용할 서비스를 선택하세요. Subscribe로 가져온 경우 먼저 업데이트 결과와 실제 선택된 항목을 확인하세요. 목록을 업데이트했다고 해서 사용 가능한 항목이 자동으로 선택되는 것은 아닙니다.
- Home → Global Routing을 확인하세요. 설정에 따라 라우팅하려면 Config를 선택하고, Config에서 현재 사용 중인 파일을 확인하세요.
- Home의 연결 스위치를 켜세요. 시스템 VPN 설정 권한을 처음 요청하면 시스템 안내에 따라 승인합니다. 권한을 승인해도 원격 서비스 연결이 보장되는 것은 아닙니다.
- 원래 바로 접속할 수 있는 페이지와 기존 프록시 정책이 필요한 대상을 각각 열고, 연결 상태와 오류 메시지, 현재 네트워크 유형을 기록하세요.
- 연결을 해제한 뒤 다시 연결해 보세요. 수동 연결부터 불안정하다면 자동 트리거를 설정하기 전에 주소, 포트, 인증 정보, DNS를 확인하세요.
Wi-Fi: SSID로 네트워크 조건 구분하기
SSID는 Wi-Fi 네트워크 이름입니다. 라우터 관리 주소나 액세스 포인트의 하드웨어 주소가 아닙니다. SSID를 기준으로 설정할 때는 기기의 현재 Wi-Fi 정보에서 전체 이름을 확인하고 공백, 대소문자, 기호를 그대로 입력하세요. 이름 매칭 시 이런 차이를 무시한다고 임의로 가정하지 마세요.
Wi-Fi 조건의 적절한 설정은 사용 목적에 따라 달라집니다. 예를 들어 집에서는 터널이 자동으로 설정되지 않게 하고 집을 벗어난 뒤 주문형 연결을 사용하려면, 집의 SSID를 예외로 지정할 수 있습니다. 모든 네트워크에서 연결이 필요하다면 이런 예외를 추가할 필요가 없습니다. ‘집’은 사용자가 붙인 용도일 뿐, 시스템이 인식하는 보안 등급이 아닙니다.
- 기기의 Wi-Fi 설정에서 현재 네트워크 이름을 확인합니다. 예:
Home-5G. 이 이름은 예시이므로 실제 SSID를 입력하세요. - Settings → On Demand로 이동해 현재 화면에서 제공하는 Wi-Fi 및 SSID 조건을 찾으세요. 목록 설명을 먼저 읽고, 해당 조건이 일치 항목 포함인지 제외인지 확인하세요.
- 목표에 맞는 동작을 선택하세요. 특정 SSID에서 자동 연결을 막으려면 해당 화면에서 지원하는 제외 또는 연결 해제 동작을 사용하세요. 무시 동작만 제공된다면 ‘무시’를 ‘즉시 연결 해제’와 같은 의미로 받아들이지 마세요.
- On Demand를 저장하고 활성화한 뒤 해당 SSID에서 새 요청을 한 번 발생시키세요. 다른 알려진 네트워크로 전환해 같은 테스트를 반복합니다.
- 앱에서 현재 SSID를 확인할 수 없다면 시스템에서 관련 권한을 요청하는지, 현재 시스템에 접근 제한이 있는지 확인하세요. 이름을 확인하지 못한 상태는 조건이 정상적으로 일치했다는 근거가 아닙니다.
| 테스트 네트워크 | 설정 목표 예시 | 확인할 결과 |
|---|---|---|
Home-5G | 새 터널을 자동으로 설정하지 않음 | 연결을 해제한 뒤 요청을 보내 다시 연결되는지 확인 |
| 다른 알려진 SSID | 조건을 충족하면 자동 연결 | 시스템 VPN 상태와 대상 접속 결과 확인 |
| 웹 인증이 필요한 Wi-Fi | 먼저 네트워크 접속 완료 | 인증 페이지가 열리는지 확인한 뒤 주문형 연결 테스트 |
공용 Wi-Fi는 웹 인증을 먼저 요구할 수 있습니다. 네트워크에 접속했다고 해서 인터넷을 사용할 수 있는 것은 아닙니다. 연결 동작 때문에 인증 페이지에 접근할 수 없다면 On Demand를 잠시 끄고 VPN 연결을 해제한 뒤 네트워크 인증을 완료하고 기존 설정을 복원하세요. 같은 SSID가 여러 장소에서 사용될 수도 있으므로 이름만으로 네트워크의 정체성을 판단하거나 보안을 보장할 수는 없습니다.
셀룰러 네트워크: 전환 후 연결을 따로 확인하기
셀룰러 조건은 기기가 모바일 데이터를 사용할 때 적용되는 주문형 동작입니다. Wi-Fi 조건과 따로 기록하세요. 기본값은 현재 앱에 표시되는 내용을 기준으로 확인합니다. Wi-Fi를 벗어난 뒤에도 주문형 연결을 사용하려면 먼저 셀룰러 네트워크가 정상적으로 작동하는지 확인한 다음 관련 조건을 활성화하세요. Wi-Fi에서 성공한 결과를 셀룰러 테스트 결과로 간주하지 마세요.
- Settings → On Demand로 이동해 현재 화면에서 제공하는 셀룰러 네트워크 조건을 확인하고 원하는 동작을 저장하세요.
- Wi-Fi를 끄고 기기가 실제로 셀룰러 네트워크를 사용 중인지, 시스템에서 Shadowrocket의 모바일 데이터 사용을 허용하는지 확인하세요.
- 새 요청을 한 번 보내고 네트워크 전환부터 VPN 상태 변화까지 기록하세요. 한 번의 페이지 로딩 시간만으로 서비스 품질을 판단하지 마세요.
- Wi-Fi에 다시 연결해 SSID 조건이 예상대로 적용되는지 확인하세요. 그런 다음 셀룰러 네트워크로 전환해 한 번 더 테스트합니다.
- 셀룰러 네트워크에서만 실패한다면 On Demand 설정은 그대로 두고 수동 연결로 같은 서비스를 테스트해 트리거 실패와 원격 연결 실패를 구분하세요.
네트워크가 바뀌면 로컬 주소와 라우팅, 연결 가능성이 달라지고 기존 TCP 연결이 끊길 수 있어 앱이 연결을 다시 설정해야 할 수 있습니다. Shadowsocks, VMess, VLESS, Trojan, Hysteria2, WireGuard는 전송 방식과 설정값이 서로 다릅니다. On Demand는 프로토콜의 주소, 포트, 인증 오류를 해결하지 않으며, 기존 세션이 네트워크 전환 후에도 계속 유지된다고 보장하지 않습니다.
도메인 조건: 트리거 도메인과 라우팅 규칙 구분하기
도메인 트리거는 시스템 주문형 규칙의 연결 평가 조건이며, Config의 도메인 라우팅과는 다릅니다. Apple 시스템의 도메인 주문형 기능은 도메인 확인 조건을 바탕으로 연결을 시도할지 판단할 수 있지만, 아무 웹 주소에 접속하기만 하면 터널이 반드시 시작되는 것은 아닙니다. Shadowrocket의 현재 화면에 해당 편집 항목이 표시되는지, 어떤 매칭 방식과 동작을 지원하는지는 실제 표시를 기준으로 확인하세요. 화면에 표시되지 않는 기능을 추측해 설정 키를 추가하지 마세요.
도메인 입력란에는 전체 URL이 아니라 호스트 이름을 입력하세요. 예를 들어 대상 페이지가 https://portal.example.com/account에 있다면 도메인 조건에 사용할 호스트 이름은 portal.example.com입니다. https://, 경로 /account, 포트 :443는 입력하지 마세요. 와일드카드와 하위 도메인 적용 범위는 해당 입력란의 설명을 확인해야 합니다.
- 정확한 호스트 이름:
portal.example.com은 해당 호스트를 지정합니다. 다른 하위 도메인까지 포함되는지는 이름만으로 판단할 수 없습니다. - 도메인 범위:
example.com조건이api.example.com까지 포함하는지는 해당 조건의 매칭 방식에 따라 달라집니다. 설명이 없다면 각각 추가해 확인하세요. - 캐시 영향: 기존 DNS 캐시나 재사용 중인 연결 때문에 새 방문에서 예상한 DNS 조회가 발생하지 않을 수 있습니다. 같은 페이지를 연달아 새로 고침해 결론을 내리지 말고, 새 요청과 연결 기록을 함께 확인하세요.
- 앱별 차이: 앱이 자체적으로 도메인을 조회하거나 암호화 DNS를 사용하거나 IP 주소에 직접 접속하면 시스템의 도메인 주문형 조건이 반드시 작동한다고 볼 수 없습니다.
Config 규칙은 터널 안에서 요청을 어떤 경로로 보낼지 정합니다. 다음은 설정의 규칙 영역에 사용하는 문법 예시이며 Settings → On Demand에 입력하는 내용이 아닙니다. PROXY가 현재 Config에서 유효한 정책으로 인식되어야 합니다. 이 규칙만으로 시스템 수준의 도메인 트리거가 등록되지는 않습니다.
DOMAIN-SUFFIX,example.com,PROXY
FINAL,DIRECT
DOMAIN-SUFFIX는 도메인 접미사 매칭에 사용하며, FINAL은 앞선 규칙에 일치하지 않을 때 적용할 최종 정책입니다. 이 예에서는 나머지 요청을 DIRECT로 보냅니다. “특정 도메인에 접속할 때 프록시를 사용”하려는 목적이라면, 대개 터널은 필요할 때 연결하도록 두고 먼저 Config 라우팅을 설정하면 됩니다. 이 목적만을 위해 도메인 트리거를 추가할 필요는 없습니다. 기존 규칙을 덮어쓰지 않도록 변경 전에 백업하세요.
수동 스위치: 연결 해제와 자동 트리거 중지는 다릅니다
Home의 연결 스위치는 현재 연결을 제어하고, On Demand는 이후 조건을 충족했을 때 시스템이 어떻게 동작할지 제어합니다. 주문형 연결이 켜져 있으면 수동 연결 해제는 현재 상태만 바꿀 수 있습니다. 다음 네트워크 변경이나 조건에 맞는 요청으로 연결이 다시 시작될 수도 있습니다. 구체적인 시점은 시스템과 저장된 조건에 따라 다르므로, 연결이 다시 되었다고 해서 스위치가 고장 났다고 단정하지 마세요.
Home에서 방금 껐는데 왜 다시 연결되나요?
먼저 Settings → On Demand에서 주문형 연결을 끈 다음 Home으로 돌아가 연결을 해제하세요. 요청을 한 번 보내 확인합니다. 그래도 자동 연결되면 시스템 VPN 설정에서 주문형 연결이 활성화된 다른 구성이 있는지 점검하세요.
Shadowrocket을 종료한 뒤에도 자동 연결되나요?
앱 화면을 벗어나는 것이 시스템 VPN 설정을 끄는 것은 아닙니다. 자동 트리거를 중지하려면 Settings → On Demand를 직접 끄고 시스템 VPN 상태를 확인하세요. 홈 화면으로 돌아가는 것만으로는 충분하지 않습니다.
집 Wi-Fi로 바꿨는데 기존 연결이 왜 유지되나요?
먼저 SSID 항목이 올바르게 일치하는지 확인한 다음, 해당 동작이 무시인지 연결 해제인지 확인하세요. 무시 조건은 기존 연결을 해제하지 않을 수 있습니다. 먼저 수동으로 연결을 해제하고 해당 네트워크에서 새 연결이 설정되는지 테스트하세요.
VPN은 연결됨으로 표시되는데 왜 대상 웹사이트가 열리지 않나요?
Home으로 돌아가 Global Routing과 선택한 서비스를 확인하세요. Config를 사용한다면 현재 파일의 규칙과 DNS도 점검하세요. 같은 네트워크에서 수동 연결로 다시 테스트해 문제가 자동 트리거와 무관한지 확인합니다.
검증과 되돌리기: 정해진 순서로 실패 지점 찾기
검증 기록을 통해 ‘트리거되지 않음’과 ‘연결 후 사용할 수 없음’을 구분할 수 있습니다. 아래 표를 따라 한 항목씩 확인하고, 한 행을 완료한 다음에 다음 항목을 조정하세요. Subscribe 업데이트, 프로토콜 전환, DNS 변경, SSID 조건 변경을 동시에 하면 비교할 기준을 유지할 수 없습니다.
| 증상 | 우선 확인 | 다음 조치 |
|---|---|---|
| 네트워크 전환 후 자동 연결되지 않음 | On Demand 스위치, 네트워크 조건, SSID 인식 여부 | 설정을 저장한 뒤 네트워크를 다시 전환하고 새 요청 보내기 |
| 시스템이 연결을 시도한 뒤 실패함 | 같은 서비스에 수동으로 연결할 수 있는지 | 주문형 트리거를 끄고 서비스 설정과 네트워크 연결 가능 여부 확인 |
| 도메인 조건만 작동하지 않음 | 매칭 방식, DNS 조회 조건, 캐시, 앱의 도메인 조회 방식 | 먼저 네트워크 조건을 확인한 뒤 도메인 조건만 따로 재테스트 |
| VPN은 연결됐지만 요청이 실패함 | Global Routing, Config, DNS, 원격 서비스 | 확인 가능한 연결 기록을 보고 DNS 조회 실패와 아웃바운드 실패 구분 |
| 모든 자동 연결을 잠시 중지하려는 경우 | 앱 및 시스템의 주문형 연결 스위치 | 먼저 On Demand를 끈 다음 현재 VPN 연결 해제 |
되돌릴 때는 최소한으로 작동하는 상태를 복원하세요. Settings → On Demand를 끄고 기존 서비스와 Config는 유지한 채 Home에서 수동으로 연결합니다. 정상 작동을 확인한 뒤 Wi-Fi 조건을 하나 추가해 테스트하고, 다음으로 셀룰러 조건을 확인한 뒤 필요한 경우에만 도메인 조건을 설정하세요. 문제 해결 기록을 공유할 때는 구독 자격 증명, 서비스 비밀번호, 개인 네트워크 이름을 숨기고 필요한 상태와 오류 설명만 남기세요.
요약: 세 번의 개별 테스트로 확인하기
알려진 Wi-Fi, 셀룰러 네트워크, 수동 일시 중지를 각각 한 번씩 테스트하고 ‘트리거 여부, 연결 여부, 규칙에 따른 아웃바운드 여부’를 기록하세요. 세 결과가 모두 목표와 일치할 때만 On Demand를 계속 활성화하세요.