Skip to content

Scripts

JohnClay edited this page Jun 29, 2018 · 1 revision

Table of Contents

Transmission Scripts

Introduction

Thanks to the powerful [wiki:rpc], can talk to any client that has the rpc enabled. This means that a script written using or [wiki:rpc] can, without rewrite, comunicate with all the Transmission clients: GTK+ client, Mac client and the daemon.

Mac OS users may wonder wether there will be Applescript scripts, the answer is no. Although Applescript is a nice technology, it's a pain to implement. However, Mac OS X is a Unix after all, so any script you find here will also work on the Mac. Even from within Applescript, you can run these scripts by typing: .

How-To

If you are interested at writing scripts for Transmission, have a look at the following pages:

 * [wiki:man Transmission man pages]
 * [wiki:ConfigFiles Configuration Files]
 * [wiki:EditConfigFiles Editing Configuration Files]
 * [wiki:EnvironmentVariables Environment Variables]
 * [wiki:rpc RPC Protocol Specification]

For those who need more information how to use the scripts, have a look at the following links:

 * [https://help.ubuntu.com/community/CronHowto Cron How-To]: Run scripts at a regular interval

Scripts

Start/Stop

 * [wiki:Scripts/initd init.d script] (Debian, Ubuntu and BSD deratives)
 * [wiki:Scripts/runscript runscript] (Gentoo and other {{{runscript}}} compatible systems)

On Torrent Completion

Transmission can be set to invoke a script when downloads complete. The environment variables supported are:

 * TR_APP_VERSION
 * TR_TIME_LOCALTIME
 * TR_TORRENT_DIR
 * TR_TORRENT_HASH
 * TR_TORRENT_ID
 * TR_TORRENT_NAME

Here is an example script that sends an email when a torrent finishes.

Obsoleted

Functionality of these scripts has been implemented in libtransmission and is thus available in all clients.

 * [wiki:Scripts/EmailNotifier Email Notification Script]
 * [wiki:Scripts/BlockListUpdater Block List Updater]
 * [wiki:Scripts/Watchdog Watch Directory Script]
 * [wiki:Scripts/Scheduler Bandwidth Scheduler]

contrib/scripts

Tomas Carnecky (aka wereHamster) is maintaining a set of scripts in his github repository.

Falk Husemann (aka hxgn) is maintaining scripts in his blog.

oguz wrote on his blog a PHP script to stop Transmission after it finishes downloading and seeding. Scripts which have not yet been ported and may not work with the latest version:

 * http://pastie.org/338556: Python - Fetch new torrents from tvrss
 * http://pastie.org/338555: PHP - Stop finished torrents
 * http://pastie.org/443058: Perl - Network traffic graph, based on rrdtool (example: http://skitch.com/werehamster/bmjg8/bittorrent-traffic)
 * http://transmission.pastebin.com/QzVxQDtM: Bash - (cron)script to keep a maximum number of torrents running; starting and pausing torrents as necessary
 * https://github.com/jaboto/Transmission-script - (cron)script set network limits according to the number of clients in the network
You can’t perform that action at this time.