{"id":37131728,"url":"https://github.com/agunal/krantor","last_synced_at":"2026-01-14T15:16:27.960Z","repository":{"id":183553654,"uuid":"670340094","full_name":"agunal/krantor","owner":"agunal","description":"Automated download initiator for put.io. Fork of https://gitlab.com/klippz/krantor and https://gitlab.com/paulirish/krantor","archived":false,"fork":false,"pushed_at":"2023-07-30T08:27:38.000Z","size":11,"stargazers_count":5,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-06-21T18:53:45.222Z","etag":null,"topics":["docker","go","putio","torrent"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agunal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2023-07-24T20:41:48.000Z","updated_at":"2024-03-02T17:56:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"828f4760-452e-4e30-81f2-5ba7b9a0417b","html_url":"https://github.com/agunal/krantor","commit_stats":null,"previous_names":["agunal/krantor"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/agunal/krantor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agunal%2Fkrantor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agunal%2Fkrantor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agunal%2Fkrantor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agunal%2Fkrantor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agunal","download_url":"https://codeload.github.com/agunal/krantor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agunal%2Fkrantor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28424104,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T13:30:50.153Z","status":"ssl_error","status_checked_at":"2026-01-14T13:29:08.907Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["docker","go","putio","torrent"],"created_at":"2026-01-14T15:16:27.245Z","updated_at":"2026-01-14T15:16:27.946Z","avatar_url":"https://github.com/agunal.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"Automated download initiator for put.io. Fork of https://gitlab.com/klippz/krantor and https://gitlab.com/paulirish/krantor\n\nFixes broken Docker build, includes improvements made in the paulirish version, updates Go version and Put.io Go API client.\n\nIncludes synology build script from paulirish version too, but it is untested.\n\nOnly watches one directory and sends to one put.io folder for transfer. So deploy additional containers with respective environment variables as per your needs.\n\nFor API Key: https://help.put.io/en/articles/5972538-how-to-get-an-oauth-token-from-put-io\n\nTo find your put.io folder id (for `PUTIO_DOWNLOAD_FOLDER_ID` docker environment variable), go into your put.io folder in your browser and copy the number in the URL:\n```\nhttps://app.put.io/files/\u003cfolder-id\u003e\n```\n\nIntegrated setup example: https://www.reddit.com/r/putdotio/comments/136u8r2/comment/jisszuf/\n\u003eUse Krantor https://gitlab.com/klippz/krantor This gets torrents from sonarr into put.io Set up as a Download Client \u003e Torrent blackhole. Follow readme instructions, however I do separate local folders for Torrent and Watch. My putio download folder is named /dropzone/TV. (I also follow the TRaSH guide for hardlinks)\n\u003e\n\u003eYou need something to automatically download from put.io into your local \"downloads\" folder. (Probably.) I use rclone. Set up rclone and add a putio remote. Test it with rclone ls and stuff. Here's the rclone command that'll move (copy and delete) files from putio to your machine: rclone -v --config=\"pathto/rclone.conf\" --log-file=\"pathto/rclone.log\" move putio:dropzone/TV /data/Downloads/TV/ --delete-empty-src-dirs I run this every 30 minutes. You probably want to ensure a second invocation doesn't overlap, so.. handle that with your task scheduler mechanism or manually with flock.\n\u003e\n\u003eI personally never understood how people use Sonarr when all indexers are paid/private except for rarbg (and rarbg frequently 429s). I found a solution with Jackett. In there, I added EZTV, 1337, TPB.. and then hooked Sonarr up to those. Finally both search and rss both work effectively.\n\u003e\n\u003eIf using radarr, repeat all the above with it for movies. I personally get a lot of value from Sonarr, but for movies the chill.institute + download (manually, ftp, rclone, etc) seems fine and radarr seems kinda overkill. But to each their own. :)\n\n\n---\n\n\n# Krantor\n\nAfter searching for something that could help facilitate transfering files from local/apps/services to Putio, nothing corresponded to what I was looking for.\nAlmost all projects were at least 2years old.\n\nSo I decided to do something simple in Go, Krantor\n\n## Table of Contents\n\n* [Installation](#installation)\n* [Configuration](#configuration)\n* [Advanced Usage](#advanced-usage)\n  * [Docker](#docker)\n  * [Docker-compose](#docker-compose)\n* [How to use with Sonarr/Radarr](#how-to-use-with-sonarr/radarr)\n* [Example](#example)\n\n## Installation\n\nJust build the image with the given Dockerfile:\n\n    docker build --no-cache -t krantor .\n\n## Configuration\n\nTo make it run, you need to set 3 ENV variables:\n```\nPUTIO_TOKEN               [Putio Token to communication with their APIs]\nPUTIO_WATCH_FOLDER        [Folder to watch for new files]\nPUTIO_DOWNLOAD_FOLDER_ID  [ID of the folder in PUTIO where you want to uplaod the file, in general it's 0 but could be something else]\n```\nTo know the DOWNLOAD_FOLDER_ID, just go to your Putio account a chose the folder where you want your file to bbe uploaded\nIn the URL, you should see something like: `https://app.put.io/files/your_folder_id`\n\n## Advanced Usage\n\n### Docker\n\n```\ndocker create \\\n  --name=krantor \\\n  -e PUTIO_TOKEN=xxx \\\n  -e PUTIO_WATCH_FOLDER=/torrents \\\n  -e PUTIO_DOWNLOAD_FOLDER_ID=0 \\\n  -v /path/to/torrent:/torrents \\\n  --restart unless-stopped \\\n  krantor\n```\n\n### Docker-compose\n\n```\n---\nversion: \"3.7\"\nservices:\n  putio:\n    image: krantor\n    container_name: krantor\n    environment:\n      - PUTIO_TOKEN=xxx\n      - PUTIO_WATCH_FOLDER=/torrents\n      - PUTIO_DOWNLOAD_FOLDER_ID=0\n    volumes:\n      - /path/to/torrent:/torrents\n    restart: unless-stopped\n```\n\n### How to use with Sonarr/Radarr\nWhat you have to do is:\n * Go to your Radarr/Sonarr configuration\n * `Download Client` tab\n * Add a new `torrent blackhole` client\n * Chose a name\n * In torrent \u0026 watch folder, put the same folder you set as `PUTIO_WATCH_FOLDER`\n   * If for `PUTIO_WATCH_FOLDER` you set `/torrent`, you should put the same in torrent \u0026 watch folder\n * Save magnet file !!\n * Done !\n\n### Example\n![alt text](https://i.imgur.com/1jUU1xn.png \"Example of logs given by Krantor\")\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagunal%2Fkrantor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagunal%2Fkrantor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagunal%2Fkrantor/lists"}