CrowdSec Bouncer for MikroTik RouterOS - v1.4.1
This release adds configurable RouterOS firewall rule placement, allowing bouncer-managed rule blocks to be positioned beyond the previous top or bottom behavior. Managed blocks can now be placed at a numeric RouterOS print position, before or after an existing rule comment, and can be customized per firewall table and per address family.
Install via binary download, Docker, or build from source. See the documentation for setup instructions and RouterOS configuration examples.
Highlights
- New rule placement strategies:
top,bottom,position,before_comment, andafter_comment. - Table-specific placement overrides for
filterandrawrules. - IPv4 and IPv6 YAML overrides, including protocol-local
filterandrawplacement. - Ordered rule blocks keep whitelist, processed-traffic counting, deny/reject, and output rules in stable order.
- Numeric placement uses zero-based RouterOS
printpositions; out-of-range positions append at the bottom. - Comment-based placement supports exact and contains matching with configurable top or bottom fallback.
- Expanded validation, tests, metrics summaries, examples, and documentation for the new placement model.
Related issue: #21
Downloads
Choose the archive that matches the operating system and CPU architecture where the bouncer will run. Each archive includes the cs-routeros-bouncer binary, LICENSE, README.md, and the example configuration file.
Docker
docker pull ghcr.io/jmrplens/cs-routeros-bouncer:1.4.1Published image tags:
ghcr.io/jmrplens/cs-routeros-bouncer:1.4.1ghcr.io/jmrplens/cs-routeros-bouncer:latest
Verification and SBOM
- SHA-256 checksums: checksums.txt
- Sigstore bundle for checksums: checksums.txt.sigstore.json
- SBOM files are published next to each archive as
*.spdx.json. - Sigstore bundles for SBOMs are published as
*.spdx.json.sigstore.json.
To verify a downloaded archive:
sha256sum -c checksums.txt --ignore-missingChangelog
Added
- Configurable RouterOS firewall rule placement for managed rule blocks.
- Numeric
positionplacement using zero-based RouterOSprintnumbering. before_commentandafter_commentplacement strategies with exact or contains matching.- Per-table
filterandrawplacement overrides. - YAML-only IPv4 and IPv6 placement overrides.
Changed
- Firewall rules are now created and moved as ordered blocks, preserving internal rule order.
- Metrics and logs expose compact placement summaries for easier troubleshooting.
- Documentation and examples now cover structured placement, fallbacks, and protocol/table precedence.
Other
Full Changelog: v1.4.0...v1.4.1