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.

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.

Documentation

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

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.0.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.0-py3-none-any.whl (1.8 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: firewallfabrik-1.5.0.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.0.tar.gz
Algorithm Hash digest
SHA256 28279f99bd658c7ac79e071f7b4bc80aecb68435a99f7de585b9af50dc201cd7
MD5 1691e79ad05008bb5db5e4bb03998406
BLAKE2b-256 f2e7c3f841752c7c982adc8d38599aad3d13bbdd8f0a84215cbb956b0d70cfc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for firewallfabrik-1.5.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: firewallfabrik-1.5.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f6d072dcae68afc18191ea1fca2ef14d250432ac61a39d97e309a97f08706121
MD5 0e8b28a0cfc7144c2a0f79fd3f15d6a9
BLAKE2b-256 7b92220fb17d277915c9d8a0904346d8d952ac41221565225ae9c17071828a1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for firewallfabrik-1.5.0-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