Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/itschasa/speedrr

Dynamically manage upload speeds on torrent clients, with Plex/Jellyfin intergration.
https://github.com/itschasa/speedrr

jellyfin plex qbittorrent speed-manager torrent torrenting torrents upload-speed

Last synced: about 1 month ago
JSON representation

Dynamically manage upload speeds on torrent clients, with Plex/Jellyfin intergration.

Awesome Lists containing this project

README

        


speedrr


speedrr - Dynamic Upload Speed Manager for Torrenting

Change your torrent client's upload speed dynamically, on certain events such as:
- When a Plex/Jellyfin stream starts
- Time of day and day of the week
- More coming soon!

This script is ideal for users with limited upload speed, however anyone can use it to maximise their upload speed, whilst keeping their Plex/Jellyfin streams buffer-free!

## Features
- Multi-server support for Plex, Jellyfin, and Tautulli.
- Supports qBittorrent (more clients soon, maybe).
- Multi-torrent-client support.
- Bandwidth is split between them, by number of downloading/uploading torrents.
- Schedule a time/day when upload speed should be lowered.

## Setup

### Docker
Pull the image with:
```cmd
docker pull itschasa/speedrr
```

Your config file should be stored outside of the container, for easy editing.

You can then add a volume to the container (like /data/), which points to a folder where your config is stored.

Example `docker run` command:
```
docker run -d
-e SPEEDRR_CONFIG=/data/config.yaml
-v /folder_with_config/:/data/
--name speedrr
--network host
itschasa/speedrr
```

### Unraid
1. Open your console and run the following command:
```
cd /boot/config/plugins/dockerMan/templates-user && touch my-speedrr.xml && nano my-speedrr.xml
```
2. Go to speedrr-unraid.xml, and copy and paste it into your console.
3. Press Ctrl+O, then Enter, then Ctrl+X (to save the file and exit).
4. Open your WebUI > `Docker` > `Add Container`.
5. Click `Select a template`, and select `speedrr`.
6. The options should be fine as they are defaulted. Apply changes.
7. Using the template, create config.yaml in your /appdata/speedrr/ folder, and fill out the config.
8. Start/Restart the container in the WebUI.
9. Check everything is working in the logs (Docker Logs).

### Source
1. Download the source code.
2. Install Python 3.10 (other versions should work).
3. Install the required modules with `python -m pip install -r requirements.txt`.
4. Edit the config to your liking.
5. Run `python main.py --config_path config.yaml` to start.

## Contributing
Anyone is welcome to contribute! Feel free to open pull requests.

## Issues and Bugs
Please report any bugs in the Issues section.

## Feature Suggestions
Got an idea for the project? Suggest it here!