AO firewalld

project: current stablemanagement: productionpackaging: active
java: >= 8semantic versioning: 2.0.0license: LGPL v3

BuildMaven CentralQuality Gate StatusLines of Code
Reliability RatingSecurity RatingMaintainability RatingCoverage

Java API for managing firewalld.


  • Clean programmatic access to firewalld.
  • Supports fine-grained control over specific port and IP address combinations.
  • Manages sets of services because firewalld is limited to only one <destination /> per service.
  • Optimizes arbitrary sets of ports and IP addresses into a minimal set of service files.
  • Small footprint, minimal dependencies - not part of a big monolithic package.


The AOServ Platform allows opening ports on a per-IP basis. firewalld service files are limited to a single <destination /> per service file. To selectively open ports on a per-IP basis, additional service files must be managed. This is tedious if done manually. We would rather firewalld support multiple <service /> tags with multiple <destination /> per service file, but this is not currently a feature.

Our server configuration process, AOServ Daemon, is written in the Java programming language. We desire a clean interface to firewalld without having to operate with firewall-cmd and other commands directly.