2015-01-10

Настройка прозрачного прокси через Tor

Долгое время я не чувствовал необходимости обходить великий и ужасный реестр заблокированных сайтов, но вот и до меня дошла беда - мой любимый провайдер выпилил нахрен лостфильм. По этому поводу сегодня я расскажу как настроить тор в качестве прокси и использовать его в связке с хромом (выбор браузера не принципиален).

Я рассмотрю два случая и начну с более простого и обыденного.

Настройка прокси на локальном компе с Windows

Если у нас есть просто комп с виндой, то первым делом идем сюда: https://www.torproject.org/download/download.html.en, разворачиваем раздел Microsoft Windows и качаем Vidalia Relay Bundle. После установки и запуска появится следующее окно:



Снимаем галку Show this window on startup, затем тыкаем кнопку  Settings и переходим во вкладку Sharing:


Выбираем опцию Run as client only, если не хотим пропускать через себя чужой трафик для повышения общей скорости tor-сети. OK

В главном окне нажимаем Hide, чтобы свернуть программу в трей. При перезапуске винды тор стартует автоматически. Переходим к настройке браузера.

Настройка браузера на примере Google Chrome

Для работы с прокси в Хроме я использую расширение FoxyProxy Standard, существующее для Хрома, Файрфокса и ИЕ.

Заходим в настройки:


Здесь нужно выбрать в верхнем меню Use proxies based on their pre-defined patterns and priorities - эта опция позволит не работать через прокси все время, а автоматически включать ее на определенных сайтах. Тут же нажимаем Add New Proxy.

На первой вкладке вводим имя прокси, например Local Tor:


На второй вкладке вводим:
Host IP Address: 127.0.0.1
Port: 9050
SOCKS Proxy: ставим галку
SOCKS v4/v4a: выбираем


Переходим на третью вкладку, тут будем добавлять сайты, на которые нужно ходить через прокси.

Нажимаем Add new pattern. Добавим лостфильм. 


Pattern name:  LostLilm
URL pattern: *lostfilm.tv*

(Для паттернов используются обыкновенные маски, таким образом запись *lostfilm.tv* означает все ссылки, в которых встречается адрес сайта.)

Нажимаем Save в окне редактирования паттерна, потом еще раз - в окне Proxy Settings. Теперь кроме Default Proxy у нас появилась наша - Local Tor.
Теперь при попытке зайти на лостфильм фоксипрокси автоматически заставит браузер использовать наш тор и никакой реестр нам больше не страшен.

Для того чтобы добавить другие сайты, нужно отредактировать созданную прокси - Local Tor, перейдя в третью вкладку и добавив новый паттерн.

Настройка TOR на отдельном компе для проксирования нескольких домашних компьютеров

Эта часть не для всех, но так как у меня дома 2 компа и сводобный неттоп, то я решил - чего бы не использовать последний в качестве прокси? Я развернул на нем платформу виртуализации внутри которой сделал виртуалку, но это совершенно не принципиально - будем считать что это просто отдельный комп.

Первым делом я накатил туда Ubuntu 14.04 в минимальной серверной конфигурации. Дальше установил тор и дополнительную проксятину:

apt-get install tor tor-geoipdb privoxy

Бэкаплю конфиг прокси и создаю новый
mv /etc/privoxy/config /etc/privoxy/config.backup
vi /etc/privoxy/config



В конфиг пишу:
# Generally, this file goes in /etc/privoxy/config
#
# Tor listens as a SOCKS4a proxy here:
forward-socks4a / 127.0.0.1:9050 .
confdir /etc/privoxy
logdir /var/log/privoxy
# actionsfile standard  # Internal purpose, recommended
actionsfile default.action   # Main actions file
actionsfile user.action      # User customizations
filterfile default.filter

# Don't log interesting things, only startup messages, warnings and errors
logfile logfile
#jarfile jarfile
#debug   0    # show each GET/POST/CONNECT request
debug   4096 # Startup banner and warnings
debug   8192 # Errors - *we highly recommended enabling this*

user-manual /usr/share/doc/privoxy/user-manual
listen-address  0.0.0.0:8118
toggle  1
enable-remote-toggle 1
enable-edit-actions 0
enable-remote-http-toggle 1
buffer-limit 4096
Перезапускаю прокси


/etc/init.d/privoxy restart


Готово, теперь остается настроить браузер. Настройка идентична уже описанной, отличается только настройкой самой прокси:


IP - теперь указываем IP сервера с тором, у меня это 192.168.1.6
Порт: 8118 - порт указан в конфиге прокси на сервере
SOСKS proxy - отключаем.


Все, теперь, уважаемые читатели, вы знаете как настроить тор в качестве прокси на локальном компе или на выделенном сервере с убунтой на борту =)