URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 67581
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Организация работы Opera и других п..."

Отправлено auto_tips , 01-Июн-10 17:53 
Если на локальной машине кроме socks имеется выход в интернет или доступ к DNS-резолверу, проблем не возникает, но если выход машины производится только через socks при запуске программ подобных браузеру opera всплывает неприятная проблема с резолвингом имен. Проблема в том, что утилиты подобные tsocks не позволяют перенаправлять DNS запросы через Socks и организовать работу резолвера поверх этого протокола.

Выход найден в использовании privoxy (http://www.privoxy.org/), некеширующего HTTP-прокси, умеющего организовывать проброс трафика через Socks и самое важное - умеющего резолвить DNS-имена на socks-сервере.

Ставим privoxy:

   sudo apt-get install privoxy

Предположим на локальной машине имеется доступ к socks-серверу 127.0.0.1:1080
В моем случае socks использовался для организации выхода в Интернет через телефон на платформе Android, делается это так:
На телефоне включаем в настройках режим "USB Debugging" (Settings / Applications / Development) и запускаем программу Tetherbot (http://graha.ms/androidproxy/Tetherbot.apk).
На локальный компьютер копируем программу adb из состава Android SDK и выполняем:

   ./adb forward tcp:1080 tcp:1080

теперь в Firefox можно прописать socks-сервер 127.0.0.1:1080 и  поставить в about:config network.proxy.socks_remote_dns=true, все будет прекрасно работать. Но нам нужно заставить работать opera и другие программы, поэтому настраиваем privoxy.

В /etc/privoxy/config проверяем наличие директивы (по умолчанию выбран порт 8118)

   listen-address  127.0.0.1:8080

и добавляем строку:

   forward-socks4a   /  127.0.0.1:1080  .

или

  forward-socks5   /  127.0.0.1:1080  .

(внимание, режим forward-socks4 проброс DNS не поддерживает)

Запускаем privoxy:

   sudo /etc/init.d/privoxy start


Далее в opera устанавливаем в настройках обычного HTTP-прокси хост 127.0.0.1 и порт 8080. Все прекрасно работает, более того в качестве бонуса privoxy по умолчанию вырезает рекламу.

Для консольных приложений удобно использовать пакет proxychains
(http://proxychains.sourceforge.net/) в состав которого входит  утилита proxyresolv для резолвинга имен через socks.


URL: http://www.privoxy.org/user-manual/quickstart.html
Обсуждается: http://www.opennet.me/tips/info/2379.shtml


Содержание

Сообщения в этом обсуждении
"Организация работы Opera и других приложений через Socks"
Отправлено charon , 01-Июн-10 17:53 
у меня proxyresolv не работает. Просто отказывается резолвить имя. Какие разрешения на ДНС-сервере нужны? Я поставил слушать только 127.0.0.1

"Организация работы Opera и других приложений через Socks"
Отправлено s1lv3r , 01-Июн-10 21:30 
через proxychains прекрасно соксифицирую не только консольный но и весь остальной софт уже лет 5...