Анонимный роутер на Raspberry PI (TOR+SOCKS)

В далекой далекой галактике… хотя нет не из этой оперы данная статья,
Изначально я хотел написать статью как это все поднимать, расписывать каждый конфиг, но я понял что это убьет уж очень много времени.
Проще будет вам показать что получилось, продемонстрировать инсталяционный скрипт и конфиги.

И так перейдем к описанию.
Платформой нашего роутера выбран Raspberri PI 3
На текущий момент всё собрано на последней версии raspbian

OS : Debian Strech 9
RASPBIAN STRETCH LITE
Version:November 2017
Release date:2017-11-29
Kernel version:4.9

Оригинальная ОС доступна для загрузки вот тут ТЫК

Роутер умеет подбирать интернет через Ethernet или USB 3G модем воткнутый в него.
Дальше у роутера есть 3 режима работы.

TOR - (Работает только через тор)
TOR + SOCKS (ТОР а сверху тора на выходе используется обычный socks5)
TOR + SOCKS = AUNTH (ТОР а сверху тора на выходе используется обычный socks5 с авторизацией)
Все это добро раздается по WIFI.

Вы подключаетесь по WIFI к нашему роутеру

SSID : AP-1
Password : 12345678

и без всяких дополнительных настроек получаете интернет через ТОР или ТОР + Сокс, проксифаер и другие вещи не нужны, все делается на роутере.
Все DNS запросы идут через ТОР с помощью демона dns_tcp_proxy.

Что на самом роутере?

3proxy - в качестве сокс демонна в режиме транспарент + parrent
dns_proxy - для туннелирования dns запросов в тор.
hostapd - для раздачи wifi
dnsmasq - для раздачи IP адресов wifi клиентам.
python3 - для работы написанного мной webmanager интерфейса.
тор - сами знаете для чего.
wvdial - для работы с 3G модемом.

Я не очень программист, у меня ушло 2 дня на создание интерфейса роутера на Python и получилось в результате вот это.
Скриншоты интерфейса :

Полный образ Raspberri PI3 со всем установленным и полностью рабочим вариантом можете скачать тут.

https://nova.ws/dl/release/pi_tor_socks/pi_tor_socks.img

Или с зеркала

https://mega.nz/#!itMHhIIb!eyg19NQemWFtCvX8HZsWOi-ra-KphiUN4qHYmPggUk0

Образ полностью готов к работе, записываем на SD карту с помощью etcher, и вставляем в малинку.
Образ слегка модифицирован, удалена запись pi вход только под root, SSH уже включен.
Данные для подключения по SSH

Username : root
Pass : 123456

Все остальное по дефолту, как и в классическом распбиан.
При первом запуске нужно будет расширить файловую систему.
для этого набираем

raspi-config

И идем вот в эти менюшки

затем в

И соглашаемся на увеличение пространства.

Вариант для тех кто хочет все собрать сам, на своей малиннке с чистым debian stretch.

Скрипт инсталятор :

https://nova.ws/dl/release/pi_tor_socks/install.sh

Небольшое описание процесса.

Скачиваем debian stretch
записываем на SD карту, я рекомендую для записи ethcer взять можно тут : https://etcher.io/
после того как запись завершена не забываем включить ссш.
для этого снова подключаем SD карту в ноут и создаем на бутовой партиции файлик ssh без расширения txt итд.
безопасно извлекаем карту и вставляем в малинку.
когда загрузится малинка логинимся на нее с помощью SSH

Username : pi
Password : raspberry

Затем набираем sudo -s (переходим в режим root)
И скачиваем мой инсталятор

curl -O https://nova.ws/dl/release/pi_tor_socks/install.sh
Когда процесс загрузки будет завершен, набираем
sh install.sh

Дальше мой скрипт сделает все сам.
В процессе установки могут возникнуть дополнительные вопросы, вот ответы на них.

Админка роутера доступна по адресу : http//192.168.22.1:5000 (если вы к ней подключаетесь по wifi)

На текущий момент все протестировано, перезаписано не один раз, и работает вроде как корректно, как мог так и протестировал….

P>S
Возможно будет работать и на других устройствах, Orange PI, BananaPI итд.. тут я не знаю.
Если можете установить дистрибутив и проверить будет замечательно.
В теории если на ваше устройство можно поставить дистрибутив raspbian lite указанный выше по ссылке, то все должно работать.

Готовые конфиги можно качнуть вот тут :

https://nova.ws/dl/release/pi_tor_socks/pi_tor_socks_conf.tar.gz

Вебморду на питоне отдельно можно качнуть тут

https://nova.ws/dl/release/pi_tor_socks/pi_tor_socks_web.tar.gz

P>P>S
3G демон запущен по дефолту, у меня MF180 И MF667 заводятся нормально.
ЧТо бы не менять порт в конфиге 3G в интерфейсе малинки.
Втыкаем вот в этот порт.

Сорцы на гихабе будут позже.