harrychin / qbittorrent-mover

A tool to automatically move torrents to different categories based on their state.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

qBittorrent File Mover

version 0.1

A Rust-based tool to automate the management of completed torrents in qBittorrent, moving files based on categories and ensuring seamless organization.

Overview

qBittorrent File Mover is designed to help users automatically manage their downloaded torrents. Once a torrent completes downloading in qBittorrent, this tool checks its category, and based on predefined configurations, moves the downloaded file to the appropriate directory.

Features

  • Monitor qBittorrent for completed torrents.

  • Move completed torrents to directories based on their category.

  • Supports multiple qBittorrent instances.

  • Rate limiting to avoid overloading the qBittorrent server.

  • Configurable via a YAML file.

  • Logging support.

Prerequisites

  • Rust (latest stable version recommended).

  • qBittorrent with Web UI enabled.

Installation

  1. Clone the repository:

    $ git clone https://github.com/harrychin/qbittorrent_file_mover.git
    $ cd qbittorrent_file_mover
  2. Build the project:

    $ cargo build --release
  3. The compiled binary will be available under target/release.

Usage

  1. Before running the tool, ensure you’ve set up the config.yaml file (see Example Configuration) with your qBittorrent server details and desired settings.

  2. Execute the binary:

    $ ./target/release/qbittorrent_file_mover
  3. The tool will now monitor qBittorrent for completed torrents and move them based on your configurations.

Contributing

We welcome contributions! If you find a bug or want to propose a new feature:

  1. Fork the repository.

  2. Create a new branch for your changes.

  3. Make your changes.

  4. Submit a pull request.

License

This project is licensed under the AGPLv3+ License. See the LICENSE file for details.

Contact

If you have any questions or feedback, please open an issue on GitHub. We appreciate your input!

Example Configuration

This is an example of what your config.yaml should look like. Fill in the placeholders with your actual data.

servers:
  - qbit_url: "http://localhost:8080"
    username: "admin"
    password: "adminadmin"
    categories:
      distros: "/path/to/distros/directory"
    root_path: ""
    path_prefix: ""
rate_limit_delay: 5
log_file: "qbittorrent-mover.log"
max_log_file_size: "10M"

About

A tool to automatically move torrents to different categories based on their state.

License:GNU Affero General Public License v3.0


Languages

Language:Rust 100.0%