Skip to main content

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

Project description

# trMaid

Takes care of transmission settings, keeps torrents under check and adds em from feed or redis queue (well list actually)

## About configuration (~/.trmaid.conf file)

### Sections:

#### [host]

[host] redis = redis://localhost:6379 url = http://127.0.0.1:9091/transmission/rpc username = transmission password = transmission

Well that seems self explanatory…

#### [session]

[session] alt-speed-enabled = False download-dir = /home/path/Downloads incomplete-dir = /home/path/Downloads/incomplete blocklist-enabled = True blocklist-update-interval = 168 blocklist-url = http://list.iblocklist.com/?list=bt_level1

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).

#### [general-tracker]

[general-tracker] 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

#### [host.tld] 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:*]

[location:/home/path/Downloads] seedRatioLimit = 1.5 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. I use it to set special values to [CouchPotato](https://github.com/RuudBurger/CouchPotatoServer) torrents that saves torrents to specific location but does not support setting peer and/or speed limits.

#### [rss:*]
[rss:http://www.ezrss.it/search/index.php?simple&show_name=FakeShow&mode=rss] 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

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:*]

[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

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.1.6
Filename, size File type Python version Upload date Hashes
Filename, size trmaid-0.1.6.tar.gz (8.5 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