Skip to main content
Integrate TrackersList with Transmission using community-maintained scripts that automatically update trackers for your torrents. Multiple implementations are available in both Python and Bash.

Overview

Transmission integration scripts connect to your Transmission daemon via RPC and add the latest TrackersList trackers to all active torrents. Several community-maintained options are available.

Prerequisites

Before you begin, ensure you have:
  • Transmission daemon running
  • Python 3.x or Bash shell
  • transmission-remote CLI tool installed
  • RPC access enabled in Transmission settings

Available Scripts

Multiple community-maintained tools are available for Transmission integration:

Python Script

Full-featured Python implementation by blind-oracle

Bash Script 1

Lightweight bash script by AndrewMarchukov

Bash Script 2

Alternative bash implementation by oilervoss

Bash Script 3

Additional bash script by Jorman

Python Script Installation

The Python script provides the most features and is actively maintained.
1

Install the script

Clone the repository:
git clone https://github.com/blind-oracle/transmission-trackers.git
cd transmission-trackers
2

Install dependencies

Install required Python packages:
pip install -r requirements.txt
Or manually install:
pip install transmission-rpc requests
3

Configure Transmission RPC

Ensure RPC is enabled in Transmission. Edit ~/.config/transmission-daemon/settings.json:
"rpc-enabled": true,
"rpc-username": "your_username",
"rpc-password": "your_password",
"rpc-port": 9091,
"rpc-whitelist-enabled": false
Restart Transmission daemon after changes:
systemctl restart transmission-daemon
4

Run the script

Execute the script with your RPC credentials:
python transmission-trackers.py \
  --host localhost \
  --port 9091 \
  --user your_username \
  --password your_password

Bash Script Installation

For a lightweight solution without Python dependencies, use one of the bash scripts.

Using AndrewMarchukov’s Script

1

Download the script

git clone https://github.com/AndrewMarchukov/tracker-add.git
cd tracker-add
chmod +x tracker-add.sh
2

Configure variables

Edit the script to set your Transmission settings:
nano tracker-add.sh
Update:
  • Transmission RPC host and port
  • Username and password
  • Tracker list URL (use TrackersList URL)
3

Run the script

./tracker-add.sh

Using Jorman’s Script

1

Download the script

wget https://raw.githubusercontent.com/Jorman/Scripts/master/addtransmissiontrackerssh
chmod +x addtransmissiontrackerssh
2

Edit configuration

nano addtransmissiontrackerssh
Configure Transmission connection details and tracker list URL.
3

Execute

./addtransmissiontrackerssh

Automation

Schedule automatic tracker updates using cron or systemd timers.

Cron Setup

1

Create a wrapper script

Create a script to run your chosen implementation:
cat > /usr/local/bin/update-transmission-trackers.sh << 'EOF'
#!/bin/bash
cd /path/to/transmission-trackers
python transmission-trackers.py --host localhost --port 9091 --user username --password password
EOF

chmod +x /usr/local/bin/update-transmission-trackers.sh
2

Add cron job

crontab -e
Add entry to run daily at 2 AM:
0 2 * * * /usr/local/bin/update-transmission-trackers.sh >> /var/log/transmission-trackers.log 2>&1

Systemd Timer (Alternative)

1

Create service file

Create /etc/systemd/system/transmission-trackers.service:
[Unit]
Description=Update Transmission Trackers
After=transmission-daemon.service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/update-transmission-trackers.sh
User=transmission
2

Create timer file

Create /etc/systemd/system/transmission-trackers.timer:
[Unit]
Description=Update Transmission Trackers Daily

[Timer]
OnCalendar=daily
Persistent=true

[Install]
WantedBy=timers.target
3

Enable and start timer

systemctl daemon-reload
systemctl enable transmission-trackers.timer
systemctl start transmission-trackers.timer
systemctl status transmission-trackers.timer
Systemd timers are more reliable than cron and provide better logging and monitoring capabilities.

Tracker List Selection

Choose your preferred TrackersList URL in the script configuration:
TRACKER_URL="https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt"

Manual Integration

To manually add trackers using transmission-remote:
1

List all torrents

transmission-remote -n 'username:password' -l
2

Download tracker list

curl -o trackers.txt https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt
3

Add trackers to a torrent

# For a specific torrent ID (e.g., 1)
while read tracker; do
  transmission-remote -n 'username:password' -t 1 -td "$tracker"
done < trackers.txt
4

Add to all torrents

# Get all torrent IDs and add trackers
transmission-remote -n 'username:password' -l | sed -e '1d;$d;s/^\s*//' | cut -d ' ' -f1 | while read id; do
  while read tracker; do
    transmission-remote -n 'username:password' -t "$id" -td "$tracker"
  done < trackers.txt
done
Manual integration must be repeated for new torrents and doesn’t receive automatic tracker list updates.

Troubleshooting

  • Verify Transmission daemon is running: systemctl status transmission-daemon
  • Check RPC settings in settings.json
  • Ensure correct host, port, username, and password
  • Check firewall rules if connecting remotely
  • Verify username and password in Transmission settings
  • Check that rpc-authentication-required is true in settings.json
  • Try resetting the password in Transmission settings
  • Verify internet connectivity
  • Check if the TrackersList URL is accessible
  • Try using a mirror URL from the TrackersList repository
  • Check for proxy or firewall blocking the request
Ensure you’ve installed the required dependencies:
pip install transmission-rpc requests
Or use a virtual environment:
python -m venv venv
source venv/bin/activate
pip install transmission-rpc requests

Additional Resources

Transmission Documentation

Official Transmission repository and documentation

transmission-rpc Docs

Python library documentation for Transmission RPC

TrackersList Repository

View all available tracker lists

transmission-remote Manual

Command-line reference for transmission-remote

Build docs developers (and LLMs) love