Les proxys résidentiels ont de nombreuses applications utiles, telles que le grattage Web, la recherche en ligne, le contournement des restrictions géographiques et la navigation anonyme. Mais, ils peuvent être coûteux, certains facturant plus de 100 $ par mois pour accéder à plus de 10 Go de données.
L'année dernière, lorsque je voyageais en Inde et dans d'autres parties de l'Asie du Sud-Est, je voulais un moyen fiable qui me permettrait d'accéder au contenu de divers services d'abonnement comme Netflix et Amazon Prime sans géo-restrictions. Je voulais faire ça pendant
J'ai découvert une solution en créant mon propre proxy résidentiel sur mon ordinateur personnel aux États-Unis.
En configurant un VPN peer-to-peer (P2P) et en y connectant mon ordinateur portable et mon ordinateur de bureau, j'ai pu acheminer le trafic de mon ordinateur portable en Inde vers mon ordinateur de bureau aux États-Unis, qui a ensuite transmis ces demandes à www/public Internet avant de renvoyer la réponse de mon réseau domestique.
Tout cela sans avoir à passer par les tracas de la configuration de la redirection de connexion dans mon routeur domestique.
Peer-to-peer (P2P) est un modèle d'architecture pour les VPN utilisé pour créer un environnement partagé sécurisé pour les utilisateurs. Un VPN basé sur le P2P diffère du modèle standard hub-and-spoke en n'acheminant pas tout le trafic via un serveur central, évitant ainsi la congestion. Cela améliore la sécurité et permet une mise à l'échelle plus efficace en ajoutant des nœuds sans surcharger le réseau. De plus, les connexions dans un VPN P2P utilisent le chemin le plus rapide, ce qui réduit les retards.
Il existe plusieurs solutions VPN P2P open-source, freemium et payantes disponibles. Tinc est l'un des VPN open source populaires.
La pile réseau se compose des composants suivants :
Ordinateur de bureau à la maison (États-Unis)
Mon ordinateur portable (en dehors des États-Unis)
Démon vpn P2P exécuté sur les deux machines via le même compte
Serveur proxy HTTP exécuté sur le bureau
Le diagramme ci-dessous illustre le flux d'informations pour récupérer une page Web publique à partir de mon ordinateur portable en dehors des États-Unis.
Je voulais un VPN P2P facile à configurer et nécessitant une configuration quasi nulle. J'ai fini par utiliser tailscale. Les étapes ci-dessous sont généralement génériques pour n'importe quel VPN, mais vous pouvez trouver cela plus approprié si vous utilisez une échelle de mesure.
Paramétrage du client vpn sur desktop et laptop :
Téléchargez et installez le client VPN sur un ordinateur de bureau et un ordinateur portable.
Si vous utilisez un VPN sans configuration, enregistrez votre compte avec vpn et connectez-vous sur les deux machines avec le même compte
Configuration d'un serveur proxy HTTP de transfert sur le bureau :
Vous pouvez utiliser n'importe quel serveur proxy open source. J'ai utilisé https://github.com/abhinavsingh/proxy.py car il était facile à configurer. Je l'ai exécuté dans un conteneur Docker. L'image Docker de ce proxy est disponible sur Docker Hub. Pour l'exécuter dans un conteneur docker, vous pouvez exécuter cette commande
docker run -it -p 8899:8899 --rm abhinavsingh/proxy.py:latest
Dans la commande ci-dessus, le serveur proxy écoute sur le port 8899. Cela sera utile lorsque nous spécifierons l'url du serveur proxy dans les applications de l'ordinateur portable.
Identifiez l'adresse IP du bureau dans le réseau VPN : Après l'installation et la connexion à votre compte VPN, découvrons l'adresse IP du bureau qui sera utilisée par l'ordinateur portable pour transmettre ses requêtes http.
Pour cela, vous pouvez répertorier les adresses IP de toutes les interfaces réseau sur le bureau. Identifiez ensuite l'adresse IP d'une interface dont le nom commence par le nom de votre client VPN, pour mon cas, il commence par "tailscale".
J'ai utilisé la commande ip
sur le terminal de ma machine Linux pour identifier l'adresse 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 …
Ici, j'ai pu trouver l'adresse IP du bureau au sein de mon réseau local tailscale dans l'interface réseau tailscale0
: 100.113.xxx.xx
Utilisation de l'adresse du serveur proxy sur un ordinateur portable pour accéder au Web public :
Maintenant que nous connaissons l'adresse IP du bureau (appelons-le $ip_desktop
) et le numéro de port du serveur proxy http sur le bureau (appelons-le $proxy_port
), nous pouvons transférer tout le trafic réseau depuis l'ordinateur portable via l'adresse proxy http://$ip_desktop:$proxy_port
.
Par exemple, vous pouvez envoyer une requête curl à example.com depuis un ordinateur portable via un ordinateur de bureau comme
curl --proxy "http://$ip_desktop:$proxy_port" "https://example.com"
Les instructions ci-dessus montrent comment créer un serveur proxy résidentiel gratuit tout en voyageant à l'aide d'un ordinateur de rechange à la maison. Vous pouvez désormais utiliser cette adresse proxy sur votre ordinateur portable personnel de l'une des manières suivantes :
J'ai choisi 2. et j'ai transféré toutes les requêtes http de mon ordinateur portable vers mon ordinateur de bureau. J'ai utilisé cette configuration pendant plus de deux mois sans aucun temps d'arrêt notable.
Dans cet article, nous avons expliqué comment configurer un proxy résidentiel personnel à l'aide de
Selon le choix du VPN, toute la configuration peut être effectuée sans aucun coût supplémentaire, en supposant que vous possédez déjà plusieurs ordinateurs. En utilisant ce proxy résidentiel, vous pouvez ensuite accéder à Internet de manière anonyme sans aucune restriction géographique en raison de votre emplacement physique actuel.