{"id":14248233,"url":"https://github.com/itschasa/speedrr","last_synced_at":"2025-08-12T09:31:39.420Z","repository":{"id":244463554,"uuid":"815311050","full_name":"itschasa/speedrr","owner":"itschasa","description":"Dynamically manage speeds on torrent clients, with Plex/Jellyfin/Emby intergration.","archived":false,"fork":false,"pushed_at":"2025-07-16T10:54:03.000Z","size":109,"stargazers_count":71,"open_issues_count":4,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-17T14:48:26.993Z","etag":null,"topics":["jellyfin","plex","qbittorrent","speed-manager","torrent","torrenting","torrents","upload-speed"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itschasa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-06-14T20:36:02.000Z","updated_at":"2025-07-16T10:54:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"6dde58d9-4523-4fd5-89b5-0f48851353ec","html_url":"https://github.com/itschasa/speedrr","commit_stats":null,"previous_names":["itschasa/speedrr"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/itschasa/speedrr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itschasa%2Fspeedrr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itschasa%2Fspeedrr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itschasa%2Fspeedrr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itschasa%2Fspeedrr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itschasa","download_url":"https://codeload.github.com/itschasa/speedrr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itschasa%2Fspeedrr/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270038746,"owners_count":24516631,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jellyfin","plex","qbittorrent","speed-manager","torrent","torrenting","torrents","upload-speed"],"created_at":"2024-08-22T00:00:40.153Z","updated_at":"2025-08-12T09:31:39.411Z","avatar_url":"https://github.com/itschasa.png","language":"Python","readme":"\u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/itschasa/speedrr/master/images/speedrr_text.png\" alt=\"speedrr\" width=\"336\" height=\"84\"\u003e\n    \u003cbr/\u003e\n    \u003ch1\u003espeedrr - Dynamic Upload and Download Speed Manager for Torrenting\u003c/h1\u003e\n\u003c/p\u003e\n\nChange your torrent client's upload speed dynamically, on certain events such as:\n- When a Plex/Jellyfin/Emby stream starts\n- Time of day and day of the week\n- \u003ci\u003eMore coming soon!\u003c/i\u003e\n\n\nChange your torrent client's download speed dynamically, on certain events such as:\n- Time of day and day of the week\n- \u003ci\u003eMore coming soon!\u003c/i\u003e\n\n\nThis script is ideal for users with limited upload speed, however anyone can use it to maximise their upload speed, whilst keeping their Plex/Jellyfin/Emby streams buffer-free! Also great to adjust the download rate during the day, in case the bandwidth is needed for something else!\n\n\n## Features\n- Multi-server support for Plex, Jellyfin, Emby, and Tautulli.\n- Supports qBittorrent and Transmission.\n- Multi-torrent-client support.\n    - Bandwidth is split between them, by number of downloading/uploading torrents.\n- Schedule a time/day when upload speed should be lowered.\n\n\n## Setup\n\n### Docker\nPull the image with:\n```cmd\ndocker pull itschasa/speedrr\n```\n\nYour config file should be stored outside of the container, for easy editing.\n\nYou can then add a volume to the container (like /data/), which points to a folder where your config is stored.\n\nExample `docker run` command:\n```\ndocker run -d\n    -e SPEEDRR_CONFIG=/data/config.yaml\n    -v /folder_with_config/:/data/\n    --name speedrr\n    --network host\n    itschasa/speedrr\n```\n\n### Unraid\n1. Open your console and run the following command:\n```\ncd /boot/config/plugins/dockerMan/templates-user \u0026\u0026 touch my-speedrr.xml \u0026\u0026 nano my-speedrr.xml\n```\n2. Go to \u003ca href=\"https://raw.githubusercontent.com/itschasa/speedrr/main/speedrr-unraid.xml\"\u003espeedrr-unraid.xml\u003c/a\u003e, and copy and paste it into your console.\n3. Press Ctrl+O, then Enter, then Ctrl+X (to save the file and exit).\n4. Open your WebUI \u003e `Docker` \u003e `Add Container`.\n5. Click `Select a template`, and select `speedrr`.\n6. The options should be fine as they are defaulted. Apply changes.\n7. Using the \u003ca href=\"https://github.com/itschasa/speedrr/blob/main/config.yaml\"\u003etemplate\u003c/a\u003e, create config.yaml in your /appdata/speedrr/ folder, and fill out the config.\n8. Start/Restart the container in the WebUI.\n9. Check everything is working in the logs (Docker Logs).\n\n### Source\n1. Download the source code.\n2. Install Python 3.10 (other versions should work).\n3. Install the required modules with `python -m pip install -r requirements.txt`.\n4. Edit the config to your liking.\n5. Run `python main.py --config_path config.yaml` to start.\n\n\n## Contributing\nAnyone is welcome to contribute! Feel free to open pull requests.\n\n## Issues and Bugs\nPlease report any bugs in the \u003ca href=\"https://github.com/itschasa/speedrr/issues\"\u003eIssues\u003c/a\u003e section.\n\n## Feature Suggestions\nGot an idea for the project? Suggest it \u003ca href=\"https://github.com/itschasa/speedrr/issues\"\u003ehere\u003c/a\u003e!\n","funding_links":[],"categories":["Python","🌌 Related"],"sub_categories":["📜 Snippets"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitschasa%2Fspeedrr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitschasa%2Fspeedrr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitschasa%2Fspeedrr/lists"}