haikufw is a real inbound firewall for Haiku. It enforces rules inside the kernel/network stack before traffic is delivered to userland servers.
- Inbound TCP and UDP filtering on Haiku
x86_64 - Patched Haiku
ipv4andipv6receive paths - Shared in-kernel rule engine through
haikufw_core - Live control through
/dev/misc/haikufwandhaikufwctl - Standalone source release that includes the vendored Haiku IPv4/IPv6 protocol source subset needed for local builds on Haiku
config/: example configurationskernel/: in-kernel rule engine, hook support, and control driverpatches/: receive-path patches for Haikuipv4andipv6scripts/: build, install, uninstall, and smoke-test helperstests/: host-side parser/compiler/matcher smoke coverageuserland/haikufwctl/: config parser, compiler, and runtime control toolvendor/: vendored Haiku protocol source subset used for patched module builds
- Haiku
x86_64 - A working build toolchain on the target host
- Privileges to install files under
/boot/system/non-packaged
The standard release workflow does not require a separate full Haiku source
checkout. The release package already includes the vendored ipv4 and ipv6
protocol source subset used for the patched build.
From a writable directory on the target Haiku host:
wget https://github.com/itinfra7/haikufw/releases/latest/download/haikufw-release.tar.gz
tar -xzf haikufw-release.tar.gz
cd haikufw
./scripts/build-haikufw-haiku.sh
./scripts/install-haikufw.sh installReboot is required after install because the patched ipv4 and ipv6
protocol modules must replace the stock modules during boot.
- First match wins
- If no rule matches,
default_inboundis applied - Actions:
allow,deny - Protocols:
tcp,udp,all - Sources:
any, IPv4 host/CIDR, IPv6 host/CIDR - Destination ports:
any, single port, list, range, or mixed list/range
Canonical examples:
default_inbound = deny
allow tcp from any to port 22
allow tcp from 203.0.113.0/24 to port 80,443
allow udp from 2001:db8:100::/64 to port 53,123
allow all from 198.51.100.0/24 to port 60000-61000
deny tcp from any to port 60000-61000For the exhaustive syntax matrix, see config/haikufw.conf.example.
haikufwctl check /boot/system/settings/haikufw.conf
haikufwctl reload /boot/system/settings/haikufw.conf /boot/system/settings/haikufw.rules "$(date +%s)"
haikufwctl statusTo clear only the active in-kernel ruleset:
haikufwctl clear./scripts/install-haikufw.sh uninstallReboot is required after uninstall so the stock ipv4 and ipv6 modules are
restored.
README.en.txtREADME.ko.txtOPERATIONS.txt
MIT. See LICENSE.