Files
vps-tracker/docs/features.md
T
DenozordecandClaude Opus 5.5 85ac5b15cb
Docker / build (push) Failing after 21s
docs: переснять скриншоты после доработок UI и описать шкалу времени
Скриншоты сняты заново на демо-данных с неделей истории проверок.
В docs/features.md — навигация по точкам измерений и новые матрицы
блокировок и GeoIP. В мониторе цвет текста предупреждений читается
в светлой теме (*-foreground, как в KPI).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-07 03:09:49 +07:00

19 KiB
Raw Permalink Blame History

Возможности VPS Tracker

Гид по всем разделам интерфейса. Скриншоты — на демо-данных (вымышленные хостеры, IP из RFC 5737).

Содержание

  1. Дашборд
  2. VPS и карточка сервера
  3. Проекты
  4. Схема инфраструктуры
  5. Хостеры, аккаунты и синхронизация
  6. Активные тарифы
  7. Платежи, баланс и продления
  8. Отчёты и ресурсы
  9. Статус блокировок
  10. GeoIP
  11. Уведомления
  12. Пространства, пользователи и роли
  13. Журналы
  14. Настройки, интеграции и бэкапы

Дашборд

Дашборд

Одна страница, чтобы понять, всё ли в порядке:

  • KPI: активные VPS, расход в месяц (в базовой валюте), суммарный баланс у хостеров по API, запас дней — на сколько хватит денег при текущем расходе, сколько VPS истекает в ближайшие 7 дней, число проблем.
  • Баннер «Требуется внимание» и кнопка «Внимание» в шапке собирают проблемы инвентаря: истекающая оплата, низкий баланс, давно не синхронизированные аккаунты, расхождение баланса API и журнала.
  • Быстрые действия — переходы в частые разделы (можно скрыть в настройках).
  • Графики платежей и расходов по месяцам и таблица «Здоровье инвентаря» с CSV-экспортом.

Графики и здоровье инвентаря

Все суммы в разных валютах пересчитываются в базовую: по курсу хостера (если задан в карточке хостера) или по курсам из URL в настройках (формат ЦБ РФ cbr-xml-daily или { base, rates }).


VPS и карточка сервера

Список VPS

  • Таблица с поиском по IP, DNS, проекту, назначению и ОС; фильтры, настраиваемые колонки (вид), сортировка.
  • Для каждого сервера: IP/IPv6 и доп. адреса, домены (из CFDM), аккаунт и хостер, страна/город/ДЦ с флагом, CPU/RAM/диск, проект, статус, тариф (дневной/месячный), оплачено до.
  • Массовые действия: выделите несколько VPS — сменить статус или проект, удалить.
  • Произвольные поля (настраиваются в Настройки → Общие) появляются в таблице и форме.
  • Поля, изменённые вручную, запоминаются как «пользовательские» — синхронизация с хостером их не перезаписывает.

Карточка сервера разбита на вкладки: Обзор (сеть и ресурсы), Финансы (тариф, дата оплаты и связанные платежи), Заметки, Синк (что пришло от хостера).

Карточка VPS — обзор Карточка VPS — финансы

Дата «оплачено до» считается автоматически: из поля хостера, а для дневного тарифа — из баланса аккаунта и суточного списания; прямые платежи за VPS продлевают дату.

Uptime-мониторинг: для VPS с включённым мониторингом раз в N минут (по умолчанию 5) проверяется TCP-доступность SSH-порта. Переходы «упал/поднялся» попадают в уведомления и историю проверок.


Проекты

Проекты

Группировка серверов по проектам (цвет, заметки). Для каждого — количество VPS, расход в месяц и суммарные ресурсы. Карточка проекта показывает его VPS и быстрые переходы в отчёты.

Карточка проекта

Проект можно указать прямо в форме VPS: существующий находится без учёта регистра (в том числе кириллица), новый создаётся автоматически.


Схема инфраструктуры

Схема инфраструктуры

