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, whilehost
contains the URL or IP address + port. - The
username
andpassword
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
- Specify a custom config path:
autoremove-torrents --conf=/path/to/config.yml
- Single Task:
autoremove-torrents --conf=/path/to/config.yml --task transmission
- Dry run:
autoremove-torrents --view --conf=/path/to/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 --conf=/path/to/config.yml
- Save the crontab file using
ctrl + o
& exit usingctrl + 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.