Os proxies residenciais têm muitos aplicativos úteis, como web scraping, pesquisa online, ignorando restrições geográficas e navegação anônima. Mas eles podem ser caros, com alguns cobrando mais de US$ 100 por mês para acessar mais de 10 GB de dados.
No ano passado, quando viajei para a Índia e outras partes do Sudeste Asiático, queria uma maneira confiável que me permitisse acessar o conteúdo de vários serviços de assinatura, como Netflix e Amazon Prime, sem restrições geográficas. eu queria fazer isso enquanto
Descobri uma solução criando meu próprio proxy residencial em minha área de trabalho doméstica nos EUA.
Ao configurar uma VPN ponto a ponto (P2P) e conectar meu laptop e desktop a ela, consegui rotear o tráfego do meu laptop na Índia para meu desktop nos EUA, que então encaminhou essas solicitações para www/public internet antes de retornar a resposta da minha rede doméstica.
Tudo isso sem ter que passar pelo incômodo de definir a configuração de encaminhamento de conexão no meu roteador doméstico.
Peer-to-peer (P2P) é um modelo de arquitetura para VPNs usado para criar um ambiente compartilhado seguro para os usuários. Uma VPN baseada em P2P difere do modelo hub-and-spoke padrão por não rotear todo o tráfego por meio de um servidor central, evitando o congestionamento. Isso melhora a segurança e permite um dimensionamento mais eficiente adicionando nós sem sobrecarregar a rede. Além disso, as conexões em uma VPN P2P utilizam o caminho mais rápido, reduzindo os atrasos.
Existem várias soluções VPN P2P de código aberto, freemium e pagas disponíveis. Tinc é uma das populares VPN de código aberto.
A pilha de rede consiste nos seguintes componentes:
Área de trabalho em casa (EUA)
Meu laptop (fora dos EUA)
Daemon VPN P2P em execução em ambas as máquinas por meio da mesma conta
Servidor proxy Http em execução na área de trabalho
O diagrama abaixo descreve o fluxo de informações para recuperar uma página da Web pública do meu laptop fora dos EUA.
Eu queria uma VPN P2P que fosse fácil de configurar e requer configuração quase zero. Acabei usando o tailscale. As etapas abaixo são geralmente genéricas para qualquer VPN, mas você pode achar isso mais adequado se estiver usando o tailscale.
Configurando o cliente vpn no desktop e laptop :
Baixe e instale o cliente VPN no desktop e laptop.
Se estiver usando uma VPN de configuração zero, registre sua conta com vpn e faça login em ambas as máquinas com a mesma conta
Configurando um servidor proxy HTTP de encaminhamento na área de trabalho :
Você pode usar qualquer servidor proxy de código aberto. Usei https://github.com/abhinavsingh/proxy.py porque era fácil de configurar. Eu o executei em um contêiner docker. A imagem do docker para este proxy está disponível no docker hub. Para executá-lo em um contêiner docker, você pode executar este comando
docker run -it -p 8899:8899 --rm abhinavsingh/proxy.py:latest
No comando acima, o servidor proxy está escutando na porta 8899. Isso será útil quando especificarmos a url do servidor proxy nos aplicativos dentro do laptop
Identifique o endereço IP do desktop na rede VPN : Depois de instalar e entrar em sua conta VPN, vamos descobrir o endereço IP do desktop que será usado pelo laptop para encaminhar suas solicitações http.
Para isso, você pode listar os endereços IP de todas as interfaces de rede na área de trabalho. Em seguida, identifique o endereço IP de uma interface cujo nome comece com o nome do seu cliente VPN, no meu caso, começa com “tailscale”.
Eu usei o comando ip
no terminal da minha máquina linux para identificar o endereço 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 …
Aqui consegui encontrar o endereço IP da área de trabalho dentro da minha rede tailscale local na interface de rede tailscale0
: 100.113.xxx.xx
Usando o endereço do servidor proxy no laptop para acessar a web pública:
Agora que sabemos o endereço IP do desktop (vamos chamá-lo de $ip_desktop
) e o número da porta do servidor proxy http no desktop (vamos chamá-lo de $proxy_port
), podemos encaminhar todo o tráfego de rede do laptop por meio do endereço proxy http://$ip_desktop:$proxy_port
.
Por exemplo, você pode enviar uma solicitação curl para example.com do laptop via desktop como
curl --proxy "http://$ip_desktop:$proxy_port" "https://example.com"
As instruções acima demonstram como criar um servidor proxy residencial gratuito enquanto viaja usando um computador extra em casa. Agora você pode usar este endereço de proxy em seu laptop pessoal de qualquer uma das seguintes maneiras:
Eu escolhi 2. e encaminhei todas as solicitações http do meu laptop para o desktop. Usei essa configuração por mais de dois meses sem nenhum tempo de inatividade perceptível.
Neste artigo, examinamos como configurar um proxy residencial pessoal usando
Dependendo da escolha da VPN, toda a configuração pode ser feita sem nenhum custo adicional, desde que você já possua vários computadores. Usando este proxy residencial, você pode acessar a Internet anonimamente, sem nenhuma restrição geográfica devido à sua localização física atual.