LINUX.ORG.RU
ФорумAdmin

curl telegram через Mtproto прокси. Возможно ли?

 , , , ,


2

2

День добрый. Подскажите, пытаюсь настроить оповещение zabbix в телеграмм, и не получается настроить проксирование, роскомнадзор заблокировал все напрочь.

проверяю, работает ли прокси:

curl -IL --socks5-hostname "user:pass@p.serv.ru:443" https://api.telegram.org 

Получаю ошибку: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to api.telegram.org:443

*   Trying 144.76.234.220...
* TCP_NODELAY set
* Expire in 200 ms for 4 (transfer 0x55e28fb6ddc0)
* SOCKS5 communication to api.telegram.org:443
* SOCKS5 request granted.
* Connected to p.sb30.ru (144.76.234.220) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to api.telegram.org:443
* Closing connection 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to api.telegram.org:443

При этом, разумеется, из европы все работает и с прокси, и без прокси.. Насколько я понял, для полного скрытия телеграм-трафика нужно использовать mtproto.

Как curl указать этот тип проксирования? Как вообще отправлять в телеграм из zabbix в России из под роскомнадзора?


У mtproto-прокси свой протокол, у socks5-прокси свой. ЕМНИП, curl ни разу не умеет mtproto, а mtproto ни разу не умеет передавать что-то кроме протокола телеги.

Radjah ★★★★★ ()

Какая боль, какие страдания, впервые вижу жирный шрифт в посте) Вы бы еще КАПСОМ НАПИСАЛИ БЫ!

Думаю, общая рекомендация - срочный переезд в европу, там всё работает.

Alve ★★★★★ ()
Ответ на: комментарий от Radjah

)))))) все именно так уже глаза все болят. тонны инфы прочел, а толку нет. Расскажите мне юродивому, как же мне отправлять сообщения из zabbix в телегу? Всякие reverse ssh tunnel не хочу... Можно ли обойтись легкой артиллерией?

PATRI0T ()
Последнее исправление: PATRI0T (всего исправлений: 1)

Захостить бота в европе, рядом поднять rest угодно - кидать сообщения из заббикса в рест и получать в телеге?

Если не устраивает, всегда можно попробовать с каким-нибудь mq.

phoen ★★ ()
Последнее исправление: phoen (всего исправлений: 1)
Ответ на: комментарий от phoen

это сложна... чтож за напасть такая.. неужели никак по другому не выкрутиться?

PS. Спасибо огромное за ответы

PATRI0T ()
Последнее исправление: PATRI0T (всего исправлений: 1)
Ответ на: комментарий от insw

torsocks curl -s https://telegram.org

Аналог для socks5 - proxychains.

  1. tor и так из коробки предоставляет socks5: 127.0.0.1:9050. Достаточно его установить и запустить сервис (обычно во всех дистрибутивах почти из коробки).
  2. curl умеет socks5.
sudo systemctl start tor.service
curl -L -v --socks5-hostname 127.0.0.1:9050 https://telegram.me

А proxychains хорош для программ, которые не умеют socks сами по себе.

im-0 ()
Ответ на: комментарий от insw

Почему из за DNS не работет? --socks5-hostname должна же резолвить через прокси.. не? Мне самому весьма интересно разобраться, почему же не работает...

root@SERV-D:/# cat /etc/resolv.conf
nameserver 8.8.8.8

root@SERV-D:/# host api.telegram.org
api.telegram.org has address 149.154.167.220
api.telegram.org has IPv6 address 2001:67c:4e8:f004::9

root@SERV-D:/# tor-resolve api.telegram.org
149.154.167.220

root@SERV-D:curl -IL --socks5-hostname "user:pass@p.serv.ru:443" https://api.telegram.org 
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to api.telegram.org:443
PATRI0T ()
Ответ на: комментарий от im-0

А это вообще прям супер.. Преогромнейшая благодарность!

PATRI0T ()
Ответ на: комментарий от Nibbler

прокси в Hetzner. не знаю где конкретно, не мой сервак

но, самое главное, все получилось. Кому надо слать сообщения в телеграм из заббикса, забирайте)

apt install tor torsocks

systemctl start tor.service

 curl  
     --socks5-hostname 127.0.0.1:9050 
     --header 'Content-Type: application/json' 
     --request 'POST' 
     --data '{"chat_id":"-347712505","text":"Проверка связи"}' 
     "https://api.telegram.org/bot985805478:AAGyvUJVl9OhqYD-PEsOTHIfh9eqm3SBg/sendMessage"

PATRI0T ()
Ответ на: комментарий от Nibbler

ну моем случае это вообще не важно. если латенси будет не больше получаса, меня вполне устроит )

PATRI0T ()
Ответ на: комментарий от PATRI0T

Не работает из-за того, что провайдер отслеживает запросы к заблокированным сайтам на любом запрашиваемом IP-адресе и порту. Нужно использовать прокси с шифрованием, например, Secure Web Proxy (HTTP-прокси с дополнительным TLS-слоем поверх). curl это поддерживает.

ValdikSS ★★★★★ ()
Последнее исправление: ValdikSS (всего исправлений: 1)
Ответ на: комментарий от eternal_sorrow

в токене естесвенно несколько буковок поменял) Все будет хорошо, спасибо за беспокойство)

PATRI0T ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.