Настройка сервера Linux

За основу взят Debian Wheezy. Устанавливаем сам TOR как описано на оф. сайте https://www.torproject.org/docs/debian

Правим файл /etc/tor/torrc. В него нужно добавить:

TransPort 9040
HiddenServiceDir /mysql_tor
HiddenServicePort 3306 127.0.0.1:3306
HiddenServicePort 80 127.0.0.1:80
DNSPort 53
AutomapHostsOnResolve 1
AutomapHostsSuffixes .exit,.onion

Где HiddenServiceDir- папка, куда будут сохранятся файлы текущих настроек после подключения к сети TOR. Владельцем папки должен быть пользователь
debian-tor.

HiddenServicePort — так обозначаются службы, которые будут доступны из сети TOR

Что бы с сервера Linux были доступны имена из доменов .exit и .onion, в качестве DNS сервера нужно указать 127.0.0.1

Перезапускаем службу tor.

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

Скачиваем с сайта Vidalia Exit Bundle (https://www.torproject.org/dist/vidalia-bundles/vidalia-exit-bundle-0.2.4.21-0.2.21.exe)

После установки будет доступна такая панель управления. Заходим в настройки.

Переходим на вкладку «Дополнительное» и нажимаем кнопку «редактировать текущий torrc”. Удаляем из него все и вставляем такое:

AutomapHostsOnResolve 1
AutomapHostsSuffixes .exit,.onion
ControlPort 9051
DataDirectory C:/Users/user/AppData/Roaming/tor
DirReqStatistics 0
DNSPort 53
HashedControlPassword 16:6790851A0F89F8BD60DEFA39DD4F68C7D1DB849667A1EDF30F837AEF3F
Log notice stdout
SocksPort 9050

DataDirectory — нужно заменить имя пользователя на свое.

В настройках DNS Windows тоже указываем 127.0.0.1. Завернуть нужный траффик можно например через ProxyCap. В качестве SOCKS сервера указываем 127.0.0.1

В правилах заворачиваем только нужные нам порты

После этого на Linux сервере в файле /mysql_tor/hostname смотрим имя, которое получил сервер и подключаемся по нему.