🚀 Запускаем своего Telegram-бота для учёта подписчиков канала
Друзья, начинаем небольшую практическую серию постов, где мы вместе с вами развернём собственного Telegram-бота для канала.
Бот будет помогать админу отслеживать события в канале:
✅ кто подписался
✅ кто отписался
✅ когда это произошло
✅ отправлять уведомления админу в личные сообщения
То есть у нас будет не просто общая статистика, а нормальные уведомления по действиям пользователей.
Что будет в этой серии?
Всего сделаем 3 этапа:
1️⃣ Арендуем VPS и сделаем базовую защиту сервера
2️⃣ Разместим код бота на сервере и подготовим окружение
3️⃣ Настроим .env и полноценно запустим бота
Сегодня первый этап - берём VPS, подключаемся к нему и сразу закрываем базовые вопросы безопасности.
Зачем нам VPS?
Бота можно запустить и на своём компьютере, но это плохой вариант для постоянной работы. Если компьютер выключился, интернет пропал или вы закрыли терминал - бот перестал работать.
Поэтому нам нужен VPS - это удалённый сервер, который работает 24/7.
На нём бот будет постоянно находиться онлайн и отслеживать подписки/отписки в канале.
Где взять VPS?
Я сам хостюсь на SmartApe, у меня там всё работает нормально, поэтому можете взять сервер там по моей ссылке
Но это не обязательное условие.
Если у вас уже есть другой VPS или вы хотите выбрать другого провайдера - без проблем, подойдёт любой сервер с Ubuntu/Debian и SSH-доступом.
Для нашего бота хватит минимального тарифа:Ubuntu 22.04 или 24.04, 1 CPU, 1 GB RAM, 10–20 GB SSD, доступ по SSH
Мощный сервер для такого бота не нужен.
Что должно быть после аренды VPS?
После покупки сервера у вас должны быть:
🔹IP-адрес сервера
🔹логин, чаще всего root
🔹пароль от сервера или SSH-ключ
🔹установленная система Ubuntu/Debian
⌨️ Подключаемся к серверу
Открываем терминал (Win + R в открывшемся окне cmd) и вводим команду:
ssh root@123.45.67.89
Вместо
123.45.67.89 подставьте IP-адрес вашего сервера.Дальше нажимаем
Enter и вводим пароль от сервера.После этого вы попадёте внутрь сервера.
🔐Базовая защита VPS
Прежде чем размещать бота, сразу сделаем минимальную защиту сервера.
1️⃣ Установка и настройка UFW
🔹Сначала обновим пакеты и установим файрвол:
sudo apt update
sudo apt install ufw
Теперь обязательно разрешаем SSH-доступ.
🔹Важно сделать это до включения файрвола, иначе можно случайно потерять доступ к серверу.
sudo ufw allow 22/tcp
Если вы используете нестандартный SSH-порт, замените
22 на свой номер порта.🔹Теперь включаем файрвол:
sudo ufw enable
🔹 Проверить статус правил можно командой:
sudo ufw status verbose
Если всё сделали правильно, SSH-доступ будет разрешён, а файрвол будет активен.
2️⃣ Установка и настройка Fail2ban
Ставим защиту от перебора паролей:
sudo apt install fail2ban
Fail2ban работает через конфигурационные файлы.
Сначала скопируем дефолтный конфиг в локальный файл:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Открываем файл настроек:
sudo nano /etc/fail2ban/jail.local
Найдите секцию
[sshd] и приведите её к такому виду:[sshd]
enabled = true
port = ssh
logpath = %(sshd_log)s
maxretry = 3
bantime = 3600
В
nano это делается так:Ctrl + O
Enter
Ctrl + X
Теперь перезапускаем fail2ban:
sudo systemctl restart fail2ban
3️⃣ Проверяем работу защиты
Чтобы убедиться, что fail2ban работает и отслеживает SSH, используем команду:
sudo fail2ban-client status sshd
Если всё настроено корректно, вы увидите статус защиты для SSH.
✅ Что сделали сегодня?
Сегодня мы:
✅ выбрали и арендовали VPS
✅ подключились к серверу по SSH
✅ обновили пакеты
✅ установили и включили файрвол ufw
✅ разрешили SSH-доступ
✅ установили fail2ban
✅ включили защиту от перебора паролей
Теперь у нас есть сервер, который уже готов к следующему этапу.
В следующем посте будем размещать код нашего Telegram-бота на VPS, устанавливать зависимости и готовить проект к запуску.
Продолжаем 🔥
