The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Организация работы Opera и других приложений через Socks
Если на локальной машине кроме 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.
 
01.06.2010 , Источник: http://www.privoxy.org/user-manual/...
Ключи: proxy, socks, opera, dns / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевые сервисы / Socks proxy

Обсуждение [ RSS ]
  • 1, charon (ok), 17:53, 01/06/2010 [ответить]  
  • +/
    у меня proxyresolv не работает. Просто отказывается резолвить имя. Какие разрешения на ДНС-сервере нужны? Я поставил слушать только 127.0.0.1
     
  • 2, s1lv3r (?), 21:30, 01/06/2010 [ответить]  
  • +/
    через proxychains прекрасно соксифицирую не только консольный но и весь остальной софт уже лет 5...

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру