Queue-Based Metadata Exception & Temporary Access Manager for qBittorrent
The intent is to automatically weed out queued torrents that would otherwise stall on metaDL, also useful displaying the size of all torrents in the queue
Personally using with decluttarr and qbittorrent-totals
- 🚀 Metadata Priority Boosting - Temporarily bypass active download limits for metadata retrieval
- ⚖️ Queue Equilibrium - Automatically restores original queue positions post-metadata acquisition
- 🔒 API-First Design - Non-intrusive WebUI integration
- ⏱️ Configurable Polling - Adjustable check interval (default: 60s)
- 📜 YAML Configuration - Simple declarative setup
- 🛡️ Systemd Integration - Production-grade service management
- 📊 Verbose Logging - Detailed operational insights
git clone https://github.com/AdamWHY2K/qB-QueueMETA.git
mv qB-QueueMETA /opt/
cd /opt/qB-QueueMETA
pip install -r requirements.txt
nano config.yaml
Key | Type | Default | Description |
---|---|---|---|
host |
string | Required | qBittorrent WebUI endpoint (host:port) |
username |
string | "" |
WebUI authentication username |
password |
string | "" |
WebUI authentication password |
interval |
integer | 60 |
Polling interval in seconds |
once |
boolean | false |
Single execution mode |
verbose |
boolean | false |
Enable debug logging |
verify_certificate |
boolean | true |
SSL validation (May need to disable if using self-signed certs) |
python3 qB-QueueMETA.py --config config.yaml [--host] [--username] [--password] [--interval]
sudo systemctl edit qB-QueueMETA --full --force
[Unit]
Description=qB-Queueᴹᴱᵀᴬ - Metadata Exception & Temporary Access for qBittorrent torrents.
After=network.target qbittorrent.service
StartLimitIntervalSec=1d
StartLimitBurst=10
[Service]
Type=simple
User=qbittorrent-nox
SyslogIdentifier=qB-QueueMETA
WorkingDirectory=/opt/qB-QueueMETA/
ExecStart=/usr/bin/python3 /opt/qB-QueueMETA/qB-QueueMETA.py --config /opt/qB-QueueMETA/config.yaml
Restart=on-failure
RestartSec=3600s
[Install]
WantedBy=multi-user.target
sudo systemctl start qB-QueueMETA.service
sudo systemctl status qB-QueueMETA.service
sudo systemctl enable qB-QueueMETA.service
# View service logs
sudo journalctl -u qb-queuemeta.service -f
# Test qBittorrent API accessibility
curl -v host:port/api/v2/app/preferences
# Test configuration
python3 qB-QueueMETA.py --config config.yaml --verbose
PRs welcome! Please follow:
- Fork repository
- Create feature branch (
git checkout -b feature/amazing-feature
) - Add changes (
git add .
) - Commit changes (
git commit -m 'Add amazing feature'
) - Push branch (
git push origin feature/amazing-feature
) - Open PR
This project is licensed under the GNU Affero General Public License v3.0.
This means:
- You can use, modify, and distribute this software freely
- You must disclose source code of any modified versions
- Network services using this code must provide source to users
- All derivative works must remain under AGPLv3
Full license text available in LICENSE file.
Disclaimer: This project is not affiliated with qBittorrent or its developers. Use at your own risk.