Задний ход в DarkWeb
Введение
Для хождения с собственного линукса по сайтам в зонах .i2p
, .onion
и прочим, напрямую недоступным, достаточно настроить несколько утилит. Приготовим остренького — макарошки с чесноком и луком:
- макарошки — «запутывающий» (obfuscating) прокси
obfs4
, без которого теперь не работает... - лук — прокси
TORsocks
(The Onion Router) как добавка к «луковому» маршрутизатору; - чеснок же — самостоятельный демон для протокола «невидимого» интернета
i2pd
(Invisible Internet Protocol daemon) с «чесночным» (garlic) построением маршрутов.
И завернём всё это в лаваш-плагин для браузера — вот вам и хрестоматийный «пирожок с вермишелью».
«Невидимый» интернет
Установить и запустить i2pd
:
# apt-get install -y i2pd
# systemctl enable --now i2pd
По адресу http://localhost:7070/
через браузер (хоть текстовый) доступны такие плюшки как:
- проверка работоспособности демона;
- наблюдение за его процессами-туннелями-транспортами;
- смена некоторых настроек (например, понятный язык для веб-консоли) на время сессии (навсегда — через конфиг);
- остановка-перезапуск...
и прочие.
«Луковый» прокси
- Установить пакеты:
torsocks
(автоматом подтягивающий основной сервисtor
, если тот ещё не установлен),obfs4
(«путаник», добавляющий тору способы миновать РКНовские блокировки по «мостикам») иlsof
(для проверки результата).
- Добавить в конфиг тора
/etc/tor/torrc
опцию, включающую предоставленные пакетомobfs4
настройки со списком мостов.
Мосты можно найти на странице: https://bridges.torproject.org/bridges?transport=obfs4&lang=ru Или в группе telegram: @GetBridgesBot
- После чего (пере)запустить сам сервис и удостовериться, что тор слушает на нужном порту.
Суммарно выглядит примерно так:
# apt-get update && apt-get install -y torsocks obfs4 lsof
# echo "%include /etc/tor/obfs4.torrc" >>/etc/tor/torrc
# systemctl restart (или enable --now) tor
# lsof -ni :9050
...
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
tor 2778 _tor 6u IPv4 27181 0t0 TCP 127.0.0.1:9050 (LISTEN)
Обновление мостов для обфускатора
- Скачать свежий обновлятор мостиков (например, в
/etc/tor/
) и сделать короткий симлинк:# ln -s tor-relay-scanner-0.0.9.pyz tor-relay-scanner
- Создать скриптец для их обновления с последующим подсовыванием тору (например,
/usr/local/sbin/obfuscator
):#!/bin/sh WD=/etc/tor LIST=obfsbridges.conf CONF=$WD/conf.d/$LIST cat $CONF >$WD/$LIST # бэкап конфига на случай неполучения нового списка. #python3 $WD/tor-relay-scanner-0.0.X.pyz --torrc -o $CONF python3 $WD/tor-relay-scanner --torrc -o $CONF [ `wc -l $CONF | awk '{print $1}'` -gt 0 ] && { sed -i /UseBridges/d $CONF serv tor reload } || cat $WD/$LIST >$CONF
- И юнит для его периодического запуска (например,
/lib/systemd/system/obfuscator.service
):[Unit] Description = Update tor obfs4 bridges list [Service] ExecStart = /usr/local/sbin/%N [Install] WantedBy = doit@daily.target
- Последняя строчка задаёт периодичность обновления (как задействовать таймеры вместо кронтабов для служб такого рода, описано здесь). Сам на невыключающихся компах и серверах обновляю ежесуточно, на командировочно-отпускном лаптопе — ежечасно (doit@hourly).
- Остаётся лишь оный обновлятор включить:
# systemctl enable obfuscator
Браузерный плагин
Сам использовал FoxyProxy (для хрома и ЯБ или огнелиса) и SwitchyOmega, настройку коего и опишу.
- Добавить в браузер соответствующий плагин для хрома/ЯБ или огнелиса.
- Создать профиль i2p для сайтов в одноимённой зоне (протокол: HTTP, сервер: localhost, порт: 4444 — не проиллюстрировано, делать по аналогии со следующим пунктом).
- Второй профиль proxy — для .onion и прочих труднодоступных сайтов (протокол: SOCKS5, сервер: localhost, порт: 9050):
- Задать для доступа к сайтам
.i2p
одноимённый профиль, а к сайтам.onion
и прочим недоступным — тор-прокси, по мере надобности пополняя список другими блокируемыми сайтами:- В режиме редактирования исходного кода (можно попросту скопипастить) выглядит так:
[SwitchyOmega Conditions] @with result *.i2p +i2p *baza-knig.ru +proxy *.bookafan.website +proxy *bookzip.ru +proxy *.btmet.com +proxy *citilink.ru +proxy *fantasy-worlds.org +proxy *flibusta.* +proxy *gmt-max.net +proxy *intoupload.net +proxy *kinobar.me +proxy *kinogo.la +proxy *kinosvit.tv +proxy *kinotazz.ru +proxy *.kritka.info +proxy *.linkedin.com +proxy *loveread.ec +proxy *mechanics-games.* +proxy *nnmclub.to +proxy *.onion +proxy *onion.live +proxy *piratam.net +proxy *rg-mechanics.* +proxy *rgmechanics.* +proxy *rutor* +proxy *.santehnika1.ru +proxy *seasonvar.ru +proxy *.semyanich.com +proxy *serialytut.me +proxy *skidrowcpy.com +proxy *.torgamez.com +proxy *torlock.cc +proxy *.torproject.org +proxy *torrent* +proxy *tracker.* +proxy *.underver.se +proxy *.vonos.net +proxy *weebly.com +proxy *xatab-repack* +proxy * +direct
- В меню плагина выбрать пункт автопереключения
Подборки ресурсов
- «луковых» (TOR)
- «чесночных» (I2P)