{"id":18451854,"url":"https://github.com/RoyXiang/putcallback","last_synced_at":"2025-04-08T02:32:56.638Z","repository":{"id":39892204,"uuid":"446438403","full_name":"RoyXiang/putcallback","owner":"RoyXiang","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-07T11:32:02.000Z","size":321,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-09-07T12:41:18.819Z","etag":null,"topics":["putio"],"latest_commit_sha":null,"homepage":"","language":"Go","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/RoyXiang.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}},"created_at":"2022-01-10T13:39:45.000Z","updated_at":"2024-08-14T03:55:22.000Z","dependencies_parsed_at":"2023-02-16T14:01:11.056Z","dependency_job_id":"8a15d8f6-adb8-44d6-b4c8-e00528a4153e","html_url":"https://github.com/RoyXiang/putcallback","commit_stats":null,"previous_names":[],"tags_count":45,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoyXiang%2Fputcallback","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoyXiang%2Fputcallback/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoyXiang%2Fputcallback/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoyXiang%2Fputcallback/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RoyXiang","download_url":"https://codeload.github.com/RoyXiang/putcallback/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223300382,"owners_count":17122590,"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":["putio"],"created_at":"2024-11-06T07:29:42.420Z","updated_at":"2024-11-06T07:29:48.379Z","avatar_url":"https://github.com/RoyXiang.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# putcallback\n\n`putcallback` is a program which handles callback from [Put.io](https://put.io/).\nIt will move files from Put.io to any other storage supported by [rclone](https://rclone.org/).\n\n## Prerequisites\n\n1. Please ensure `rclone` is installed (version \u003e= 1.52.0)\n2. Please ensure both `src` and `dest` are configured as valid rclone remotes,\n   and `src` should be a remote whose type is `putio`.\n\n## Install\n\nDownload from [Releases](https://github.com/RoyXiang/putcallback/releases/latest), or build by yourself:\n\n```sh\nenv CGO_ENABLED=0 go install -trimpath -ldflags=\"-s -w\" github.com/RoyXiang/putcallback@latest\n```\n\n## Usage\n\n1. Setup environment variables\n   * `REMOTE_SRC` and `REMOTE_DEST` (default: `src:` and `dest:`)\n     * If something like `rclone move putio: drive:Downloads/` is wanted,\n       set `REMOTE_SRC` to `putio:` and `REMOTE_DEST` to `drive:Downloads/`\n   * `MAX_TRANSFERS` (default: the maximum number of simultaneous tasks allowed by your Put.io subscription)\n   * `DELAY_BEFORE_TRANSFER` (default: `0s`)\n     * Delay before moving files to the destination so that you can manipulate files on Put.io first\n   * `EXCLUDE_FILETYPES` (e.g. `exe,log`)\n     * Certain file types may be excluded from transferring\n   * `RENAMING_STYLE`: `tv` or `anime` (default: `none`)\n     * If this is set, all files downloaded by single-file transfers\n       would be renamed so to be identified by media systems like Plex, Emby, Jellyfin, etc.\n   * `PUSHOVER_APP_TOKEN` and `PUSHOVER_USER_TOKEN`\n     * If these two are set, a notification would be sent through [Pushover](https://pushover.net/) after files transferred to `dest`.\n   * `TELEGRAM_BOT_TOKEN` and `TELEGRAM_CHAT_ID`\n     * If these two are set, a notification would be sent through Telegram bot after files transferred to `dest`.\n2. Run the program. Set it up as a service by any means, e.g. systemd, nohup, supervisor, etc.\n3. Make it accessible from outside. The program listens on `:1880` by default, set up a proxy to that port.\n4. Set up callback URL on [Settings](https://app.put.io/account/settings/transfers/callback-url) page,\n   e.g. `http://[your ip]:1880/`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRoyXiang%2Fputcallback","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRoyXiang%2Fputcallback","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRoyXiang%2Fputcallback/lists"}