Страница 1 из 2

Telegram модуль - работа через прокси-сервер

Добавлено: 04 мар 2019, 11:39
DorlasUfa
Доброго дня!

С мая 2018 года в других системах, где используется связка с Telegram, использую для работы уведомлений через бота проксированный канал (Socks либо HTTP прокси-сервера, установленные за бугром).

Можно запланировать добавление возможности работы модуля уведомления Telegram через прокси-сервера (HTTP и Socks).

Если это поможет, для работы я использую Curl и следующую конструкцию:

Вариант с Socks5-прокси:

Код: Выделить всё

/usr/local/bin/curl --socks5 172.21.12.1:4444 --silent --output /dev/null \
    --data-urlencode "chat_id=${TELEGRAM_CHAT_ID}" \
    --data-urlencode "text=${template}" \
    --data-urlencode "parse_mode=HTML" \
    --data-urlencode "disable_web_page_preview=true" \
    "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage"
Вариант с классическим HTTP-прокси:

Код: Выделить всё

/usr/local/bin/curl --proxy http://10.2.214.7:9988 --silent --output /dev/null \
    --data-urlencode "chat_id=${TELEGRAM_CHAT_ID}" \
    --data-urlencode "text=${template}" \
    --data-urlencode "parse_mode=HTML" \
    --data-urlencode "disable_web_page_preview=true" \
    "https://api.telegram.org/bot${TELEGRAM_BOT_TOKEN}/sendMessage"
Соответственно если получится функционал расширить, должен быть выбор типа прокси, указание IP и порта.

Заранее большое спасибо!!!

Re: Telegram модуль - работа через прокси-сервер

Добавлено: 12 мар 2019, 08:22
mnhtnn
Очень хорошее предложение. Ждем ответа:)

Re: Telegram модуль - работа через прокси-сервер

Добавлено: 12 мар 2019, 10:11
DorlasUfa
В PHP не силен, но посмотрев содержимое модуля telegram.php понял, что он как раз и использует Curl.

По идее, добавить параметры указания Proxy серверов (HTTP/SOCKS) нужно вот сюда:

Код: Выделить всё

       curl_setopt($ch, CURLOPT_HEADER, false);
                        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                        curl_setopt($ch, CURLOPT_POST, 1);
                        curl_setopt($ch, CURLOPT_POSTFIELDS, ($params));
                        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
                        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
Ну и поля в форму для ввода данных.

К сожалению, сам не осилю быстро - программер из меня аховый (((

Re: Telegram модуль - работа через прокси-сервер

Добавлено: 12 мар 2019, 15:12
DorlasUfa
Попробовал погуглить и отредактировать руками данный PHP-файл.

Получилось ))))

Вот что добавил:

Код: Выделить всё

curl_setopt($ch, CURLOPT_PROXYPORT, '9988');
curl_setopt($ch, CURLOPT_PROXYTYPE, 'HTTP');
curl_setopt($ch, CURLOPT_PROXY, '10.2.214.7');
С Sock5 по идее аналогично должно быть.

Re: Telegram модуль - работа через прокси-сервер

Добавлено: 23 мар 2026, 13:25
tehnos
Держите кому надо доработанный модуль. Все настройки SOCKS5 прокси сервера производятся нативно в настройках модуля Telegram.
Для установки замените оригинальный файл /plugins/ext/sms_modules/telegram/telegram.php

Re: Telegram модуль - работа через прокси-сервер

Добавлено: 24 мар 2026, 07:31
support
Евгений, благодарю что напомнили про эту задачу. Я немного доработал ваш код и добавил возможность выбора http или socks5
файлы из архива поместите в plugins\ext\sms_modules\
Прошу протестировать и сообщить результат.
Данная доработка войдет в 3.7

Re: Telegram модуль - работа через прокси-сервер

Добавлено: 16 апр 2026, 09:52
nruslan2
а MTProto будет?
и что за html - вроде аткого нету в клиенте у Telegramm

Re: Telegram модуль - работа через прокси-сервер

Добавлено: 16 апр 2026, 09:57
tehnos
Это техническое ограничение. Боты по MTProto не работают.

Re: Telegram модуль - работа через прокси-сервер

Добавлено: 16 апр 2026, 10:10
nruslan2
понял, спасибо

Re: Telegram модуль - работа через прокси-сервер

Добавлено: 16 апр 2026, 13:45
nruslan2
чето не помогло подключил прокси и все равно не приходят сообщения(