atput v0.2.0
ATPut
Tool for attaching Radarr, Sonarr blackhole downloader to PutIO service for fast torrent downloads.
:warning: Experimental Warning:
This project is still in early phase development, things may change, break, or disappear without notice. Your media center files should be safe, this application does not touch those. Torrent files however are touched directly by this application.
Todo:
- Handle/Catch all errors emitted
- Validate Put.IO token on application start
- Check Put.IO account for storage limits
- Download and extract zip to tmp directory to prevent incomplete scans from Radarr/Sonarr.
- Explore possibility of emulating download client API for seamless Radarr/Sonarr integration
- Explore possibility of a small middlware plugin layer (Maybe allow files to be ran through ffmpeg before import?)
Getting Started
Application is put together using GitHub actions and auto published as a docker image and an npm package. Docker is the preferred way at the moment so most documentation will be for docker.
You must generate an API OAuth token on Put.io. Once an OAuth token is generated, pass it in using --token
or set the env variable TOKEN
to the token value. ATPut will not be able to function without this token!
Docker
sudo docker run -d --restart always -v /opt/atput/torrents:/app/torrents -v /opt/atput/downloads:/app/downloads -e TOKEN=xxx_replace_me --name atput ghcr.io/domkalan/atput
NPM
npm i -g atput
atput --help
Radarr/Sonarr Setup
Torrent Blackhole Client
Under download clients, create a new Torrent Blackhole downloader. Set the torrent folder to your ATPut watch directory, and then set the watch folder to your ATPut download directory.
Configuration
Configuration can be set via environment variables or command line arguments.
Command | Environment | Required | Default | Description |
---|---|---|---|---|
--token | TOKEN | true | N/A | Provides the application with the token to access Put.io service. |
--downloaddir | DOWNLOADDIR | false | ./downloads | The directory the application will save downloaded files to. |
--watchdir | WATCHDIR | false | ./torrents | The directory the application will watch for new torrents. |
--deletetorrent | DELETETORRENT | false | false | Should ATPut delete the torrent/magnet file when download is finished. Accepts true /false value. |
--transferlimit | TRANSFERLIMIT | false | 3 | How many transfer should be sent at once, once this number is hit a queue is used. Accepts any number value. |
--nodownload | NODOWNLOAD | false | false | Should ATPut only add files for transfer, not package and download. |