• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

esp8266 и прокси

jsore

New member
На работе есть прокси. Есть ли возможности у esp8266 по работе через прокси. Пытался найти что-нибудь подобное в интернете о работе с прокси, но ничего не удалось найти. Может кто-нибудь сталкивался?
 

Алексей.

Active member
jsore,
А в чем вопрос? Что за прокси (какой протокол)? Какие на порты разрешает соединяться прокси? Что должен делать есп которому нужно пройти через прокси?
Пример:
На работе прокси разрешает соединяться только по протоколам http/https, соответственно порты 80/443, в этой же сети на есп должен работать mqtt клиент, никаких http не требуется.
Вопрос: как клиенту пройти через этот прокси бесплатно?
Ответ: никак.
 

jsore

New member
jsore,
А в чем вопрос? Что за прокси (какой протокол)? Какие на порты разрешает соединяться прокси? Что должен делать есп которому нужно пройти через прокси?
Пример:
На работе прокси разрешает соединяться только по протоколам http/https, соответственно порты 80/443, в этой же сети на есп должен работать mqtt клиент, никаких http не требуется.
Вопрос: как клиенту пройти через этот прокси бесплатно?
Ответ: никак.
Об этом прокси ничего не знаю. Знаю ip и порт, которые нужно ввести на компьютере, чтобы можно было выйти в интернет
 

Алексей.

Active member
На lua у объекта http что то не видно ничего готового для работы через прокси
 

NeoroN

Member
А руками написать - конечно не получится, это же программистом надо быть. Все возможно просто надо взять и написать - небыло FTP сервера на lua - взял и написал. Пусть местами говнокод с утечками, но работает.
Вот так и с прокси - самое простое это HTTP прокси - там просто 2 заголовка отправляется: один для прокси - говорит что и куда, другой для запрашиваемого сервера.
 

jsore

New member
А руками написать - конечно не получится, это же программистом надо быть. Все возможно просто надо взять и написать - небыло FTP сервера на lua - взял и написал. Пусть местами говнокод с утечками, но работает.
Вот так и с прокси - самое простое это HTTP прокси - там просто 2 заголовка отправляется: один для прокси - говорит что и куда, другой для запрашиваемого сервера.
Да тут ничего и придумывать не надо. Подключается к прокси. Вот такой код работает:
Код:
conn = net.createConnection(net.TCP, 0)
conn:on("receive", function(sck, payload) print(payload) end)
conn:on("connection", function(sck)
  print("connection to proxy established")
  sck:send("GET / HTTP/1.1\r\nHost: portscan.ru\r\nConnection: close\r\n\r\n")
end)
conn:connect(port, ip)
Но с прокси, который у меня на работе, не работает. Точнее, я заметил, что с портом 3128 не хочет работать.
 
Последнее редактирование:

Алексей.

Active member
А руками написать
Да можно написать, только вопрос где? В скрипте реализовать http протокол после выполнения метода коннект както не кошерно, сделать форк для существующей реализации http было бы правильнее.
И вопрос что писать? Для метода коннект делать поддержку аутентификации или нет, если делать то обойтись базовой или еще и дайджест поддержать?
 

nikolz

Well-known member
Да тут ничего и придумывать не надо. Подключается к прокси. Вот такой код работает:
Код:
conn = net.createConnection(net.TCP, 0)
conn:on("receive", function(sck, payload) print(payload) envj;tn p;d)
conn:on("connection", function(sck)
  print("connection to proxy established")
  sck:send("GET / HTTP/1.1\r\nHost: portscan.ru\r\nConnection: close\r\n\r\n")
end)
conn:connect(port, ip)
Но с прокси, который у меня на работе, не работает. Точнее, я заметил, что с портом 3128 не хочет работать.
возможно что-то полезное есть здесь:
Need to set proxy for the Access point - Everything ESP8266
Syntax for WiFi configuration with proxy settings in Lua scripts
 
Сверху Снизу