Los proxies residenciales tienen muchas aplicaciones útiles, como el web scraping, la investigación en línea, eludir las restricciones geográficas y la navegación anónima. Pero pueden ser costosos, y algunos cobran más de $ 100 por mes para acceder a más de 10 GB de datos.
El año pasado, cuando viajaba a la India y otras partes del sudeste asiático, quería una forma confiable que me permitiera acceder al contenido de varios servicios de suscripción como Netflix y Amazon Prime sin restricciones geográficas. Quería hacer esto mientras
Descubrí una solución al crear mi propio proxy residencial en el escritorio de mi casa en los EE. UU.
Al configurar una VPN punto a punto (P2P) y conectar mi computadora portátil y mi computadora de escritorio, pude enrutar el tráfico de mi computadora portátil en la India a mi computadora de escritorio en los EE. UU., que luego reenvió estas solicitudes a www/public Internet antes de devolver la respuesta de mi red doméstica.
Todo esto sin tener que pasar por la molestia de establecer la configuración de reenvío de conexión en el enrutador de mi casa.
Peer-to-peer (P2P) es un modelo de arquitectura para VPN que se utiliza para crear un entorno compartido seguro para los usuarios. Una VPN basada en P2P se diferencia del modelo hub-and-spoke estándar al no enrutar todo el tráfico a través de un servidor central, lo que evita la congestión. Esto mejora la seguridad y permite un escalado más eficiente al agregar nodos sin sobrecargar la red. Además, las conexiones en una VPN P2P utilizan la ruta más rápida, lo que reduce las demoras.
Existen múltiples soluciones VPN P2P de código abierto, freemium y pagas disponibles. Tinc es una de las VPN populares de código abierto.
La pila de red consta de los siguientes componentes:
Escritorio en casa (EE. UU.)
Mi computadora portátil (fuera de EE. UU.)
P2P vpn daemon ejecutándose en ambas máquinas a través de la misma cuenta
Servidor proxy HTTP ejecutándose en el escritorio
El siguiente diagrama muestra el flujo de información para recuperar una página web pública desde mi computadora portátil fuera de los EE. UU.
Quería una VPN P2P que sea fácil de configurar y requiera una configuración casi nula. Terminé usando tailscale. Los pasos a continuación son en su mayoría genéricos para cualquier VPN, pero puede encontrar esto más adecuado si usa tailscale.
Configuración del cliente vpn en computadoras de escritorio y portátiles :
Descargue e instale el cliente VPN en computadoras de escritorio y portátiles.
Si usa una VPN de configuración cero, registre su cuenta con vpn e inicie sesión en ambas máquinas con la misma cuenta
Configuración de un servidor proxy http de reenvío en el escritorio :
Puede utilizar cualquier servidor proxy de código abierto. Usé https://github.com/abhinavsingh/proxy.py porque era fácil de configurar. Lo ejecuté dentro de un contenedor docker. La imagen de Docker para este proxy está disponible en Docker Hub. Para ejecutarlo dentro de un contenedor acoplable, puede ejecutar este comando
docker run -it -p 8899:8899 --rm abhinavsingh/proxy.py:latest
En el comando anterior, el servidor proxy está escuchando en el puerto 8899. Esto será útil cuando especifiquemos la URL del servidor proxy en las aplicaciones dentro de la computadora portátil.
Identifique la dirección IP del escritorio en la red VPN : después de instalar e iniciar sesión en su cuenta VPN, averigüemos la dirección IP del escritorio que utilizará la computadora portátil para reenviar sus solicitudes http.
Para ello, puede enumerar las direcciones IP de todas las interfaces de red en el escritorio. Luego identifique la dirección IP para una interfaz cuyo nombre comience con el nombre de su cliente VPN, para mi caso, comienza con "tailscale".
Usé el comando ip
en la terminal de mi máquina Linux para identificar la dirección IP
$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever …. 4: tailscale0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 qdisc fq_codel state UNKNOWN group default qlen 500 link/none inet 100.113.xxx.xx/32 scope global tailscale0 valid_lft forever preferred_lft forever …
Aquí pude encontrar la dirección IP del escritorio dentro de mi red tailscale local en la interfaz de red tailscale0
: 100.113.xxx.xx
Usando la dirección del servidor proxy en la computadora portátil para acceder a la web pública:
Ahora que conocemos la dirección IP del escritorio (llamémoslo $ip_desktop
) y el número de puerto para el servidor proxy http en el escritorio (llamémoslo $proxy_port
), podemos reenviar todo el tráfico de red desde la computadora portátil a través de la dirección proxy http://$ip_desktop:$proxy_port
.
Por ejemplo, puede enviar una solicitud de curl a example.com desde una computadora portátil a través de una computadora de escritorio como
curl --proxy "http://$ip_desktop:$proxy_port" "https://example.com"
Las instrucciones anteriores demuestran cómo crear un servidor proxy residencial gratuito mientras viaja usando una computadora de repuesto en casa. Ahora puede usar esta dirección proxy en su computadora portátil personal de cualquiera de las siguientes maneras:
Elegí 2. y reenvié todas las solicitudes http desde mi computadora portátil a la computadora de escritorio. Usé esta configuración durante más de dos meses sin ningún tiempo de inactividad notable.
En este artículo, analizamos cómo configurar un proxy residencial personal usando
Dependiendo de la elección de la VPN, la configuración completa se puede realizar sin ningún costo adicional, suponiendo que ya tenga varias computadoras. Con este proxy residencial, puede acceder a Internet de forma anónima sin restricciones geográficas debido a su ubicación física actual.