Skip to main content

Auto Remove Torrents

This unofficial app installation script is provided for your convenience. The script is provided as-is and may not be updated or maintained by Ultra.cc. Customers are welcome to use and customize unofficial app installers for their unique needs and requirements. Unofficial support may be offered via Discord only and at the sole discretion of Ultra.cc staff. Use at your own risk and only proceed if you are comfortable managing the application on your own.

Autoremove Torrents is an open-source Python project that allows the automatic removal of torrents from various torrent clients based on configurable criteria. It can help manage disk space by deleting torrents when they are finished seeding. Here's the GitHub page of the project.

Features

  • Remove torrents automatically based on ratio, seeding time, inactivity and more
  • Monitor disk space and remove torrents if space runs low
  • Remove oldest, biggest, smallest torrents first
  • Support for all major torrent clients
  • Dry run mode to test without removing
  • Schedule via crontab for hands-off automation

Supported Clients

Autoremove Torrents works with the following torrent clients:

  • It supports connecting to the web UI for qBittorrent, Transmission, and μTorrent (not on Ultra.cc).
  • For Deluge, it connects directly to the daemon via the RPC protocol.

Installation

  • Connect to your Ultra.cc service via SSH
  • There are two ways to install Autoremove Torrents:

From PyPI

This will install the latest stable release:

pip install autoremove-torrents

From Source

This allows installing the development version:

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

Configuration

Autoremove Torrents uses a YAML configuration file to define the torrent clients and removal rules.

Client Configuration

First, you need to specify connection details for each torrent client:

qbittorrent:
  client: qbittorrent
  host: https://username.hostname.usbx.me/qbittorrent
  username: <your-username>
  password: <your-password>

deluge:
  client: deluge
  host: IP:Daemon port
  username: <your-username>
  password: <your-password>
  • The client parameter specifies the client name, while host contains the URL or IP address + port.
  • The username and password are login credentials for the web UI or daemon.

Removal Strategies

Next, define removal strategies under each client. For example:

strategies:

  delete_seeds:
    remove: ratio > 2

  clear_space:
    free_space:  
      min: 10
      path: /downloads
      action: remove-big-seeds
  • You can customize removal rules based on ratio, seed time, activity, disk space and more. See the full documentation for details on all available options.

  • Strategies will only apply to the client they are defined under. You can create multiple strategies per client.

Usage

  • To run with the default config.yml:
autoremove-torrents --config config.yml
  • Specify a custom config path:
autoremove-torrents --config /home/user/myconfig.yml
  • Single Task:
autoremove-torrents --config config.yml --task transmission
  • Dry run:
autoremove-torrents --view --config config.yml --task transmission

Dry run allows you to see what would be deleted without actually removing anything.

Automation

  • Open Crontab using crontab -e.
  • Select 1 for the nano editor.
  • You can setup a cron job or scheduled task to run autoremove-torrents automatically. For example:
# Run at 2AM every day
0 2 * * * /path/to/autoremove-torrents --config /home/user/myconfig.yml
  • Save the crontab file using ctrl + o & exit using ctrl + x.
  • A simple and quick resource for cron schedule expressions: Crontab Guru

Uninstallation

  • If installed via pip:
pip uninstall autoremove-torrents
  • Also if there is a config directory left at ~/.config or ~/.apps run :
rm -rf ~/.config/autoremove-torrents && rm -rf ~/.apps/autoremove-torrents
  • For manual installs, delete the autoremove-torrents folder and any installed files/packages.