Kann ich einen Browser innerhalb einer Website erstellen?

471
Tomy-rex

Ich besitze einige Websites und arbeite an Webentwicklung. Ich versuche jedoch, eine Methode zu erstellen, mit der ich auf meinem Server eine Webseite erstellen kann, mit der ich andere Websites durchsuchen kann. Dafür gibt es mehrere Gründe - das Verbergen meiner IP-Adresse, die Sicherheit, das Umgehen von Firewalls usw.

Ich kann iFrame nicht verwenden, da der Inhalt immer noch auf das lokale Gerät heruntergeladen wird. Was ich möchte, ist eine Lösung, die die Website auf den Server herunterlädt, sie rendert und auf meiner Webseite anzeigt, sodass der gesamte Inhalt direkt von meinem Server eingespeist wird. Es wäre wie ein Browser in einer Webseite.

Kann mir jemand helfen, wie das geht? Ich kann einige grundlegende Web-Codierungen machen, die helfen können. Ich brauche es nicht, um etwas Besonderes zu sein, sondern nur etwas einfaches und grundlegendes.

0
Es ist möglich, das zu tun, was Sie verlangen, aber es erfordert mehr als nur grundlegende Webcodierung. Sie sollten auch andere Optionen in Betracht ziehen, da dies wahrscheinlich nicht der beste Weg ist, um das zu erreichen, was Sie benötigen. Wie wäre es mit einem Proxy oder VPN? Aulis Ronkainen vor 6 Jahren 0
Hallo @AulisRonkainen - Ich möchte diese Methode ausprobieren, da sie kostenlos ist (ich weiß, dass Sie kostenlose Proxies erhalten können, aber sie sind oft nicht großartig). Es bedeutet auch, dass ich von jedem Gerät und überall auf diese Webseite zugreifen kann. Gibt es eine Vorlagencodierung, die ich kopieren kann, oder könnten Sie mir zumindest eine Vorstellung davon geben, wohin Sie mit "Es ist möglich, was Sie fragen?" Tomy-rex vor 6 Jahren 0
Bestimmt. Ich verstehe was du willst. Wenn Sie zum Beispiel PHP installiert haben, können Sie die gewünschte Website curl () und eine Datei auf Ihrem Server erstellen. Dann sollten Sie die Seite über den Webserver anzeigen können. IFrame ist der einfachste Weg, dies zu implementieren, aber Sie haben ausdrücklich gesagt, dass dies keine Option ist. Leider habe ich keine andere Empfehlung, als eine einfachere Lösung zu finden. Es ist jedoch technisch möglich, dies auf diese Weise zu tun, obwohl ich es nicht empfehlen kann. Aulis Ronkainen vor 6 Jahren 0
Sie müssen wissen, dass ein Server, den Sie mieten, tatsächlich * viel weniger anonym ist als Ihre Internetverbindung. Früher habe ich bei der Softwareentwicklung einen Fehler gemacht, als ich mit meinem VPN-Server verbunden war. Innerhalb von Minuten erhielt ich einen Missbrauchsbericht von der Firma, die ich versehentlich "gescannt" habe. Daniel B vor 6 Jahren 0
Wie wäre es mit einem selbst gehosteten Web-Proxy wie [PHP-Proxy] (https://www.php-proxy.com/)? piko vor 6 Jahren 0

2 Antworten auf die Frage

0
RedGrittyBrick

Wenn Sie Administratorzugriff auf den Server haben, erledigt ein HTTP-Relay, was Sie möchten.

Sie können Socat verwenden

SoS TCP4-LISTEN: www TCP4: www.domain.org: www

Installiert eine einfache TCP-Portweiterleitung. Mit TCP4-LISTEN überwacht er den lokalen Port "www", bis eine Verbindung eingeht, akzeptiert, dann eine Verbindung zum Remote-Host (TCP4) und die Datenübertragung beginnt. Es wird keine zweite Verbindung akzeptiert.

socat -d -d -lmlocal2 \ TCP4-LISTEN: 80, bind = myaddr1, su = niemand, Gabel, Bereich = 10.0.0.0 / 8, reuseaddr \ TCP4: www.domain.org: 80, bind = myaddr2

TCP-Portweiterleitung, wobei jede Seite an eine andere lokale IP-Adresse gebunden ist (bind). In diesem Beispiel werden fast beliebig viele parallele oder aufeinanderfolgende Verbindungen verarbeitet, indem nach jedem accept () ein neuer Prozess ausgeführt wird. Es bietet ein wenig Sicherheit, indem es den Benutzern nach dem Gabelungieren niemandem bietet; es erlaubt nur Verbindungen vom privaten 10 Netzwerk (Bereich); Aufgrund des reuseaddr ermöglicht es den sofortigen Neustart nach Beendigung des Masterprozesses, auch wenn einige untergeordnete Sockets nicht vollständig heruntergefahren sind. Mit -lmlocal2 meldet sich socat bei stderr, bis es die akzept-Schleife erfolgreich erreicht hat. Die weitere Protokollierung erfolgt an syslog mit der Funktion local2.

Siehe auch

https://stackoverflow.com/questions/34791674/socat-port-forwarding-for-https

0
Tomy-rex

Ich habe es geschafft, das zu sortieren ... ish. Es ist grob, aber es funktioniert, obwohl die Seite manchmal in Klartext geliefert wird. Für meine Zwecke ist das jedoch kein Problem.

Hier ist meine Lösung mit der PHP-Funktion file_get_contents ein zweiseitiger Prozess.

Inhalt von index.php:

<body>  <h1>browser</h1> /* gets the data from a URL */  ?>   <form action="/webb/browse.php" method="post"> url: <input type="text" name="url"><br> <input type="submit"> </form>  Welcome <?php echo $_POST["url"]; ?><br>  </body> 

Inhalte von browse.php

<body>  <h1>browser</h1> /* gets the data from a URL */  ?>  <form action="/webb/browse.php" method="post"> url: <input type="text" name="url"><br> <input type="submit"> </form>  url - https://<?php echo $_POST["url"]; ?><br>  <?php  $url = $_POST["url"]; $homepage = file_get_contents('h'.$url); echo $homepage;  ?>  </body> 

Wenn jemand daran interessiert ist, es zu verfeinern, sind sie willkommen, aber das funktioniert für mich!