Skip to content

Automatically update your torrents with the most active trackers. Optimize your download speeds and reach more peers. Keep your torrents alive.

License

Notifications You must be signed in to change notification settings

GreatNewHope/docker-qbittorrent-trackers-injector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 

Repository files navigation

qBittorrent Trackers Updater – Dockerized Service

GitHub Workflow Status GHCR License: MIT

🚀 This container runs AddqBittorrentTrackers.sh on a schedule to ensure all your public torrents in qBittorrent are updated with the latest public trackers from ngosang/trackerslist.

📌 This tool is different from claabs/qbittorrent-tracker-updater, which only updates qBittorrent's default settings (used for new torrents).
This container actively updates existing torrents using the qBittorrent API — hands-free and fully automated.

✨ Based on Jorman's script, this project wraps it into a production-ready Docker service.


✅ Features

  • 🧠 Automatically updates existing torrents with new trackers
  • 🌍 Supports multiple qBittorrent instances via QBT_HOSTS and QBT_PORTS
  • ⚙️ (Optional) Also updates qBittorrent's default setting for appending trackers to new downloads
  • 🐳 Fully compatible with linuxserver/qbittorrent
  • 🔒 Supports both authenticated and auth-bypassed WebUI setups
  • 🔎 Skips private torrents
  • 🧩 Works out of the box with gluetun and VPN setups
  • 🪶 Lightweight, scheduled, and self-healing (restart: unless-stopped)

📦 Docker Compose Example

If you're using a VPN container like gluetun, run the updater in the same network namespace:

services:
  qbittorrent_trackers_updater:
    image: ghcr.io/greatnewhope/qbittorrent-trackers-updater:latest
    container_name: qbittorrent_trackers_updater
    env_file:
      - .env.qbittorrent_trackers_updater
    network_mode: "service:gluetun"
    restart: unless-stopped

If you're not using a VPN container:

services:
  qbittorrent_trackers_updater:
    image: ghcr.io/greatnewhope/qbittorrent-trackers-updater:latest
    container_name: qbittorrent_trackers_updater
    env_file:
      - .env.qbittorrent_trackers_updater
    networks:
      - net
    restart: unless-stopped

networks:
  net:
    external: true

⚙️ Environment Variables

Create a .env.qbittorrent_trackers_updater like this:

# List of qBittorrent hosts and ports (comma-separated)
QBT_HOSTS=http://localhost,http://192.168.1.42
QBT_PORTS=8080,8081

# Optional: if not using bypass auth
QBT_USERNAME=admin
QBT_PASSWORD=adminadmin

# Set to true if using qBittorrent's "Bypass authentication for localhost"
QBT_AUTH_BYPASS=false

# Interval in seconds between runs (default is 7200 = 2 hours)
INTERVAL_SECONDS=7200

# Optional: also update qBittorrent's "add_trackers" config with latest public trackers
UPDATE_DEFAULT_TRACKERS=true

# Optional: enable debug logs
DEBUG=true

🔁 The script loops through each qBittorrent instance and injects updated trackers. ✍️ If UPDATE_DEFAULT_TRACKERS=true, the "Automatically add these trackers to new downloads" setting will be updated using the same list.


🛡️ Authentication Tips

If you're using the linuxserver/qbittorrent container, and you've enabled:

⚙️ Settings → Web UI → “Bypass authentication for clients on localhost”

Then:

  • Set QBT_USERNAME= and QBT_PASSWORD=
  • And set QBT_AUTH_BYPASS=true
  • The script will skip the login step and go straight to tracker injection

🧊 Future Plans

  • Keep improving the service from user feedback.

🙏 Credits


Feel free to open an issue or contribute if you want to help make it better!

About

Automatically update your torrents with the most active trackers. Optimize your download speeds and reach more peers. Keep your torrents alive.

Topics

Resources

License

Stars

Watchers

Forks

Packages