## tui-firewall v0.6.2
tui-firewall 0.6.2
- firewalld: `--check` and the reload in the UI read the firewall in under 2 s instead of about 8 s. The tool now asks firewalld for whole zone and policy listings and runs those reads in parallel. The output is unchanged.
- README: the `--check` section says what `--check` costs on each backend, and that callers can keep its answer for a few seconds.
Version 0.6.2.
Built by this repository's CI on the tag itself. Each archive ships a
CycloneDX SBOM, `checksums.txt` carries a keyless cosign signature, and
every file has SLSA build provenance — see the README's "Verify a
download" for the two commands that check them.
The commits in this release:
## Changelog
* 53f2c9ea82ea6375a2ad17ea0f9e68fff081fb12 0.6.2: firewalld --check in one parallel wave of whole listings (#29) (#30)
## tui-firewall v0.6.1
tui-firewall 0.6.1: tui-kit v0.4.4
tui-firewall 0.6.1 moves to tui-kit v0.4.4: every ufw, firewalld, iptables and nft command now runs in its own session without a controlling terminal, so a step that would prompt fails at once instead of hanging behind the UI, and a failed step reports its meaningful line, cleaned of escape codes. The two screenshots that changed under the new renderer are re-rendered and the install snippet points at this release.
Built by this repository's CI on the tag itself. Each archive ships a
CycloneDX SBOM, `checksums.txt` carries a keyless cosign signature, and
every file has SLSA build provenance — see the README's "Verify a
download" for the two commands that check them.
The commits in this release:
## Changelog
* 520745207888b5ba589419691cc195503b66a4b9 0.6.1: tui-kit v0.4.4 (#28)
## tui-firewall v0.6.0
tui-firewall 0.6.0
Every command preview is now shell-quoted (tui-kit v0.4.3): a rule whose comment carries a space or a parenthesis previews as `ufw allow 19443/tcp comment 'headscale control (tailnet)'`, and the line pasted into a shell runs the same argv. On iptables a comment is no longer limited to one word. A new `--open <port>/<proto>[,<port>/<proto>...]` flag, with an optional `--comment <text>`, starts the UI in the add-rule form prefilled to allow each port in turn, one form and one confirm per port, still previewed; it is the hand-off target for another tool that has just found a port closed. Every screenshot is re-rendered with the kit's fixed box borders.
Built by this repository's CI on the tag itself. Each archive ships a
CycloneDX SBOM, `checksums.txt` carries a keyless cosign signature, and
every file has SLSA build provenance — see the README's "Verify a
download" for the two commands that check them.
The commits in this release:
## Changelog
* ae73a87eef6be8474cf0ade81c013e9f4cdc7594 0.6.0: quoted previews; --open prefilled add form (#26) (#27)
## tui-firewall v0.5.0
tui-firewall 0.5.0: plain iptables
tui-firewall now drives plain iptables, the firewall of cloud images whose rules are restored at boot by iptables-persistent (Debian, Ubuntu) or iptables-services (Fedora, RHEL). It is picked automatically when that loader is enabled, and the selection reason says so. A new rule is inserted right before the chain's catch-all REJECT or DROP, with the position and the reason in the preview; rules are deleted by specification, not by number. Changes apply to the running kernel, and `W` persists them with the layer's own save (`netfilter-persistent save`, or iptables-services' `iptables.init save` and `ip6tables.init save`), previewed with a diff against the saved files. The header, the status line and `--check` report runtime-vs-saved drift, ignoring the chains docker and tailscaled rebuild. Staging works here too, through `iptables-restore --noflush` with an automatic rollback. Also: tui-kit v0.4.0.
Built by this repository's CI on the tag itself. Each archive ships a
CycloneDX SBOM, `checksums.txt` carries a keyless cosign signature, and
every file has SLSA build provenance — see the README's "Verify a
download" for the two commands that check them.
The commits in this release:
## Changelog
* cf8a7c2a3fb7552def245b51bee6c2c039f99b3d Bump anchore/sbom-action/download-syft in the github-actions group (#21)
* 5ee7cd68539d7cd9b6ce38a89faf09f6c639d9f8 Bump the github-actions group with 4 updates (#22)
* 00b452af619a977f1256d9bffb8fed1f9df19c75 README: link the tool's page on tui.tools (#20)
* 73fda3e67bd4d0b5fe93b06fc4654f669f41ecfe README: point the install snippet at the current release (#19)
* ee682ff208be4e6b9b43be015834f386d3b8fa63 Release 0.5.0: iptables backend; tui-kit v0.4.0 (#25)
* 00e649ca1e533480ff3f13c3ff97b8e56c7b12f5 iptables backend (#23) (#24)
## tui-firewall v0.4.1
tui-kit v0.3.0: the dialogs wrap and scroll instead of clipping the
command preview, and the picker filters as you type.
Built by this repository's CI on the tag itself. Each archive ships a
CycloneDX SBOM, `checksums.txt` carries a keyless cosign signature, and
every file has SLSA build provenance — see the README's "Verify a
download" for the two commands that check them.
The commits in this release:
## Changelog
* 21bcef401a84bcdb426ab13761f0cfaf75b2d395 Bump tui-kit to v0.3.0 (#18)
## tui-firewall v0.4.0
Manage, not view (wave 2): apply what it diagnoses, author what it manages; lab-validated.
Built by this repository's CI on the tag itself. Each archive ships a
CycloneDX SBOM, `checksums.txt` carries a keyless cosign signature, and
every file has SLSA build provenance — see the README's "Verify a
download" for the two commands that check them.
The commits in this release:
## Changelog
* 8ebbc93c5eab918b523bb9a5d55af9a28c80e599 Per-rule disable/enable with a persisted spec (#17)
## tui-firewall v0.3.0
Manage, not view: create and edit from the TUI (wave 1), lab-validated on the router image.
Built by this repository's CI on the tag itself. Each archive ships a
CycloneDX SBOM, `checksums.txt` carries a keyless cosign signature, and
every file has SLSA build provenance — see the README's "Verify a
download" for the two commands that check them.
The commits in this release:
## Changelog
* 91b40387200a319423f563e1359f0aa313ef98bd A code of conduct that fits on one screen (#9)
* e3ccd27185701b969d17f309fdc143cb45fceea8 Add --report, and a bug form that asks for it (#10)
* 6fc9ddb047873dc4bc830fd7a6b0fc3c2741794a Bump anchore/sbom-action/download-syft (#4)
* df922a3d08b89c45d65a47fbee6cc5466bb87db1 Carry the OpenSSF Best Practices badge (#7)
* 06b13fbc25228642a6f2140ba644ad623cb26a88 Fetch the tag annotation before releasing (#5)
* 1afcf1edea8ce6a9a5e1547138ae3384edc1f03e Manage, not view: persistence (Save), rule edit and move (#16)
* 51b2a63fd2d1a331f4fcde2eb5b3c88ae600458b Pin the kit tag that carries report/ (#11)
* e5a1ed852273d4775163d71ca55e328d2309866f Pin what CI runs, fuzz the parsers, and say the releases are signed (#3)
* 072389274fdb1ff4a64a4f7732ea7f0d94379a14 Print the whole tag message, not only its body (#6)
* ac88f4147890fa2b18462722a96456ffe418eab0 Search the report for the host name where the host name could leak (#12)
* f9ca88daffe73c0940f66081f8769329578e9847 Take tui-kit v0.2.8: hashed pip install, provenance bundle on the release (#8)
* 4f12d5b2a958d5b627fa33bafad22940d5e26fb1 live log: journalctl -k is --dmesg, not --kernel (#15)
* 644a640f745b3a9df3c5710cf391312a777ab0e5 nftables backend: router-shaped matches and staged atomic apply (#13)
* a6028a9d7d50ca2c73afae89f5e9c2c40052b564 nftables: per-rule logging and a live firewall-log view (#14)
## Changelog
* 77b917006ffb71046e6fd7079886dfb9300b452e Drop cross-repo dispatch; the package repo and the site poll releases
* b5303ad204323bc125d642bedd7e728588936598 Gate the release on a security job, and sign what it publishes
* a9872f61b7ff1a97653a8cf666932df2ab6b224a Packages are available from pkgs.tui.tools
* c8e32ba9f6c83d7ba5461926ea95c98f17ea00d6 Pin the two actions that publish no moving major tag (#2)
* 89f338010ee80c08d3b7f49326295f1f9b3c659d Stop telling readers the packages are unpublished
## Changelog
* 4062d6971a9e859a8be3c2c6482541d922e685ef Ship the tool as a .deb, an .rpm and a pacman package
## Changelog
* 207f07781735090534fcfefc2ed7a06a9066fe9d Add --check, a non-interactive read path, and a backend smoke test
* 2f750800d0ddd6aaa7f030f90b7ab94ade7d3424 Add tool.json and generate the README Install section from it
* c48b5087567f49c363aa218b8a0d5056bdef163d Assert real firewalld behaviour in the lab, not a stub
* fe0eab2a5a1e383c75a02412264451bd5b6ffc29 Bump the github-actions group with 5 updates (#1)
* a041d686c727f2131875c495967d02f958b87450 Document firewalld, and screenshot it
* 8a08d6e8a0edd23c19ecd39b52b58e9e2b5554da Drive firewalld for real, behind the same backend interface
* a2f36e0bf3049795539f3f94446d8bd69c1d38cc Hold both ends of the tested firewalld range
* 745e37130fab6b1576310b1974afe09797da5827 Hold this tool to the family's lint bar
* 2e081b07e7a2d078eae6952e4078b3b007460f0b Keep the sudo note inside the manifest's length limit
* 2fa4c9aa63b2b9d28510117c5d04c54d7fc3a72c Re-pin the kit at v0.1.3 for the help panel width fix
* e46dccea33b8b8e70eb22637c0a6771dcfb9b3d2 Re-pin the kit at v0.2.3
* 615bf4454c3fbd7d807acaa2de0c6e7823ac6ab3 Separate deciding which firewall to drive from reaching for it
* 34abbdb3baf3d43283c99461ec10c6b7d44ab6f4 Show which ufw version is being driven
* 7ed706447b61f79992a17fdcc95648be2c53e7cf Test the firewalld backend against captured firewall-cmd output