[ rusttv.org · сайт и расширение chrome ]
Политика конфиденциальности
RustTV.org — каталог серверов игры Rust: расписание вайпов, онлайн и пинг. Проект состоит из сайта rusttv.org и расширения для Chrome. Мы не собираем персональные данные, не показываем рекламные трекеры и никому не передаём и не продаём пользовательские данные.
Коротко
- Избранное и настройки хранятся в браузере — в chrome.storage вашего профиля. На наши серверы они не отправляются.
- Замер пинга включается вами и работает с вашего устройства напрямую к игровым серверам; результаты остаются локально.
- API видит ваш IP-адрес — как любой сайт, к которому обращается браузер. Он используется по ходу запроса и попадает только в обычные журналы веб-сервера.
- Нет аналитики, рекламы, продажи данных и удалённого кода.
1. Что делает расширение
Расширение показывает в панели браузера список Rust-серверов с данными нашего публичного API: название, онлайн, карта, провайдер, время прошлого и следующего вайпа. Пинг расширение при вашем согласии измеряет само — об этом раздел 3. Сервер можно добавить в избранное и получать уведомление незадолго до вайпа (и, по желанию, сразу после него). Иконка расширения показывает обратный отсчёт до ближайшего вайпа из избранного.
Расширение не встраивает скрипты в веб-страницы, не читает историю, вкладки, буфер обмена и содержимое страниц. Оно работает только со своим попапом, страницей настроек и нашим API.
2. Какие данные хранит расширение
Все данные расширения лежат в хранилище браузера (chrome.storage) внутри вашего профиля. Это единственное место, где они существуют: копии на наших серверах нет.
chrome.storage.sync
- Избранные серверы — список идентификаторов серверов из нашего каталога (до 50).
- Настройки — за сколько минут предупреждать о вайпе, нужно ли уведомление после вайпа, регион по умолчанию.
Хранилище sync синхронизируется между вашими устройствами средствами самого Chrome, если вы вошли в аккаунт Google и включили синхронизацию. Эта передача происходит между вами и Google; мы к ней доступа не имеем и её содержимое не получаем. Отключить синхронизацию можно в настройках Chrome.
chrome.storage.local
- Кэш данных — последний загруженный срез избранных серверов и ближайших вайпов, чтобы попап открывался мгновенно и работал при недоступном API.
- Служебное состояние уведомлений — о каком вайпе уже сообщили, чтобы не показывать одно и то же дважды.
- Кэш пинга — измеренные значения, оценки по расстоянию и базовая задержка до API, живут 5 минут и ограничены по объёму.
- Ваши примерные координаты — ответ /api/v1/geo (уровень города/региона), чтобы не запрашивать его при каждом открытии попапа. Живёт несколько часов и используется только для оценки пинга по расстоянию.
- Флаг «разрешение уже спрашивали» — чтобы не показывать запрос повторно.
Ничего из перечисленного не покидает браузер. Удаление расширения удаляет и его хранилища.
3. Замер пинга (по вашему согласию)
Manifest V3 не даёт расширениям сырых сокетов, а Rust-серверы отвечают по UDP, поэтому «настоящий» игровой пинг из браузера измерить нельзя. Расширение делает это косвенно: открывает обычное сетевое соединение к IP:порт игрового сервера и засекает время до ответа (обычно — до отказа в соединении). Это время и есть оценка RTT.
- Функция выключена по умолчанию. Она требует необязательного разрешения на хосты, которое запрашивается через стандартный диалог Chrome (chrome.permissions.request).
- Соединения идут с вашего устройства напрямую к IP-адресам игровых серверов. Эти адреса, как и любые сетевые соединения вашего компьютера, видны вашему интернет-провайдеру и владельцу сервера.
- Никакие данные при этом не передаются: запрос уходит в режиме no-cors без cookie и учётных данных, ответ не читается — измеряется только время.
- Результаты остаются в браузере (кэш на 5 минут) и нам не отправляются.
- Разрешение можно отозвать в любой момент на странице настроек расширения — кнопка «Отозвать доступ» — или средствами Chrome.
Без этого разрешения расширение не открывает соединений к игровым серверам вовсе: оно измеряет только собственную задержку до нашего API и показывает её в подвале списка, а в колонке пинга — оценку по расстоянию, помеченную знаком «≈». Так же считает пинг и сайт rusttv.org: расчёт целиком идёт в вашем браузере (см. раздел 4).
4. Обращения к API rusttv.org
И сайт, и расширение читают данные из публичного API https://rusttv.org/api/v1. API работает только на чтение (GET), анонимно, без авторизации и без cookie.
Как и при любом HTTPS-запросе, наш сервер видит IP-адрес, с которого пришёл запрос, и стандартные заголовки браузера (User-Agent, язык). Мы используем это так:
- Ограничение частоты запросов — счётчик запросов на IP (60 запросов в минуту; 300 для точки замера задержки), чтобы API не положили автоматикой. Счётчик живёт в оперативной памяти и обнуляется сам.
- Гео-оценка пинга — сайт и расширение запрашивают точку /api/v1/geo, которая определяет по вашему IP приблизительные координаты (уровень города/региона) по локальной офлайн-базе DB-IP и сразу возвращает их вам с заголовком Cache-Control: no-store. Ответ никуда не записывается; расстояние до сервера и сама оценка пинга считаются уже у вас в браузере. Запросов к сторонним геосервисам при этом не делается.
- Журналы веб-сервера — обычный access-log nginx (IP, время, путь, код ответа, User-Agent). Он нужен для диагностики и защиты от злоупотреблений, ротируется штатными средствами сервера и не используется для профилирования и не связывается с личностью.
Никаких профилей, идентификаторов пользователя, cookie и трекинга между сайтами. Ваши избранные серверы и настройки в API не передаются: запросы каталога одинаковы для всех.
5. Уведомления
Уведомления о вайпах формируются на вашем устройстве через chrome.notifications: расширение по будильнику (chrome.alarms) обновляет данные избранных серверов и сравнивает время следующего вайпа с вашей настройкой. Push-сервисы не используются, сторонним сервисам ничего не отправляется.
6. Разрешения расширения и зачем они нужны
- storage
- Хранить избранное и настройки в браузере, а также кэш каталога и пинга.
- alarms
- Периодически обновлять данные избранного и срабатывать точно ко времени вайпа: service worker в MV3 выгружается, таймеры в нём не переживают выгрузку.
- notifications
- Показывать уведомление о скором вайпе избранного сервера и, по желанию, о том, что вайп прошёл.
- offscreen
- Выполнять серию замеров времени отклика в скрытом документе: service worker завершается раньше, чем измерение успевает закончиться.
- https://rusttv.org/*
- Читать каталог серверов и расписание вайпов из нашего API. Единственный внешний адрес, к которому расширение обращается само по себе.
- *://*/* (необязательное)
- Только для прямого замера пинга: адреса игровых серверов заранее неизвестны и меняются, поэтому конкретный список хостов в манифест вписать нельзя. Запрашивается по вашему явному согласию, используется исключительно для соединения к IP:порт сервера из каталога, никаких скриптов на страницы не внедряет и содержимое сайтов не читает. Отзывается в настройках.
7. Чего мы не делаем
- Не собираем имя, e-mail, телефон, адрес, платёжные данные и любые другие персональные сведения.
- Не подключаем аналитику, счётчики, рекламные сети и трекеры.
- Не продаём и не передаём пользовательские данные третьим лицам и не используем их для целей, не связанных с работой расширения.
- Не загружаем и не исполняем удалённый код: весь код расширения входит в опубликованный пакет.
- Не используем данные для оценки кредитоспособности и не передаём их брокерам данных.
8. Как удалить свои данные
Удалите расширение в chrome://extensions — вместе с ним удаляются оба его хранилища. Избранное можно очистить и вручную, убрав серверы звёздочкой, а разрешение на замер пинга — отозвать на странице настроек расширения. Данных о вас на нашей стороне не остаётся, потому что мы их не сохраняем.
9. Дети
Сервис не адресован детям младше 13 лет и не собирает данные сознательно ни у кого, включая детей.
10. Изменения политики
Если политика изменится, мы обновим дату вступления в силу вверху страницы. Существенные изменения будут отражены в описании расширения в Chrome Web Store.