{"id":13760703,"url":"https://github.com/hekmon/transmissionbutler","last_synced_at":"2025-12-15T03:48:15.642Z","repository":{"id":57582778,"uuid":"123730327","full_name":"hekmon/transmissionbutler","owner":"hekmon","description":"TransmissionButler automatically manages the seed time of your torrents","archived":true,"fork":false,"pushed_at":"2020-05-18T15:45:56.000Z","size":97,"stargazers_count":5,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-11-16T18:34:02.534Z","etag":null,"topics":["automation","bot","control","golang","ratio","seeding","torrent-management","transmission"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hekmon.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}},"created_at":"2018-03-03T20:51:59.000Z","updated_at":"2024-02-03T22:13:42.000Z","dependencies_parsed_at":"2022-09-26T19:31:00.627Z","dependency_job_id":null,"html_url":"https://github.com/hekmon/transmissionbutler","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hekmon%2Ftransmissionbutler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hekmon%2Ftransmissionbutler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hekmon%2Ftransmissionbutler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hekmon%2Ftransmissionbutler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hekmon","download_url":"https://codeload.github.com/hekmon/transmissionbutler/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253410633,"owners_count":21904127,"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","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":["automation","bot","control","golang","ratio","seeding","torrent-management","transmission"],"created_at":"2024-08-03T13:01:17.784Z","updated_at":"2025-12-15T03:48:10.572Z","avatar_url":"https://github.com/hekmon.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# TransmissionButler\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/hekmon/transmissionbutler)](https://goreportcard.com/report/github.com/hekmon/transmissionbutler)\n\nAutomagically manages your torrents seed life !\n\n* Manages/maintains a minimal global ratio\n* Does not mess with seeding torrents with custom ratio (skips them)\n* (optionnal) Allows a limited period of free seed (no ratio period before switching back to the global ratio or custom ratio mode)\n* (optionnal) Auto deletes finished torrents (for stopped torrents with ratio above their configured target)\n\n## Options / Configure\n\n### Config file\n\n```json\n{\n    \"server\": {\n        \"host\": \"127.0.0.1\",\n        \"port\": 9091,\n        \"https\": false,\n        \"user\": \"rpcuser\",\n        \"password\": \"rpcpassword\"\n    },\n    \"butler\": {\n        \"check_frequency_minutes\": 60,\n        \"free_seed_days\": 90,\n        \"target_ratio\": 4,\n        \"restore_custom\": true,\n        \"delete_when_done\": true\n    },\n    \"pushover\": {\n        \"app_key\": null,\n        \"user_key\": null\n    }\n}\n```\n\n### Behavior\n\n(based on previous config file)\n\nEvery `60` minutes the butler will check the global ratio setting and will scan each torrent:\n\n* If the torrent is sending:\n  * and has a custom ratio, it will be skipped for seeding tests\n  * since less than `90` days, ratio will be deactivated for this torrent (free seed period)\n  * since more than `90` days:\n    * custom ratio will be activated if the torrent has a custom ratio value saved different than the global ratio (because of `restore_custom`)\n    * global ratio will be activated as either `restore_custom` is off or the saved custom ratio value matches the global ratio value\n* (because of the `delete_when_done`) The torrent will be deleted along with its files if it is completed/stopped and is:\n  * on the global ratio mode and have a ratio above the global setting (`4`)\n  * on a custom ratio mode and have its current ratio above its custom ratio\n\nNote that you can set `unlimited_seed_days` to `0` in order to deactivate the unlimited seed period.\n\nIn order to have [pushover](https://pushover.net/) notifications from the butler, `app_key` and `user_key` must not be `null`.\n\n## Build / Install\n\nCheck the [releases](https://github.com/hekmon/transmissionbutler/releases) page !\n\n### Simple / Trying out\n\n```bash\n# Build\ngo get -u github.com/hekmon/transmissionbutler\ncd \"$GOPATH/src/github.com/hekmon/transmissionbutler\"\ngo install\n# Configure\nvim config.json\n# Run\n./transmissionbutler\n```\n\n### Debian package\n\n#### Build locally\n\n```bash\ngo get -u github.com/hekmon/transmissionbutler\napt install -y --no-install-recommends debhelper build-essential dh-systemd\ncd \"$GOPATH/src/github.com/hekmon/transmissionbutler\"\ndebuild --preserve-envvar PATH --preserve-envvar GOROOT -us -u\n```\n\n#### Build with Docker\n\n```bash\ngo get -u github.com/hekmon/transmissionbutler\ncd \"$GOPATH/src/github.com/hekmon/transmissionbutler\"\ndocker build -t go-debian-builder debian/go-debian-builder\ndocker run --rm -v \"$GOPATH/src\":/go/src -w /go/src/github.com/hekmon/transmissionbutler go-debian-builder dpkg-buildpackage -us -uc -b\n```\n\n#### Install / Configure / Run\n\n```bash\n# Install\ndpkg -i ../transmissionbutler_X.Y.Z_amd64.deb\n# Configure\nvim /etc/transmissionbutler/config.json\n# Run\nsystemctl start transmissionbutler.service\nsystemctl status transmissionbutler.service\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhekmon%2Ftransmissionbutler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhekmon%2Ftransmissionbutler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhekmon%2Ftransmissionbutler/lists"}