Shadowrocket이 배터리를 더 소모하는지 판단하려면 기기의 전체 배터리 감소량, 시스템의 배터리 사용량 집계, 연결이 반복해서 재설정되는지를 함께 확인해야 합니다. 이미 자체 연결 서비스와 구독을 이용 중이며 상시 연결과 On Demand 중 선택하려는 사용자를 위해, 비교 가능한 기록을 남기고 트리거 조건을 조정한 뒤 네트워크 전환 및 화면 잠금 후 동작을 확인하는 방법을 설명합니다. VPN 아이콘이나 한 번의 사용량 비율만으로 결론 내리지 마세요.
백그라운드 앱 화면, VPN 터널, 실제 데이터 전송 구분하기
Shadowrocket은 App Store에서 판매되는 Apple 플랫폼용 유료 클라이언트이며, 한 번 구매하면 계속 사용할 수 있습니다. 정품 여부는 공식 아이콘, 개발자 Shadow Launch Technology Limited, 앱 ID 932747118로 확인할 수 있습니다. 시스템 요구 사항과 호환 범위는 App Store 페이지를 기준으로 확인하세요. 클라이언트 구매와 사용자가 이미 이용 중인 연결 서비스는 별개이며, 구매에 연결 서비스 요금제가 포함되지는 않습니다.
홈 화면으로 돌아가 앱이 화면 앞에 표시되지 않더라도 시스템 VPN 터널이 중지된 것은 아닙니다. 연결 중에는 관련 네트워크 확장이 터널을 통과하는 트래픽을 처리해야 합니다. 반대로 상태 막대에 VPN 표시가 있다고 해서 기기가 계속 빠른 속도로 데이터를 전송 중이라는 뜻도 아닙니다. 유휴 연결, 동영상 재생, 신호가 약해 반복해서 재연결되는 상황은 각각 배터리 소모 조건이 다릅니다.
암호화 처리, 데이터 송수신, 연결 유지, DNS 조회, 실패 후 재시도 등이 배터리를 소모할 수 있습니다. 화면 밝기, 백그라운드 동기화, 셀룰러 신호도 기기 전체의 배터리 소모에 영향을 줍니다. 따라서 ‘백그라운드에서 실행된 시간’은 활동 지속 시간을 나타낼 뿐, 추가로 소모된 배터리 양을 바로 계산하는 기준은 아닙니다.
상시 연결과 On Demand: 달라지는 것은 연결 시점
안정적인 네트워크 경로가 필요한 경우 상시 연결이 적합할 수 있습니다. 연결이 이미 설정되어 있으면 이후 요청은 일반적으로 터널이 시작될 때까지 기다릴 필요가 없지만, 유휴 상태에서도 연결 유지나 시스템 네트워크 활동이 발생할 수 있습니다. On Demand는 설정된 조건에 따라 시스템이 연결 동작을 결정하는 기능입니다. 화면이 꺼지면 연결이 끊기는 것도 아니고, 현재 사용 중인 앱만 감지하는 기능도 아닙니다.
| 설정 방식 | 연결 동작 | 확인할 부담 |
|---|---|---|
| 상시 연결 | 터널을 유지하며 실제 전송량은 앱 활동에 따라 달라집니다. | 유휴 상태의 연결 유지, 약한 신호에서의 재시도, 지속적인 백그라운드 전송 |
| On Demand | 네트워크나 도메인 등 설정된 조건에 따라 시스템 연결 동작을 실행합니다. | 최초 연결 대기, 조건의 반복적인 변화, 지나치게 광범위한 트리거 |
| 수동 연결 | 사용자가 Home에서 직접 연결하고 해제합니다. | 연결을 켜거나 끄는 것을 잊기 쉬우므로 명확한 조작 습관이 필요합니다. |
알림, 동기화 또는 기타 백그라운드 요청이 트리거 조건을 자주 충족하면 On Demand를 사용해도 연결이 오랫동안 유지될 수 있습니다. Wi-Fi와 Cellular를 자주 오가거나 설정한 SSID 조건끼리 충돌하면 터널이 반복해서 시작되어 연결 부담이 커질 수 있습니다. On Demand를 켰다는 이유만으로 배터리 사용 시간이 반드시 늘어난다고 단정할 수는 없습니다.
결론: 불필요한 재연결부터 줄이기
네트워크가 안정적이고 설정이 동일한 상태에서 두 방식을 비교하세요. 로그에 연결과 해제가 반복해서 나타나면 On Demand의 배터리 효과를 평가하기 전에 트리거 조건이나 네트워크 문제부터 바로잡으세요.
시스템 Battery 페이지에서 비교 기록 남기기
iPhone 또는 iPad의 시스템 Settings → Battery에서 배터리 사용량을 확인하세요. 시스템 언어가 한국어라면 ‘설정 → 배터리’에 해당합니다. 시스템 버전에 따라 시간 범위와 그래프 위치가 다를 수 있으므로 테스트 시간을 포함하는 구간을 선택하고, 화면 활동과 백그라운드 활동도 함께 기록하세요. 시스템에 표시되는 앱별 비율은 해당 통계 기간의 배터리 사용량 중 앱에 귀속된 비율이지, 배터리 용량이 같은 비율만큼 줄었다는 뜻은 아닙니다.
-
환경 고정
같은 기기, 같은 Wi-Fi, 같은 연결 설정과 비슷한 화면 밝기를 유지하세요. 테스트 중에는 충전하지 말고 시스템 업데이트, 사진 대량 동기화, 대용량 파일 전송은 피하세요.
-
시작 상태 기록
시스템 Settings → Battery를 열어 시작 시각, 배터리 잔량, 네트워크 종류를 기록하세요. Shadowrocket 연결 여부와 Settings → On Demand 활성화 여부도 적어 두세요.
-
상시 연결 유지
먼저 상시 연결 상태를 30분간 관찰하세요. 미리 정한 사용 방식대로 조작하거나 화면을 잠근 채 가만히 두세요. 종료 후 배터리 잔량과 비정상적인 재연결 여부를 기록하고, 화면을 켜서 사용한 경우와 화면을 잠근 채 둔 경우를 한 그룹으로 합치지 마세요.
-
On Demand 테스트
확인해 둔 On Demand 조건을 적용한 뒤 같은 방식으로 30분간 관찰하세요. 앱 활동을 최대한 동일하게 유지하고 스위치 상태만 기록하지 말고 실제로 연결이 트리거되었는지도 확인하세요.
-
반복 확인
비슷한 시간대에 한 번 더 반복하고 테스트 순서를 번갈아 진행하세요. 시스템 배터리 그래프와 매회 전체 배터리 감소량을 함께 살펴보세요. 짧은 관찰 시간에 잔량 변화가 없었다고 해서 배터리 소모가 없다고 단정할 수는 없습니다.
30분은 실행하기 쉬운 관찰 시간일 뿐, 배터리 사용 시간 측정 결과가 아닙니다. 배터리 잔량은 정수 단위로 표시되고 백그라운드 작업도 달라질 수 있습니다. 두 번의 차이가 작다면 ‘절약되는 비율’을 단정하지 말고 기록 시간을 늘려 반복 관찰하세요. 기기가 뜨거워지면 신호, 화면, 다른 앱의 활동도 함께 점검해야 합니다.
Settings → On Demand 설정 확인 순서
Shadowrocket의 Settings → On Demand에서 현재 필요 시 연결 설정을 확인하세요. 기존 조건을 먼저 기록하고 한 번에 한 항목만 변경하세요. 조건 이름과 선택 가능한 동작은 현재 화면을 기준으로 확인하세요. SSID에는 기기가 실제로 연결된 Wi-Fi 이름을 입력해야 하며, 도메인 조건을 일반적인 웹 주소 필터처럼 사용해서는 안 됩니다.
- 먼저 기본 동작을 확인하세요. 지정한 조건에 해당하지 않을 때 어떻게 처리되는지 확인하세요. 예외만 설정하고 나머지 네트워크에서의 연결 동작을 빠뜨리지 않도록 주의하세요.
- 그다음 Wi-Fi를 확인하세요. SSID의 철자, 공백, 대소문자를 확인하세요. 집에서 주파수 대역마다 이름이 다르다면 각각 확인해야 하며, 라우터 기기 이름만 확인해서는 안 됩니다.
- Cellular는 따로 확인하세요. Wi-Fi에서 벗어난 뒤 예상대로 연결되는지 살펴보세요. 신호가 약해 발생하는 시간 초과는 트리거 조건을 추가해도 해결되지 않습니다.
- 마지막으로 도메인을 확인하세요. 도메인 트리거 조건이 있다면 실제로 대상에 접속해 동작을 확인하세요. 캐시와 기존 연결이 관찰에 영향을 줄 수 있으므로 페이지를 한 번 열어 본 것만으로 규칙이 항상 적용된다고 판단할 수는 없습니다.
- 화면 잠금 상태를 테스트하세요. 화면을 잠근 뒤, 잠금 해제 후, 네트워크 전환 후의 상태를 각각 확인하고 연결이 반복해서 재설정되는지 기록하세요.
예를 들어 집 Wi-Fi에서는 연결을 유지하지 않고 Cellular에서 연결을 사용하려는 경우, 먼저 가정용 네트워크가 평소 필요한 접속을 실제로 지원하는지 확인한 다음 해당 조건을 설정하세요. 이후 ‘가정용 Wi-Fi 연결’, ‘Wi-Fi 끄기’, ‘가정용 Wi-Fi에 다시 연결’의 세 상황을 점검하세요. 네트워크를 전환할 때 잠깐 기다리는 것은 연결 설정 과정에서 발생할 수 있습니다. 계속 로딩된다면 연결 문제를 점검해야 하며, 이를 모두 On Demand의 정상 동작으로 볼 수는 없습니다.
Global Routing 및 프로토콜 설정은 배터리 문제를 진단하는 기능이 아닙니다
On Demand는 연결을 언제 시작할지 결정하고, Global Routing은 연결 후 라우팅을 어떻게 처리할지 결정합니다. 두 기능은 서로 다른 단계에 해당합니다. Home → Global Routing의 Proxy, Direct, Config, Scene을 배터리 사용량 조절 단계 네 가지로 이해해서는 안 됩니다. 특히 Direct가 시스템 VPN 터널을 완전히 종료한다는 뜻은 아닙니다.
| 모드 | 확인할 점 |
|---|---|
Proxy | 주로 프록시 방식으로 트래픽을 처리하므로 실제 전송량과 연결 품질을 확인합니다. |
Direct | 주로 대상에 직접 연결하지만 네트워크 확장이 반드시 작동을 멈추는 것은 아닙니다. |
Config | 현재 설정된 규칙에 따라 트래픽을 분기하므로 적용된 규칙과 최종 정책을 확인합니다. |
Scene | 현재 Scene 설정과 실제로 적용되는 라우팅 동작을 확인합니다. |
Config를 사용하는 경우 DOMAIN-SUFFIX, GEOIP, IP-CIDR, FINAL 등의 규칙이 요청의 이동 경로를 결정하며, 배터리 제어 명령은 아닙니다. 특정 앱에서 요청 실패가 반복되면 전체를 Direct로 바꾸기보다 먼저 어떤 규칙이 적용되었고 최종적으로 어떤 정책을 사용하는지 확인한 뒤 조정 여부를 판단하세요.
Shadowsocks, VMess, VLESS, Trojan, Hysteria2, WireGuard는 연결 유지 방식과 전송 특성이 서로 다릅니다. 하지만 기기, 신호, 서버 설정을 고려하지 않고 일률적으로 배터리 절약 순위를 매길 수는 없습니다. 먼저 사용 중인 연결 서비스가 요구하는 프로토콜과 매개변수를 올바르게 유지한 뒤 한 번에 한 변수씩 비교하세요. 포트, 전송 방식, 연결 유지 매개변수를 임의로 변경하면 안정적인 연결이 계속 재시도되는 상태로 바뀔 수 있습니다.
- 라우팅 모드를 비교할 때는 On Demand 조건을 동일하게 유지하세요.
- 프로토콜을 비교할 때는 클라이언트에서 이름만 바꾸지 말고 서버가 해당 설정을 실제로 지원하는지 확인하세요.
- 진단을 마친 뒤에는 임시로 활성화한 상세 디버그 기록을 끄고, 불필요한 진단 활동이 장시간 이어지지 않도록 하세요.
시간 초과와 재연결이 발생하면 먼저 연결 오류를 해결하세요
배터리 소모가 늘면서 실패가 반복된다면 연결 오류와 시스템 Battery의 해당 시간대를 대조하세요. 아래는 연결 로그에서 볼 수 있는 오류 원문 예시입니다. 전체 표기 형식은 프로토콜과 로그 출처에 따라 다를 수 있습니다. 이러한 오류는 네트워크 문제의 방향을 보여 줄 뿐, 배터리 소모를 일으킨 구성 요소를 직접 입증하지는 않습니다.
오류: i/o timeout
원인: 제한 시간 안에 읽기 또는 쓰기 작업이 끝나지 않은 상태입니다. 현재 네트워크에 연결할 수 없거나, 신호가 불안정하거나, 원격 측에서 응답하지 않는 경우 발생할 수 있습니다.
해결 방법: 기존 설정을 보존한 채 안정적인 Wi-Fi와 Cellular에서 같은 연결을 각각 테스트하고, 특정 네트워크에서만 실패하는지 확인하세요. 작동하지 않는 연결이 계속 재시도되도록 두지 마세요.
오류: connection refused
원인: 연결 대상이 요청을 거부한 상태입니다. 포트가 잘못되었거나 해당 서비스를 수신 대기 중인 프로세스가 없는 경우 흔히 발생합니다.
해결 방법: 사용 중인 연결 서비스의 주소, 포트, 프로토콜을 확인하세요. 필요한 경우 이용 중인 서비스 제공업체에 상태를 문의하고, 수정한 뒤 On Demand를 다시 활성화하세요.
구독을 업데이트한 뒤 오류가 시작되었다면 현재 선택된 연결 항목이 바뀌었는지, 기존 주소와 프로토콜 매개변수가 여전히 유효한지 먼저 확인하세요. 시간 초과가 발생할 때마다 구독을 연속으로 새로 고치지 마세요. 구독 업데이트는 설정 내용을 가져오는 기능일 뿐, 약한 신호나 원격 서비스 문제를 해결하지는 않습니다. 진단 스크린샷이나 로그를 보내기 전에는 구독 링크, 인증 정보 및 기타 민감한 내용을 가리세요.
결론: 사용 패턴에 맞춰 연결 유지하기
연속 접속이 필요하다면 먼저 연결 안정성을 확인하세요. 네트워크 경계가 명확하고 유휴 시간이 길다면 On Demand를 테스트해 볼 수 있습니다. 전체 배터리 감소량, 실제 연결 상태, 사용 활동이 서로 일치하는 경우에만 해당 설정을 일상적인 방식으로 유지하세요.