Трафик и срок подписки: откуда берутся цифры на карточке
Каждая карточка на странице Profiles показывает использованный и общий трафик, а также дату окончания. Клиент эти числа не вычисляет — их отдаёт сервер подписки в HTTP-заголовке.
Тот самый заголовок
Возвращая содержимое подписки, провайдер может добавить строку subscription-userinfo примерно такого вида:
subscription-userinfo: upload=1234; download=567890; total=107374182400; expire=1767225600
Все три поля трафика — в байтах, expire — метка времени Unix. Клиент лишь переводит это в гигабайты и дату, поэтому точность целиком зависит от учёта на стороне провайдера.
Почему у некоторых подписок пусто
- Провайдер вообще не отдаёт этот заголовок — обычное дело для своих узлов и бесплатных подписок;
- Профиль импортирован из локального файла, HTTP-ответа не было в принципе;
total=0означает безлимит, и полоса прогресса скрывается.
Если цифры не сходятся с панелью
Сначала нажмите кнопку обновления на карточке, чтобы принудительно перекачать подписку. Клиент читает заголовок только в момент загрузки и никогда не опрашивает сервер, так что вы видите снимок на момент последнего обновления. Если расхождение осталось, обычно отстаёт учёт у провайдера либо трафик идёт с телефона или роутера и здесь неизвестен. Узлы с множителем (маршруты IPLC с пометкой 2x или 3x) расходуют квоту быстрее, чем показывает объём загрузки, — это правило тарификации, а не ошибка клиента.