Google Chrome'da etc / hosts dosyasının manipülasyonunu simüle edin


30

Chrome'u, standart etc / hosts dosyasında değil, yerel olarak ana bilgisayar adı aramalarına referans verecek şekilde nasıl ayarlayabilirim?

Bir web sitesinde hata ayıklama yaparken, bazı etki alanlarını localhost ile değiştiren C: \ Windows \ system32 \ drivers \ etc \ hosts dizinindeki girişleri ayarlamak yararlı olabilir; canlı gerçek sitelerle çakışma.

Google Chrome'u bu işlemi kolaylaştıracak ve kolaylaştıracak şekilde ayarlayabilir miyim?

Tarayıcı örneğini etc / hosts dosyası değiştirilmiş gibi davranacak şekilde değiştirmeyeceğim, ancak bu bile bir uzantı için çok fazla bir güvenlik riski olabilir.


Lütfen bu özellik isteğini yıldızla işaretleyin: bugs.chromium.org/p/chromium/issues/…
Ali

Yanıtlar:


13

Ben sadece tam olarak bunu yapan Host Switch Plus Chrome Uzantısı buldum ;)


Host Switch Plus benim ve diğerleri için çalışmıyor.
zylstra

1
Host Switch Plus bunu tam olarak yapmaz. Proxy'yi değiştirir. Ancak hedef alan IP'sini değiştirmektir. (DNS sunucusunu
benzetin

İşe yaramıyor, üzgünüm.
Serzhan Akhmetov

7

Gerçek hedefinize ulaşmanın bir yolu , Chrome uzantılarını ve hatta Chrome'u bile içermez. Bu şekilde akıllı bir proxy HTTP sunucusu kurmak, Chrome'un üzerine gelin ve sonra da kapakların altındaki URL'leri yeniden yazan proxy sunucusuna yeniden yazma kuralları ekleyin.

Bunu yapan, birçok farklı proxy HTTP sunucusu olan birçok kişi var - burada her birini ayrıntılı olarak ele almak için çok fazla. Bunu reklamları, web hatalarını ve benzerlerini taramak amacıyla yaparlar, ancak prensip ve mekanizma yapmak istediklerinizle aynıdır. WWW tarayıcısının belirli bir URL'yi normal şekilde almasını ister, ancak aldığı asıl içeriğin başka bir (yerel veya başka türlü) URL’ye ait olmasını ister. WWW tarayıcısının bilmesi gereken tek şey, bir proxy sunucusu üzerinden İnternet ile konuşmasıdır.

Bir örnek için SourceForge'daki Reklam Zapper'a bakın . Bu, proxy sunucusundaki anında URL'leri yeniden yazmak için Squid proxy HTTP sunucusuyla birlikte çalışan bir Perl komut dosyasıdır. Konfigürasyon veritabanından da görebileceğiniz gibi, insanlar mekanizmasını çok çeşitli amaçlar için kullandılar, internet sitelerinde rastgele reklam yönlendirmelerinden kurtulmaya kadar, haber hizmetleri hakkındaki makalelerin "yazdırılabilir" formlarını her zaman görmelerini sağladılar.

Bunun, hostsWWW hizmetini değiştirmek için uygun olmayan bir mekanizma olan dosya ile yaptığınızdan çok daha iyi olduğuna dikkat edin . hostsyalnızca adla ilgilenir → adres aramalarını yapar, ad yapma ihtiyacı olan her şeyi (WWW tarayıcısından) alamaz → adres aramalarını ve (muhtemelen önceden bildiğiniz gibi) yeniden yazılmış her ana bilgisayar adının ek olarak sanal bir ana bilgisayar olarak kurulmasını gerektirir Hedef içerik HTTP sunucusu. Aksine, bu tür bir yeniden yazma proxy HTTP sunucusu URL'lerle ilgilenir ve yalnızca ilk etapta kullanmak üzere yapılandırılmış HTTP ve WWW tarayıcılarını etkiler.. Böylece sadece JavaScript URL'lerini yeniden yazmak ve aynı WWW sitesindeki her şeyi yalnız bırakmak gibi şeyler yapabilir; tüm ana bilgisayar adları yükünü bir taneye yeniden yazın; ve (daha da ileri) desen eşleştirmesini yapın. (Ad Zapper'ın konfigürasyon veritabanında bu olayın örnekleri var, dikkat edin.) Ve biri, bir WWW tarayıcısının yeniden yazma proxy'si aracılığıyla dünyayı görüntülemesi ve bir diğerinin de aynı anda tek bir makinede doğrudan görüntülenmesi gibi şeyler yapabilir.


Bir krom uzantısına göre bir ek avantaj - bu tarayıcılar çapraz çalışır! Şu anda hala hosts dosyasını kullanıyorum, ancak gerçek ihtiyaç ortaya çıkarsa bir proxy'ye geçmeyi düşüneceğim.
ripper234

4

HostAdmin'i dini olarak kullandım (ve hala kullanıyordum) , ancak önbelleği boşaltmak veya her zaman yeni bir gizli pencere açmak zorunda kalmak her zaman bir angarya oldu, bu yüzden benzer bir duruma yardımcı olmak için geçen yıl kendime ait bir Chrome uzantısı geliştirmeye başladım ve Geçenlerde Chrome Web Mağazası'nda çok kaba bir versiyonunu yayınladım, buna LiveHosts deniyor .

Asıl amacı, @JdeBP'nin doğru olduğu ve bir proxy kurmanın doğru çözüm olacağı, bunun genellikle bir seçenek olmadığıdır. Bir Chrome uzantısı, ana dosyayı değiştirdiğinizde gerçekleşenleri tam olarak çoğaltamaz, bu nedenle şu anda LiveHosts'un yaptığı şey:

  • çoklu ana bilgisayar adı / IP girişleri ayarlamanıza olanak sağlar;
  • tanımlanmış ana bilgisayar adlarından birine yapılan istekleri saptamak;
  • isteği, uygun HTTP Host başlığı ile istenen IP'ye yönlendirin;
  • adres çubuğunun URL'sine görsel bir (ve çirkin, itiraf edeceğim) bir referans ekleyin http://127.0.0.1/www.example.com/whateverelse;
  • aynı anda farklı sekmelerdeki farklı ana bilgisayar / IP eşleşmelerine izin ver.

Güzel değil, ancak ortamlar arasında hızlı geçiş yapmaya çalışan standart web geliştiricisi için yeterince iyi. Elbette birkaç uyarı var:

  • sunucuya bağlı olarak, bir web sayfasının site URL’sine atıfta bulunan bölümleri (href ve src özellikleri gibi) orijinalden farklı olabilir;
  • window.location JavaScript snippet'lerini atma potansiyeli olan farklı bir değere sahiptir;
  • Kökeni Kaynaklı istek çoğu çalışmıyor.

0

Sanal Konaklar beklediğim gibi benim için iş var tek eklentisi.

Bir sunucunun sanal ana bilgisayarlarına ana bilgisayar yeniden yönlendirmesi veya DNS gerektirmeden erişin.


2
Benim için bu uzantı, bir ana bilgisayar dosya modifikasyonu ile aynı olmayan IP adresine bir istemci tarafı yönlendirme yapıyor gibi görünüyor.
Jeff Ward,

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.