Skip to content

unlimy-org/unlimy-checker

Repository files navigation

unlimy-checker

Telegram-бот на aiogram для мониторинга DNS и доступности серверов домена unlimy.ru. Работает в личке и в беседе/группе (по chat_id).

Что проверяет

Для записей:

  • @ -> 178.215.236.22
  • admin -> 178.215.236.22
  • cabinet -> 178.215.236.22
  • node-ne -> 5.129.230.87
  • panel -> 178.215.236.22
  • sub -> 178.215.236.22
  • www -> 178.215.236.22

Бот делает:

  • проверку DNS A-записи
  • проверку TCP-порта 80
  • проверку TCP-порта 443
  • сохраняет историю и статистику в SQLite
  • шлет alert/recovery в Telegram

Команды бота

  • /check - ручная проверка
  • /status - последняя проверка
  • /stats - глобальная статистика + по хостам
  • /history - последние 20 хост-проверок
  • /chatid - показать chat_id текущей беседы

Быстрый запуск в Docker

  1. Создайте .env на основе .env.example
  2. Заполните:
    • BOT_TOKEN
    • ALLOWED_CHAT_IDS (chat_id беседы, через запятую)
    • опционально ALERT_CHAT_IDS (куда слать алерты; если пусто, берется ALLOWED_CHAT_IDS)
  3. Запуск:
docker compose up -d --build

Логи:

docker compose logs -f

Локальный запуск

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python bot.py

Настройки (.env)

  • BOT_TOKEN - токен Telegram-бота
  • ALLOWED_USER_IDS - список user id через запятую (опционально)
  • ALLOWED_CHAT_IDS - список chat id через запятую (группы/беседы, где бот отвечает)
  • ALERT_CHAT_IDS - список chat id для alert/recovery (если не задан, используются ALLOWED_CHAT_IDS, затем ALLOWED_USER_IDS)
  • CHECK_INTERVAL_SECONDS - интервал автопроверки
  • DNS_TIMEOUT_SECONDS - timeout DNS
  • TCP_TIMEOUT_SECONDS - timeout TCP
  • TELEGRAM_PROXY_URL - URL прокси для Telegram API. Поддерживаются:
    • socks5://user:pass@host:port
    • http://user:pass@host:port
    • ссылка формата https://t.me/socks?server=HOST&port=PORT&user=USER&pass=PASS (будет автоматически преобразована)
  • TELEGRAM_RECONNECT_DELAY_SECONDS - пауза перед автопереподключением polling после сетевой ошибки
  • LOG_LEVEL - DEBUG/INFO/WARNING/ERROR
  • DB_PATH - путь к sqlite-файлу

About

Docker-бот на aiogram для мониторинга DNS A-записей и доступности серверов (TCP 80/443) по домену unlimy.ru: алерты в Telegram, история и статистика.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors