Skip to main content

Automatically remove torrents according to your strategies.

Project description

PyPI GithubActionsCI ReadTheDocs Coverage Codacy Downloads MIT

This program can help you to remove your torrents. Now you don’t need to worry about your disk space - according to your strategies, the program will check each torrent if it satisfies the remove condition; If so, delete it automatically.

This program supports qBittorrent/Transmission/μTorrent. If you like, star it :star2: :)

Documentation: https://autoremove-torrents.readthedocs.io/en/latest/

Readme version in other languages: 简体中文.

Requirements

  • Python 2.7 or Python 3

We recommend you to use Python 3.6 or higher version of Python.

Quick Start

Installation

Install from pip

pip install autoremove-torrents

or

Install from GitHub

git clone https://github.com/jerrymakesjelly/autoremove-torrents.git
cd autoremove-torrents
python3 setup.py install

Write your configuration file

In order to satisfactory your needs, you have to learn how to write a configuration file.

You can put the configuration file anywhere on your disk. The autoremove-torrents looks for config.yml in the Shell’s current working directory:

vim ./config.yml

The grammar is quite easy, for example:

my_task:
  client: qbittorrent
  host: http://127.0.0.1
  username: admin
  password: adminadmin
  strategies:
    my_strategy:
      categories: IPT
      remove: seeding_time > 1209600 or ratio > 1
  delete_data: true

The program will delete those torrents whose categories are IPT, seeding time is above 1209600 seconds or ratio is greater than 1. Read the documents to learn more.

Run

autoremove-torrents

If you just want to see which torrents can be removed but don’t want to really remove them, use --view command line argument.

Setting up scheduled tasks

If you want to check whether there is any torrent can be removed every 15 minutes, the crontab can help you. Look at the example:

crontab -e

And then, add a line at the end of the file (please confirm the path of the autoremove-torrents and your program):

*/15 * * * * /usr/bin/autoremove-torrents --conf=/home/jerrymakesjelly/autoremove-torrents/config.yml --log=/home/jerrymakesjelly/autoremove-torrents/logs

The --conf indicates the path to the configuration file. The --log argument specifies the path to store the log files (Must be existed).

Screenshot

Screenshot

Changelog

Sun, 19 June 2022: Version 1.5.4.

Changes

  • Remove outgoing port status info. (#101) (#135)
    • We have confirmed a bug, which is, the outgoing port status checker will fail and report ‘portTested: http error 400: Bad Request’ when we are using Transmission and check the outgoing port status in IPv6 network.

    • Since there are no configurations relying on this status, we remove it.

  • Change last_activity’s behaviour. (#93) (#98) (#109)
    • It won’t remove those torrents that have never been active anymore.

    • These torrents that have never been active can be removed by the following configuration:
      • last_activity: never or last_activity: none for last_activity condition.

      • last_activity = never or last_activity = none for remove expression.

Features

  • Add remove-slow-upload-seeds and remove-fast-upload-seeds in actions. (#127) Thanks to @vincent906!

  • Support equality (=) comparison in remove expression.

  • Add downloading time condition. (#88) Thanks to @dantebarba!

Fix

  • Fix a bug that Downloaded/Uploaded Size conditions and free_space/remote_free_space cannot handle decimals correctly. (#133) Thanks to @sfwn!

  • Fix a bug that last_activity condition doesn’t work in Deluge 2.0.3 and above. (#119)

More changelogs

TODO List

Depend on users’ feedback. If you have any problem, please submit issues.

Click here to see the TODO List.

Project details


Download files

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

Source Distribution

autoremove-torrents-1.5.4.tar.gz (26.8 kB view details)

Uploaded Source

Built Distribution

autoremove_torrents-1.5.4-py3-none-any.whl (49.0 kB view details)

Uploaded Python 3

File details

Details for the file autoremove-torrents-1.5.4.tar.gz.

File metadata

  • Download URL: autoremove-torrents-1.5.4.tar.gz
  • Upload date:
  • Size: 26.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.5

File hashes

Hashes for autoremove-torrents-1.5.4.tar.gz
Algorithm Hash digest
SHA256 d53361fc66c8e9a2af3835321a3f491ea7cbbf254ddbc0c0cb7be7f289e7f9d9
MD5 f95e69924fcdb165636367b135365daf
BLAKE2b-256 ab7afe4c9ef1fad548b4696929e144597dd220c0e390ced0f71c2556cb2fe3c3

See more details on using hashes here.

File details

Details for the file autoremove_torrents-1.5.4-py3-none-any.whl.

File metadata

File hashes

Hashes for autoremove_torrents-1.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 471d986999cb3a2416534350b3caa5f5134c374ec75718b687dda9a28812168a
MD5 23d00894215ebc5b0146adeb90988679
BLAKE2b-256 193e89d966974c31cd78ec9c3bdc3958ab709590728f63bfb0bec865772d2df4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page