impersonate-proxy: un proxy MITM local para controlar huellas TLS, HTTP/2 y cabeceras desde YAML

Fuentes: impersonate-proxy: a local MITM proxy to control TLS, HTTP/2 and header fingerprints from YAML

impersonate-proxy es una herramienta de código abierto escrita en Go que actúa como proxy MITM local y permite modificar, desde un único archivo de configuración YAML, distintos aspectos de la huella que un cliente deja al conectarse a un servidor: la negociación TLS (conjuntos de cifrado, extensiones y su orden, que determinan los identificadores JA3 y JA4), la cabecera User-Agent, el orden de las cabeceras HTTP/1.1, la inyección o eliminación de cabeceras concretas, el falseo de la IP de origen mediante X-Forwarded-For y True-Client-IP, y los parámetros del protocolo HTTP/2 (valores y orden de SETTINGS, WINDOW_UPDATE y orden de pseudo-cabeceras).

El proyecto incluye una extensión para Chrome que se conecta a una API de gestión expuesta por el proxy (por defecto en 127.0.0.1:8081) y permite alternar la interceptación o cambiar el perfil de huella en caliente, sin reiniciar el proceso. La configuración puede actualizarse en tiempo de ejecución con curl, lo que facilita probar de forma rápida cómo reacciona un WAF o un sistema de detección de bots ante distintas combinaciones de huella. Incorpora presets para Chrome, Firefox, Safari, Edge, iOS, Go y un modo aleatorio, además de un modo "custom" para reproducir una huella arbitraria definida con un bloque custom_hello.

En la práctica, el flujo consiste en generar una CA local al arrancar, instalar su certificado de confianza en el sistema (o solo en curl, Node/Playwright o Firefox), editar config.yaml con los ajustes deseados y enrutar el tráfico —desde curl, un navegador o Playwright— a través del proxy para observar la clasificación resultante. El repositorio incluye una tabla que traduce cada componente de JA3/JA4 a su campo correspondiente del YAML y advierte de que los hashes no son reversibles, por lo que es necesario capturar los parámetros reales con herramientas como tls.peet.ws o Wireshark. El proyecto se posiciona como apoyo a pruebas de seguridad autorizadas de sistemas WAF y de detección de bots.