= Transmission Scripts = == Introduction == Thanks to the powerful [wiki:rpc], {{{transmission-remote}}} can talk to any client that has the rpc enabled. This means that a script written using {{{transmission-remote}}} 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: {{{do shell script "path/to/script"}}}. == 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 a torrent completes. These environment variables are set: * TR_TORRENT_DIR * TR_TIME_LOCALTIME * TR_TORRENT_ID * TR_TORRENT_HASH * TR_APP_VERSION * TR_TORRENT_NAME [https://trac.transmissionbt.com/browser/trunk/extras/send-email-when-torrent-done.sh 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 [http://github.com/wereHamster/transmission/tree/master/contrib/scripts/ github repository]. 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