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

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 по идее аналогично должно быть.