Деплоинг бота Телеграм сервисы бесплатно

Макс Довольный | 09.01.2023 09.01.2023 2 комментария к записи Постбек в Telegram из любой ПП за 10 минут

Стоит сразу отметить, что данный метод оповещения о лидах удобен по большему счету для тех, кто только начинает лить и хочет получать уведомления о каждом лиде, так как при большем объеме трафика это будет только мешать.

постбек в арбитраже трафика

  • Настройка постбека с помощью телеграм бота
  • Настройка чат-бота в botfather
  • Настройка постбека в телеграм боте

Настройка постбека с помощью телеграм бота

TELEGRAM bot. ОБХОД БЛОКИРОВКИ API TELEGRAM

telegram bot

Railway Убийца Heroku | Самый Быстрый Способ Задеплоить Telegram/VK Python Бота

Всем привет, с вами Низамов Илья и сегодня мы будем обходить блокировку Telegram по IP адресу при работе через webhook. Если ваш провайдер применяет именно такую блокировку Telegram, то обойти ее поможет прокси сервер на nginx установленный на виртуальном сервере в другой стране.

Если вам нужно только отлаживать чат бот Telegram то советую не заморачиваться, а использовать сервис ngrok. Если же у вас рабочий бот и вы не можете получать входящие запросы от webhook Telegram, то посмотрев данное видео вы сможете обойти это ограничение. Главное условие, чтобы ваш http сервис 1С был опубликован на web сервере и имел белый статичный IP адрес.

Очень много информации я вынес из статьи пользователя PlugFox, советую пройти и почитать ее полностью.

Аренда VDS

Для начала я арендовал сервер VDS хостера. Сервер расположен в Цюрихе, Швейцария.

Доступ к нему мы получим по протоколу SSH с помощью утилиты Putty.

Еще по теме:  Как можно не давая номер перейти в Телеграмм

Настройка VDS

apt update apt upgrade

apt install ufw

Ставим web сервер nginx

apt install nginx

Проверяем по адресу http://91.245.225.114 что web сервер работает

Так как Telegram работает только по https, то для нашего сервера надо генерировать самоподписанный сертификат и настроить наш web сервер для работы с ним.

Генерация сертификата SSL для Telegram bot

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

При использовании OpenSSL нужно также создать ключи Диффи-Хеллмана, которые нужны для поддержки PFS (совершенной прямой секретности). Подробнее читаем в википедии.

openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Настройка nginx

Продолжаем настраивать web сервер. Создадим сниппет, в котором укажем расположение SSL сертификата и ключа

С помощью текстового редактора nano создадим сниппет. Со временем вы можете забыть, что указано в сниппетах, по-этому советую называть их соответственно.

в конфиге укажем директивы

ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

Выходим и сохраняем данные.

Теперь создадим отдельный сниппет с настройками SSL.

Все эти параметры влияют в основном на безопасность и выполняют оптимизацию HTTPS-сервера
Подробнее о каждом параметре вы можете почитать в русскоязычной документации по web серверу nginx в разделе Настройка HTTPS-серверов

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers «EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH»;
ssl_ecdh_curve secp384r1;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
add_header Strict-Transport-Security «max-age=63072000; includeSubdomains; preload»;
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
ssl_dhparam /etc/ssl/certs/dhparam.pem;

Выходим и сохраняем данные.

Создадим конфиг нового сайта, он должен располагаться в определенной папке, название у него будет telegram, выполним команду.

И прописываем конфиг нашего сервера

server listen 8443 ssl http2 default_server;
listen [::]:8443 ssl http2 default_server;
server_name 91.245.225.114;
include snippets/self-signed.conf;
include snippets/ssl-params.conf;
location / proxy_pass http://100.102.171.125/tl/hs/tg;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
client_max_body_size 100M;
>
>

Еще по теме:  Спонсор бот в Телеграмм отзывы клиентов

Директива listen указывает на то какие порты мы будем прослушивать. На текущий момент отправка обновлений через вебхуки доступна только на порты: 443, 80, 88, 8443. По-этому я указываю порт 8443.

Параметр ssl указывает на то, что все соединения, принимаемые на данном порту, должны работать в режиме SSL.

Параметр http2 позволяет принимать на этом порту HTTP/2 соединения, подробнее вы можете почитать в wikipedia.

Параметр default_server указывает на то, что данный сервером будет сервером по умолчанию для указанной пары адрес:порт.

Вторая строка listen настраивает все тоже самое, только для протокола IPv6

Директива server_name – задаёт имя нашего виртуального сервера, так как мы не покупали хостинг, то здесь указываем IP адрес нашего сервера VDS.

Директива include – включает в конфигурацию другой файл с директивами. Ранее мы описали там подключение сертификатов и ключей SSL, а так же настройки протокола.

Директива location – устанавливает конфигурацию в зависимости от URI запроса. В нашем случае запросы к https://91.245.225.114:8443 будут обрабатываться по правилам в следующем блоке.

Следующий блок <> описывает перенаправление запросов на наш сервер.

Директива proxy_pass – задаёт протокол и адрес проксируемого сервера. В нашем случае это протокол http, далее IP адрес и потом адрес нашего http сервиса в 1С http://10.240.150.46/tl/hs/tg/

Директива proxy_set_header – позволяет переопределять или добавлять поля заголовка запроса, передаваемые нашему серверу.

proxy_set_header Host $http_host — передаем поле заголовка запроса

proxy_set_header X-Real-IP $remote_addr — передаем IP адрес запрашивающего в заголовке X-Real-IP (иначе в логах Apache будут адреса Nginx сервера, а не реальных клиентов)

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for — передаем IP клиента и список IP всех прокси-серверов, через которых прошёл запрос, разделённые запятыми. Подробнее читать тут.

Еще по теме:  Как в Телеграмме войти в чат по QR коду

proxy_set_header X-Forwarded-Proto $scheme – нужно для определения исходного протокола (например HTTPS или HTTP)

Директива client_max_body_size – задаёт максимально допустимый размер тела запроса клиента

Сохраняем конфиг и выходим.

Для активизации сайта надо создать символическую ссылку с помощью команды ниже.

ln -s /etc/nginx/sites-available/telegram.conf /etc/nginx/sites-enabled/telegram.conf

Проверяем настройки сервера командой.

Ругнется на настройки ssl, но это не страшно, а остальное должно быть ОК.

systemctl restart nginx

И настраиваем брандмауэр.

ufw allow 8443
ufw allow 1080
ufw allow 443

Источник: nizamov.school

Рейтинг
( Пока оценок нет )
Загрузка ...