Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/itschasa/speedrr
- Owner: itschasa
- License: gpl-3.0
- Created: 2024-06-14T20:36:02.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-12-05T08:23:22.000Z (about 2 months ago)
- Last Synced: 2024-12-05T09:28:11.436Z (about 2 months ago)
- Topics: jellyfin, plex, qbittorrent, speed-manager, torrent, torrenting, torrents, upload-speed
- Language: Python
- Homepage:
- Size: 73.2 KB
- Stars: 17
- Watchers: 3
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-jellyfin - speedrr - Change your torrent client's upload speed dynamically, on certain events such as when a Plex/Jellyfin stream starts. (👾 Other)
README
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!