Cómo utilizar Proxyscrape Proxies con Docker

Guías, Guías, Jul-01-20245 minutos de lectura

Ciertos casos de uso requieren que proxy de tráfico en los programas que no soportan de forma nativa proxies. En el blog anterior se explicaba cómo hacerlo en Windows, pero también hay muchos casos de uso de proxies en Linux o incluso en contenedores Docker para una mayor flexibilidad.

En esta entrada del blog, vamos a discutir cómo utilizar proxies para contenedores Docker utilizando el contenedor Docker xjasonlyu/tun2socks.
tun2socks es una herramienta de túnel de red ligera y portátil que le permite enrutar el tráfico a través de un servidor proxy. Está escrito en Go y está disponible como un ejecutable independiente o como un contenedor Docker.
En esta guía, me centraré en cómo usarlo con Docker, para que luego puedas conectar cualquier otro contenedor Docker a él y hacer que use proxies.

En primer lugar, tenemos que hacer un contenedor Docker inicial que hará el proxy.

docker run -d --name tun2socks \
-e EXTRA_COMMANDS='echo "nameserver 1.1.1.1" > /etc/resolv.conf;ip rule add iif lo ipproto udp dport 53 lookup main;' \
-e PROXY=http://<user>:<pass>@rp.proxyscrape.com:6060 \
-v '/dev/net/tun:/dev/net/tun' --cap-add=NET_ADMIN \
xjasonlyu/tun2socks
  • EXTRA_COMMANDS es necesario para que DNS funcione correctamente ya que el contenedor tun2socks no maneja DNS por defecto y sólo hace el proxy él mismo.
  • PROXY es donde se establece el Proxy que desea utilizar, esto puede ser http/https y socks4/5. Una lista detallada existe aquí:
  • -v '/dev/net/tun:/dev/net/tun ' Monta el dispositivo de red virtual de la máquina anfitriona (/dev/net/tun) en el contenedor, permitiendo a tun2socks manipular el tráfico de red.
  • --cap-add=NET_ADMIN Otorga al contenedor las capacidades de administración de red necesarias para establecer el túnel proxy dándole acceso a la pila de red.

En este ejemplo, estoy usando proxies residenciales Proxyscrape , pero también puedes usar proxies premium o cualquier otro proxy.
Ahora que hemos creado el contenedor que hace el proxying, podemos usar cualquier contenedor que queramos para usar la red de este contenedor simplemente añadiendo la bandera --network=container:tun2socks.

Para probar si todo funciona correctamente, puedes utilizar un contenedor de prueba que he construido para devolver datos de localización IPinfo.

docker run --rm --network=contenedor:tun2socks hibenji/checkip

Como se puede ver, ahora somos capaces de proxy casi cualquier cosa a través de proxies, incluso cuando no está soportado de forma nativa.
Por supuesto, puede utilizar proxies de rotación al crear el contenedor inicial, pero también puede hacer múltiples contenedores tun2socks, todos con sesiones pegajosas si eso es necesario también.

Este enfoque del proxy en Docker abre un mundo de posibilidades. Ahora puede utilizar proxies junto con prácticamente cualquier contenedor Docker, incluso aquellos sin soporte de proxy integrado. Esto puede mejorar las capacidades de tus aplicaciones en contenedores, permitiéndote realizar tareas que podrían haber sido difíciles o imposibles sin este nivel de control de red.

Gracias por leer, ¡y espero que haya aprendido algo!

Este artículo ha sido escrito por Benji, usuario de ProxyScrape .