Редактор топологии на React Flow:

  • узлы VPS (с флагом, IP, ресурсами, ценой и статусом uptime), фигуры, заметки, группы;
  • связи с типом (сеть, зависимость, туннель, VPN, синхронизация, произвольная), направлением, стилем линии, подписью, протоколом и IP концов туннеля;
  • сервисы CFDM — отдельные узлы с членством VPS (для балансировки/HA);
  • несколько схем во вкладках, блокировка от случайных правок, экспорт в PNG, автосохранение.

Хостеры, аккаунты и синхронизация

Хостеры Аккаунты хостеров

Хостер — компания (сайт, базовая валюта, курсы USD/EUR для пересчёта) и тип API с URL биллинга — один на хостера. Аккаунт — ваш логин у хостера: учётные данные API, режим оплаты (ежедневно/ежемесячно), порог низкого баланса. Пароли API в интерфейс не возвращаются — видно только, что они заданы, и логин.

Поддерживаемые API:

Тип Что нужно в аккаунте Что синхронизируется
BILLmanager 6 логин и пароль API VPS, платежи, баланс, тарифы vds.order по всем ДЦ
4VPS Panel ID и API Key VPS, баланс, тарифы
Маклауд / VDSina (userapi) API Token VPS, операции, баланс, тарифы
Veesp email и пароль client area VPS, счета, баланс, тарифы
RuVDS API-токен из ЛК VPS, платежи, баланс, тарифы

Для разных BILLmanager-хостеров есть профили с особенностями их API (FirstByte, IHOR, DataCheap, Serv.host, WaiCore, LandVPS, Cloudrix…) — новый добавляется одним файлом, см. profiles/README.md.

Синхронизация запускается кнопкой на аккаунте («Синхронизировать» / «Синхронизировать все») или по расписанию (Настройки → Синхронизация: интервал синка VPS и платежей — от 15 минут, тарифов — от 60 минут). Повторный запуск во время идущего синка того же аккаунта отклоняется. Каждый запуск пишется в журнал синка.


Активные тарифы

Активные тарифы

Прайс-листы хостеров, загруженные через API: ресурсы, цена, ДЦ, доступность к заказу. Удобно сравнивать хостеров и замечать новые тарифы — о них приходит уведомление. Если загрузка прайс-листа не удалась, сохранённый список не стирается.


Платежи, баланс и продления

Платежи

  • Платежи — пополнения баланса хостера и прямые оплаты VPS (привязка к аккаунту и/или серверу необязательна), итоги по валютам, импорт из синка без дублей.
  • Баланс и списания — журнал движений по балансу (приход/расход), сводка и чистый остаток.
  • Продления — календарь ближайших оплат на 7/30/90 дней и стоимость продлений.
Баланс и списания Продления

Отчёты и ресурсы

Отчёты

  • Отчёты: расход в месяц по проектам и хостерам, платежи по типам, фильтр по проекту и периоду, экспорт в CSV.
  • Ресурсы: суммарные vCPU/RAM/диск активных VPS и распределение по хостерам.

Ресурсы


Статус блокировок

Статус блокировок

Проверка доступности популярных сервисов с самого VPS (через censorcheck): доступен, заблокирован, отказ (403), редирект, таймаут. Результат автоматически привязывается к VPS по IP.

  • Шкала времени: каждая капсула — час с измерениями; высота — число проб, красная/жёлтая часть — доля прогонов с ограничениями. Переход кликом, кнопками ‹ ›, клавишами ← → или пресетами «Сейчас / −1 ч / −6 ч / −24 ч / −7 д» — матрица показывает состояние на выбранный момент.
  • Матрица: строка — VPS с флагом страны, колонка — сервис с иконкой бренда; цветной значок статуса и колонка «Доступно X из Y» с полосой. Переключение «По VPS / По сервису», фильтры по статусу, сервису, хостеру, стране; клик открывает детали прогона.
  • История — все сохранённые прогоны.

Запуск на сервере — одна команда (скрипт ставит недостающие jq/dig, показывает прогресс и отправляет результат с одноразовым токеном):

curl -fsSL https://vt.example.com/cc | bash                     # разовая проверка
curl -fsSL https://vt.example.com/cc | bash -s -- --daily       # раз в сутки (cron)
curl -fsSL https://vt.example.com/cc | bash -s -- --remove-daily

MikroTik (RouterOS 7.22+) — пробы идут через указанный исходящий IP:

