Google Chromeでetc / hostsファイルの操作をシミュレートする


30

標準のetc / hostsファイルからではなく、ローカルでホスト名検索を参照するようにChromeを設定するにはどうすればよいですか?

Webサイトをデバッグするとき、特定のドメインをlocalhostに置き換えるエントリをC:\ Windows \ system32 \ drivers \ etc \ hostsに設定すると便利な場合があります。そのため、Webサイトまたはドメインのオンザフライバージョンをテストできます。ライブの実際のサイトと競合します。

このプロセスをシミュレートおよび簡素化する方法でGoogle Chromeをセットアップできますか?

etc / hostsが変更されたかのように動作するようにブラウザインスタンスを変更することはしませんが、それでも拡張機能ではセキュリティリスクが大きすぎる可能性があります。


この機能リクエストに星印を付けて
アリ

回答:


13

ホストスイッチプラス Chrome拡張機能を見つけました。


Host Switch Plusは、私や他の多くの人にとっては機能しません。
-zylstra

1
Host Switch Plusはまったくそうではありません。プロキシを変更します。しかし、目標はドメインIPを変更することです。(DNSサーバーをエミュレート)
TEXHIK

役に立たない、ごめんなさい。
セルジャンアフメトフ18

7

実際の目標を達成する1つの方法は、Chrome拡張機能、またはChromeをまったく使用しません。その方法は、インテリジェントプロキシHTTPサーバーをセットアップし、Chromeをポイントして、プロキシサーバーに書き換えルールを追加して、URLを書き換えます。

さまざまなプロキシHTTPサーバーを使用してこれを行う多くの人々がいます。ここでの回答でそれぞれを詳しく説明するには多すぎます。広告やWebバグなどをザッピングする目的でそうしますが、原理とメカニズムはあなたがやりたいことと同じです。彼らは、WWWブラウザが特定のURLを通常どおりに取得することを望んでいますが、実際に受信するコンテンツは、他の(ローカルまたはその他の)URLのものである必要があります。WWWブラウザが知る必要があるのは、プロキシサーバー経由でインターネットと通信することだけです。

一例として、SourceForgeAd Zapperを参照してください。これは、SquidプロキシHTTPサーバーと連携して動作し、プロキシサーバーでURLをその場で書き換えるPerlスクリプトです。構成データベースからわかるように、人々は、ニュースサービスに関する記事の「印刷可能な」形式を常に見ることを保証することから、インターネットポルノサイトでのランダム化された広告リダイレクトを取り除くことまで、幅広い目的でそのメカニズムを採用しています。

hostsこれは、WWWサービスを操作するための不適切なメカニズムであるファイルで実行しているものよりもはるかに優れていることに注意してください。 hosts名前→アドレスルックアップのみを扱い、名前→アドレスルックアップを行う必要のある他のすべて(WWWブラウザー以外)をマックし、(おそらくご存知のように)書き換えられたすべてのホスト名を仮想ホストとして追加設定する必要がありますターゲットコンテンツHTTPサーバー。対照的に、この種の書き換えプロキシHTTPサーバーはURLを処理し、最初にそれを使用するように構成されたHTTPおよびWWWブラウザーにのみ影響します。。そのため、JavaScript URLを書き換えるだけで、他のすべてを同じWWWサイトから残すなどのことができます。ホスト名の負荷全体を1つに書き換えます。(さらに)パターンマッチングを行います。(Ad Zapperの設定データベースには、まさにこれのインスタンスがあります。注意してください。)1つのWWWブラウザーが書き換えプロキシを介して世界を表示し、別のWWWブラウザーが単一のマシンで同時にそれを直接表示するなどのことができます。


クロム拡張機能よりも1つの追加の利点-クロスブラウザーで動作します!今はまだhostsファイルを使用していますが、実際の必要が生じた場合はプロキシに切り替えることを検討します。
ripper234

4

私はHostAdminを宗教的に使用しています(そして今でも使用しています)が、キャッシュを空にするか、毎回新しいシークレットウィンドウを開く必要があるのは常に面倒作業でした。最近、ChromeウェブストアでLiveHostsという非常に大まかなバージョンを公開しました。

その要点は、@ JdeBPが適切であり、プロキシを設定することが正しい解決策である一方で、多くの場合オプションではないということです。ただし、Chrome拡張機能は、ホストファイルを変更したときに何が起こるかを正確に複製することはできません。そのため、LiveHostsが現在行うことは次のとおりです。

  • 複数のホスト名/ IPエントリを設定できます。
  • 定義されたホスト名のいずれかに対する要求を検出します。
  • 適切なHTTPホストヘッダーを使用して、要求を目的のIPにリダイレクトします。
  • アドレスバーのURLに視覚的な(そして見苦しい、認める)参照を追加しますhttp://127.0.0.1/www.example.com/whateverelse
  • 異なるタブで異なるホスト/ IPの組み合わせを同時に許可します。

きれいではありませんが、環境をすばやく切り替えようとしている標準的なWeb開発者には十分です。もちろん、いくつかの注意事項があります。

  • サーバーによっては、サイトURLを参照するWebページの一部(href属性やsrc属性など)が元のものと異なる場合があります。
  • window.location JavaScriptスニペットを放ってしまう可能性のある別の値があります。
  • ほとんどのクロスオリジンリクエストは機能しません。

0

仮想ホストプラグインは、私が予想通り私のために仕事を持っている唯一のものです。

ホストのリダイレクトやDNSを必要とせずにサーバーの仮想ホストにアクセスします。


2
私にとって、この拡張機能は、クライアント側のIPアドレスへのリダイレクトを行うようです。これは、ホストファイルの変更とはまったく異なります。
ジェフウォード

-1

拡張機能のDNSオーバーライドを試してください。

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/


4
これは、DNS解決を何もしない、それだけで、ページのDOM内のURLを変更する
ピーター・オルソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.