Tool to maintain transmission (bittorrent) settings, add items from feeds and redis queues
Project description
# trMaid
[](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! ;)
[](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
Release history Release notifications
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
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 |