paint-brush
So erstellen Sie einen persönlichen Wohn-Proxy, um geografische Beschränkungen zu umgehenvon@abhilashchowdhary
12,971 Lesungen
12,971 Lesungen

So erstellen Sie einen persönlichen Wohn-Proxy, um geografische Beschränkungen zu umgehen

von Abhilash Chowdhary5m2023/01/28
Read on Terminal Reader
Read this story w/o Javascript

Zu lang; Lesen

Privat-Proxys verfügen über viele nützliche Anwendungen, wie z. B. Web-Scraping, Online-Recherche, Umgehung von geografischen Beschränkungen und anonymes Surfen. Sie können jedoch teuer sein, da einige mehr als 100 US-Dollar pro Monat für den Zugriff auf über 10 GB Daten verlangen. Ich habe eine Lösung gefunden, indem ich mithilfe von P2P-VPN meinen eigenen Privat-Proxy auf meinem Heim-Desktop in den USA erstellt habe.
featured image - So erstellen Sie einen persönlichen Wohn-Proxy, um geografische Beschränkungen zu umgehen
Abhilash Chowdhary HackerNoon profile picture

Problem

Privat-Proxys verfügen über viele nützliche Anwendungen, wie z. B. Web Scraping, Online-Recherche, Umgehung von geografischen Beschränkungen und anonymes Surfen. Sie können jedoch teuer sein, da einige mehr als 100 US-Dollar pro Monat für den Zugriff auf über 10 GB Daten verlangen.


Als ich letztes Jahr nach Indien und in andere Teile Südostasiens reiste, suchte ich nach einer zuverlässigen Möglichkeit, mit der ich ohne geografische Einschränkungen auf Inhalte verschiedener Abonnementdienste wie Netflix und Amazon Prime zugreifen konnte. Ich wollte das eine Weile machen


  1. Sie müssen nicht mehr als 100 US-Dollar pro Monat für den VPN-/Residential-Proxy-Dienst bezahlen. Außerdem blockierte mich Netflix gelegentlich bei der Verwendung von VPN.
  2. Ich bezahle keinen zusätzlichen Betrag für eine statische IP-Adresse für meine Heim-Internetverbindung in den USA.

Lösung

Ich habe eine Lösung gefunden, indem ich meinen eigenen Wohn-Proxy auf meinem Heim-Desktop in den USA erstellt habe.


Durch die Einrichtung eines Peer-to-Peer-VPN (P2P) und die Verbindung meines Laptops und Desktops damit konnte ich den Datenverkehr meines Laptops in Indien an meinen Desktop in den USA weiterleiten, der diese Anfragen dann an www/public weiterleitete Internet, bevor ich die Antwort von meinem Heimnetzwerk zurücksende.


Und das alles, ohne dass ich mir die Mühe machen muss, die Verbindungsweiterleitung in meinem Heimrouter einzurichten.


Was ist ein P2P-VPN?

Peer-to-Peer (P2P) ist ein Architekturmodell für VPNs, mit dem eine sichere gemeinsame Umgebung für Benutzer erstellt wird. Ein P2P-basiertes VPN unterscheidet sich vom Standard-Hub-and-Spoke-Modell dadurch, dass nicht der gesamte Datenverkehr über einen zentralen Server geleitet wird, wodurch eine Überlastung vermieden wird. Dies verbessert die Sicherheit und ermöglicht eine effizientere Skalierung durch das Hinzufügen von Knoten, ohne das Netzwerk zu überlasten. Darüber hinaus nutzen Verbindungen in einem P2P-VPN den schnellsten Pfad, wodurch Verzögerungen reduziert werden.


Es stehen mehrere Open-Source-, Freemium- und kostenpflichtige P2P-VPN-Lösungen zur Verfügung. Tinc ist eines der beliebtesten Open-Source-VPNs.


Wie sieht die Netzwerkeinrichtung aus?

Der Netzwerkstack besteht aus folgenden Komponenten:


  1. Desktop zu Hause (USA)

  2. Mein Laptop (außerhalb der USA)

  3. P2P-VPN-Daemon läuft auf beiden Rechnern über dasselbe Konto

  4. HTTP-Proxyserver, der auf dem Desktop ausgeführt wird


Das Diagramm unten zeigt den Informationsfluss beim Abrufen einer öffentlichen Webseite von meinem Laptop außerhalb der USA.

Informationsfluss, wenn eine öffentliche Webseite vom Laptop außerhalb der USA abgerufen wird. 1. ist die erste Anfrage und 4. ist die endgültige Antwort


Ich wollte ein P2P-VPN, das einfach einzurichten ist und nahezu keine Konfiguration erfordert. Am Ende habe ich Tailscale verwendet. Die folgenden Schritte gelten größtenteils für jedes VPN, Sie finden sie jedoch möglicherweise am besten geeignet, wenn Sie Tailscale verwenden.

