Skip to main content

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

Project description

# trMaid

[![Can I Use Python 3?](https://caniusepython3.com/project/trmaid.svg)](https://caniusepython3.com/project/trmaid)

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

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

### Sections:

transmission:
url: http://127.0.0.1:9091/transmission/rpc
username: transmission
password: transmission

Well that seems self explanatory...

general:
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
True)

session:
alt-speed-enabled: False
blocklist-enabled: True
blocklist-update-interval: 168
blocklist-url: http://list.iblocklist.com/?list=bt_level1
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).


tracker:
general:
remove-stopped-after-hours: 24
remove-stopped-after-ratio: 1.2
seedRatioLimit = 1.5
seedRatioMode = 1
seedRatioLimited = True

This section might include all *torrent-set* parameters and additionally four
of the following:

* remove-stopped-after-hours - torrent gets removed if its stopped and it has been finished for X hours
* remove-stopped-after-ratio - torrent gets removed if its stopped and its ratio is at-least X
* remove-after-hours - torrent gets removed if it has been finished for X hours
* remove-after-ratio - torrent gets removed if its ratio is at-least X

_Note_ - existing previous 4 parameters must all be matched to remove torrent
automatically. Eg. if you have *remove-after-ratio* and *remove-stopped-after-hours* - torrent has to be stopped


tracker:
host.tld:
location: /home/path/Downloads/private-tracker

host2.tld:
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.


location:
/mnt/movies:
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.

rss:
http://www.ezrss.it/feed:
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
trackerAdd:
- udp://tracker.istole.it:80
- udp://tracker.openbittorrent.com:80
- udp://tracker.publicbt.com:80

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.


redis:
list-4-lpop:
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


watch-folders:
/home/user/auto-add-torrents:
peer-limit: 30
uploadLimit: 150
uploadLimited: True
seedRatioLimit: 11.0
seedRatioMode: 1
seedRatioLimited: True
trackerAdd:
- udp://tracker.istole.it:80

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 ](https://trac.transmissionbt.com/browser/trunk/extras/rpc-spec.txt)


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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for trmaid, version 0.5.2
Filename, size File type Python version Upload date Hashes
Filename, size trmaid-0.5.2.tar.gz (10.7 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page