Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
0.2.0 - 2026-05-20¶
First public release.
Added¶
syncCLI command β reconciles the OVH SIP blacklist with the Saracroche community list via the OVH API, with client-side throttling (default 1 req/s) and 429-aware backoff.discoverCLI command β lists OVH billing accounts and screen-capable SIP lines.generateCLI command (legacy) β produces a CSV for manual import via the OVH Manager UI, with cascade fallback (Saracroche live β local cache β hard-coded ARCEP prefixes).statusCLI command β inspects local cache freshness and Saracroche API reachability.- OVH signed-request client (
$1$SHA-1 scheme), stdlib only. - Reconciliation modes:
- Normal (Saracroche reachable): strict sync β adds missing prefixes and deletes prefixes no longer in Saracroche.
- Degraded (Saracroche unreachable): falls back to hard-coded ARCEP prefixes, additive-only (never deletes β anti-regression).
- Auto-promotion of
incomingScreenList=disabledtoblacklistwith a WARN log, preservingoutgoing. - Auto-adaptation of throttle interval after 3 consecutive 429 responses.
- Per-call progress counter in
synclogs (Added +33162 (1/643)). - Docker image (multi-stage
python:3.12-slim, non-root UID 10001), entrypointovh-voip-spam-filter sync, published to GitHub Container Registry. - PyPI distribution β
pip install ovh-voip-spam-filter. - Bilingual documentation (English + French) via README files and a full MkDocs Material site deployed to GitHub Pages.
- GitHub Actions CI (lint with ruff, type-check with mypy, tests with pytest on Python 3.12 + 3.13, Docker build for
linux/amd64andlinux/arm64). - GitHub Actions Release workflow (Docker push to GHCR + PyPI publish via Trusted Publisher OIDC + GitHub Release with changelog excerpt).
- Renovate configuration for weekly dependency updates.
- Repo hygiene:
LICENSE(GPL-3.0-or-later),CONTRIBUTING.md,CODE_OF_CONDUCT.md(Contributor Covenant 2.1),SECURITY.md, issue and PR templates.
Acknowledgments¶
This release would not exist without Saracroche by Camille Bouvat β the community-maintained blocklist of ~16 million numbers we consume.