Schritte zum Einrichten dieses Netzwerks

  1. Einrichten des VPN-Clients auf Desktop und Laptop :

    1. Laden Sie den VPN-Client herunter und installieren Sie ihn auf Desktop und Laptop.

    2. Wenn Sie ein VPN ohne Konfiguration verwenden, registrieren Sie Ihr Konto bei VPN und melden Sie sich auf beiden Computern mit demselben Konto an


  2. Einrichten eines Forward-HTTP-Proxyservers auf dem Desktop :

    Sie können jeden Open-Source-Proxyserver verwenden. Ich habe https://github.com/abhinavsingh/proxy.py verwendet, da die Einrichtung einfach war. Ich habe es in einem Docker-Container ausgeführt. Das Docker-Image für diesen Proxy ist auf Docker Hub verfügbar. Um es in einem Docker-Container auszuführen, können Sie diesen Befehl ausführen

     docker run -it -p 8899:8899 --rm abhinavsingh/proxy.py:latest


    Im obigen Befehl überwacht der Proxyserver Port 8899. Dies ist nützlich, wenn wir die URL des Proxyservers in den Anwendungen auf dem Laptop angeben


  3. Identifizieren Sie die IP-Adresse des Desktops im VPN-Netzwerk : Nach der Installation und Anmeldung bei Ihrem VPN-Konto können Sie die IP-Adresse des Desktops ermitteln, die vom Laptop zum Weiterleiten seiner HTTP-Anfragen verwendet wird.


    Dazu können Sie die IP-Adressen aller Netzwerkschnittstellen auf dem Desktop auflisten. Identifizieren Sie dann die IP-Adresse für eine Schnittstelle, deren Name mit dem Namen Ihres VPN-Clients beginnt, in meinem Fall mit „tailscale“.


    Ich habe den Befehl ip auf dem Terminal meines Linux-Computers verwendet, um die IP-Adresse zu ermitteln

     $ 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 …

    Hier konnte ich die IP-Adresse des Desktops in meinem lokalen Tailscale-Netzwerk in der Netzwerkschnittstelle tailscale0 finden: 100.113.xxx.xx


  4. Verwenden der Adresse des Proxyservers auf dem Laptop, um auf das öffentliche Web zuzugreifen:

    Nachdem wir nun die IP-Adresse des Desktops (nennen wir sie $ip_desktop ) und die Portnummer für den HTTP-Proxyserver auf dem Desktop (nennen wir sie $proxy_port ) kennen, können wir den gesamten Netzwerkverkehr vom Laptop über die Proxy-Adresse http://$ip_desktop:$proxy_port weiterleiten. http://$ip_desktop:$proxy_port .


    Sie können beispielsweise vom Laptop über den Desktop eine Curl-Anfrage an example.com senden

     curl --proxy "http://$ip_desktop:$proxy_port" "https://example.com"


Verwendung des Proxyservers

Die obigen Anweisungen zeigen, wie Sie auf Reisen mit einem Ersatzcomputer zu Hause einen kostenlosen Proxyserver für Privathaushalte erstellen. Jetzt können Sie diese Proxy-Adresse auf Ihrem persönlichen Laptop auf eine der folgenden Arten verwenden:


  1. Innerhalb Ihres Anwendungscodes in den http-Client-Bibliotheken Ihres Web-Frameworks/Ihrer Sprache (Anfragen in Python, Abruf in Javascript usw.)
  2. Für alle Webanfragen von Ihrem Laptop. Auf diese Weise können Sie jede Art von HTTP-Anfrage über den Proxyserver des Desktops weiterleiten. In Ubuntu können Sie dies tun, indem Sie die folgenden Schritte ausführen https://help.ubuntu.com/stable/ubuntu-help/net-proxy.html.en
  3. Einfach in Ihrem Browser. Obwohl Chrome und Firefox keine native Möglichkeit bieten, exklusive HTTP-Proxy-Einstellungen für sie einzurichten, können Sie dies über Erweiterungen wie tun https://github.com/foxyproxy/firefox-extension


Ich habe 2. gewählt und alle http-Anfragen von meinem Laptop an den Desktop weitergeleitet. Ich habe dieses Setup mehr als zwei Monate lang ohne nennenswerte Ausfallzeiten verwendet.


Abschluss

In diesem Artikel haben wir erläutert, wie Sie einen persönlichen Wohn-Proxy einrichten


  1. P2P-VPN
  2. Zwei oder mehr Personalcomputer


Abhängig von der Wahl des VPN kann die gesamte Einrichtung ohne zusätzliche Kosten durchgeführt werden, sofern Sie bereits mehrere Computer besitzen. Mit diesem Wohn-Proxy können Sie dann anonym und ohne geografische Einschränkungen aufgrund Ihres aktuellen physischen Standorts auf das Internet zugreifen.