TorBOX Next Generation (далее TBNG) — это набор сценариев для ОС Linux, используя который можно быстро и с небольшими усилиями создавать защищенные точки доступа в Интернет.
Пользователь получает примерно такие возможности:
“Прозрачно” использовать TOR.
Получать доступ к сети I2P.
Блокировать нежелательный трафик (баннеры).
Работать как через проводной канал, так и беспроводной (зависит от используемого оборудования).
Управлять системой через web-интерфейс.
TOR, он же The Onion Router — набор утилит для получения псевдоанонимного доступа в Интернет. Каждый пакет, отправляемый на какой-либо узел через TOR проходит по цепочке узлов, таким образом исходный адрес пакета для конечного узла скрыт. Более подробно можно почитать об этом в официальной документации проекта. Задача TBNG — автоматизировать настройку и предоставить простой интерфейс, доступный практически с любого современного устройства — смартфона, планшета или компьютера.
Использование готовой настроенной системы максимально простое — подключиться к настроенной сети и выбрать желаемый режим работы через web-интерфейс.
Первичная же настройка и установка потребует определенных навыков работы в Linux, таких как:
Работа с командной строкой.
Установка требуемых пакетов.
Изменение конфигурации сетевых интерфейсов (через конфигурационный файл).
Понимание основ работы TCP/IP в Linux.
В некоторых случаях — готовность собрать модуль ядра для какой-нибудь очень экзотической сетевой карты (привет, realtek wifi!).
Устройство, совместимое с Linux — обычный компьютер, арендованный VPS (KVM или лучше), одноплатный компьютер уровня Raspberry Pi.
Два и более сетевых интерфейса. Один потребуется для подключения клиентов, второй для выхода в Интернет. Возможно использование виртуального интерфейса, такого как tun/tap при работе через VPN.
Linux, лучше Debian/Ubuntu. По крайней мере, протестировано именно на этих ОС.
systemd
Network Manager
sudo
Последние два должны быть по крайней мере доступны в репозиториях для установки.
Для работы потребуется учетная запись без прав суперпользователя (non-root), в процессе же установки необходим root-доступ. То есть нужно либо знать пароль root, либо иметь возможность получать этот доступ через sudo.
В принципе, подойдет почти любой современный дистрибутив, кроме самых маргинальных. OpenWRT, Alpine Linux не поддерживаются и в ближайшее время не будут поддержаны.
После успешной установки и первичной настройки целевое устройство превращается в точку доступа к сети Интернет, причем весь трафик клиентов перенаправляется через сеть TOR. Дополнительно можно настроить режим фильтрации трафика — удаление рекламы, кнопок Like и прочего (посредством пакета Privoxy). Также есть возможность пользоваться сервисом I2P. Подробная настройка есть в руководстве пользователя.
Клиентские устройства подключаются к интерфейсам lan0…lanX — они могут быть как проводными, так и беспроводными. Адреса устройств назначаются с помощью пакета dnsmasq.
С помощью правил iptables трафик направляется либо через связку TOR+Privoxy, либо TOR, либо напрямую. Для маршрутизации трафика используется технология IP Masquerading (также известный, как NAT).
TBNG не использует бинарных файлов, все компоненты написаны на языке Python. В процессе установки необходимо установить некоторые пакеты (Python3, Tor, Privoxy, iptables и прочие). Часть из них может уже присутствовать в системе. Полный список компонентов доступен в руководстве по установке и настройке.
Ключевые компоненты проекта — на диаграмме.
Управление TBNG возможно как через web-интерфейс, так и через командную строку (ssh или веб-версия shell-in-a-box).