Little Snitch — культовый сетевой монитор для macOS — теперь работает и на Linux. Австрийская компания Objective Development выпустила бесплатную версию, написанную на Rust с использованием eBPF для перехвата трафика на уровне ядра. Вместо традиционного графического интерфейса в Linux-версии применён веб-интерфейс, что позволяет удалённо отслеживать сетевую активность серверов. При этом разработчики позиционируют Little Snitch для Linux как инструмент защиты приватности, а не как полноценный межсетевой экран.
Зачем понадобилась Linux-версия
Автор порта — Кристиан Штаркйоханн (Christian Starkjohann) из Objective Development. По его словам, он установил Linux на старое оборудование и сразу ощутил себя «незащищённым»: привыкнув к Little Snitch на macOS, он понятия не имел, какие соединения устанавливает его компьютер. Существующие решения — OpenSnitch, утилиты командной строки и серверные системы безопасности — не давали того, что нужно: видеть, какой процесс устанавливает соединение, и заблокировать его одним кликом.
Штаркйоханн выбрал eBPF для перехвата трафика на уровне ядра: технология обеспечивает высокую производительность и значительно более переносима, чем расширения ядра. Основной код написан на Rust, а пользовательский интерфейс реализован как веб-приложение. Такой подход позволяет контролировать сетевые соединения удалённого Linux-сервера с любого устройства, включая Mac. Это полезно, если нужно узнать, к каким серверам на самом деле подключаются Nextcloud, Home Assistant или другие серверные приложения.
eBPF — технология ядра Linux, позволяющая запускать изолированные программы непосредственно в ядре без изменения его исходного кода и без загрузки модулей. Проверка безопасности кода выполняется перед запуском встроенным верификатором ядра.
Приватность, а не безопасность
В отличие от macOS-версии, Little Snitch для Linux не является инструментом безопасности. eBPF накладывает жёсткие ограничения на ресурсы: при большом объёме трафика таблицы кэша могут переполняться, из-за чего невозможно надёжно привязать каждый сетевой пакет к конкретному процессу. На macOS для этого используется глубокая инспекция пакетов (DPI), которая на Linux недоступна. Процессы, целенаправленно обходящие фильтрацию, могут избежать обнаружения.
Фокус Linux-версии — прозрачность: показать, что происходит в сети, и при необходимости заблокировать соединения от легитимных программ, которые не пытаются активно обходить фильтр.
Linux тише macOS
Штаркйоханн обратил внимание на разницу ещё во время разработки: при тестировании на macOS сетевой трафик появлялся в течение пяти секунд, тогда как на Linux первое соединение порой приходилось ждать больше минуты. За неделю наблюдений на стандартной Ubuntu он обнаружил 9 системных процессов, устанавливающих интернет-соединения. На macOS за тот же период их было более 100.
Ubuntu отправляет телеметрию в Canonical через канал ubuntu-insights (сервер metrics.ubuntu.com), а также проверяет обновления. Телеметрию можно отключить, но от обновлений отказываться не стоит — а значит, зависимость от одной компании сохраняется. Разница в том, что в мире Linux есть выбор: десятки дистрибутивов, и пользователь сам решает, кому доверять. Крупная организация и вовсе может поддерживать собственный дистрибутив.
Что показывают приложения

Firefox при первом запуске — ещё до начала просмотра страниц — подключился к серверам ads.mozilla.org, incoming.telemetry.mozilla.org и другим. Штаркйоханн рекомендует после установки браузера запустить его и оставить без использования на сутки, затем изучить историю соединений и решить, что отключить в настройках, а что заблокировать в Little Snitch.
Новостные сайты, по его наблюдениям, используют от 50 до 100 трекеров. Другие приложения — Thunderbird, Visual Studio Code — ведут себя примерно одинаково на всех платформах и тоже отправляют телеметрию. Исключением оказался LibreOffice Writer: при запуске он не установил ни одного сетевого соединения.
Открытый код с оговоркой
Little Snitch для Linux состоит из трёх компонентов. Программа eBPF для ядра и веб-интерфейс распространяются под лицензией GNU GPL v2, исходный код доступен на GitHub. Серверная часть (бэкенд), которая управляет правилами, списками блокировки и иерархическим представлением соединений, бесплатна, но её исходный код закрыт. По словам Штаркйоханна, в бэкенде сосредоточен более чем двадцатилетний опыт разработки Little Snitch, и компания пока предпочитает не раскрывать алгоритмы и концепции этой части.

По функциональности Linux-версия занимает промежуточное положение между Little Snitch Mini и полной версией Little Snitch для macOS. macOS-версия остаётся основным продуктом компании, и это не изменится.
Системные требования и совместимость

Разработка велась на Ubuntu 25.10 с ядром 6.17. Подтверждена работа на ядрах версии 6.12 и выше. На более старых ядрах программа упирается в лимит инструкций верификатора eBPF. Теоретически совместимость возможна вплоть до ядра 5.17, в котором появилась функция bpf_loop(), — это покрыло бы Debian 12 (Bookworm) и Ubuntu 24.04 LTS (Noble). Разработчики приглашают контрибьюторов, способных помочь с портированием на старые ядра.
Готовые deb-пакеты, rpm и pkg.tar.zst доступны для 64-битных систем на процессорах Intel/AMD, ARM64 и RISC-V64. Рекомендуемая платформа — Ubuntu 25.04 или более новая версия с поддержкой BTF.
Заключение
Little Snitch для Linux закрывает заметный пробел: на десктопных дистрибутивах до сих пор не было удобного способа увидеть все исходящие соединения и выборочно заблокировать ненужные одним кликом. Веб-интерфейс делает инструмент пригодным и для домашних серверов, где графической оболочки может не быть вовсе. Программа бесплатна, eBPF-модуль и интерфейс открыты — скачать можно на сайте Objective Development.