hoarder/README.md

80 lines
3.2 KiB
Markdown
Raw Normal View History

2016-05-13 19:38:24 -04:00
[![Build Status](https://travis-ci.org/tblyler/hoarder.svg?branch=master)](https://travis-ci.org/tblyler/hoarder)
2016-05-13 17:38:53 -04:00
# Hoarder
Uploads .torrent files from a local "blackhole" to a remote (SSH) rtorrent watch folder. From there, rtorrent is polled over XMLRPC as to whether the torrent is completed. Finally, the files are downloaded over a multithreaded SSH connection and saved to the local machine. The blackhole is used as a queue and will have its .torrent files deleted.
2014-05-02 09:49:56 -04:00
2016-05-13 17:38:53 -04:00
# Installation
## Manual
1. Install [Go](https://golang.org) for your Operating System
2. Run `$ go get -u github.com/tblyler/hoarder/cmd/hoarder`
2016-05-13 17:38:53 -04:00
3. If your `GOPATH` is in your `PATH`, run `$ hoarder -config $PATH_TO_HOARDER_CONF`
2016-05-17 11:57:29 -04:00
## Precompiled
1. Go to the [Hoarder releases page](https://github.com/tblyler/hoarder/releases)
2. Look at whichever release you're interested in
3. Download a precompiled binary for the given operating system of your choice
4. Make the binary executable and run
2016-05-13 17:38:53 -04:00
# Configuration
## Example
```yaml
# The file mode to use for downloaded files and directories
file_download_filemode: 0777
2016-05-13 17:38:53 -04:00
# The correlation of .torrent file paths and where their contents should be downloaded to"
watch_to_download_paths:
/home/tblyler/torrent_files/tv: /home/tblyler/Downloads/tv
/home/tblyler/torrent_files/movies: /home/tblyler/Downloads/movies
/home/tblyler/torrent_files: /home/tblyler/Downloads
2016-05-13 17:38:53 -04:00
# The root path to temporarily download to and then move to the folder in the setting above. The destination path is created underneath the temp_download_path
temp_download_path: /home/tblyler/tempDownloads
2016-05-13 17:38:53 -04:00
# If defined, the finished .torrent files finished are moved to their respected path here. Otherwise, they are deleted.
watch_to_finish_path:
/home/tblyler/torrent_files/tv: /home/tblyler/completed_torrent_files/tv
/home/tblyler/torrent_files: /home/tblyler/completed_torrent_files
2016-05-13 17:38:53 -04:00
# The time in nano seconds to update the list of torrents and their statuses in rTorrent
rtorrent_update_interval: 60000000000
2016-05-13 17:38:53 -04:00
# The number of concurrent completed torrent downloads to have at one time
download_jobs: 2
2016-05-13 17:38:53 -04:00
2016-05-14 11:32:24 -04:00
# Whether or not to attempt to resume a previously interrupted download
resume_downloads: true
# Path to the unix socket file that hoarder uses for RPC
rpc_socket_path: /tmp/hoarder.sock
rtorrent:
# The address to the rtorrent XMLRPC endpoint
addr: https://mycoolrtorrentserver.com/XMLRPC
2016-05-13 17:38:53 -04:00
# true to ignore the certificate authenticity; false to honor it
insecure_cert: false
2016-05-13 17:38:53 -04:00
# The HTTP Basic auth username to use for rtorrent's XMLRPC
username: JohnDoe
2016-05-13 17:38:53 -04:00
# The HTTP Basic auth password to use for rtorrent's XMLRPC
password: "correct horse battery staple"
2016-05-13 17:38:53 -04:00
ssh:
# The ssh username to use for getting finished torrents from the remote host
username: JohnDoe
2016-05-13 17:38:53 -04:00
# You may choose to use an ssh key or ssh password. If both are supplied, the password will not be used.
2016-05-13 17:38:53 -04:00
# The SSH password to use for SSH authentication
password: "correct horse battery staple SSH"
2016-05-13 17:38:53 -04:00
# The path to the private SSH key for SSH authentication
privkey_path: /home/tblyler/.ssh/id_rsa
2016-05-13 17:38:53 -04:00
# The SSH address to connect to
addr: "mysshserver.com:22"
2016-05-13 17:38:53 -04:00
# The time in nano seconds to wait for an SSH connection attempt
connect_timeout: 30000000000
2016-05-13 17:38:53 -04:00
```