:global "vt-srcIp" "1.2.3.4"; /tool fetch url="https://vt.example.com/cc.rsc" dst-path=vt-cc.rsc; /import file-name=vt-cc.rsc

(?daily=1 — ежедневный scheduler, ?remove=daily — удалить.) Кнопки «Скопировать команду», «Раз в день», «MikroTik» на странице подставляют ваш домен. Нужны CENSORCHECK_INGEST_SECRET и CENSORCHECK_PUBLIC_URL — см. configuration.md.


GeoIP

GeoIP

Какую страну видят у вашего IP GeoIP-базы (MaxMind, RIPE, ipinfo, Cloudflare…) и сервисы (Google, YouTube, Netflix, ChatGPT…), включая CDN, — через ipregion.

  • Ячейки матрицы — флаг и ISO-код страны; сервис, который видит другую страну, чем большинство, подсвечен жёлтым.
  • Колонка «Страна» — итоговая страна по большинству и «совпадает N из M».
  • Та же шкала времени, что у блокировок: жёлтые капсулы — часы с расхождениями.

Запуск так же, как у блокировок: curl -fsSL https://vt.example.com/ic | bash (--daily, --remove-daily), для MikroTik — ic.rsc.


Уведомления

Настройки уведомлений

Каналы: Telegram (Chat ID, несколько чатов через запятую, топики форума через Thread ID, свой Bot API URL для прокси) и webhook (POST JSON). Кнопка «Тест» проверяет настройки и подсказывает типичные ошибки (бот не в чате, неверный токен, нет топика).

Событие Когда Повтор
Истекает оплата VPS с оплатой в ближайшие 7 дней не чаще раза в сутки для того же набора
Низкий баланс баланс аккаунта по API ниже порога раз в сутки
Дайджест синка после планового синка, если что-то изменилось при новых изменениях
Новые тарифы у хостера появились тарифы при новом наборе
VPS недоступен / восстановлен переход статуса uptime-проверки каждый переход

Каждое событие включается отдельно. Все отправки (и пропуски-дубли) видны в журнале уведомлений. Длинные сообщения обрезаются по строкам под лимит Telegram, имена из API экранируются.


Пространства, пользователи и роли

При включённой авторизации (AUTH_REQUIRED=true) вход идёт через auth-portal (JWT), а данные разделены на пространства:

  • у каждого пользователя есть личное пространство; есть общее «Основное» и можно создавать командные;
  • роли в пространстве: owner → admin → member → viewer. Viewer только смотрит; member меняет VPS, платежи, хостеров, аккаунты и запускает синк; admin управляет настройками и участниками;
  • шаринг VPS: сервер можно показать в другом пространстве (чтение/запись) или передать целиком;
  • удалённые пространства попадают в корзину и восстанавливаются;
  • права портала (vps:<раздел>:read|write|admin) ограничивают разделы поверх ролей — см. configuration.md.

Синхронизация, уведомления, uptime и интеграции работают отдельно для каждого пространства.


Журналы

Журнал синка Журнал изменений
  • Журнал синка — каждый запуск по аккаунтам: время, длительность, статус, что изменилось или текст ошибки.
  • Журнал изменений — кто, когда и что поменял (создание/изменение/удаление) с diff полей; лента или таблица. При настроенном портале события дублируются в его аудит.

Старые записи журналов удаляются автоматически (уведомления и синк — 90 дней, uptime-проверки — 30 дней).


Настройки, интеграции и бэкапы

Общие настройки Синхронизация
  • Общие — быстрые действия на дашборде, базовая валюта, URL курсов и автоконвертация, произвольные поля VPS, бэкап/восстановление (JSON или файл БД).
  • Синхронизация — автосинк и интервалы.
  • Уведомления — Telegram, webhook и выбор событий.
  • Интеграции — App Switcher (переключатель приложений в шапке) и CF Domain Manager (CFDM): домены и балансировщики из CFDM подтягиваются каждые 15 минут и показываются у VPS и на схеме.

Интеграции

Работает и на телефоне — меню сворачивается, таблицы прокручиваются:

Дашборд на телефоне   VPS на телефоне