这个项目能做什么

Portmaster 是一款适用于 Windows 和 Linux 桌面的免费开源应用防火墙和隐私套件。它旨在让用户能够查看并控制其机器上的所有网络活动,同时提供无需配置即可生效的隐私友好默认设置,并允许用户设置详细的按应用和全局规则。 README 中描述的核心功能: - 监控所有网络活动并阻止任何内容,支持全局和按应用设置。 - 使用过滤列表自动阻止跟踪器和恶意软件。 - 支持 DoH/DoT 的安全 DNS,包括拦截杂散 DNS 查询、支持 split-horizon 以及针对重绑定攻击的视界验证。 - 隐私过滤器,支持允许的网络范围(本地主机、局域网、互联网、P2P、入站)以及基于域名、IP、国家等的规则。 - 网络历史记录(付费):在本地数据库中记录和搜索连接详情,支持自动删除或按需删除。 - 按应用带宽可见性(付费)。 - SPN:一款付费的下一代隐私网络,定位介于 VPN 和 Tor 之间,使用多跳洋葱加密,支持按应用路由选择和社区托管的节点。 技术方法:Portmaster 通过 Linux 上的 nfqueue 和 Windows 上的 Windows 过滤平台内核驱动程序集成到网络栈中。数据包在原始数据包级别被拦截,因此每个数据包都能被查看和阻止。在 Linux 上,连接归属通过 eBPF 和 /proc 确定;在 Windows 上,则通过内核驱动程序和 IP Helper API 确定。它支持 Linux 上的特殊进程,如 Snap、AppImage 和脚本,以及 Windows 上的 Windows 商店应用和 svchost.exe 服务。核心服务作为系统服务运行,而 UI 组件在用户上下文中运行;主 UI 目前使用 Electron,但也可以在浏览器中打开。除 SPN 外,数据均在设备本地处理,更新和情报数据均经过签名并自动下载。 文档、安装指南、兼容性说明、架构详情、设置手册和开发者 API 可通过项目 wiki 和文档站点获取。README 还概述了使用 Earthly 和 Docker 的进行中的构建流程,产物生成于 ./dist 目录。