Proxy para Evolution API sin mezclar números en la IP del VPS
Evolution API, CodeChat, Baileys y las pilas parecidas se ejecutan en un VPS. La dirección pública de la máquina es la misma para todas las instancias y suele ser un bloque de datacenter compartido con decenas de proyectos. Cuando un número de México, de Colombia o de España se conecta desde Virginia por la misma IP que otros nueve números, la señal de red es genérica y está concentrada.
La corrección es sencilla: una IP dedicada por número, en el país del número, por SOCKS5 y con una dirección que no rota.
Por qué el VPS por sí solo no lo resuelve
La IP del VPS no es «tuya» en términos de reputación. Los vecinos del mismo sistema autónomo (ASN) hacen lo que quieren. La geolocalización apunta al datacenter, no al país del prefijo del número. Ninguno de los dos hechos tira una sesión por sí solo; juntos describen un origen que no se parece a un teléfono en el país del número.
El segundo problema es de arquitectura: diez contenedores, una IP. Un incidente en un número se convierte en un incidente de origen para los otros nueve.
Baileys: la sesión WebSocket no tolera cambios de dirección
Baileys, la biblioteca sobre la que se apoyan Evolution API y otras integraciones no oficiales, mantiene un WebSocket largo con los servidores de WhatsApp. Un proxy rotativo, un residencial que cambia por petición o la IP del VPS compartida con otras instancias son malas combinaciones para ese patrón: el origen cambia o se mezcla, y la sesión lo nota.
El esquema que se repite en producción es simple: IPv4 dedicado, SOCKS5, una IP por instancia. WPPConnect y CodeChat siguen la misma lógica de sesión.
Qué configurar
- Tipo: IPv4 dedicado, fijo. El residencial rotativo es lo contrario de lo que necesita una sesión WebSocket.
- País: el del número. Lo eliges en el checkout; si el número es de Brasil, usa una IP de Brasil (ver proxy Brasil).
- Protocolo: SOCKS5. La conexión persistente de Evolution y Baileys se comporta mejor así que con HTTP CONNECT.
- Autenticación: usuario y contraseña. En el panel copias el bloque de variables de entorno o la URL
socks5://usuario:contraseña@host:puerto. - Dimensión: 1 número = 1 IP. Dos números en el mismo proxy solo tienen sentido si son la misma operación y aceptas el riesgo compartido.
Paso a paso con variables: guía de Evolution API. Baileys: guía de Baileys, con el punto exacto de la biblioteca y los errores 407 y de tiempo de espera. WPPConnect: guía de WPPConnect. Si orquestas con n8n: proxy en n8n.
Qué suele romperse y qué no es un «bloqueo»
Una desconexión tras varias horas puede ser la sesión, una actualización de la biblioteca, un conflicto de identidad del dispositivo o la IP. La prueba útil es aislar la red: si una petición con cURL a través del proxy responde, la IP está activa. Si la instancia cae solo con la IP del VPS y se estabiliza con la dedicada, el origen era parte del problema. Si cae en los dos casos, el diagnóstico no es el proxy.
Lo que el proxy no hace
No evita desconexiones por sesión corrupta, versión antigua de la biblioteca, conflicto de ID de dispositivo ni bloqueos por política de WhatsApp. No existe una configuración de proxy que «sostenga el número»: existe una configuración que no añade ruido de origen. El proxy elimina la variable «origen compartido y fuera del país». Si después de la IP dedicada el número sigue cayendo, el diagnóstico pasa de la red a la aplicación, y eso ya es un avance. Las causas más comunes están en número bloqueado en WhatsApp API.
Tampoco autoriza envíos masivos no solicitados: el abuso de APIs de mensajería está prohibido en la política de uso aceptable.
Cuántas IP comprar
Cuenta los números independientes, no los «chips en el mismo panel». Cinco números de clientes distintos = cinco IP. Cinco números de la misma operación, con el mismo riesgo, pueden compartir; tú decides si aceptas ese acoplamiento. Los valores y descuentos por período están en precios.