Closed zimbres closed 3 months ago
Aparentemente o axios não gosta de requisição https sobre um proxy http o que requereria uma implementação diferente na função fetchLatestBaileysVersion.
Pelo que consegui aferir, na EV a função da baileys é apenas informativa, seria o caso de executar essa parte do código apenas se uma variável de ambiente estivesse configurada para true, exemplo: "CHECK_BAILEYS_VERSION"?
Pelo que entendi, a linha "return response?.data !== serverIp?.data;" do Proxy.Controller vai devolver falso no caso de uso em questão onde o IP do Proxy é o mesmo do acesso direto uma vez que é um proxy interno.
Para ambientes corporativos onde o acesso à Internet deve se dar sempre pelo proxy, essa "testProxy" não vai funcionar.
Em todo o caso, a baileys não consegue trabalhar com um proxy Squid, https over http proxy. Parace faltar uma implementação de, por exemplo, 'https-proxy-agent'
{
"level": 50,
"time": 1713452754681,
"pid": 4633,
"hostname": "evolution",
"err": {
"message": "Request failed with status code 502",
"name": "AxiosError",
"stack": "AxiosError: Request failed with status code 502\n at settle (file:///root/evolution-api/node_modules/axios/lib/core/settle.js:19:12)\n at RedirectableRequest.handleResponse (file:///root/evolution-api/node_modules/axios/lib/adapters/http.js:537:9)\n at RedirectableRequest.emit (node:events:517:28)\n at RedirectableRequest.emit (node:domain:489:12)\n at RedirectableRequest._processResponse (/root/evolution-api/node_modules/follow-redirects/index.js:398:10)\n at RedirectableRequest._onNativeResponse (/root/evolution-api/node_modules/follow-redirects/index.js:91:12)\n at Object.onceWrapper (node:events:632:26)\n at ClientRequest.emit (node:events:517:28)\n at ClientRequest.emit (node:domain:489:12)\n at HTTPParser.parserOnIncomingClient (node:_http_client:700:27)\n at Axios.request (file:///root/evolution-api/node_modules/axios/lib/core/Axios.js:45:41)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async getHttpStream (/root/evolution-api/node_modules/@whiskeysockets/baileys/lib/Utils/messages-media.js:317:21)\n at async downloadEncryptedContent (/root/evolution-api/node_modules/@whiskeysockets/baileys/lib/Utils/messages-media.js:450:21)\n at async downloadHistory (/root/evolution-api/node_modules/@whiskeysockets/baileys/lib/Utils/history.js:14:20)\n at async downloadAndProcessHistorySyncNotification (/root/evolution-api/node_modules/@whiskeysockets/baileys/lib/Utils/history.js:81:24)\n at async processMessage (/root/evolution-api/node_modules/@whiskeysockets/baileys/lib/Utils/process-message.js:146:34)\n at async Promise.all (index 1)\n at async /root/evolution-api/node_modules/@whiskeysockets/baileys/lib/Socket/chats.js:739:9\n at async /root/evolution-api/node_modules/@whiskeysockets/baileys/lib/Utils/event-buffer.js:105:36",
"config": {
"transitional": {
"silentJSONParsing": true,
"forcedJSONParsing": true,
"clarifyTimeoutError": false
},
"adapter": [
"xhr",
"http"
],
"transformRequest": [
null
],
"transformResponse": [
null
],
"timeout": 0,
"xsrfCookieName": "XSRF-TOKEN",
"xsrfHeaderName": "X-XSRF-TOKEN",
"maxContentLength": null,
"maxBodyLength": null,
"env": {},
"headers": {
"Accept": "application/json, text/plain, */*",
"Origin": "https://web.whatsapp.com",
"User-Agent": "axios/1.6.8",
"Accept-Encoding": "gzip, compress, deflate, br"
},
"responseType": "stream",
"method": "get",
"url": "https://mmg.whatsapp.net/v/t62.31111-24/25392554_75620322698702_72013799226106170_n.enc?ccb=11-4&oh=01_Q5AaINbpuxF-DwX61I3qi8Jw8N79Jb1dOCLkhbHxHI_gGjZ&oe=6648B3AD&_nc_sid=5e03e0"
},
"code": "ERR_BAD_RESPONSE",
"status": 502
},
"msg": "unexpected error in 'processing message'"
}
Bom dia. Você conseguiu solucionar de alguma forma o problema? estou tentando rodar a API localmente, em uma rede que é gerenciada por terceiros. Quando tento usar no wifi dessa rede, consigo gerar o qrcode e fazer conexão normalmente, mas quando coloco no cabo e configuro o proxy automático, o qrcode não é gerado
Ao tentar inicializar a Evolution em uma rede com acesso restrito à Internet onde todo o acesso deve ser feito através de um proxy Squid, alguns comportamentos são observados:
Ambiente: