Shadowrocket의 배터리 사용 비율만으로 추가 배터리 소모량을 단정할 수는 없습니다. 직접 설정을 가져온 뒤 백그라운드 활동이 많다고 느끼는 iPhone 및 iPad 사용자라면, 먼저 트래픽 처리와 네트워크 재연결, 다른 앱의 요청을 구분해 보세요. 그런 다음 Settings → On Demand를 조정하고, 같은 네트워크 환경에서 기록을 비교해 자동 연결을 유지할지 판단할 수 있습니다.
1. 먼저 iOS 배터리 사용량을 확인하고 백그라운드 시간만으로 판단하지 않기
iPhone의 ‘설정 → 배터리’에서 앱 활동을 확인할 수 있는 기간을 선택한 뒤, 문제가 발생한 시간대를 살펴보세요. Shadowrocket의 배터리 사용 비율과 화면이 켜져 있거나 꺼져 있을 때의 활동을 기록하고, 같은 시간에 동영상 재생, 사진 동기화, 파일 전송이 있었는지도 확인합니다. 통계 기간과 항목 이름은 iOS 버전에 따라 다를 수 있으므로 기기에 표시되는 내용을 기준으로 삼으세요.
배터리 사용 비율은 선택한 기간의 앱별 소모 비중이지, 앱 하나가 배터리를 몇 퍼센트포인트 소모했는지를 뜻하지 않습니다. 예를 들어 기기 잔량이 80%에서 70%로 줄었고 목록에서 어떤 앱의 비율이 20%로 표시되더라도, 그 앱이 잔량을 80%에서 60%로 낮췄다는 의미는 아닙니다. 목록에는 시스템의 소모량 산정과 통계 기준도 반영되므로 정확한 전력 사용량을 계산하는 용도로는 적합하지 않습니다.
Shadowrocket은 시스템 네트워크 확장 기능으로 연결을 처리합니다. 앱을 백그라운드로 보내도 터널이 계속 작동할 수 있으며, 다른 앱이 보낸 요청도 터널을 통과할 수 있습니다. 따라서 백그라운드 활동이 표시된다는 사실만으로 앱이 계속 전면 작업을 수행한다고 볼 수는 없습니다. 배터리 기록, 실제 트래픽, 연결 상태를 같은 시간대에 함께 확인하세요.
결론: 먼저 실제 배터리 소모량이 비정상적인지 확인
앱의 배터리 사용 비율만 높아졌고 같은 시간 동안 전체 배터리 소모량은 늘지 않았다면 기존 설정을 유지하세요. 전체 소모량 증가, 예상 밖의 트래픽, 반복적인 연결이 함께 나타날 때 항목별 점검을 시작하면 됩니다.
2. On Demand는 연결 조건을 제어하며, 예약형 배터리 절약 스위치가 아닙니다
On Demand에서는 조건에 따라 연결을 시작하는 규칙을 시스템이 처리합니다. 이 기능은 Global Routing과 역할이 다릅니다. On Demand는 연결을 언제 시작할지 정하고, Global Routing은 연결된 뒤 트래픽에 어떤 라우팅 정책을 적용할지 결정합니다. On Demand를 켜도 모든 트래픽이 프록시를 통과하는 것은 아니며, 꺼도 현재 연결이 이미 끊어진다는 뜻은 아닙니다.
| 설정 항목 | 제어하는 내용 | 점검 시 유의 사항 |
|---|---|---|
| On Demand | 조건에 맞으면 시스템이 연결을 시작합니다. | 비활성화한 뒤에도 Home에서 실제 연결 상태를 확인해야 합니다. |
| Global Routing → Proxy | 프록시 라우팅을 사용합니다. | 더 많은 요청이 프록시를 통과할 수 있으므로 Config의 트래픽 기록과 그대로 비교할 수 없습니다. |
| Global Routing → Direct | 직접 연결을 사용합니다. | 라우팅을 Direct로 바꿔도 시스템 터널이 꺼지는 것은 아닙니다. |
| Global Routing → Config | 현재 구성에 설정된 규칙에 따라 트래픽 정책을 결정합니다. | 구성을 가져오기만 한 상태가 아니라, 예상한 구성이 현재 활성화되어 있는지 확인하세요. |
| Global Routing → Scene | 설정된 Scene을 사용합니다. | 테스트 중 라우팅 조건이 바뀌지 않도록 실제 적용 중인 Scene을 확인하세요. |
상시 연결은 터널을 유지하고 트래픽을 처리하는 데 비용이 들지만, 연결을 자주 끊었다가 다시 만들 때도 DNS 조회, 핸드셰이크, 재시도가 발생할 수 있습니다. 따라서 항상 연결해 두는 편이 더 절약된다거나, 사용할 때마다 끊으면 반드시 배터리를 아낄 수 있다고 단정할 수 없습니다. 결과는 네트워크 안정성, 요청 빈도, 프로토콜 매개변수, 서버 동작에 따라 달라집니다.
3. 한 번에 한 가지씩 시험해 배터리 사용 기준 만들기
필수 네트워크 작업에 지장이 없는 시간에 테스트하세요. 먼저 직접 설정을 저장하고 현재 On Demand 설정을 기록해 두면 나중에 복원하기 쉽습니다. 프로토콜 변경, 규칙 수정, 구독 업데이트, 자동 연결 조정을 동시에 하지 마세요. 어떤 변경이 결과에 영향을 줬는지 알기 어렵습니다. 아래 시간은 관찰 절차를 구성하기 위한 기준이며, 배터리 사용량의 합격선이 아닙니다.
-
기준 상태 기록
같은 장소와 같은 Wi-Fi에서 시작 배터리 잔량, 신호 상태, 시간을 기록하세요. 화면 밝기와 저전력 모드 등 조건도 동일하게 유지합니다. 시스템 업데이트나 대용량 파일 동기화를 피하고 60분 동안 관찰하세요.
-
On Demand 비활성화
Shadowrocket → Settings → On Demand로 이동해 현재 설정을 기록한 뒤 On Demand를 비활성화하세요. Home으로 돌아가 연결을 수동으로 끊고 자동으로 다시 연결되지 않는지 확인합니다.
-
유휴 상태 관찰
화면을 잠그고 평소처럼 알림을 받도록 둔 뒤, 관찰이 끝나면 시스템의 ‘설정 → 배터리’에서 해당 시간대를 확인하세요. 배터리 잔량 변화와 다른 앱의 활동을 기록하고, 알림이나 동기화로 발생한 소모량을 모두 Shadowrocket 탓으로 돌리지 마세요.
-
수동 연결
Home에서 기존 구성을 수동으로 연결하고 Global Routing과 서버 선택은 그대로 유지한 채 같은 시간 동안 관찰하세요. 트래픽이 갑자기 늘거나 연결 오류가 발생하는지도 확인합니다.
-
On Demand 복원
Settings → On Demand로 돌아가 사용할 조건을 복원한 뒤, 비슷한 사용량이 발생하는 환경에서 다시 관찰하세요. 이 단계에서만 문제가 나타난다면 프로토콜을 바로 바꾸기보다 조건 일치 여부와 네트워크 전환을 먼저 확인하세요.
한 번 측정했을 때 배터리 잔량이 1~2%포인트 달라진 것만으로 설정의 우열을 판단하기는 어렵습니다. 배터리 잔량 표시는 일정 단위로 반올림되고, 시스템이 백그라운드 작업을 예약하기도 합니다. 같은 조건으로 여러 번 관찰한 뒤 반복해서 나타나는 추세를 비교하세요. 기기가 눈에 띄게 뜨거워지면 고부하 작업을 먼저 중단하고 온도가 내려간 뒤 다시 측정해 발열이 결과에 미치는 영향을 줄이세요.
4. Wi-Fi와 셀룰러 네트워크를 따로 설정해 조건 충돌 방지
Settings → On Demand에서 현재 화면에 표시되는 네트워크 유형과 Wi-Fi 조건에 맞춰 규칙을 편집하세요. 조건 이름과 선택 항목은 실제 화면을 기준으로 확인합니다. 모든 조건을 켜기보다 각 네트워크에서 자동 연결이 필요한지 명확히 정하는 것이 중요합니다. 저장한 뒤 네트워크를 한 번 전환해 실제 동작을 확인하세요.
| 네트워크 환경 | 설정 방법 | 확인 방법 |
|---|---|---|
| 자주 사용하는 집 Wi-Fi | 실제 사용 목적에 따라 자동 연결 여부를 정하세요. 필요하지 않다면 해당 Wi-Fi 조건을 제외하는 방법을 고려할 수 있습니다. | 같은 Wi-Fi에 다시 연결해 예상한 연결 상태가 유지되는지 확인하고, 필요한 리소스에 접속해 보세요. |
| 인증이 필요한 공용 Wi-Fi | 먼저 네트워크 인증을 완료한 뒤 터널을 확인하세요. 인증이 끝나지 않은 상태를 프로토콜 오류로 오해하지 마세요. | 시스템 인증 페이지에서 절차를 완료했는지 확인한 뒤 Home에서 수동으로 한 번 연결해 접속 가능 여부를 확인하세요. |
| 신호가 안정적인 셀룰러 네트워크 | 지속적인 연결이 필요하다면 해당 On Demand 조건을 유지하세요. 계속 연결할 필요가 없다면 수동 연결을 비교 기준으로 사용할 수 있습니다. | Wi-Fi를 끈 뒤 연결 상태를 확인하고, 셀룰러 데이터 사용량이 실제 사용과 일치하는지 기록하세요. |
| 신호가 약하거나 네트워크 전환이 잦은 환경 | 먼저 네트워크 불안정 여부를 확인하세요. 진단하는 동안에는 On Demand를 잠시 비활성화하고, 반복해서 재연결하는 방식으로 문제를 가리지 마세요. | 신호가 안정적인 장소에서 다시 테스트해 오류가 사라지는지 비교하고, 필요하면 기존 설정을 복원하세요. |
Wi-Fi에 연결되어 있어도 인터넷에 접속할 수 있다는 뜻은 아닙니다. 라우터의 상위 네트워크 장애, 인증 만료, 여러 액세스 포인트 사이의 이동으로 일시적인 중단이 발생할 수 있습니다. 셀룰러 네트워크도 신호가 약하면 무선 통신에 더 많은 전력이 들 수 있습니다. 이런 문제는 Shadowrocket의 규칙 분류만 바꿔서는 해결되지 않습니다.
- 한 번에 조건 하나만 변경하세요. 저장한 뒤 Wi-Fi 연결, Wi-Fi에서 벗어나기, 화면을 잠갔다가 다시 켜기 동작을 각각 확인합니다.
- Wi-Fi 이름 조건을 사용하는 경우 실제 네트워크 이름을 확인해 이름이 비슷한 게스트 네트워크를 같은 네트워크로 착각하지 않도록 하세요.
- 배터리 수치를 높이려고 업무에 필요한 연결까지 비활성화하지 마세요. 수동 연결 해제 상태로 관찰하는 동안 해당 연결이 필요한 앱의 동작에 영향을 줄 수 있습니다.
5. 연결이 반복해서 끊기면 시간 제한보다 오류 원인을 먼저 확인
배터리 소모가 잦은 연결 실패와 함께 나타난다면 먼저 실패가 발생한 네트워크와 시간을 기록한 뒤, 확인할 수 있는 연결 로그를 살펴보세요. 다음은 네트워크 오류 로그에 표시될 수 있는 영문 메시지입니다. 실제 로그에는 도메인, 포트 또는 시스템 오류 도메인이 함께 기록될 수 있습니다. 해당 기록이 없는데 배터리 소모만 보고 특정 오류가 발생했다고 추정해서는 안 됩니다.
오류: Network is unreachable
원인: 현재 요청에 사용할 수 있는 네트워크 경로가 없습니다. 네트워크 연결이 끊겼거나 전환되는 중에 발생할 수 있습니다.
해결 방법: 먼저 Wi-Fi 인증이 완료되었는지 또는 셀룰러 데이터를 사용할 수 있는지 확인한 뒤 Home에서 수동으로 연결하세요. 네트워크를 전환할 때만 오류가 발생한다면 전환 시각을 기록하고 On Demand 조건을 다시 확인하세요.
오류: Connection refused
원인: 대상 주소의 포트에서 연결을 거부했습니다. 서비스가 포트를 열어 두지 않았거나 포트 번호가 잘못된 경우가 많습니다.
해결 방법: 직접 사용하는 서비스 설정과 주소, 포트, 프로토콜을 대조하세요. 포트가 443이라고 해서 사용할 수 있는 TLS 서비스라고 단정할 수는 없습니다.
오류: Operation timed out
원인: 제한 시간 내에 작업이 완료되지 않았습니다. 네트워크 경로의 패킷 손실, 대상에 대한 접근 불가, 응답 없는 핸드셰이크 등이 원인일 수 있습니다.
해결 방법: 안정적인 네트워크에서 수동 연결을 다시 시도하고 기존 구성 매개변수를 확인하세요. 연결이 계속 실패하는데 시간 제한만 늘려 문제를 덮으려 하지 마세요.
Trojan, VLESS 등의 구성을 사용할 때는 TLS, SNI 및 관련 전송 매개변수가 직접 사용하는 서버의 요구 사항과 일치해야 합니다. 배터리 소모를 줄이려고 인증서 검증을 완화하지 마세요. 정상적인 작업이 끝난 뒤에도 트래픽이 눈에 띄게 증가한다면 재연결 탓으로 돌리기보다 지속적인 동기화나 미디어의 백그라운드 재생처럼 요청을 보내는 앱부터 확인하세요.
6. 백그라운드 앱 새로 고침, 구독 업데이트, 규칙 분류의 균형
iOS의 ‘설정 → 일반 → 백그라운드 앱 새로 고침’과 Shadowrocket의 On Demand는 서로 다른 기능입니다. 전자는 앱이 백그라운드에서 새로 고침할 기회에 영향을 주고, 후자는 시스템이 필요에 따라 VPN 연결을 시작하는 것과 관련됩니다. 백그라운드 앱 새로 고침을 꺼도 터널이 중단되었다는 증거가 되지 않으며 모든 백그라운드 네트워크 요청이 멈춘다고 보장할 수도 없습니다.
- 구독 업데이트: 직접 사용하는 구독이 있다면 활성화된 업데이트 일정을 확인하세요. 업데이트가 요청을 발생시키지만, 먼저 실제로 자주 실행되는지 확인한 뒤 주기를 조정해야 합니다. 테스트 중에는 구독 내용을 동일하게 유지해 서버 목록 변화가 비교 결과에 영향을 주지 않도록 하세요.
- 구성 규칙: Global Routing에서 Config를 선택했다면 현재 구성이 사용 목적에 맞는지 확인하세요.
DOMAIN-SUFFIX는 도메인 접미사를 일치시키고,IP-CIDR은 IP 대역을 일치시키며,GEOIP는 IP의 지리적 위치 조건에 따라 일치시킵니다.FINAL은 기본 처리 규칙입니다. 이 규칙들은 On Demand의 연결 시작 조건을 대신하지 않습니다. - 진단 작업: 지연 시간을 연속으로 측정하거나 속도 테스트를 실행하고 상세 로그를 남기면 진단 중 작업량이 늘어납니다. 원인을 찾았다면 반복 테스트를 멈추고 평소처럼 사용하면서 배터리 상태를 살펴보세요.
- 프로토콜 선택: Shadowsocks, VMess, VLESS, Trojan, Hysteria2, WireGuard를 고정된 배터리 절약 순위로 나열하지 마세요. 패킷 손실, 서버 매개변수, 실제 트래픽, 기기 상태에 따라 결과가 달라지므로 먼저 현재 사용하는 프로토콜이 안정적으로 연결되는지 확인하세요.
결론: 연결 안정성을 기준으로 On Demand 유지 여부 결정
수동 연결은 안정적이지만 On Demand를 켠 뒤에만 연결이 반복해서 끊긴다면 네트워크 일치 조건부터 수정하세요. 두 방식 모두 연결에 실패한다면 네트워크와 구성을 먼저 점검합니다. 수정 후 같은 조건에서 다시 관찰하고 자동 연결을 유지할지 결정하세요.
7. 평소 설정으로 되돌리기 전 확인 목록
점검을 마친 뒤 필요한 연결 및 업데이트 설정을 복원하고 간단한 기록을 남기세요. 사용한 네트워크 유형, 현재 Global Routing, On Demand 활성화 여부, 관찰 시간, 주요 오류를 기록하면 됩니다. 추가 진단을 받을 때 배터리 사용 비율 화면 하나보다 이런 정보가 더 유용합니다. 로그를 공유하기 전에 구독 주소, 비밀번호, 토큰 및 기타 개인정보를 삭제하세요.
- 앱이 전면에 표시되는지만 보지 말고 Home에서 실제 연결 상태를 확인하세요.
- Config에서 현재 사용하는 구성을 확인하고 Home에서 Global Routing을 점검하세요. 서로 다른 정책으로 진행한 테스트 결과를 섞지 마세요.
- Settings → On Demand에서 Wi-Fi와 셀룰러 조건을 다시 확인하고, Wi-Fi에 연결할 때와 연결을 해제할 때 각각 검증하세요.
- 시스템 배터리 화면으로 돌아가 전체 배터리 소모량이 실제 사용량과 맞는지 확인하세요. 이상이 계속되면 네트워크, 구성, 트래픽 발생 원인 순으로 범위를 좁혀 점검합니다.
Shadowrocket은 Apple 플랫폼 전용 폐쇄형 상용 앱이며, 주로 iPhone과 iPad에서 사용합니다. 앱을 받을 수 있는 유일한 경로는 App Store입니다. 앱의 일회성 구매는 회선 요금제를 포함하지 않으며, 이 글은 이미 자체 서비스 제공업체와 구성을 보유한 사용자를 전제로 합니다. 기기 호환성, 시스템 요구 사항, 일반 구매 정보는 App Store 페이지의 안내를 기준으로 확인하세요.