JustPaste.it

Гайд: работа с privoxy на debian/ubuntu для владельцев shadowsocks

Задачи, решаемые в рамках данного руководства:
1. Разделять трафик браузера на потоки:
- трафик onion-сайтов пойдет через tor
- крупные незаблокированные сайты пойдут напрямую
- произвольные домены будут заблокированы
- прочие сайты пойдут через прокси
2. Пустить трафик tor через shadowsocks
3. Проксировать через shadowsocks трафик apt

Итак, на вашем компе в качестве операционки установлен deb-дистрибутив и настроен клиент shadowsocks.

Устанавливаем privoxy:
sudo apt install privoxy

Можно установить tor командой sudo apt install tor, но лучше установить свежую версию тора - https://www.torproject.org/docs/debian.html.en


Правим конфиг privoxy - /etc/privoxy/config

listen-address  127.0.0.1:8118
# это значение по умолчанию. То есть чтоб пустить трафик браузера через privoxy, в настройках прокси браузера указываем
# HTTP Proxy: 127.0.0.1 Port: 8118
# SSL Proxy: 127.0.0.1 Port: 8118

forward-socks5t .onion/ 127.0.0.1:9050 .
# onion-сайты пойдут чере tor

forward .google.ru/ .
forward .google.com/ .
forward .youtube.com/ .
forward .facebook.com/ .
forward .vk.com/ .
forward .vk.cc/ .
forward .vk.me/ .
forward .vk-cdn.net/ .
forward .userapi.com/ .
# крупные незаблокированные сайты пускаем напрямую. Добавить аналогичным обрзом домены по вкусу.

forward-socks5t / 127.0.0.1:1080 .
# остальные сайты пойдут через прокси socks5 127.0.0.1:1080, то есть через shadowsocks

Ко всему прочему можем добавить список блокируемых доменов. Правим /etc/privoxy/user.action
и находим строки

{ +block{Nasty ads.} }
www.example.com/nasty-ads/sponsor.gif

- можно к ним добавить свой список доменов, которые желаем блокировать:

{ +block{Nasty ads.} }
www.example.com/nasty-ads/sponsor.gif
.metabar.ru
.yadro.ru
.google-analytics.com
.mc.yandex.ru
.favicon.yandex.net
.awaps.yandex.ru
.kiks.yandex.ru
.yabs.yandex.ru
.static.yandex.net
.avatars-fast.yandex.net
.bs.yandex.ru
.doubleclick.net
.smailru.net
.live.com
.rax.ru
.1e100.net
.adriver.ru
.fiord.ru
.adfox.ru
.ad.mail.ru
.r3.mail.ru
.r2.mail.ru
.r.mail.ru
.tns-counter.ru
.targetix.net
.an.yandex.net
.digitaltarget.ru

Перезапускаем privoxy для вступления изменений в силу:
sudo service privoxy restart

Вот теперь можем насладиться сортированным трафиком, пустив трафик браузера через privoxy.

Как обновлять пакеты через прокси? Создайте файл /etc/apt/apt.conf.d/proxy и поместите в него строки:
Acquire::http::Proxy "socks5h://127.0.0.1:1080";
Acquire::::Proxy "true";

- в результате трафик apt будет ходить через прокси.

Как скрыть от провайдера факт использования tor? - Пустить трафик tor также через прокси. Для этого добавить в /etc/tor/torrc строку
Socks5Proxy 127.0.0.1:1080

Ко всему прочему можно запретить тору использовать выходные ноды постсовка, добавив в тот же конфиг:
ExcludeExitNodes {ru},{ua},{by},{kz},{??}
StrictNodes 1