Об этом проекте

Portmaster — это бесплатный межсетевой экран приложений и набор для приватности с открытым исходным кодом для настольных систем Windows и Linux. Его цель — дать пользователям видимость и контроль над всей сетевой активностью на их машине, с дружественными к приватности настройками по умолчанию, которые работают без конфигурации, но при этом допускают детальные правила для отдельных приложений и глобальные правила. Основные возможности, описанные в README: - Отслеживание всей сетевой активности и блокировка чего угодно с помощью глобальных настроек и настроек для отдельных приложений. - Автоматическая блокировка трекеров и вредоносного ПО с использованием списков фильтров. - Защищённый DNS с поддержкой DoH/DoT, включая перехват посторонних DNS-запросов, поддержку split-horizon и проверку горизонта на атаки с перенаправлением (rebinding). - Privacy Filter с разрешёнными сетевыми областями (localhost, LAN, Internet, P2P, входящие) и правилами на основе доменов, IP-адресов, стран и многого другого. - Network History (платно) для записи и поиска сведений о соединениях в локальной базе данных, с автоудалением или удалением по запросу. - Видимость пропускной способности по приложениям (платно). - SPN — платная сеть приватности нового поколения, позиционируемая между VPN и Tor, использующая луковое шифрование через несколько узлов, с выбором маршрутизации для отдельных приложений и узлами, размещаемыми сообществом. Технический подход: Portmaster встраивается в сетевой стек, используя nfqueue в Linux и драйвер ядра Windows Filtering Platform в Windows. Пакеты перехватываются на уровне необработанных пакетов, поэтому каждый пакет можно увидеть и остановить. Принадлежность соединения определяется с помощью eBPF и /proc в Linux, а также драйвера ядра и IP Helper API в Windows. Поддерживаются особые процессы, такие как Snap, AppImage и скрипты в Linux, а также приложения Windows Store и службы svchost.exe в Windows. Основная служба работает как системная служба, а компоненты интерфейса работают в пользовательском контексте; основной интерфейс в настоящее время использует Electron, но также может быть открыт в браузере. Данные обрабатываются локально на устройстве, за исключением SPN, а обновления и данные аналитики подписываются и загружаются автоматически. Документация, руководства по установке, примечания о совместимости, сведения об архитектуре, справочник по настройкам и API для разработчиков доступны через вики проекта и сайт документации. В README также описан находящийся в разработке процесс сборки с использованием Earthly и Docker, создающий артефакты в ./dist.