Потребовалось поднять tor на последней версии Ubuntu, и столкнулся с некоторыми трудностями - все мануалы по установке справедливы только для Ubuntu 9.04 или ниже, на 9.10 никак не хотело запускаться.
Но немного углубившись в вопрос, нашел рабочий вариант:
1. Настраиваем репозиторий:
Либо все делаем из-под рута, либо пользуемся командой sudo.
nano /etc/apt/sources.list
добавляем в любое место:
deb http://deb.torproject.org/torproject.org karmic main
deb-src http://deb.torproject.org/torproject.org karmic main
Вместо "karmic" можно использовать "karmic-experimental", тоже рабочий дистрибутив.
Импортируем ключ:
gpg --keyserver keys.gnupg.net --recv 886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89
apt-key add -
2. Устанавливаем:
apt-get update
apt-get install tor tor-geoipdb
В комплекте установится в том числе и фильтрующий прокси polipo.
3. Настраиваем прокси polipo:
Проще всего взять данный конфиг, и заменить им старый:
mv /etc/polipo/config /etc/polipo/config-old
nano /etc/polipo/config
### Basic configuration
### *******************
# Uncomment one of these if you want to allow remote clients to
# connect:
# proxyAddress = "::0" # both IPv4 and IPv6
# proxyAddress = "0.0.0.0" # IPv4 only
#будет слушать на всех IP адресах сервера,
#если не требуется, прописать нужный IP сервера.
proxyAddress = 0.0.0.0
#порт можно поменять на свой. Он указывается в приложениях.
proxyPort = 8118
# If you do that, you'll want to restrict the set of hosts allowed to
# connect:
# если требуется доступ, прописать нужные подсети через запятую:
allowedClients = 127.0.0.1, 192.168.1.0/24
#разрешать все порты. Если не требуется - указать нужные.
allowedPorts = 1-65535
# Uncomment this if you want your Polipo to identify itself by
# something else than the host name:
proxyName = "localhost"
# Uncomment this if there's only one user using this instance of Polipo:
cacheIsShared = false
# Uncomment this if you want to use a parent proxy:
# parentProxy = "squid.example.org:3128"
# Uncomment this if you want to use a parent SOCKS proxy:
socksParentProxy = "localhost:9050"
socksProxyType = socks5
### Memory
### ******
# Uncomment this if you want Polipo to use a ridiculously small amount
# of memory (a hundred C-64 worth or so):
# chunkHighMark = 819200
# objectHighMark = 128
# Uncomment this if you've got plenty of memory:
# chunkHighMark = 50331648
# objectHighMark = 16384
chunkHighMark = 33554432
### On-disk data
### ************
# Uncomment this if you want to disable the on-disk cache:
diskCacheRoot = ""
# Uncomment this if you want to put the on-disk cache in a
# non-standard location:
# diskCacheRoot = "~/.polipo-cache/"
# Uncomment this if you want to disable the local web server:
localDocumentRoot = ""
# Uncomment this if you want to enable the pages under /polipo/index?
# and /polipo/servers?. This is a serious privacy leak if your proxy
# is shared.
# disableIndexing = false
# disableServersList = false
disableLocalInterface = true
disableConfiguration = true
### Domain Name System
### ******************
# Uncomment this if you want to contact IPv4 hosts only (and make DNS
# queries somewhat faster):
#
# dnsQueryIPv6 = no
# Uncomment this if you want Polipo to prefer IPv4 to IPv6 for
# double-stack hosts:
#
# dnsQueryIPv6 = reluctantly
# Uncomment this to disable Polipo's DNS resolver and use the system's
# default resolver instead. If you do that, Polipo will freeze during
# every DNS query:
dnsUseGethostbyname = yes
### HTTP
### ****
# Uncomment this if you want to enable detection of proxy loops.
# This will cause your hostname (or whatever you put into proxyName
# above) to be included in every request:
disableVia = true
# Uncomment this if you want to slightly reduce the amount of
# information that you leak about yourself:
# censoredHeaders = from, accept-language
# censorReferer = maybe
censoredHeaders = from,accept-language,x-pad,link
censorReferer = maybe
# Uncomment this if you're paranoid. This will break a lot of sites,
# though:
# censoredHeaders = set-cookie, cookie, cookie2, from, accept-language
# censorReferer = true
# Uncomment this if you want to use Poor Man's Multiplexing; increase
# the sizes if you're on a fast line. They should each amount to a few
# seconds' worth of transfer; if pmmSize is small, you'll want
# pmmFirstSize to be larger.
# Note that PMM is somewhat unreliable.
# pmmFirstSize = 16384
# pmmSize = 8192
# Uncomment this if your user-agent does something reasonable with
# Warning headers (most don't):
# relaxTransparency = maybe
# Uncomment this if you never want to revalidate instances for which
# data is available (this is not a good idea):
# relaxTransparency = yes
# Uncomment this if you have no network:
# proxyOffline = yes
# Uncomment this if you want to avoid revalidating instances with a
# Vary header (this is not a good idea):
# mindlesslyCacheVary = true
# Suggestions from Incognito configuration
maxConnectionAge = 5m
maxConnectionRequests = 120
serverMaxSlots = 8
serverSlots = 2
tunnelAllowedPorts = 1-65535
4. Настройка системы управления:
Если хотите управлять tor-ом не только из консоли, но и в графическом виде, то ставим vidalia:
/etc/init.d/tor stop
apt-get install vidalia
При установке согласиться запускать tor с помощью vidalia.
Добавляем ее в автозапуск:
"Система" -> "Параметры" -> "Запускаемые приложения", нажимаем "Добавить"
заполняем поля: Имя - vidalia, команда = /usr/bin/vidalia
Теперь после перезагрузки она сама запустится.
Запускать вручную можно через меню:
"Приложения -> "Интернет" -> "vidalia"
Обязательно указываем необходимые параметры для работы, проверяем коннект.
5. Использование:
Для Mozilla есть специальный плагин:torbutton.
Либо можно прямо в настройках приложений указывать использование прокси: имя_сервера+порт (настройки мы прописывали в конфиге polipo).
Проверить используемость tor можно например на сайте torcheck.xenobite.eu