CrowdSec Bouncer for MikroTik RouterOS - v1.4.2
This release prepares the v1.4.2 line with refreshed documentation, safer CLI/setup behavior, and a focused coverage audit across the bouncer runtime. It includes the documentation and CLI review feedback merged after v1.4.1, plus additional unit coverage for benchmark orchestration, RouterOS pool behavior, firewall placement, manager polling/removal paths, metrics, config helpers, and the CrowdSec Logrus adapter.
Install via binary download, Docker, or build from source. See the documentation for setup instructions and RouterOS configuration examples.
Highlights
- Active release references, documentation examples, issue templates, metrics examples, and tests now point at
1.4.2. - Astro/Starlight documentation was refreshed, including header/logo styling, code block presentation, configuration examples, and explicit
lists:*CrowdSec origin guidance. - CLI flag handling and setup/uninstall safety improvements from the previous review pass are included in this release line.
- Benchmark runner code now uses a small testable RouterOS client interface.
- Manager parallel removal delegates to the RouterOS pool through a narrow interface, keeping production behavior intact while improving testability.
- Aggregate Go coverage increased from 88.9% to 94.2% with focused tests instead of synthetic coverage padding.
Change Summary
| Area | What changed |
|---|---|
| Release preparation | Version-sensitive docs, tests, examples, and issue templates now reference 1.4.2 and v1.4.2.
|
| Documentation | Starlight UI, examples, code block styling, and CrowdSec origin/list guidance were refreshed. |
| CLI and setup | Review feedback around CLI parsing and uninstall purge safety is included from the previous docs/CLI merge. |
| RouterOS pool | Pool.RemoveAddresses centralizes concurrent address-list removals and is covered by unit tests.
|
| Manager | Parallel removal and RouterOS metrics polling paths are covered through small interfaces and fakes. |
| Benchmark runner | Benchmark orchestration is tested without requiring a live RouterOS instance. |
| Metrics and adapters | Metrics server bind failures, Logrus error forwarding, and disabled log levels now have direct test coverage. |
| Coverage | Aggregate Go coverage increased from 88.9% to 94.2%. |
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.2Published image tags:
ghcr.io/jmrplens/cs-routeros-bouncer:1.4.2ghcr.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
- Focused unit tests for benchmark orchestration, RouterOS pool removals, firewall placement, config summaries, manager metrics polling, metrics listener failures, and Logrus error forwarding.
Pool.RemoveAddressesfor concurrent address-list removals through pooled RouterOS clients.
Changed
- Benchmark helpers now depend on a narrow
benchmarkClientinterface for testability. - Manager pool usage now depends on a small
routerOSPoolinterface. - Documentation and version-sensitive examples now target
1.4.2. - Aggregate Go coverage increased from 88.9% to 94.2%.
Other
Full Changelog: v1.4.1...v1.4.2