Mô phỏng thao tác của tập tin etc / hosts trong Google Chrome


30

Làm cách nào tôi có thể thiết lập Chrome để tham chiếu tra cứu tên máy chủ cục bộ chứ không phải từ tệp etc / hosts tiêu chuẩn?

Khi gỡ lỗi một trang web, đôi khi rất hữu ích khi thiết lập các mục trong C: \ Windows \ system32 \ driver \ etc \ hosts thay thế một số tên miền bằng localhost, do đó cho phép tôi kiểm tra các phiên bản nhanh chóng của trang web hoặc tên miền có thể xung đột với các trang web thực tế trực tiếp.

Tôi có thể thiết lập Google Chrome theo cách mô phỏng và đơn giản hóa quy trình này không?

Tôi sẽ không sửa đổi phiên bản trình duyệt để hành xử như thể vv / máy chủ đã được sửa đổi mặc dù điều đó có thể có quá nhiều rủi ro bảo mật trong một tiện ích mở rộng.


Vui lòng đánh dấu sao yêu cầu tính năng này: bug.chromium.org/p/chromium/issues/ Kẻ
Ali

Câu trả lời:


13

Tôi vừa tìm thấy Tiện ích mở rộng Host Switch Plus Chrome thực hiện chính xác điều đó;)


Host Switch Plus không hoạt động đối với tôi và nhiều người khác.
zylstra

1
Host Switch Plus thực hiện chính xác KHÔNG. Nó thay đổi proxy. Nhưng mục tiêu là thay đổi tên miền IP. (
Giả lập

Không làm việc cho tôi, xin lỗi.
Serzhan Akhmetov

7

Một cách để đạt được mục tiêu thực tế của bạn hoàn toàn không liên quan đến tiện ích mở rộng của Chrome hoặc thậm chí Chrome. Cách đó là thiết lập máy chủ HTTP proxy thông minh, trỏ Chrome vào đó và sau đó thêm quy tắc viết lại vào máy chủ proxy viết lại URL dưới bìa.

Có nhiều người làm điều này, với nhiều máy chủ HTTP proxy khác nhau - quá nhiều để bao quát từng chi tiết trong một câu trả lời ở đây. Họ làm như vậy cho mục đích hạ gục quảng cáo, lỗi web và tương tự, nhưng nguyên tắc và cơ chế giống hệt với những gì bạn muốn làm. Họ muốn trình duyệt WWW tìm nạp một URL cụ thể như bình thường, nhưng nội dung thực tế mà nó nhận được là của một số URL khác (cục bộ hoặc khác). Điều duy nhất mà trình duyệt WWW cần biết là nó nói chuyện với Internet thông qua một máy chủ proxy.

Để biết một ví dụ, hãy xem Quảng cáo Zapper tại SourceForge . Đó là tập lệnh Perl hoạt động cùng với máy chủ HTTP proxy Squid để viết lại URL khi đang di chuyển trong máy chủ proxy. Như bạn có thể thấy từ cơ sở dữ liệu cấu hình của nó, mọi người đã sử dụng cơ chế của nó cho nhiều mục đích khác nhau, từ việc đảm bảo rằng người ta luôn nhìn thấy các dạng bài báo "có thể in" trên các dịch vụ tin tức để thoát khỏi các chuyển hướng quảng cáo ngẫu nhiên trên các trang web khiêu dâm trên Internet.

Lưu ý rằng điều này tốt hơn nhiều so với những gì bạn đang làm với hoststệp, đây là một cơ chế không phù hợp để thao túng dịch vụ WWW. hostschỉ giao dịch bằng tên → tra cứu địa chỉ, xử lý mọi thứ khác (ngoài trình duyệt WWW) cần thực hiện tìm kiếm tên → và (như bạn có thể đã biết) yêu cầu mọi tên máy chủ được viết lại phải được thiết lập như một máy chủ ảo máy chủ HTTP nội dung đích. Ngược lại, một máy chủ HTTP proxy loại này sẽ xử lý các URL và chỉ ảnh hưởng đến các trình duyệt HTTP và WWW được định cấu hình để sử dụng nó ở vị trí đầu tiên. Vì vậy, nó có thể làm những việc như chỉ viết lại các URL JavaScript và để mọi thứ khác từ cùng một trang WWW; viết lại toàn bộ tải của tên máy chủ thành chỉ một; và làm (chưa hoàn thành) khớp mẫu. (Có một số trường hợp của điều này trong cơ sở dữ liệu cấu hình của Ad Zapper, thông báo.) Và người ta có thể làm những việc như có một trình duyệt WWW đang xem thế giới thông qua proxy viết lại và một người khác đang xem trực tiếp trên một máy.


Một lợi ích bổ sung đối với tiện ích mở rộng chrome - nó hoạt động trên nhiều trình duyệt! Hiện tại tôi vẫn đang sử dụng tệp máy chủ, nhưng tôi sẽ xem xét chuyển sang proxy nếu có nhu cầu thực tế.
ripper234

4

Tôi đã sử dụng (và vẫn sử dụng) HostAdmin một cách tôn giáo, nhưng phải làm trống bộ nhớ cache hoặc mở cửa sổ ẩn danh mới mỗi lần luôn là một việc vặt, vì vậy tôi đã kết thúc việc phát triển một tiện ích mở rộng Chrome cho chính mình vào năm ngoái để giúp đỡ với tình huống tương tự và Gần đây tôi đã xuất bản một phiên bản rất thô của nó trong Cửa hàng Chrome trực tuyến, nó được gọi là Livehosts .

Điểm chính của nó là trong khi @JdeBP đúng và thiết lập proxy sẽ là giải pháp chính xác, thì đó thường không phải là một lựa chọn. Mặc dù vậy, tiện ích mở rộng của Chrome không thể sao chép chính xác những gì xảy ra khi bạn thay đổi tệp lưu trữ, vì vậy những gì Livehosts làm ngay bây giờ là:

  • cho phép bạn thiết lập nhiều mục nhập tên máy chủ / IP;
  • phát hiện các yêu cầu đến một trong các tên máy chủ được xác định;
  • chuyển hướng yêu cầu đến IP mong muốn với tiêu đề Máy chủ HTTP thích hợp;
  • thêm một tham chiếu trực quan (và xấu, tôi sẽ thừa nhận) trong URL của thanh địa chỉ, trông sẽ giống như http://127.0.0.1/www.example.com/whateverelse;
  • cho phép các cặp máy chủ / IP khác nhau trong các tab khác nhau cùng một lúc.

Nó không đẹp, nhưng nó đủ tốt cho nhà phát triển web tiêu chuẩn đang cố gắng chuyển đổi nhanh giữa các môi trường. Tất nhiên có một vài cảnh báo:

  • tùy thuộc vào máy chủ, các phần của trang web đề cập đến URL của trang web (thuộc tính like và src) có thể khác với bản gốc;
  • window.location có một giá trị khác có khả năng loại bỏ các đoạn mã JavaScript;
  • hầu hết các yêu cầu Cross-Origin sẽ không hoạt động.

0

Các máy chủ ảo plugin là người duy nhất có công việc cho tôi như tôi mong đợi.

Truy cập máy chủ ảo của máy chủ mà không cần chuyển hướng máy chủ hoặc DNS.


2
Đối với tôi, tiện ích mở rộng này dường như thực hiện chuyển hướng phía máy khách đến địa chỉ IP, hoàn toàn không giống với sửa đổi tệp máy chủ.
Jeff Ward

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.