{"id":13569101,"url":"https://github.com/JohnDoee/autotorrent2","last_synced_at":"2025-04-04T05:31:29.047Z","repository":{"id":38387268,"uuid":"494994914","full_name":"JohnDoee/autotorrent2","owner":"JohnDoee","description":"Cross-seed matching and torrent lifecycle tool","archived":false,"fork":false,"pushed_at":"2024-08-09T18:02:13.000Z","size":2845,"stargazers_count":164,"open_issues_count":16,"forks_count":12,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-06T05:37:38.471Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://johndoee.github.io/autotorrent2/","language":"Python","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/JohnDoee.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2022-05-22T07:54:46.000Z","updated_at":"2025-02-28T05:41:16.000Z","dependencies_parsed_at":"2024-01-16T20:24:11.306Z","dependency_job_id":"8648974b-f70b-4dc0-90c6-9395502a2449","html_url":"https://github.com/JohnDoee/autotorrent2","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnDoee%2Fautotorrent2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnDoee%2Fautotorrent2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnDoee%2Fautotorrent2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohnDoee%2Fautotorrent2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JohnDoee","download_url":"https://codeload.github.com/JohnDoee/autotorrent2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247128702,"owners_count":20888232,"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":[],"created_at":"2024-08-01T14:00:36.010Z","updated_at":"2025-04-04T05:31:28.759Z","avatar_url":"https://github.com/JohnDoee.png","language":"Python","funding_links":[],"categories":["BT","Python"],"sub_categories":["Cross Seed Helpers"],"readme":"# Autotorrent2\n\n![Test result](https://github.com/JohnDoee/autotorrent2/actions/workflows/main.yml/badge.svg?branch=master)\n\nMatch torrents and data, remove torrents based on data, cleanup your disk for unseeded files.\nAutotorrent2 does everything you currently miss in your flow.\n\n## Supported\n\n* Torrent clients: rtorrent, Deluge, Transmission and qBittorrent\n* OS: Any, but only tested on linux\n* Python: 3.7+ are the only tested versions, might work with lower 3.x.\n\n## Quickstart guide\n\nInstall Autotorrent2\n\n```bash\npython3 -m venv ~/.autotorrent # Create virtual environment where we install autotorrent2\n~/.autotorrent/bin/pip install autotorrent2 # Actually install autotorrent2\n\n# Optional, add at2 to your commandline\necho \"alias at2=~/.autotorrent/bin/at2\" \u003e\u003e ~/.bashrc\nsource ~/.bashrc\n```\n\nThe first time Autotorrent2 is run without a known config file, it will create a base config file.\n\n```bash\nat2 check-config\n```\n\nThe default location is ~/.config/autotorrent/config.toml - edit it to match your setup.\nSee the example configuration file for setting description [found here](config.example.toml).\n\nTest the connections and see if it can connect to all your configured clients.\n\n```bash\nat2 test-connection\n```\n\nNow you are ready to actually use it, check out the [Usage page for fun things to do](https://johndoee.github.io/autotorrent2/usage/) and [CLI page for featurelist](https://johndoee.github.io/autotorrent2/cli/)\n\n## Note about running autotorrent2 in a script\n\nIt can be fun to run scripts automatically and see cross-seeding just happen.\nAutotorrent2 is not really designed for multiple instances at once so it is recommenced to use a lock to prevent this.\n\nInstead of just `at2` then use e.g. `flock ~/.autotorrent.lock -c 'at2'` which prevents multiple instances of Autototrrent2 at once.\n\n## Note about Docker\n\nIf you use Autotorrent2 in a docker container or with a torrent client running in docker then the recommendation is to align the paths.\nIf your torrent data is located in /mnt/data outside docker then you should map it similarly inside the docker container and you will save yourself from a lot of headaches.\n\nPersonally I recommend mounting your data source as read-only because bittorrent clients are write-happy that might corrupt your data.\n\n## Docker usage\n\nThere is a docker image published automatically now.\n\nBasic usage:\n\n```bash\ndocker run -ti --rm -v ${PWD}/autotorrent.db:autotorrent.db -v ${PWD}/config.toml:config.toml ghcr.io/johndoee/autotorrent2:master check-config\n```\n\nCron usage, check config every 5 minute.\n\n```bash\ndocker run -ti --rm -v ${PWD}/autotorrent.db:autotorrent.db -v ${PWD}/config.toml:config.toml ghcr.io/johndoee/autotorrent2:master cron '*/5 * * * *' check-config\n```\n\n## Todo\n\nAssortment of stuff that is planned.\n\n- [ ] When Autotorrent2 is working on a task, e.g. copying a file to cache, then it might look like as it is stalled. An indicator should be added.\n- [ ] Client normalization indexing, e.g. index based on how transmission and qbittorrent handles problematic filenames\n- [ ] Torrent discovery for a torrent site.\n\n## Known bugs\n\nAssortment of stuff I am not sure I can do much about.\n\n- [ ] Transmission (3.x) does not parse all emojis correctly and will return the wrong filename. [This is fixed in Transmission 4.0.2.](https://github.com/transmission/transmission/pull/5096)\n\n## License\n\nMIT","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJohnDoee%2Fautotorrent2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJohnDoee%2Fautotorrent2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJohnDoee%2Fautotorrent2/lists"}