Shadowrocket의 Data 수치는 연결 중 데이터 변화를 확인하는 데 유용하지만, 구독 잔여량이나 시스템의 셀룰러 데이터 요금 내역과 동일한 값은 아닙니다. 이미 보유한 구독이나 구성을 가져온 사용자를 대상으로 통계 범위를 확인하고 서버별·앱별 관점을 비교하는 방법을 설명합니다. 통제된 테스트를 통해 백그라운드 트래픽, 규칙에 따른 분기, 단위 차이를 구분할 수도 있습니다.
1. 먼저 Data의 위치와 통계 범위 확인하기
Shadowrocket의 Settings → Data에서 데이터 기록을 확인하세요. 먼저 현재 페이지가 누적 데이터, 연결 중 데이터, 특정 그룹의 상세 내역 중 무엇을 표시하는지 파악해야 합니다. Home에서는 연결 상태와 선택한 서버를, Config에서는 현재 구성을 확인할 수 있습니다. 이 정보도 Data와 함께 기록해야 수치가 어떤 연결과 시간대에 해당하는지 알 수 있습니다.
클라이언트가 집계할 수 있는 것은 관찰 가능한 트래픽뿐입니다. 현재 처리 경로를 거치지 않은 연결, 앱 연결이 끊긴 동안의 접근, 시스템이 다른 네트워크 경로로 처리한 전송은 같은 통계에 포함된다고 단정할 수 없습니다. 그룹이나 식별 정보는 시스템 기능과 현재 페이지에서 제공하는 항목에 따라 달라집니다. 표시되지 않는 항목을 총량만으로 정확히 추정할 수는 없습니다.
이 흐름은 데이터를 관찰하는 위치를 설명하며, 과금 절차를 나타내는 것은 아닙니다. 특히 Config에서는 규칙에 따라 요청마다 DIRECT 또는 특정 프록시 정책이 적용될 수 있습니다. 특정 서버의 누적량은 해당 서버에 귀속된 일부 트래픽만 나타내며, 그 시간 동안 기기에서 사용한 전체 네트워크 데이터와 같지 않습니다. 기능 위치에 관한 자세한 내용은 Data 기능 안내를 참조하세요.
2. 업로드·다운로드·속도·총량의 의미
업로드와 다운로드는 기기를 기준으로 구분합니다. 기기에서 외부로 보내는 요청, 첨부 파일, 백업 데이터는 업로드이고, 웹페이지·동영상·파일을 받는 것은 다운로드입니다. 웹페이지를 열 때도 요청 헤더, 확인 정보와 기타 제어 데이터가 전송되므로 업로드가 발생합니다. 업로드 수치가 0이 아니더라도 대용량 파일을 보내고 있다는 뜻은 아닙니다.
누적 데이터량과 실시간 속도는 직접 비교할 수 없습니다. MB 또는 GB는 데이터량이고, B/s 또는 MB/s는 초당 데이터량입니다. Mbps는 보통 초당 메가비트를 뜻합니다. 예를 들어 단위만 환산하면 8 Mbps는 1 MB/s에 해당하지만, 실제 파일 다운로드 속도는 전송 오버헤드, 원격 서버의 응답, 기기 내 처리에도 영향을 받습니다. 순간 최고 속도에 연결 시간을 곱해 누적 트래픽을 추산하지 마세요.
| 수치 유형 | 확인할 수 있는 내용 | 바로 추정할 수 없는 내용 |
|---|---|---|
| 누적 업로드량 | 관찰 범위에서 전송한 데이터량 | 전송한 전체 파일의 종류 |
| 누적 다운로드량 | 관찰 범위에서 수신한 데이터량 | 사용자가 실제로 저장한 파일 수 |
| 실시간 속도 | 현재 전송이 진행 중인지 여부 | 전체 시간 동안의 평균 속도 |
| 서버별 그룹 | 특정 아웃바운드에 집계된 데이터량 | 기기의 전체 사용량 또는 서버 측 과금량 |
총량이 업로드와 다운로드를 더한 값이라면 같은 통계 기간과 같은 그룹의 수치를 사용해야 합니다. 화면에서 반올림한 경우 두 수치의 합과 표시된 총량이 약간 다를 수 있습니다. 이때는 데이터가 누락됐다고 판단하기 전에 단위와 소수점 정밀도를 확인하세요.
3. 서버별 통계와 앱별 통계는 관점이 다릅니다
서버별 통계는 연결이 최종적으로 어떤 프록시 아웃바운드를 사용했는지 확인합니다. 앱별 통계는 요청을 보낸 앱을 기준으로 봅니다. 두 관점은 일대일로 대응하지 않습니다. 한 앱이 여러 도메인에 접속하고, 규칙에 따라 연결마다 서로 다른 정책을 사용할 수 있습니다. 반대로 한 서버에서 여러 앱의 요청을 함께 처리할 수도 있습니다.
서버 기준
- 관찰 대상
- 특정 서버 항목에 귀속된 트래픽
- 확인 위치
- Home에서 선택한 서버와 Data 그룹
- 비교 조건
- 같은 통계 기간과 같은 연결 조건
- 주요 용도
- 아웃바운드를 전환한 뒤 어느 그룹의 수치가 증가하는지 확인
서버 이름은 항목을 식별하기 위한 이름일 뿐, 서버 측 계정의 과금 범위와 반드시 일치하지는 않습니다.
앱 기준
- 관찰 대상
- 식별되어 특정 앱에 귀속된 연결
- 확인 위치
- 현재 Data 페이지에서 제공하는 실제 그룹 항목
- 식별의 한계
- 도메인이나 IP 주소만으로 앱을 특정할 수 없음
- 보조 확인 방법
- 한 번에 앱 하나만 조작하고 전후 증가량 비교
페이지에 앱 귀속 항목이 없다면 도메인 그룹을 정확한 앱별 통계라고 부르지 마세요.
iPhone과 iPad에서 VPN 클라이언트가 모든 연결의 앱 정보를 완전히 가져올 수 있다고 가정해서는 안 됩니다. Data에 서버, 대상 주소 또는 도메인이 표시된다면 표시된 항목 그대로 해석하세요. 앱별 셀룰러 사용량을 확인하려면 시스템의 Settings → Cellular를 확인할 수 있습니다. 이 통계는 해당 셀룰러 데이터 범위에만 적용되며 같은 기간의 Wi-Fi 사용량은 포함하지 않습니다. 클라이언트 기록과 자동으로 동기화되는 것도 아닙니다.
예를 들어 동영상 앱 하나가 미디어·로그인·분석 도메인에 연결될 수 있고, 다른 앱도 동일한 공용 콘텐츠 전송 주소를 사용할 수 있습니다. 따라서 특정 도메인에서 20 MB가 증가했다면 해당 대상과 관련된 연결의 데이터가 늘었다는 뜻일 뿐, 특정 앱이 20 MB를 독점 사용했다고 단정할 수 없습니다. 백그라운드 새로 고침으로 앱을 열지 않은 상태에서도 연결이 발생할 수 있습니다.
정리: 먼저 증가량을 확인한 다음 앱 사용량 판단하기
다른 능동적인 전송을 잠시 멈추고 기준 수치를 기록한 뒤, 확인하려는 앱 하나만 조작하고 Data의 전후 변화를 비교하세요. 도메인 누적량을 곧바로 앱 전체 사용량으로 표시하기보다 ‘이번 작업 중 증가량’이라고 보는 편이 정확합니다.
4. 규칙에 따른 트래픽 분기가 서버 수치에 미치는 영향
Home → Global Routing에서 선택한 항목에 따라 트래픽 처리 방식이 달라집니다. Config는 현재 구성의 규칙을 따르고, Proxy는 프록시를 사용하며, Direct는 직접 연결을 사용합니다. Scene에서는 선택한 시나리오와 조건도 함께 확인해야 합니다. 항상 같은 아웃바운드 방식이라고 간주해서는 안 됩니다. 데이터를 점검할 때는 연결 스위치가 켜져 있는지만 보지 말고 현재 설정 상태도 기록하세요.
다음은 통계 차이를 설명하기 위한 규칙 예시이며, 기존 구성을 바꾸라는 뜻은 아닙니다. PROXY는 구성에서 실제로 사용할 수 있는 정책이어야 합니다. 도메인과 IP는 서로 다른 방식으로 매칭되며 규칙은 위에서 아래 순서로 확인됩니다. FINAL은 일치하는 규칙이 없는 연결에 적용하도록 마지막에 둡니다.
DOMAIN-SUFFIX,example.com,DIRECT
IP-CIDR,192.0.2.0/24,DIRECT,no-resolve
GEOIP,CN,DIRECT
FINAL,PROXY
DOMAIN-SUFFIX,example.com,DIRECT: 해당 도메인과 하위 도메인이 매칭되면 DIRECT를 사용하므로, 이 트래픽이 모두 프록시 서버의 누적량에 포함되지는 않습니다.IP-CIDR,192.0.2.0/24,DIRECT,no-resolve: 문서용 예시 IP 대역으로 구문을 설명합니다.no-resolve는 이 IP 규칙을 매칭하기 위해 추가 도메인 조회를 하지 않도록 합니다.GEOIP,CN,DIRECT: IP 지리 데이터베이스를 기준으로 매칭하며, 웹페이지 언어나 도메인 접미사를 기준으로 판단하는 것과는 다릅니다.FINAL,PROXY: 앞선 규칙과 일치하지 않을 때만 PROXY를 사용하며, 이미 일치한 DIRECT 규칙을 덮어쓰지 않습니다.
Data 총량은 늘었는데 특정 서버 그룹은 거의 변하지 않았다면 구독을 반복해서 업데이트하기 전에 일치한 규칙과 실제 아웃바운드를 먼저 확인하세요. 구독 업데이트로 서버 항목이나 이름이 바뀔 수는 있지만, 현재 요청이 새 항목으로 전환됐다는 뜻은 아닙니다. 기존 연결은 생성 당시의 아웃바운드를 계속 사용할 수도 있으므로 비교할 때는 새로 시작한 요청을 사용하세요.
5. 반복 가능한 통계 확인 방법
여러 앱을 동시에 여는 대신 시간대, 네트워크, 서버, Global Routing을 동일하게 유지하고 증가량을 비교하는 것이 가장 실용적인 방법입니다. 반드시 초기화할 필요는 없습니다. 테스트 전후 수치를 보관하면 대개 재확인이 더 쉽습니다. 초기화가 필요하다면 먼저 기록을 저장하고, 현재 Data 화면에 표시된 삭제 기능과 적용 범위를 확인하세요. 연결 로그를 지우는 것이 트래픽 누적량 초기화와 같다고 생각해서는 안 됩니다.
- 기준 수치를 기록합니다. 시작 시간, Wi-Fi 또는 셀룰러 네트워크, Home에서 선택한 서버, Global Routing 상태, Data의 해당 그룹에 표시된 업로드·다운로드 수치를 적어 둡니다.
- 변수를 줄입니다. 파일 동기화, 동영상 재생, 기타 능동적인 다운로드를 일시 중지합니다. Settings → On Demand를 확인해 테스트 중 네트워크 조건이 바뀌어 예기치 않게 다시 연결되지 않도록 합니다.
- 한 가지 작업만 수행합니다. 앱 하나에서 아직 불러오지 않은 페이지를 열거나, 이미 보유한 테스트 파일을 다운로드합니다. 크기를 알고 있는 자료를 우선 선택하고 실제 전송이 발생했는지 확인하세요.
- 수치가 갱신될 때까지 기다립니다. 작업이 끝나면 Data로 돌아가 페이지가 갱신될 때까지 기다린 뒤 같은 그룹의 수치를 기록합니다. 전송이 끝나기 전의 수치를 최종값으로 간주하지 마세요.
- 증가량을 계산합니다. 종료 수치에서 시작 수치를 빼고 업로드와 다운로드를 각각 계산합니다. 다시 테스트하려면 기준 수치를 새로 기록하고 나머지 조건을 동일하게 유지하세요.
| 항목 | 시작값 | 종료값 | 이번 증가량 |
|---|---|---|---|
| 업로드 | 3.0 MB | 3.4 MB | 0.4 MB |
| 다운로드 | 120.0 MB | 132.5 MB | 12.5 MB |
| 합계 | 123.0 MB | 135.9 MB | 12.9 MB |
이 표는 계산 예시일 뿐, 실제 측정 결과나 고정 오버헤드 비율을 나타내지 않습니다. 테스트 파일의 표시 크기가 10 MB인데 다운로드 증가량이 12.5 MB라면 웹페이지 리소스가 함께 로드됐는지, 재시도가 있었는지, 백그라운드 요청이 발생했는지 먼저 확인하세요. 통계가 수집되는 위치에 따라 프로토콜 캡슐화가 포함되는지도 달라질 수 있으므로 차이 전체를 특정 프로토콜 탓으로 돌릴 수 없습니다.
6. 초기화·연결 해제 후에도 서버 사용량과 맞지 않는 이유
로컬 Data, 시스템의 셀룰러 통계, 이미 이용 중인 서비스의 계정 사용량은 서로 다른 지점에서 측정됩니다. 서버는 자체 통계 기간, 업로드·다운로드 합산 방식, 과금 규칙을 적용할 수 있습니다. 클라이언트는 연결 처리 중인 데이터를 관찰할 수 있고, 시스템의 셀룰러 통계는 셀룰러 네트워크만 대상으로 합니다. 비교하기 전에 시작·종료 시간과 단위를 맞추세요. 특히 로컬에서 한 시간 동안 늘어난 양을 계정의 한 달 누적량과 비교해서는 안 됩니다.
연결을 끊었다가 다시 연결했는데 왜 수치가 초기화되지 않나요?
연결 해제와 누적 기록 삭제는 서로 다른 작업입니다. 먼저 페이지에 표시된 통계 범위를 확인하세요. 새 테스트를 시작하려면 현재 수치를 기준값으로 기록하면 됩니다. 해당 통계 항목의 초기화 기능을 실제로 사용한 경우에만 그 항목이 0으로 바뀌었는지 확인하세요.
기존 구독을 업데이트한 뒤 서버 그룹이 달라진 이유는 무엇인가요?
Home으로 돌아가 항목 이름과 현재 선택한 서버를 확인하고 업데이트 전 기록과 비교하세요. 업데이트 과정에서 이름이나 항목이 바뀌거나 식별자가 달라질 수 있습니다. 이전 항목과 새 항목의 수치를 하나의 연속된 기록으로 간주하지 마세요.
휴대전화를 사용하지 않는데 다운로드 수치가 계속 늘어나는 이유는 무엇인가요?
먼저 백그라운드 동기화와 재생 중인 미디어를 일시 중지한 뒤 Settings → On Demand에서 연결이 유지되는지 확인하세요. 1분 전후의 증가량을 기록하고 해당 시간의 연결 기록도 확인합니다. 앱이 화면에 표시되지 않는다고 네트워크 요청이 없는 것은 아닙니다.
서버에서 차감한 사용량이 Data보다 많으면 어느 쪽을 봐야 하나요?
먼저 통계 기간과 단위를 맞추고 계정에 연결된 다른 기기의 사용량을 확인한 뒤, 이용 중인 서비스의 과금 안내를 살펴보세요. Data는 로컬 문제를 확인하는 데 쓰고, 계정 잔여량은 해당 서비스의 측정 기준을 따라야 합니다. 두 수치가 바이트 단위까지 일치할 필요는 없습니다.
이 항목들을 확인한 뒤에도 차이가 크다면 테스트 시간, 네트워크 유형, 설정 상태, 전후 수치, 실제 아웃바운드 기록을 보관한 뒤 한 번에 한 가지 조건만 바꿔 다시 테스트하세요. 인증 정보가 포함된 구독 링크, UUID, 서버 암호를 공개하지 마세요. 이 글은 클라이언트 사용법을 다루며 서비스 선택에 관한 내용은 포함하지 않습니다. 클라이언트 앱의 일회성 구매와 회선 요금제는 별개입니다.