GyverLibs / FastBot2

Очень быстрая и лёгкая библиотека Telegram бота для Arduino, ESP8266, ESP32
MIT License
42 stars 4 forks source link

Proxy #20

Open impulseDiMaro opened 1 month ago

impulseDiMaro commented 1 month ago

День добрый вопрос должна ли работать библиотека через прокси? в свете последних событий в некоторых областях страны многие остались без сервиса для десктопных и мобильных версий помогает прокси или впн как быть с микроконтроллером?

// установить proxy void setProxy(const char* host, uint16_t port); // установить proxy void setProxy(const IPAddress& ip, uint16_t port);

попробовал... глухо пока. протоколы HTTP Socks5 может зря пытаюсь? версия тестовая, та еще, что без зависимости от GyverHTTP

GyverLibs commented 1 month ago

Привет, должно работать, у человека одного крутится через прокси

impulseDiMaro commented 1 month ago

"чорт побьери" - не удается запустить бота через прокси без прокси и с прокси одинаково...

send error in sendPacket() [src/core/core.h : 335] getUpdates in getUpdates() [src/core/core.h : 265]

попробовал перейти с первой версии 1.0.0 на 1.0.10 обновив все зависимые библиотеки. кстати, может стоит на титульной странице указать в зависимостях GTL с сылкой на нее я, к примеру, я об этой библиотеке ничего не знал, и нашел не очень быстро

нет точного понимания каким должен быть протокол прокси HTTP, HTTPS или SOCKS склоняюсь что скорее всего второй, во всяком случае пробую все и только те что 100% работают в мессенджере либо надо покупать какой-то гарантированный стабильный прокси, опять же нет уверенности

от команды telegram (а может и не от них, так позиционируют себя) создан и заточен именно под месседжер прокси proxy.mtproto.ru на 443 порт, но требуется ключ шифрования, всем раздают бесплатно работает в меседжере быстрее остальных, во всяком случае бесплатных

люди добрые, подайте на пропитание, помогите кто чем может... ну или хотя бы советом :)

GyverLibs commented 1 month ago

нашел не очень быстро

все зависимости ставятся автоматически, не нужно ничего искать)

impulseDiMaro commented 1 month ago

ну это у Вас, на Visual Studio c Platformio... на IDE такого же нет... я так думаю :)

GyverLibs commented 1 month ago

ide сама качает все зависимости

impulseDiMaro commented 1 month ago

мне это не известно... бегло прошел по настройкам, в недоумении

impulseDiMaro commented 1 month ago

попробовал платный прокси HTTPS с авторизацией по IP. так же... не летят пакеты с бота, с мессенджера нормально

impulseDiMaro commented 1 month ago

добавил в вебку установку прокси, о которой, до блокировке даже не думал... надоело вручную перебирать хосты и порты

tm

увеличил ожидание ответа сервера с 2 сек до 10 нет коннекта с сервером

лог без прокси:

getUpdates in getUpdates() [src/core/core.h : 278] [String] 'POST https ...

': Reallocating large String(207 -> 208 bytes) [String] 'POST https ... eout":20,"': Reallocating large String(222 -> 227 bytes) [String] 'POST https ... 3,"offset"': Reallocating large String(239 -> 240 bytes) [hostByName] request IP for: api.telegram.org [hostByName] Host: api.telegram.org IP: 149.154.167.220 BSSL:connect: Unable to connect TCP socket send error in sendPacket() [src/core/core.h : 350]

с прокси HTTP:

getUpdates in getUpdates() [src/core/core.h : 278] [String] 'POST https ...

': Reallocating large String(207 -> 208 bytes) [String] 'POST https ... eout":20,"': Reallocating large String(222 -> 227 bytes) [String] 'POST https ... 3,"offset"': Reallocating large String(239 -> 240 bytes) [hostByName] Host: 185.149.21.186 is IP! BSSL:_connectSSL: start connection BSSL:_wait_for_handshake: failed BSSL:Couldn't connect. Error = 'Incoming protocol or record version is unsupported.' send error in sendPacket() [src/core/core.h : 350]

impulseDiMaro commented 4 weeks ago

в общем покурив тему, пришел к выводу что толку от прокси в моем случае мало, так как нет шифрования, ESP это "не по зубам" и все запросы перехватывается по пути следования и... "от ворот поворот" нужен посредник который сможет зашифровать. на свободном роутере с OpenWRT на котором крутиться только локальный MQTT сервер и локальный NTP сервер, поднял VPN клиента а на удаленном (арендованный) VPN сервер. на главном роутере хосты телеграмма заворачиваются на роутер с поднятым туннелем на VPN сервер, остальное летит как обычно. таким образом удалось восстановить работу ботов.