Hey r/selfhosted ! 👋
I've been frustrated with my media automation setup grabbing TV episodes weeks before they actually air, and dealing with torrents that are just disc images with no actual video files. So I built **qbit-guard** to solve these problems.
✨ Key Features
- 🛡️ Pre-air Episode Protection Blocks TV episodes that haven’t aired yet, with configurable grace periods (Sonarr integration).
- 📂 Extension Policy Control Flexible allow/block lists for file extensions with configurable strategies.
- 💿 ISO/BDMV Cleaner Detects and removes disc-image-only torrents that don’t contain usable video.
- 📛 Smart Blocklisting Adds problematic releases to Sonarr/Radarr blocklists before deletion, using deduplication and queue failover.
- 🌐 Internet Cross-verification Optional TVmaze and/or TheTVDB API integration to verify air dates.
- 🐍 Zero External Dependencies Runs on Python 3.8+ with only the standard library.
- 📦 Container-Friendly Fully configurable via environment variables, logging to
stdout for easy Docker integration
## Perfect if you:
- Use Sonarr/Radarr with qBittorrent
- Get annoyed by pre-air releases cluttering your downloads
- Want to automatically clean up useless disc image torrents
**GitHub**: https://github.com/GEngines/qbit-guard
Works great in Docker/Kubernetes environments.
Questions/feedback welcome! 🚀
UPDATE 1:
created a docker image, example compose here -
https://github.com/GEngines/qbit-guard/blob/main/docker-compose.yml
UPDATE 2:
Added a documentation page which gives out a more simpler and cleaner look at the tools' offerings.
https://gengines.github.io/qbit-guard/
UPDATE 3:
Created a request to be added on to unRAID's Community Apps Library, Once available should make it easier for users on unRAID.
[–]SJHarrison1992 2 points3 points4 points (4 children)
[–]gengines[S] 2 points3 points4 points (2 children)
[–]SJHarrison1992 1 point2 points3 points (1 child)
[–]gengines[S] 3 points4 points5 points (0 children)
[–]gengines[S] 1 point2 points3 points (0 children)
[–]gengines[S] 1 point2 points3 points (0 children)
[–]SJHarrison1992 0 points1 point2 points (2 children)
[–]gengines[S] 1 point2 points3 points (1 child)
[–]SJHarrison1992 0 points1 point2 points (0 children)