Когда свободные порты кончились, на модеме можно достроить порты, пока клиентских портов меньше N. 1 = шаринг выключен (одна SIM — один клиент)
шт
Якорный клиент для шаринга
Логин клиента (u_…), на чьих модемах можно достраивать порты новым покупателям. Модемы других клиентов не трогаем никогда. Пусто = шаринг выключен
Регистрация и письма
Cloudflare Turnstile — защита форм регистрации/сброса от ботов. SendPulse SMTP — письма верификации, сброса пароля и чеки оплаты.
Turnstile Site Key
Публичный ключ виджета (с сайта Cloudflare)
Turnstile Secret Key
Серверный ключ проверки. Хранится зашифрованным; пустое при сохранении = не менять
SendPulse SMTP логин
Логин SMTP-аккаунта SendPulse
SendPulse SMTP пароль
Хранится зашифрованным; пустое при сохранении = не менять
From-адрес писем
Отправитель писем клиентам (должен быть подтверждён в SendPulse)
Twenty CRM: DSN базы
postgresql://user:pass@host:5432/db — push заявок с сайта в CRM. Хранится зашифрованным; пустое при сохранении = не менять; пусто совсем = дефолт бэкенда
Тарифы розницы
Единый прайс (Р36). Витрина клиента — тарифы с public=1 и active=1; duration_hours=24 — тест-день.
Загрузка...
Пул розницы
Боксы, с которых выдаются прокси рознице, когда в тарифе сервер не задан («по умолчанию»). Основной бокс выдачи — первый по порядку из отмеченных.
Загрузка...
Пул портов
Порты автовыдачи рознице. free — ждут выдачи, leased — у клиента, blocked — hold после grace (по hold_until порт удаляется безвозвратно).
Операция длинная (до 2–3 мин на 10 портов): для каждого порта подбирается свободный модем на боксе.
Загрузка...
Эквайринг (карта/СБП)
Приём оплаты от физлиц через Точка.Банк (платёжные ссылки). Вебхук для банка: /api/payments/webhook/tochka. Без JWT-настроек провайдер считается выключенным — пополнение в ЛК закрыто (503).
Карточные платежи
Пополнения баланса физлиц картой/СБП. Зачёт — только по вебхуку банка. «Возврат» доступен для зачтённых платежей (refund в банке + сторно баланса).
Загрузка...
Промокоды
Промокод даёт бонус к пополнению баланса: процент от суммы или фиксированную сумму. Зачисляется автоматически после оплаты.
Загрузка...
Новый тариф
Симулятор нагрузки
Воспроизводит клиентскую нагрузку через выделенный тестовый пул модемов для диагностики таймаутов и breaking-point.
Симулятор выключен (настройка simulator_enabled). Запуск запрещён (403). Включайте только на стенде — прогон гоняет реальную нагрузку через тест-пул модемов.
Настройки симулятора
Включение и потолки прогона. Симулятор гоняет реальную нагрузку через тест-пул модемов — не включайте на проде без необходимости.
Симулятор включён
Выкл = API симулятора отвечает 403, запуск запрещён
Макс. воркеров
Потолок concurrency прогона (кламп при старте и в тике)
Колонка «В пуле» включает is_test_pool. Колонка «В профиле» добавляет модем в текущий запуск. Можно сразу со страницы.
Модемы в пуле получают реальную дополнительную нагрузку при запуске. Желательно выводить их из аренды клиента на время теста.
Загрузка…
—
2. Профиль нагрузки
— Сначала отметьте модемы в пуле выше —
Клиент жалуется на 15000 мс — поставьте это значение для воспроизведения.
3. История запусков
Отметьте 2-5 чекбоксов для сравнения
Загрузка…
Детали запуска
Уведомления
Все источники уведомлений. TG+ — в Telegram-чат и в колокольчик. — только в колокольчик в админке. У каждого свой cooldown, чтобы не было спама. Кнопка «Тест» отправляет пример — посмотрите как карточка выглядит в боте или в колокольчике.
Загрузка…
СВОДКА МАССОВОГО ПАДЕНИЯ
Порог сводки «N модемов не работает»
Когда столько модемов одновременно в оффлайне (после индивидуальных уведомлений) — присылаем одно сводное сообщение со списком и разбивкой по серверам. 0 — выключить сводку.
модемов
Операторы и страны
Привязка операторов к странам нужна для аналитики (флаги в таблицах, группировки в распределении задержек, фильтры в графиках). Новые операторы появляются автоматически: каждый раз когда модем-поллинг впервые видит оператора на сервере, страна берётся из настроек сервера (RO/MD/RU). Если автоматическая привязка ошиблась — поменяйте вручную в таблице ниже; ручной выбор не перезатирается следующим опросом.
Загрузка списка операторов…
Авто-failover модемов
Требуется перезапуск
Когда модем клиента реально умирает, система переносит его порт на здоровый свободный модем того же сервера — сменой IMEI на порте (portID, TCP-порт, логин, пароль сохраняются), так что строка подключения клиента продолжает работать; меняется только внешний IP (другой модем/SIM).
Как принимается решение (защита от ложных переносов). Главный источник ложных срабатываний — «железо онлайн, но дата-канал оператора моргнул на 40–50 мин и сам поднялся». Поэтому решение двухскоростное и подключает аптайм самого модема как детектор лжи:
Модем offline ≥ «Offline до failover» → переносим быстро (железо реально пропало из сети).
Модем online, но прокси в ошибках → медленный путь: переносим, только если серия ошибок длится ≥ «Прокси мёртв — медленно» И аптайм модема за сегодня ниже «Мин. uptime модема». Если модем стабильно онлайн (высокий uptime) — это почти наверняка временное моргание оператора, ждём, не трогаем.
Жёсткий предел: если прокси мёртв ≥ «Прокси мёртв — жёстко» — переносим в любом случае, даже при идеальном uptime (значит сломалось всерьёз, а не моргнуло).
Спейр выбирается только из модемов с хорошим собственным uptime (см. «Мин. uptime спейра»), плюс кулдаун на модем и лимит переносов в час — чтобы не было «качелей».
Сначала проверьте механику вручную: ниже выберите живой модем, нажмите «Найти спейр и перенести», убедитесь что прокси поднялся на новом модеме и строка клиента работает. Только потом включайте «Dry-run = выкл» для автоматики. По умолчанию авто-режим выключен, а dry-run включён (логирует «перенёс бы», но ничего не трогает).
Авто-failover включён
Главный выключатель. Пока выкл — система только показывает кандидатов, ничего не переносит
Dry-run (тест-режим)
Когда вкл — логирует «сделала бы перенос», но не выполняет. Снимите для реальных переносов
ПОРОГИ И ЗАЩИТА ОТ ЛОЖНЫХ ПЕРЕНОСОВ
Offline до failover
Сколько модем должен быть offline, прежде чем переносим клиента (быстрый путь)
мин
Ошибок прокси подряд
Сколько проверок подряд должны упасть с ошибкой, чтобы запустить «медленный путь». Задержки не учитываются
Прокси мёртв — медленно
Непрерывные ошибки ≥ этого → переносим модем с плохим uptime. Меньше = раньше, но больше ложных. По умолчанию 45
мин
Прокси мёртв — жёстко
Дольше этого — переносим в любом случае, даже при идеальном uptime. По умолчанию 90
мин
Мин. uptime модема для переноса
Медленный путь срабатывает, только если аптайм модема за сегодня ниже. Высокий = моргание оператора → ждём. По умолчанию 90
%
Мин. uptime спейра
Не выбирать в спейры модем с uptime ниже этого (по ≥10 проверкам). 0 — выключить фильтр
%
Cooldown на модем
Не переносить тот же модем повторно в течение этого времени
ч
Лимит переносов в час
Тормоз: если переносов больше — стоп + алерт (вероятно проблема в сервере, а не модемах)
Кандидаты на failover (сейчас)
Клиентские модемы, которые автоматика перенесла бы прямо сейчас (по текущим порогам), и есть ли для каждого свободный спейр.
Нажмите «Обновить»
История failover
Загрузка…
Некоторые настройки вступят в силу только после перезапуска сервера.
Telegram-уведомления
Ежедневная сводка по дашборду в Telegram — финансы, трафик, инфраструктура и ротации за сутки. Отправляется в назначенный чат в указанное время МСК.
Bot Token
Токен бота от @BotFather
Chat ID
Личный или групповой chat_id. Если пусто — отправь /start боту, заполнится сам
Время отправки (МСК)
Когда отправлять сводку за вчерашний день, формат ЧЧ:ММ
Ежедневная сводка
Если выключено, сводка не отправляется автоматически
ID админов бота
Telegram id админов через запятую — только им доступны команды /today, /yesterday, /status. Пусто = legacy-режим (админ = Chat ID выше)
Username бота
Без @. Fallback для ссылки привязки из ЛК — обычно определяется сам через getMe
Публичный URL дашборда
Ссылки в сводке и алертах ведут сюда. Пусто = https://app.arendaproxy.ru
AI-инсайты в сводке
Абзац аналитики от Claude в ежедневной сводке (нужен API-ключ ниже)
Anthropic API Key
Для AI-инсайтов. Хранится зашифрованным; пустое при сохранении = не менять
Спидтесты и пороги качества
Измерение скорости модемов, пороги «проблемных» (по ним модем попадает в карточку «Сбоит прокси») и авто-перезагрузка. Сохраняются вместе.
СПИДТЕСТЫ
Модемы ежечасного замера
Отметьте ники — по ним идёт замер скорости каждый час (график «Скорость модемов»). Автозамер по всему флоту отключён: остальные модемы — только вручную по кнопке. Ничего не отмечено = дефолтный список на бэке
Загрузка списка модемов…
Мин. скорость
Ниже — скорость подсвечивается красным в таблице
Mbps
Перезамер: порог DL
Замер с download ниже порога считается подозрительным — повтор через ~25 сек, пишется лучший
Mbps
Перезамер: каждые
Неудачные модемы (оффлайн/сбой) перезамеряются с этим шагом до успеха
мин
Перезамер: раундов
Сколько раундов добивать неудачных (10 × 5 мин ≈ до следующего часового тика; 0 = выкл)
шт
Хранить замеры
Дней истории почасовых замеров (таблица speed_monitor)
дн
Макс. записей истории
Сколько последних результатов хранить на модем (ручные замеры)
ПОРОГИ «ПРОБЛЕМНЫХ» МОДЕМОВ
Подсветка ошибок в таблице
Только красная ячейка (7 дней). На авто-действия НЕ влияет — для них «Сбоит прокси» ниже
%
Порог «оффлайн модем»
Дольше — модем исключается из агрегаций (Online, графики, ёмкость, ротации, IP). Без перезапуска
ч
Порог «модем отключен»
Сколько минут модем молчит, прежде чем попадёт в «Модем отключен» / «Офлайн» и уйдёт TG-алерт. Без перезапуска
мин
«Сбоит прокси»: задержка
Модем проблемный, если средняя задержка выше
мс
«Сбоит прокси»: ошибок
Боевой порог: помечает модем проблемным → авто-ребут / failover
%
«Сбоит прокси»: окно
За какой период оцениваем задержку и ошибки (5–720)
мин
АВТО-РЕБУТ ПРОБЛЕМНЫХ
Авто-перезагрузка проблемных
Влияет на парк. Модемы из «Сбоит прокси» перезагружаются по интервалу ниже. Не триггерится «ротация без смены IP». По умолчанию выкл
Интервал авто-ребута
Не чаще одного перезапуска в интервал на модем (защита от петли)
мин
Алерт по reboot score
Модем с оценкой перезагрузок выше порога → TG-алерт в сводке проблемных (0–100)
баллов
Проверка прокси
Периодическая проверка отклика каждого прокси через HTTP-запрос к целевому сайту. Цветовая индикация в таблице: зелёный / жёлтый / красный.
Целевой сайт
URL, на который шлём тестовый запрос через каждый прокси
Интервал проверок
Как часто запускать цикл проверки всех прокси
мин
Таймаут запроса
Максимальное время ожидания ответа от прокси
сек
Параллельных проверок
Сколько прокси проверять одновременно (больше = быстрее, выше нагрузка)
ПОРОГИ ЗАДЕРЖКИ (МС)
Зелёный до
мс
Жёлтый до
мс
Красный всё, что выше жёлтого
Восстановление
после перезапуска
Когда модем уходит в оффлайн дольше заданного времени — система сама перезагружает его несколько раз (у MF289D ресета нет, только перезагрузка), и при неудаче делает Re-Add. Фильтры не дают «штормить» бесполезными перезагрузками.
Авто-восстановление
Главный выключатель всей логики восстановления
Оффлайн до действия
Сколько секунд модем должен молчать, прежде чем начнём перезагружать
сек
Макс. перезагрузок
Сколько раз перезагрузить, прежде чем перейти к Re-Add
раз
Между попытками
Пауза между перезагрузками — чтобы модем успел подняться
мин
Лимит действий в сутки
Максимум перезагрузок/Re-Add на один модем за 24ч (анти-шторм)
/сут
ФИЛЬТРЫ — КОГО НЕ ТРОГАТЬ
Re-Add после неудачных перезагрузок
Пропускать модемы с мёртвой SIM
Пропускать свободные / непроданные
Трекинг и ротация
после перезапуска
Мониторинг внешних IP-адресов модемов и синхронизация логов ротации с серверов.
Интервал трекинга
Как часто проверять текущий IP каждого модема и обновлять аптайм
мин
Кеш ротации
Время хранения кеша данных о ротации. После истечения — повторный запрос к серверу
мин
Синхронизация ротации
Как часто подтягивать новые записи логов ротации с серверов
мин
Хранение данных
Через сколько дней автоматически удалять старые записи из базы. Очистка ежедневно в 00:30 UTC. Минимум 7 дней.
Часовой трафик
Почасовая статистика трафика по портам (графики, хитмап)
дн
Аудит-лог
Действия администраторов: клиенты, оплаты, настройки