Privoxy: kết nối máy khách proxy HTTP với đường hầm SOCKS
Kết nối máy khách proxy chỉ chấp nhận HTTP với đường hầm SOCKS thông qua proxy HTTP cục bộ, thay vì đổi tên cổng của đường hầm.
Đường hầm SSH động, bao gồm chuyển tiếp động của PuTTY, cung cấp giao diện SOCKS. Ứng dụng chỉ chấp nhận proxy HTTP không thể dùng cổng đó chỉ bằng cách gọi nó là HTTP.
Một cầu nối giao thức cục bộ có thể nằm giữa hai bên. Ứng dụng gửi các yêu cầu proxy HTTP đến cầu nối, và cầu nối mở các kết nối đích thông qua dịch vụ SOCKS.
Privoxy ghi lại cách bố trí này qua các quy tắc chuyển tiếp của nó. Với một đường hầm SOCKS5 cục bộ hiện có, một đoạn cấu hình là:
forward-socks5 / 127.0.0.1:1080 .
Ứng dụng kết nối với trình lắng nghe HTTP của Privoxy, không phải cổng 1080. Giữ trình lắng nghe đó ở cục bộ theo chính sách truy cập dự kiến. Dấu chấm cuối trong quy tắc có ý nghĩa được ghi lại; nó không phải chỗ giữ chỗ cho một tên máy chủ internet bị thiếu.
Đây là chuyển dịch giao thức
Tài liệu chuyển tiếp của Privoxy giải thích cú pháp chuyển tiếp SOCKS và cách xử lý tên máy chủ. Chuyển tiếp cổng TCP thông thường không thực hiện cùng phép chuyển dịch: nó vận chuyển các byte HTTP của máy khách không đổi đến một trình lắng nghe SOCKS, nơi vẫn chờ đợi thương lượng SOCKS.
Cầu nối cũng trở thành một phần của cấu hình bạn cần hiểu. Privoxy có thể có cài đặt lọc nội dung và truy cập riêng. Thêm nó vào không giống như làm cho ứng dụng gốc hỗ trợ SOCKS sẵn có.
Với các trang web HTTPS, ứng dụng thường yêu cầu CONNECT từ cầu nối HTTP, và cầu nối lấy kết nối đích thông qua SOCKS. TLS thông thường của trang vẫn là quan hệ giữa ứng dụng và trang; cầu nối không cần mạo danh trang để cung cấp đường đi này.
Nếu ứng dụng có thể dùng SOCKS trực tiếp, thành phần bổ sung có thể không cần thiết. Dùng cầu nối để giải quyết một sự không tương thích giao thức thực sự, với trình lắng nghe và phía thượng nguồn được phân biệt rõ ràng.