FirewallFabrik • made by Linuxfabrik
FirewallFabrik is a modern successor to Firewall Builder, preserving its core design philosophy while updating it for current firewall technologies. It is a Qt-based GUI that manages firewall policies for multiple platforms, including iptables and nftables, from a single unified interface. All objects, rules, and device definitions are stored in a centralized policy database, allowing consistent reuse of services, networks, and rule sets. This architecture scales cleanly from a handful of devices to hundreds of firewalls, all managed from one policy file and one UI, with platform-specific configuration generated automatically.
# Run FirewallFabrik without installing (requires uv)
uvx --from 'firewallfabrik[gui]' fwf
# Or install it
uv tool install 'firewallfabrik[gui]'For the full installation guide (pipx, pip, development setup, native themes, desktop integration), see the User Guide: Installing FirewallFabrik.
- User Guide -- installation, GUI overview, working with objects, firewall policies, cookbook, and more.
- Developer Guide -- database manager, debugging, rule processors, testing, and design decisions.
The documentation is built with Sphinx using the Read the Docs theme. To build it locally:
pip install sphinx sphinx-rtd-theme myst-parser
cd docs
make htmlThe generated HTML will be in docs/_build/html/. Open docs/_build/html/index.html in a browser to view it.
To generate browsable API documentation for all Python modules:
pip install pdoc
pdoc --output-dir docs/source-code src/firewallfabrikOpen docs/source-code/index.html in a browser to view it.
# Copyright (C) 2026 Linuxfabrik <info@linuxfabrik.ch>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# On Debian systems, the complete text of the GNU General Public License
# version 2 can be found in /usr/share/common-licenses/GPL-2.
# SPDX-License-Identifier: GPL-2.0-or-later