This minimal-config docker image will run alongside your transmission installation, check for active non-private torrents, and update their trackers (add additional trackers) using a user-defined tracker-list such as the ones provided by @ngosang at https://github.com/ngosang/trackerslist or @corralpeltzer's newTrackOn Lists
The tracker list will only be downloaded every 8 hours by default, but this frequency can be modified by environment variables.
Torrents are checked every 2 minutes (this can also be customized by environment variables)
If a torrent already has the additional trackers present, no changes will be made. This app will also not make any tracker modifications to torrents flagged as private.
Please note this is a v1 project. While it's been tested on my own setup, there may be issues and configurations that have not been fully tested. Report issues in Issues
docker command-lineAdd additional environment variables as needed; see the table below for details.
docker run --rm --name transmission-trackers \
-e TRANSMISSION_HOST=transmission \
djmemo/transmission-trackers:latest
docker run --rm --name transmission-trackers \
-e TRANSMISSION_HOST=transmission \
-e TRACKERS_LIST=https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best_ip.txt \
djmemo/transmission-trackers:latest
docker-composeCreate a docker-compose.yml file as below (and customize with environment entries from the table below if you need) and start with docker-compose up -d
services:
transmission-trackers:
container_name: transmission-trackers
image: djmemo/transmission-trackers:latest
environment:
TRANSMISSION_HOST: 192.168.1.225 # ip or name of your transmission instance
TRANSMISSION_PORT: 9092 # no need for this setting if transmission is running on the default port
TRACKERS_LIST: https://newtrackon.com/api/98?min_age_days=5 # use any URL that returns a line-separated list of trackers
restart: unless-stopped
See the table of Environment variables you can add below to either docker-compose.yml or the docker run command.
You can set these as needed to override the defaults. If the defaults are acceptable, there is no need to add the variables.
| Variable | Description | Default Value |
|---|---|---|
TRANSMISSION_HOST | IP or hostname of transmission host | transmission |
TRANSMISSION_PORT | Port of transmission host | 9091 |
TRACKERS_LIST | URL for tracker list | https://newtrackon.com/api/stable |
TRANSMISSION_USER | Username for transmission. Ignore if no auth needed. | transmission |
TRANSMISSION_PASS | Password for transmission. Ignore if no auth needed. | password |
TORRENT_CHECK_PERIOD | How frequent (in seconds) we'll check for active torrents | 120 (2 minutes) |
TORRENT_IGNORE_PRIVATE | Allow processing private torrents (bypass private torrent check) | False |
TRACKER_EXPIRATION | How long downloaded tracker list will kept (in seconds) before downloading the latest | 28800 (8 hours) |
DEBUG | Enables more verbose output for tracker and torrent updates | False |
⚠️ WARNING: USE WITH CAUTION ⚠️
The following variables allow you to replace trackers on private torrents. This is an advanced feature with important implications:
Modifying trackers on private torrents can have serious consequences:
This feature should ONLY be used if you fully understand and accept these risks. It is designed for specific use cases like replacing dead/zombie trackers with approved alternatives, NOT for general tracker modification.
| Variable | Description | Default Value |
|---|---|---|
OVERRIDE_PRIVATE | REQUIRED: Set to true to enable private torrent tracker replacement. Must be explicitly set to activate this feature. | false |
ZOMBIE_TRACKERS_LISTE_MATCH | URL returning a line-separated list of trackers to detect/remove from private torrents. Only trackers in this list will be replaced. | null |
ZOMBIE_TRACKERS_LISTE_REPLACE | URL returning a line-separated list of replacement trackers to add when a match is found. | null |
OVERRIDE_PRIVATE=true:ZOMBIE_TRACKERS_LISTE_MATCHZOMBIE_TRACKERS_LISTE_REPLACE are addedReplace dead/zombie trackers on a private torrent:
services:
transmission-trackers:
container_name: transmission-trackers
image: djmemo/transmission-trackers:latest
environment:
TRANSMISSION_HOST: 192.168.1.225
OVERRIDE_PRIVATE: "true"
ZOMBIE_TRACKERS_LISTE_MATCH: https://example.com/zombie_trackers.txt
ZOMBIE_TRACKERS_LISTE_REPLACE: https://example.com/replacement_trackers.txt
restart: unless-stopped
OVERRIDE_PRIVATE as false (default) unless you have a specific, legitimate reason to enable itYou can use any URL that returns a line-separated list of trackers, so find your favorite list and use that one. I have not added support to combine lists, nor currently will this remove trackers that fall off the lists as they're updated, but if there's demand for that, it could be added.
In the case of the newtrackon list, you can use the API as you see fit:
https://newtrackon.com/api/stable - stable listhttps://newtrackon.com/api/98?min_age_days=5 - list with 98%+ uptime, and 5+ tracker age in daysContent type
Image
Digest
sha256:de2b5ade9…
Size
23.2 MB
Last updated
7 months ago
docker pull djmemo/transmission-trackers