Repository navigation
v1.0.0
CheapSecurity 1.0.0
Stable release of the lightweight, self-hosted CCTV solution for Linux SBCs.
What's new
- Night-mode strength profiles — choose
low,normal, oraggressivesoftware low-light enhancement from the dashboard, API, or Telegram. - Optional IR / night camera — configure a second V4L2 device that is opened automatically when night mode is toggled, with automatic fallback to the day camera.
- Telegram bot improvements:
- New commands:
/snapshot,/video,/sent,/delete,/delete_range,/id,/telegram_on/off,/email_on/off,/night_mode_on/off,/night_mode <strength>,/help. - Exponential-backoff retries on network and server errors.
- Sent message IDs are tracked so you can delete recent uploads from chat.
/delete_rangenow deletes every message ID in the requested range.
- New commands:
- Manual video recording fix — re-encoded clips now keep the correct playback duration.
- Dashboard updates — night-mode strength dropdown, active camera indicator (day vs IR/night), and better status feedback.
- GitHub Actions CI pipeline — runs
ruff,mypy, andpyteston pull requests and on pushes tomain/develop. - Camera reconnect resilience — the engine keeps retrying with backoff if the USB camera temporarily drops off the bus, instead of halting.
Configuration highlights
See config.json.example for the new optional camera block:
"camera": {
"night_mode_strength": "low",
"night_device": 1,
"night_device_width": 1280,
"night_device_height": 720,
"night_device_fps": 25,
"night_software_enhance": true
}Requirements
- Python 3.10+
- OpenCV with V4L2 support
- A USB webcam (
/dev/video0by default) - Optional: Telegram bot token, SMTP credentials
Notes
- If you experience USB camera resets on boards like the Odroid XU4, disable USB autosuspend (
usbcore.autosuspend=-1) or use a powered USB hub. - The dual-camera feature keeps only one camera open at a time to avoid saturating the USB bus.
What's Changed
- CheapSecurity 1.0.0 by @gmrandazzo in #3
New Contributors
- @gmrandazzo made their first contribution in #3
Full Changelog: https://github.com/gmrandazzo/CheapSecurity/commits/v1.0.0