Разработчики проекта Tor представили (https://blog.torproject.org/introducing-oniux-tor-isolation-using-linux-namespaces/) утилиту Oniux (https://gitlab.torproject.org/tpo/core/oniux), предназначенную для принудительного направления трафика отдельных приложений через сеть Tor. По своему назначению Oniux напоминает ранее доступную программу torsocks и отличается использованием для изоляции пространств имён (network namespace), предоставляемых ядром Linux, вместо подмены функций стандартной библиотеки через механизм LD_PRELOAD. Код утилиты написан на языке Rust и распространяется под лицензиями Apache 2.0 и MIT.
Oniux позволяет создать для любого приложения изолированный контейнер, трафик из которого принудительно перенаправляется только через сеть Tor. Для отправки трафика создаётся туннель на базе onionmasq (https://gitlab.torproject.org/tpo/core/onionmasq), внутри контейнера выглядящий как виртуальный сетевой интерфейс (TUN). Доступ к доступным в основном окружении сетевым интерфейсам блокируется на уровне изоляции сетевого стека в отдельном пространстве имён.
По сравнению с torsocks новая утилита не ограничивается подменой библиотечных функций и блокирует возможные каналы утечки (например, перенаправление через torsocks можно обойти через прямое обращение к системным вызовам ядра). Программа также защищает от утечек, вызванных ошибками при настройке SOCKS-прокси, направляющего трафик в сеть Tor. Ценой более жёсткой изоляции является потеря многоплатформенности - Oniux может работать только в Linux.
Утилита Oniux самодостаточна и не требует для работы запуска отдельного фонового процесса Tor. Взаимодействие с сетью Tor в Oniux построено с использованием библиотеки, развиваемой проектом Arti (https://www.opennet.ru/opennews/art.shtml?num=62689), в то время как torsocks базируется на CTor (https://gitlab.torproject.org/tpo/core) и использует SOCKS-прокси. Утилита Oniux может оказаться полезной для запуска приложений и сервисов, критических важных с точки зрения обеспечения конфиденциальности.
Использование сводится к добавлению вызова утилиты "oniux" перед запуском желаемой программы. Например, для отправки запроса через curl поверх Tor можно выполнить команду "oniux curl URL", а для направления через Tor любых запросов внутри сеанса с командным интерпретатором - "oniux bash". Поддерживается изоляция графических приложений.