Анонимный роутер на 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 в интерфейсе малинки.
Втыкаем вот в этот порт.
Сорцы на гихабе будут позже.