Skip to main content

Modern fwbuilder successor: Qt GUI for managing iptables/nftables policies. Centralized policy DB with reusable objects, scales to hundreds of firewalls, generates deployment-ready shell scripts.

Project description


Linuxfabrik FirewallFabrik

Modern fwbuilder successor: Qt GUI for managing iptables/nftables policies. Centralized policy DB with reusable objects, scales to hundreds of firewalls, generates deployment-ready shell scripts. made by Linuxfabrik

GitHub Stars License Version PyPI Python GitHub Issues OpenSSF Scorecard GitHubSponsors PayPal


FirewallFabrik

FirewallFabrik is a modern successor to Firewall Builder (fwbuilder), 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.

This project was developed with the assistance of Claude Code by Anthropic.

Documentation

Full documentation is available at linuxfabrik.github.io/firewallfabrik. It is automatically built and deployed on every push to main.

Installation

Make sure to include the [gui] extra to pull in PySide6 for the graphical interface.

Using uv (recommended)

The recommended way to install FirewallFabrik. You can run it without a permanent install:

uvx --from 'firewallfabrik[gui]' fwf

Or install it as a tool:

uv tool install 'firewallfabrik[gui]'

Installing a Release Candidate

To test a pre-release version, either allow pre-releases or pin a specific RC version:

uvx --from 'firewallfabrik[gui]' --prerelease allow fwf
uvx --from 'firewallfabrik[gui]==<version>' --prerelease allow fwf
uv tool install 'firewallfabrik[gui]' --prerelease allow
uv tool install 'firewallfabrik[gui]==<version>' --prerelease allow

If your system Python is older than 3.14 (typical on macOS or RHEL 8/9), prepend --python 3.14 so uv fetches a matching interpreter:

uvx --python 3.14 --from 'firewallfabrik[gui]' --prerelease allow fwf

For the full installation guide (pipx, pip, development setup, native themes, desktop integration), see the User Guide: Installing FirewallFabrik.

Feedback from our Community

Some comments from the community about our successor to FirewallBuilder:

First of all, we're so glad that there's finally a successor to Firewall Builder. Great porting job, guys! We've been using Firewall Builder on macOS to generate iptables firewalls for our various servers we're running out there. But with the ascent of nftables we began fearing that we might run into a problem in the future. Running FirewallFabrik under macOS works without a fuzz...

-- Jürgen Nagel

... Danke, das Du/Ihr FirewallFabrik ins Leben gerufen habt! Ich liebe FirewallBuilder und finde es wirklich ganz toll, ein Nachfolgeprodukt in FirewallFabrik gefunden zu haben. nftables-Unterstützung ist SUPER!

-- Klaus Tachtler

Thank you for this software, I loved FirewallBuilder, I imagine I'll love this one too.

-- David Mercereau

License

# 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

firewallfabrik-1.5.1.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

firewallfabrik-1.5.1-py3-none-any.whl (1.8 MB view details)

Uploaded Python 3

File details

Details for the file firewallfabrik-1.5.1.tar.gz.

File metadata

  • Download URL: firewallfabrik-1.5.1.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for firewallfabrik-1.5.1.tar.gz
Algorithm Hash digest
SHA256 d43d6b8b662cfc94720af52cc61b0193aa14cd615cd4e61318516d023d5a081b
MD5 8f68fa6aa7d7bed4100682e5df430619
BLAKE2b-256 e34838ff116df5eb9563a95fd5175eef83390f66d6130195c10a318a7ef89e26

See more details on using hashes here.

Provenance

The following attestation bundles were made for firewallfabrik-1.5.1.tar.gz:

Publisher: release.yml on Linuxfabrik/firewallfabrik

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file firewallfabrik-1.5.1-py3-none-any.whl.

File metadata

  • Download URL: firewallfabrik-1.5.1-py3-none-any.whl
  • Upload date:
  • Size: 1.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for firewallfabrik-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8a892aca15a387011954072d4737360e73ba2eed00ece7ba2c3f6cbd7ca823fe
MD5 a1f618cef681d78567641ebca687e92b
BLAKE2b-256 09592b17189d9f689880a244f42c4fef3e5562239f68035714c2636f3d04f8e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for firewallfabrik-1.5.1-py3-none-any.whl:

Publisher: release.yml on Linuxfabrik/firewallfabrik

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page