skip to navigation
skip to content

trmaid 0.6.7

Tool to maintain transmission (bittorrent) settings, add items from feeds and redis queues

# trMaid

[![Can I Use Python 3?](](

Looks after your transmission settings, keeps torrents under check and adds them
from feed or redis queue/list.

## About configuration (*~/.trmaid.yaml* file)

### Sections:

username: transmission
password: transmission

Well that seems self explanatory...

redis: redis://localhost:6379
verify: False
verbose: True

redis is the url to redis, verify is to whether the SSL verification is done and
verbose is for displaying the messages or not ('-v' in arguments overrides it to

alt-speed-enabled: False
blocklist-enabled: True
blocklist-update-interval: 168
download-dir: /home/path/Downloads
incomplete-dir: /home/path/Downloads/incomplete

Here you can define transmissions session-set parameters - every time script
runs, it checks if they match the given parameters here and if they don't,
script will update them with session-set call. Magic variable here is
"blocklist-update-interval". If blocklist-url has been configured and enabled
script will execute the *blocklist-update* request every X hour (168 hours / a
week in examples case).

seedRatioLimit = 1.5
seedRatioMode = 1
seedRatioLimited = True
ratio: 0.2
status: stopped
done-time: 18h
with-data: True

This section might include all *torrent-set* parameters + 'remove-if' part. If
there is remove-if present, torrent is removed if it matches the present
conditions: ratio (>=), status and done-time (eg. 1h or 1d for time since
torrent was finished).

location: /home/path/Downloads/private-tracker

location: /home/path/Downloads/random
peer-limit: 10
seedRatioLimit: 5.0
seedRatioMode: 1
seedRatioLimited: True

This is same as *general-tracker*, but is used if announce urls hostname matches it.
Once match is found *general-tracker* and *location:...* sections are skipped. Use
it to set special values to eg. private trackers.

peer-limit: 15
uploadLimit: 20
uploadLimited: True
seedRatioLimit: 1.0
seedRatioMode: 1
seedRatioLimited: True

This special section is identical to *general-tracker* but its parameters here
are only set if torrents download location matches one in the section name. Once
match is found *general-tracker* is skipped.

download-dir: /home/path/Downloads/tv-shows
peer-limit: 15
downloadLimit: 1024
downloadLimited: False
uploadLimit: 50
uploadLimited: True
seedRatioLimit: 5.0
seedRatioMode: 1
seedRatioLimited: True
- udp://
- udp://
- udp://
- ^some\.regex\.here
- ^and(\-|\s|\.)here

Parameters here are either torrent-add or torrent-set parameters. Previous
example adds torrents from ezrss "FakeShow" feed, adding them to 'tv-shows'
directory and sets peer/download/upload limits. *matches* is a list of regular
expressions - if exists, title has to match one of them.

peer-limit: 20
uploadLimit: 5
uploadLimited: True

Here torrent urls or magent links are popped (lpop) out of the list "list-4-lpop"
mentioned in section name. Otherwise its the same as *rss:....* section

peer-limit: 30
uploadLimit: 150
uploadLimited: True
seedRatioLimit: 11.0
seedRatioMode: 1
seedRatioLimited: True
- udp://

If you have "watch-folders" section in your configuration file and that folder
really exists, files with "torrent" extensions are added just as from rss or redis.
After added, they are renamed from "*.torrent" file to "*.torrent.added" file.

You can read more about *session-set*, *torrent-add* and *torrent-set* requests from here:
[transmssion rpc spec ](

NB! things break, use at your own risk and only download legal stuff! ;)

File Type Py Version Uploaded on Size
trmaid-0.6.7-py2.py3-none-any.whl (md5) Python Wheel py2.py3 2016-12-28 13KB
trmaid-0.6.7.tar.gz (md5) Source 2016-12-28 11KB