putioarr 0.1.0

put.io to sonarr/radarr proxy
# putioarr

Proxy that allows put.io to be used as a download client for Sonarr/Radarr. The proxy uses the Transmission protocol.

## Installation

`cargo install putioarr`

## Usage

- Get a put.io API key: `putioarr get-token`
- Run the proxy:`putioarr run -s <file state is kept> -a <putio API key> -d <sonarr/radarr download dir>`
- Configure the Transmission download client in Sonarr/Radarr:
    - Url Base: /transmission
    - Username: anything goes
    - Password: <putio API key>
    - Directory: <sonarr/radarr download dir>
- Make sure Sonarr/Radar uses hardlinks rather than copy

## Behavior:
The proxy will upload torrents or magnet links to put.io. It will then continue to monitor transfers. When a transfer is completed, all files belonging to the transfer will be downloaded to the specified download directory. The proxy will remove the files after Sonarr/Radarr has imported them. If a file is determined to be imported if it has more than one hardlink pointed to it.


## TODO:
- Better Error handling
- Multi-threaded downloads
- The session ID provided is hard coded. Not sure if it matters.
- Add option to not delete downloads (in case no hardlinks can be used)
- Docker image

## Thanks
Thanks to [davidchalifoux](https://github.com/davidchalifoux) for borrowed code from kaput-cli.