Simulieren Sie die Manipulation der etc / hosts-Datei in Google Chrome

Wie kann ich Chrome so einrichten, dass Hostname-Lookups lokal und nicht über den Standard referenziert werden etc/hosts-Datei?

Beim Debuggen einer Website ist es manchmal nützlich, Einträge in einzurichten C:\Windows\system32\drivers\etc\hosts , die bestimmte Domains durch localhost ersetzen und es mir ermöglichen, On-the-fly-Versionen von Websites oder Domains zu testen, die möglicherweise mit den tatsächlichen Websites in Konflikt stehen.

Kann ich Google Chrome so einrichten, dass dies simuliert und vereinfacht wird prozess?

Ich werde die Browserinstanz nicht so ändern, dass sie sich so verhält, als ob etc/hosts geändert wurde, obwohl selbst dies in einer Erweiterung möglicherweise ein zu großes Sicherheitsrisiko darstellt.

Author: random, 2011-10-05

5 answers

Ich habe gerade die Host-Switch Plus Chrome-Erweiterung gefunden, die genau das tut;)

 13
Author: mettjus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-01-07 20:02:58

Ich habe HostAdmin religiös benutzt (und benutze es immer noch), aber es war immer eine lästige Pflicht, den Cache zu leeren oder jedes Mal ein neues Inkognito-Fenster zu öffnen, also habe ich letztes Jahr eine Chrome-Erweiterung für mich selbst entwickelt, um bei einer ähnlichen Situation zu helfen, und ich habe kürzlich eine sehr grobe Version davon im Chrome Web Store veröffentlicht, es heißt LiveHosts.

Der Kern davon ist, dass @JdeBP zwar Recht hat und das Einrichten eines Proxys die richtige Lösung wäre, aber oft nicht Option. Eine Chrome-Erweiterung kann jedoch nicht genau replizieren, was passiert, wenn Sie die Hostdatei ändern, also was LiveHosts gerade tut, ist:

  • können Sie mehrere Hostnamen/IP-Einträge einrichten;
  • Anforderungen an einen der definierten Hostnamen erkennen;
  • Leiten Sie die Anforderung mit dem entsprechenden HTTP-Host-Header auf die gewünschte IP um;
  • fügen Sie eine visuelle (und hässliche, ich gebe zu) Referenz in der Adressleiste URL, die so etwas wie http://127.0.0.1/www.example.com/whateverelse aussehen wird;
  • zulassen verschiedene host - /IP-Paarungen in verschiedenen Registerkarten gleichzeitig.

Es ist nicht hübsch, aber es ist gut genug für den Standard-Webentwickler, der versucht, schnell zwischen Umgebungen zu wechseln. Es gibt natürlich einige Vorbehalte:

  • abhängig vom Server können Teile einer Webseite, die sich auf die Site-URL beziehen (wie href-und src-Attribute), vom Original abweichen;
  • window.location hat einen anderen Wert, der möglicherweise JavaScript auslösen kann schnipsel;
  • Die meisten Cross-Origin-Anfragen funktionieren nicht.
 8
Author: Aioros,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-01-08 19:38:25

Ein Weg, um Ihr eigentliches Ziel zu erreichen beinhaltet keine Chrome-Erweiterungen oder sogar Chrome. Dieser Weg besteht darin, einen intelligenten Proxy-HTTP-Server einzurichten, Chrome darauf zu zeigen und dann dem Proxy-Server Umschreibregeln hinzuzufügen, die URLs unter der Abdeckung umschreiben.

Es gibt viele Leute, die dies tun, mit verschiedenen Proxy - HTTP-Servern-zu viele, um sie in einer Antwort hier ausführlich zu behandeln. Sie tun dies zum Zappen von Werbung, Web-Bugs und dergleichen, aber das Prinzip und der Mechanismus sind identisch mit dem, was Sie tun möchten. Sie möchten, dass der WWW-Browser eine bestimmte URL wie gewohnt abruft, aber der tatsächliche Inhalt, den er empfängt, ist der einer anderen (lokalen oder anderen) URL. Das einzige, was der WWW-Browser wissen muss, ist, dass er über einen Proxyserver mit dem Internet spricht.

Für ein Beispiel, siehe die Ad Zapper bei SourceForge. Das ist ein Perl-Skript, das in Verbindung mit dem Squid Proxy HTTP-Server zum Umschreiben von URLs auf die Fliege in den Proxy-Server. Wie Sie aus der Konfigurationsdatenbank sehen können, haben die Leute ihren Mechanismus für eine Vielzahl von Zwecken eingesetzt, von der Sicherstellung, dass man immer die "druckbaren" Formen von Artikeln über Nachrichtendienste sieht, bis hin zur Beseitigung der randomisierten Werbeumleitungen auf Internetpornografieseiten.

Beachten Sie, dass dies weitaus besser ist als das, was Sie mit der Datei hosts tun, die ein ungeeigneter Mechanismus zum Manipulieren des WWW-Dienstes ist. hosts nur Angebote in name→address lookups, mucks up alles andere (mit dem WWW-Browser), das name→address Lookups ausführen muss, und (wie Sie wahrscheinlich bereits wissen) erfordert, dass jeder neu geschriebene Hostname zusätzlich als virtueller Host auf dem HTTP-Server des Zielinhalts eingerichtet wird. Ein solcher Rewriting-Proxy-HTTP-Server hingegen befasst sich mit URLs und betrifft nur HTTP und die WWW-Browser, die dafür konfiguriert sind, ihn überhaupt zu verwenden. So kann es Dinge tun, wie nur die JavaScript-URLs neu schreiben und lassen Sie alles andere von derselben WWW-Site in Ruhe. schreibe eine ganze Ladung Hostnamen in nur einen um; und mach (noch weiter) Mustervergleich. (Es gibt Instanzen genau dieser Sache in der Konfigurationsdatenbank von Ad Zapper, beachten Sie.) Und man kann Dinge tun, wie einen WWW-browser, die Welt zu sehen, die durch das umschreiben von proxy-und andere anzeigen direkt auf einem einzigen Rechner gleichzeitig.

 7
Author: JdeBP,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-10-06 13:20:37

Das Plugin Virtual Hosts ist das einzige, das wie erwartet für mich funktioniert.

Zugriff auf virtuelle Hosts eines Servers ohne Host-Umleitung oder DNS.

 0
Author: JDL,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-10-21 14:51:26

Versuchen Sie, die Erweiterung DNS-Overrider:

Using DNS Overrider you can replace hostname on the fly without access to 
system settings such as hosts file. DNS Overrider enables you to select what 
rules to apply via the extension settings page.

Https://chrome.google.com/webstore/detail/dns-overrider/acmhaiiijfheggcaanjlgpampclpbnoh/

 -1
Author: RavanH,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-11-28 12:00:42