Моделюйте керування файлом etc / hosts в Google Chrome


30

Як я можу налаштувати Chrome на посилання на пошукові імена хостів локально, а не зі стандартного файлу etc / hosts?

Під час налагодження веб-сайту іноді корисно налаштувати записи на C: \ Windows \ system32 \ driver \ etc \ hosts, які замінюють певні домени на localhost, що дозволяє мені тестувати версії веб-сайтів чи доменів, які можуть бути на ходу. конфлікт з реальними веб-сайтами, які перебувають у реальному часі.

Чи можна налаштувати Google Chrome таким чином, що імітує та спрощує цей процес?

Я не буду змінювати екземпляр браузера таким чином, щоб він міг змінити etc / hosts, хоча навіть це може бути занадто великим ризиком для безпеки в розширенні.


Позначте цей запит на функцію: bugs.chromium.org/p/chromium/isissue/…
Алі

Відповіді:


13

Щойно я знайшов розширення Chrome Host Switch Plus, яке робить саме це;)


Host Switch Plus не працює для мене та багатьох інших.
zylstra

1
Перемикач хостів Plus робить саме НЕ це. Він змінює проксі. Але мета - змінити IP домену. (Emulate DNS-server)
TEXHIK

Не працює для мене, вибач.
Сержан Ахметов

7

Один із способів досягнення вашої реальної мети - це зовсім не розширення Chrome або навіть Chrome. Таким чином потрібно налаштувати інтелектуальний проксі-сервер HTTP, навести на нього Chrome, а потім додати правила перезапису на проксі-сервер, який переписує URL-адреси під обкладинки.

Є багато людей, які роблять це, з різними проксі-серверами HTTP - занадто багато, щоб детально висвітлити кожного у відповіді. Вони роблять це з метою скасування реклами, веб-помилок тощо, але принцип і механізм ідентичні тому, що ви хочете зробити. Вони хочуть, щоб веб-переглядач WWW отримував певну URL-адресу як звичайну, але фактичний вміст, який він отримує, є таким, як якийсь інший (локальний чи інший) URL. Єдине, що повинен знати браузер WWW, це те, що він спілкується в Інтернеті через проксі-сервер.

Наприклад, дивіться Заппер реклами в SourceForge . Це сценарій Perl, який працює спільно з проксі-сервером Squid-проксі, щоб переписати URL-адреси на ходу на проксі-сервері. Як видно з його бази даних конфігурації, люди застосовують його механізм для широкого спектру цілей, від того, щоб забезпечити, щоб завжди бачили "друковані" форми статей про новинні сервіси, до позбавлення від рандомізованих рекламних перенаправлень на сайтах Інтернет-порнографії.

Зауважте, що це набагато краще, ніж ви робите з hostsфайлом, що є непридатним механізмом маніпулювання службою WWW. hostsзаймається лише іменем → пошукові адреси, вилучає все інше (поза веб-переглядачем WWW), для чого потрібно виконати ім'я → пошукові адреси, і (як ви, напевно, вже знаєте) вимагає, щоб кожне переписане ім’я хоста було додатково налаштовано як віртуальний хост у цільовий контент HTTP-сервера. Переписуючий проксі-сервер HTTP такого типу, на відміну від цього, має справу з URL-адресами і впливає лише на HTTP та веб-переглядачі WWW, налаштовані в першу чергу використовувати його.. Таким чином, він може робити такі речі, як лише переписати URL-адреси JavaScript, а все інше залишити з того самого сайту WWW; переписати ціле завантаження імен хостів на одне; і зробіть (ще далі) відповідність шаблону. (У конфігураційній базі даних Ad Zapper є саме такі речі. Зауважте.) І можна робити такі речі, як один браузер WWW, який переглядає світ через проксі-сервер для перезапису, а інший переглядає його безпосередньо, на одній машині одночасно.


Ще одна додаткова перевага над хромованим розширенням - це працює крос-браузери! Зараз я все ще використовую файл hosts, але я розглядаю можливість переходу на проксі, якщо виникає фактична потреба.
ripper234

4

Я використовував (і досі використовую) HostAdmin релігійно, але потрібно спорожняти кеш або відкривати нове вікно анонімного перегляду кожен раз, коли завжди було клопотом, тому я минулого року розробив розширення для Chrome, щоб допомогти у подібній ситуації, і Нещодавно у веб-магазині Chrome я опублікував дуже грубу версію, яка називається LiveHosts .

Суть у тому, що хоча @JdeBP має рацію, а налаштування проксі - це правильне рішення, це часто не є варіантом. Розширення Chrome не може точно повторити те, що відбувається при зміні файлу хоста, тому те, що зараз робить LiveHosts, це:

  • дозволяє встановлювати кілька записів імені хоста / IP;
  • виявити запити до одного з визначених імен хостів;
  • перенаправити запит на потрібний IP з відповідним заголовком HTTP Host;
  • додайте в URL-адресному рядку візуальну (і негарну, визнаю) посилання, яка буде виглядати приблизно так http://127.0.0.1/www.example.com/whateverelse;
  • дозволяти різні пари хостів / IP на різних вкладках одночасно.

Це не дуже, але це досить добре для стандартного веб-розробника, який намагається швидко перемикатися між середовищами. Звичайно, є кілька застережень:

  • Залежно від сервера, частини веб-сторінки, що посилаються на URL-адресу сайту (наприклад, атрибути href та src), можуть відрізнятися від оригіналу;
  • window.location має інше значення, яке потенційно може скинути фрагменти JavaScript;
  • більшість запитів Cross-Origin не працюватимуть.

0

В Віртуальні хости плагін є єдиним, який має роботу для мене , як я очікував.

Доступ до віртуальних хостів сервера без необхідності перенаправлення хостів або DNS.


2
Для мене, здається, це розширення робить перенаправлення на сторону клієнта на IP-адресу, що зовсім не відповідає модифікації файлів хостів.
Джефф Уорд

-1

Спробуйте розширення 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/


4
Це не робить нічого з роздільною здатністю DNS, він просто змінює URL-адреси на сторінці DOM
Пітер Олсон,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.