Download Clients¶
Tracker Tracker connects to qBittorrent's web interface to pull live torrent data. This powers the Torrents tab on the dashboard — showing active downloads and uploads, speeds, seeding counts, ratio histograms, and cross-seed stats.
Supported Clients¶
| Client | Status |
|---|---|
| qBittorrent | Supported |
| Deluge | Coming soon |
| Transmission | Coming soon |
| rTorrent | Coming soon |
Adding a Client¶
Go to Settings → Download Clients and fill in the connection details:
| Field | Notes |
|---|---|
| Name | A label for this client |
| Host | Hostname or IP — do not include http:// or https:// |
| Port | Default qBittorrent Web UI port is 8080 |
| Username | qBittorrent Web UI username |
| Password | qBittorrent Web UI password |
| Use SSL | Enable if your qBittorrent Web UI is served over HTTPS |
SSL/port mismatch
The form will warn you if SSL is on with port 80, or SSL is off with port 443. These combinations are usually misconfigured. You can still save, but double-check your settings.
After saving, use the Test Connection button to confirm Tracker Tracker can reach and authenticate with qBittorrent.
Linking Trackers to a Client¶
Each tracker can have a qBittorrent tag assigned to it. Set this tag to match the label you use in qBittorrent for that tracker's torrents.
When Tracker Tracker polls for torrent data, it fetches only torrents with the matching tag — so you get per-tracker stats rather than a combined total.
To assign a tag, open the tracker's settings page and fill in the qBittorrent tag field.
How Polling Works¶
Tracker Tracker uses two separate polling loops:
Fetches current upload/download speeds from qBittorrent. This is a single lightweight request. The result shows in the sidebar speed display and in the uptime tracker.
Fetches the full torrent list for each configured tag, then aggregates per-tag stats: seeding count, leeching count, speeds. The result is saved as a snapshot.
This loop also caches the torrent list so the Torrents tab has data to show even if qBittorrent is briefly unreachable.
Both loops reuse the existing session. qBittorrent only re-authenticates if the session expires (which shows up as a 403 response).
Cross-Seed Detection¶
If you use cross-seed to find matching torrents across trackers, you can configure cross-seed tags on the download client. Any torrent tagged with one of those tags is counted separately in the cross-seed stats on the Torrents tab — so you can see how many of your torrents are cross-seeded vs. original grabs.
Set the cross-seed tags in the client's settings after adding it. Common tags are cross-seed (the default from cross-seed) or category-based variants like cs-link-movies, cs-link-tv.
![]()
For more on setting up cross-seed itself, see the cross-seed documentation.
Privacy: What Gets Stripped¶
Tracker Tracker deliberately removes certain fields from torrent data before caching or displaying it:
- Announce URLs (these contain your tracker passkey)
- File paths on disk
This applies everywhere — the dashboard, the cached torrent list, and any API response.
Credential Security¶
Your qBittorrent username and password are encrypted at rest. They're decrypted in memory only when a poll is about to run, used for authentication, and never written to logs.
Troubleshooting¶
| Error | Meaning |
|---|---|
ECONNREFUSED |
qBittorrent is not running, or the port is wrong |
ENOTFOUND |
The hostname couldn't be resolved — check for typos |
ETIMEDOUT / timed out after 15s |
qBittorrent didn't respond in time — check that it's reachable from the Docker container |
Authentication failed — check username and password |
Wrong credentials |
Authentication failed — SID cookie not found in response |
Unexpected response from qBittorrent — check that the Web UI is enabled in qBittorrent's settings |
If the Test Connection button reports an error, it always forces a fresh login attempt — it won't reuse a cached session. So the error you see reflects the actual current state.