Браузер загружает HTTP-страницу через Squid. Та же цель не работает под proxychains. Это не обязательно значит, что одна из двух программ выбрала неправильный IP прокси.

Обычный клиент, понимающий HTTP, может отправить веб-запрос на прямой прокси в форме HTTP-прокси. Универсальная обёртка над сокетом, напротив, нуждается в байтовом туннеле для соединения, которое хотело открыть приложение. Для HTTP-прокси в своей цепочке proxychains использует CONNECT.

Это значит, что обычный текстовый сайт на порту 80 может создать запрос CONNECT для порта 80. Политика Squid, разрешающая CONNECT только к утверждённому списку портов TLS, может отклонить такой туннель, даже если обычные HTTP-запросы на порт 80 разрешены.

Сравнивайте запросы, а не только имена хостов

Документация proxychains-ng описывает поддержку HTTP CONNECT. Правила доступа Squid умеют различать метод и целевой порт. Это разные пути запроса к одному и тому же сайту.

Прочитайте отказ и предполагаемую политику, прежде чем её менять. Расширение доступа CONNECT на каждый порт — существенное изменение; оно не должно быть ответом по умолчанию на несоответствие обёртки.

Если приложение имеет собственную поддержку HTTP-прокси, её использование может избежать лишнего универсального туннеля для обычного текстового HTTP. Если ему действительно нужен необработанный TCP-туннель, выберите утверждённый протокол прокси и политику портов, которые его предоставляют.

Успешный запрос браузера — полезное свидетельство достижимости прокси и одного поддерживаемого режима запроса. Но он не доказывает, что каждый метод туннелирования, целевой порт или протокол приложения разрешён через этот прокси.

Похожие статьи