![]() |
manafirewall is the graphical configuration tool for firewalld, based on python-manatools and its manatools.aui widget abstraction layer. It can be run using Qt (PySide6), GTK 4, or ncurses interfaces. |
- https://github.com/firewalld/firewalld
- Provides the
firewallPython package used for all firewall interaction. - The
firewallddaemon must be running (D-Bus service).
- https://github.com/manatools/python-manatools
- Provides
manatools.aui(the UI abstraction layer),manatools.ui(common dialogs and helpers),manatools.services,manatools.config, andmanatools.basehelpinfo.
- Qt — requires PySide6 (
python3-pyside6) - GTK — requires PyGObject with GTK 4 (
python3-gobject,gtk4) - ncurses — requires the standard
cursesmodule (included with Python)
- https://pygobject.gnome.org
- Required by all backends: firewalld delivers its D-Bus signals via a
GLib.MainLoopthat runs in a background thread regardless of the chosen UI toolkit.
- https://dbus.freedesktop.org/doc/dbus-python/
- Required for catching
DBusExceptionfrom the firewalld D-Bus interface.
- https://pyyaml.org
- Required by
manatools.configfor reading the application configuration file (manafirewall.yaml).
- Mageia:
- manafirewall:
dnf install manafirewallorurpmi manafirewall - manafirewall-gui:
dnf install manafirewall-<gui>orurpmi manafirewall-<gui>- Replace
<gui>withqtorgtkdepending on desired toolkit
- Replace
- manafirewall:
- Fedora:
- manafirewall:
dnf install manafirewall(installs all needed for use on terminal) - manafirewall-gui:
dnf install manafirewall-gui(installs all needed for use in desktop environment)
- manafirewall:
- Packages needed to build:
- cmake >= 3.4.0
- python3 >= 3.9
- optional: gettext (for locales)
- Configure:
mkdir build && cd build && cmake ..-DCMAKE_INSTALL_PREFIX=/usr— Sets the install path, e.g. /usr, /usr/local or /opt-DCHECK_RUNTIME_DEPENDENCIES=ON— Checks if the needed runtime dependencies are met.
- Build:
make - Install:
make install - Run:
manafirewall
- Packages needed to build:
- cmake >= 3.4.0
- python3 >= 3.9
- python3-virtualenv
- optional: gettext (for locales)
- Setup your virtual environment
cd $MANAFIREWALL_PROJ_DIR— MANAFIREWALL_PROJ_DIR is the manafirewall project directoryvirtualenv --system-site-packages venv— create virtual environment under venv directory. venv/bin/activate— activate virtual environmentpip install python-manatools— install python-manatools (or install from sources)
- Configure and install:
mkdir build && cd build && cmake -D... .. && make install- Required cmake options:
-DCMAKE_INSTALL_PREFIX=$MANAFIREWALL_PROJ_DIR/venv— venv install prefix-DCMAKE_INSTALL_FULL_SYSCONFDIR=$MANAFIREWALL_PROJ_DIR/venv/etc— venv sysconfig directory
- Useful cmake options:
-DCHECK_RUNTIME_DEPENDENCIES=ON— checks runtime dependencies
- Required cmake options:
- Run
manafirewallinside the virtual environment:--locales-dir— test localization locally--images-path— local icons and images (set to$MANAFIREWALL_PROJ_DIR/venv/share/manafirewall/images/)
ManaTools and manafirewall developers (as well as some users and contributors) are on Matrix. The Matrix room is #manatools:matrix.org.
If you have any issues or ideas add or comment an issue.
Check also into our TODO file.
See license file.



