Jak skonfigurować Chrome tak, aby odwoływał się do wyszukiwania nazw hostów lokalnie, a nie ze standardowego pliku etc / hosts?
Podczas debugowania strony internetowej czasami przydatne jest skonfigurowanie wpisów w C: \ Windows \ system32 \ drivers \ etc \ hosts, które zastępują niektóre domeny localhostem, co pozwala mi testować w locie wersje stron internetowych lub domen, które mogą konflikt z rzeczywistymi witrynami na żywo.
Czy mogę skonfigurować Google Chrome w sposób symulujący i upraszczający ten proces?
Nie będę modyfikować instancji przeglądarki, aby działała tak, jakby etc / hosts został zmodyfikowany, chociaż nawet to może stanowić zbyt duże zagrożenie bezpieczeństwa dla rozszerzenia.
Odpowiedzi:
Właśnie znalazłem rozszerzenie Host Switch Plus Chrome, które właśnie to robi;)
źródło
Jednym ze sposobów osiągnięcia rzeczywistego celu nie są rozszerzenia Chrome, a nawet Chrome. W ten sposób można skonfigurować inteligentny serwer proxy HTTP, skierować na niego Chrome, a następnie dodać reguły przepisywania do serwera proxy, który przepisuje adresy URL pod przykryciem.
Jest wielu ludzi, którzy to robią, z różnymi serwerami proxy HTTP - zbyt wielu, aby szczegółowo opisać każdy z nich w odpowiedzi tutaj. Robią to w celu zamykania reklam, błędów sieciowych i tym podobnych, ale zasada i mechanizm są identyczne z tym, co chcesz zrobić. Chcą, aby przeglądarka WWW pobierała określony adres URL w normalny sposób, ale faktyczna treść, którą otrzymuje, jest taka sama jak innego (lokalnego lub innego) adresu URL. Przeglądarka WWW musi jedynie wiedzieć, że komunikuje się z Internetem za pośrednictwem serwera proxy.
Na przykład zobacz Ad Zapper na SourceForge . Jest to skrypt Perla, który działa w połączeniu z serwerem proxy proxy Squid w celu przepisywania adresów URL w locie na serwerze proxy. Jak widać z bazy danych konfiguracji, ludzie zastosowali jego mechanizm do szerokiego zakresu celów, od zapewnienia, że zawsze można zobaczyć „artykuły do wydrukowania” w serwisach informacyjnych, po pozbycie się losowych przekierowań reklamowych na internetowych stronach pornografii.
Zauważ, że jest to o wiele lepsze niż to, co robisz z
hosts
plikiem, który jest nieodpowiednim mechanizmem do manipulowania usługą WWW.hosts
zajmuje się tylko nazwami → wyszukiwaniem adresów, przechowuje wszystko inne (poza przeglądarką WWW), które musi wykonać wyszukiwanie → wyszukiwania adresów i (jak zapewne już wiesz) wymaga, aby każda przepisana nazwa hosta była dodatkowo skonfigurowana jako host wirtualny na docelowy serwer HTTP treści. Natomiast serwer proxy przepisującego tego typu HTTP zajmuje się adresami URL i wpływa tylko na HTTP i przeglądarki WWW skonfigurowane do korzystania z niego w pierwszej kolejności. Może więc wykonywać takie czynności, jak przepisywanie adresów URL JavaScript i pozostawianie wszystkiego innego z tej samej strony WWW w spokoju; przepisz cały ładunek nazw hostów do jednego; i wykonaj (jeszcze bardziej) dopasowywanie wzorców. (Zauważ, że takie przypadki występują w bazie danych konfiguracji Ad Zapper.) I można zrobić takie rzeczy, jak jedna przeglądarka WWW przeglądająca świat za pośrednictwem serwera proxy przepisującego, a inna przeglądająca go bezpośrednio, na jednym komputerze jednocześnie.źródło
Używałem (i nadal używam) HostAdmin religijnie, ale konieczność opróżniania pamięci podręcznej lub otwierania nowego okna incognito za każdym razem zawsze była uciążliwa, więc w zeszłym roku opracowałem dla siebie rozszerzenie do Chrome, aby pomóc w podobnej sytuacji, i Niedawno opublikowałem bardzo zgrubną wersję w Chrome Web Store, która nazywa się LiveHosts .
Istotą tego jest to, że chociaż @JdeBP ma rację, a skonfigurowanie serwera proxy byłoby właściwym rozwiązaniem, często nie jest to możliwe. Rozszerzenie Chrome nie może jednak dokładnie powielić tego, co dzieje się po zmianie pliku hosta, więc w tej chwili LiveHosts robi:
http://127.0.0.1/www.example.com/whateverelse
;To nie jest ładne, ale wystarcza dla standardowego programisty WWW, który próbuje szybko przełączać się między środowiskami. Istnieje oczywiście kilka zastrzeżeń:
window.location
ma inną wartość, która może potencjalnie zrzucić fragmenty kodu JavaScript;źródło
W hostów wirtualnych Plugin jest jedynym, który ma pracę dla mnie, jak się spodziewałem.
źródło
Wypróbuj rozszerzenie DNS Overrider:
https://chrome.google.com/webstore/detail/dns-overrider/acmhaiiijfheggcaanjlgpampclpbnoh/
źródło