paint-brush
Comment créer un proxy résidentiel personnel pour contourner les restrictions géographiquespar@abhilashchowdhary
12,955 lectures
12,955 lectures

Comment créer un proxy résidentiel personnel pour contourner les restrictions géographiques

par Abhilash Chowdhary5m2023/01/28
Read on Terminal Reader

Trop long; Pour lire

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. J'ai découvert une solution en créant mon propre proxy résidentiel sur mon ordinateur personnel aux États-Unis à l'aide d'un VPN P2P.
featured image - Comment créer un proxy résidentiel personnel pour contourner les restrictions géographiques
Abhilash Chowdhary HackerNoon profile picture

Problème

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


  1. Ne pas avoir à payer plus de 100 $ par mois pour un service VPN/proxy résidentiel. De plus, Netflix me bloquait parfois lors de l'utilisation du VPN.
  2. Ne pas payer un montant supplémentaire pour une adresse IP statique pour ma connexion Internet à domicile aux États-Unis.

Solution

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.


Qu'est-ce qu'un VPN P2P

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.


À quoi ressemble la configuration du réseau ?

La pile réseau se compose des composants suivants :


  1. Ordinateur de bureau à la maison (États-Unis)

  2. Mon ordinateur portable (en dehors des États-Unis)

  3. Démon vpn P2P exécuté sur les deux machines via le même compte

  4. 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.

Flux d'informations lorsqu'une page Web publique est extraite de l'ordinateur portable en dehors des États-Unis. 1. est la demande initiale et 4. est la réponse finale


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.

Mesures prises pour configurer ce réseau

  1. Paramétrage du client vpn sur desktop et laptop :

    1. Téléchargez et installez le client VPN sur un ordinateur de bureau et un ordinateur portable.

    2. Si vous utilisez un VPN sans configuration, enregistrez votre compte avec vpn et connectez-vous sur les deux machines avec le même compte


  2. 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.


  3. 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


  4. 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"


Utilisation du serveur proxy

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 :


  1. Dans votre code d'application dans les bibliothèques clientes http de votre framework/langage Web (requêtes en python, récupération en javascript, etc.)
  2. Pour toutes les requêtes Web depuis votre ordinateur portable. De cette façon, vous pouvez transférer n'importe quelle requête http via le serveur proxy du bureau. Dans Ubuntu, vous pouvez le faire en suivant ces étapes https://help.ubuntu.com/stable/ubuntu-help/net-proxy.html.en
  3. Juste dans votre navigateur. Bien que Chrome et Firefox ne fournissent pas de moyen natif de configurer des paramètres de proxy http exclusifs pour eux, vous pouvez le faire via des extensions telles que https://github.com/foxyproxy/firefox-extension


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.


Conclusion

Dans cet article, nous avons expliqué comment configurer un proxy résidentiel personnel à l'aide de


  1. VPN P2P
  2. Deux ordinateurs personnels ou plus


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.