Прозрачный squid в одной упряжке с tor, privoxy.

Как это работает:
Основным прокси сервером явлется squid.

Устанавливаем tor, для доступа к доменам .onion и другим сайтам. Так же необходимо установить и настроить privoxy, так как tor не сможет работать напрямую со squid.

Через cache_peer (вышестоящий прокси) squid подключается к  tor.
tor является Socks прокси, а squid — http прокси, поэтому между squid и tor встраивается прослойка privoxy.

Если запрашивается запрещенный URL, то запрос передается по цепочке в tor.
Все остальные запросы отправляются напрямую самим squid.
Это все работает с  точкой доступа. Установим точку доступа, и продолжим:

apt update && apt upgrade -y
apt-get install tor privoxy squid3 -y

в файле /etc/tor/torrc удаляем знак решётки, октото́рп #RunAsDaemon 1 —> RunAsDaemon 1
tor настроен.

далее заменяем /etc/privoxy/config
на:


forward-socks4   /               127.0.0.1:9050 .
confdir /etc/privoxy
logdir /var/log/privoxy/
logfile privoxy.log
#actionsfile standard
actionsfile default.action
actionsfile user.action
filterfile default.filter
debug   4096
debug   8192
listen-address  192.168.12.1:8118
user-manual /usr/share/doc/privoxy/user-manual
toggle  1
enable-remote-toggle 0
enable-edit-actions 0
enable-remote-http-toggle 0
buffer-limit 4096
accept-intercepted-requests 1

точка в конце первой строки обязательна.


/etc/squid3/squid.conf у меня такой:


http_port 3128
http_port 192.168.12.1:3128 intercept

acl localnet src 127.0.0.0/24 
acl wi-fi src 192.168.12.0/24
acl networks src 192.168.0.0/24
acl banners dstdomain "/etc/squid3/blacklist"

acl SSL_ports port 443 
acl Safe_ports port 80 # http 
acl Safe_ports port 8080 #http 
acl Safe_ports port 21 # ftp 
acl Safe_ports port 443 # https 
acl Safe_ports port 70 # gopher 
acl Safe_ports port 210 # wais 
acl Safe_ports port 1025-65535 # unregistered ports 
acl Safe_ports port 280 # http-mgmt 
acl Safe_ports port 488 # gss-http 
acl Safe_ports port 591 # filemaker 
acl Safe_ports port 777 # multiling http 
acl CONNECT method CONNECT

http_access deny all banners
http_access deny !Safe_ports 
http_access deny CONNECT !SSL_ports

acl tor_url url_regex "/etc/squid3/url.tor"
cache_peer 192.168.12.1 parent 8118 0 no-query default
never_direct allow tor_url
always_direct deny tor_url
always_direct allow all

http_access allow localhost 
http_access allow localnet 
http_access allow wi-fi
http_access allow networks

http_access deny all 
icp_access deny all 
htcp_access deny all

cache deny all

cache_dir ufs /var/spool/squid3 4096 32 256 
coredump_dir /var/spool/squid3

refresh_pattern ^ftp: 1440 20% 10080 
refresh_pattern ^gopher: 1440 0% 1440 
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 
refresh_pattern . 0 20% 4320

здесь нужны подробности:
для блокировки рекламы, создаем файл blacklist в директории «/etc/squid3/»

nano /etc/squid3/blacklist

вставляем для примера:


.a.gismeteo.ru
.ad.adriver.ru
.ad.rambler.ru
.adbrite.com
.adbureau.net
.ads.rabota.ru
.ads.sixapart.com
.ads.sup.com
.adv.odnoklassniki.ru
.banner.fishki.net
.bannerbank.ru
.banners.rambler.ru
.bin-layer.de
.binimage.de
.counter.aport.ru
.counter.list.ru
.counter.rambler.ru
.doubleclick.net
.google-analytics.com
.googlesyndication.com
.hotlog.ru
.layer-ads.de
.linkexchange.ru
.popunder.ru
.smstraf.ru
.tns-counter.ru
.top.list.ru
.trafficcash.ru
.yadro.ru
.hotcounter.de
.an.yandex.ru
.googlesyn

на зти сайты ходим через tor, создаем файл url.tor в директории «/etc/squid3/»

nano /etc/squid3/url.tor

вставляем блокируемые провайдером сайты, для примера:


^https?.*facebook.*
^https?.*addthis.*
^https?.*ustream\.tv.*
^https?.*livejournal\.com.*
^https?.*2ip\.ru.*
^http?.*myip\.ru.*
^http?.*rutracker\.org.*

/etc/init.d/tor restart
/etc/init.d/privoxy restart
/etc/init.d/squid3 restart

в настройках вашего роутера поменяйте DNS-адреса на 8.8.8.8 8.8.4.4
для проверки подключаемся к точке доступа, в браузере указываем адрес прокси сервера:192.168.12.1 порт:3128 и пробуем посетить http://rutracker.org
Посетив https://2ip.ru/ увидите Ваш реальный IP, а на http://myip.ru/ IP torа.
Рекламные блоки на этих страницах показываться не должны.

Проверка открытых портов

root@orangepipc:~# netstat -anput | grep LISTEN
tcp        0      0 127.0.0.1:9050          0.0.0.0:*               LISTEN      13035/tor
tcp        0      0 192.168.12.1:5353       0.0.0.0:*               LISTEN      1093/dnsmasq
tcp        0      0 0.0.0.0:53              0.0.0.0:*               LISTEN      912/dnsmasq
tcp        0      0 192.168.12.1:8118       0.0.0.0:*               LISTEN      13084/privoxy
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      654/sshd
tcp6       0      0 :::53                   :::*                    LISTEN      912/dnsmasq
tcp6       0      0 :::22                   :::*                    LISTEN      654/sshd
tcp6       0      0 :::3128                 :::*                    LISTEN      13507/(squid-1)
root@orangepipc:~#
Поделиться
Отправить
2016   AP WIFI   armbian   OrangePI PC   privoxy   squid   tor
Ваш комментарий
адрес не будет опубликован

ХТМЛ не работает

Ctrl + Enter
Популярное