Динамічний SSH-тунель, включно з динамічним переспрямуванням PuTTY, надає інтерфейс SOCKS. Програма, що приймає лише HTTP-проксі, не може використовувати цей порт, просто назвавши його HTTP.

Між ними може стояти локальний міст протоколу. Програма надсилає HTTP-проксі-запити мосту, а міст відкриває з'єднання з призначенням через службу SOCKS.

Privoxy документує таку схему у своїх правилах переспрямування. Для наявного локального тунелю SOCKS5 фрагмент конфігурації такий:

forward-socks5 / 127.0.0.1:1080 .

Програма підключається до HTTP-прослуховувача Privoxy, а не до порту 1080. Тримайте цей прослуховувач локальним відповідно до передбаченої політики доступу. Завершальна крапка в правилі має задокументоване значення; це не заповнювач для відсутнього імені інтернет-хоста.

Це трансляція протоколу

Документація Privoxy щодо переспрямування пояснює синтаксис переспрямування SOCKS і обробку імен хостів. Звичайне переспрямування TCP-порту не виконує такої самої трансляції: воно передає HTTP-байти клієнта без змін прослуховувачу SOCKS, який досі очікує узгодження SOCKS.

Міст також стає частиною конфігурації, яку потрібно розуміти. Privoxy може мати власні налаштування фільтрації вмісту й доступу. Додавання мосту — не те саме, що вбудована підтримка SOCKS у початковій програмі.

Для сайтів HTTPS програма зазвичай запитує CONNECT у HTTP-моста, а міст отримує з'єднання з призначенням через SOCKS. Звичайний TLS сайту залишається відношенням між програмою і сайтом; мосту не потрібно видавати себе за сайт, щоб надати цей шлях.

Якщо програма вміє використовувати SOCKS безпосередньо, додатковий компонент може бути непотрібним. Використовуйте міст для усунення реальної невідповідності протоколів, чітко розрізняючи прослуховувач і вищестоящу ланку.

Схожі статті