Объявлено об открытии исходных текстов всех наработок продукта Douane, в рамках которого подготовлена реализация персонального интерактивного межсетевого экрана для Linux, поддерживающая интеграцию с GNOME. Douane предоставляет наглядный интерфейс для отслеживания сетевой активности пользовательских приложений и блокирования нежелательного сетевого трафика. При выявлении попытки сетевого соединения от приложения, не подпадающего под правила белого списка, программа выводит пользователю диалог с предложением принять решение о продолжении инициированной сетевой операции. Код открыт под лицензией GPLv2 и доступен на GitHub.
Douane состоит из четырёх базовых частей: модуля для ядра Linux, фонового процесса для мониторинга соединений, графического интерфейса для вывода уведомлений и конфигуратора.
- Модуль ядра douane-dkms написан на языке Си с использованием фреймворка Netfilter и предназначен для перехвата исходящего трафика, а также определения его связи с отдельными приложениями.
- Фоновый процесс douane-daemon отвечает за контроль за соблюдением ранее принятых решений о допустимости того или иного трафика от приложений и инициирования запроса пользователю в случае появления ранее не наблюдаемой сетевой активности. Демон написан на языке С++ и использует D-Bus для обмена данными.
- Интерфейс для вывода уведомлений (douane-dialog) отвечает за подтверждение или блокирование пользователем выявленной активности. Компонент написан на языке С++ и использует обвязку GTKmm для использования библиотеки GTK+ 3 в проектах на языке С++.
- Конфигуратор douane-configurator отвечает за управление работой межсетевого экрана и корректировку ранее добавленных правил. Интерфейс настройки написан на языке Python 3 с использованием библиотеки GTK+ 3 через биндинг PyGObject.