Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tsrivishnu/do-torrent-downloader

Program to download torrents on a DigitalOcean droplet and securely copy them to your local disk.
https://github.com/tsrivishnu/do-torrent-downloader

digital-ocean-droplet download-torrents golang torrent-downloader

Last synced: 30 days ago
JSON representation

Program to download torrents on a DigitalOcean droplet and securely copy them to your local disk.

Awesome Lists containing this project

README

        

# DigitalOcean torrent downloader

Program to download torrents using `qbittorrent` on a droplet on Digitalocean and Rsync the files via SSH to the local disk.

> Note: I built this program to download legal torrents to a machine that is behind a firewall preventing torrent traffic. This program can howwever download any torrent but the user needs to be careful and know whether they are legally allowed to download the torrents they are downloading.

### Prerequisites

* DigitalOcean's Personal Access Token for API access. You can manage them [here](https://cloud.digitalocean.com/settings/applications)
* Custom image on DigitalOcean with [`qbittorrent-nox`](https://github.com/qbittorrent/qBittorrent) installed.
* SSH access to the droplet usign a key file that is not password protected. (Will support password protected files soon in later versions.)
* `rsync` program installed on the host machine.

### Installation

* Download the latest release (1.1.0)
```
bash -c "`curl -sL https://raw.githubusercontent.com/tsrivishnu/DO-torrent-downloader/v1.1.0/download.sh`"
```
* Make the `do-torrent-downloader.yml` from the example file and update the configuration to match yours.
```bash
curl -L -o do-torrent-downloader.yml "https://raw.githubusercontent.com/tsrivishnu/DO-torrent-downloader/v1.1.0/do-torrent-downloader.example.yml" && \
cp do-torrent-downloader.yml $HOME/do-torrent-downloader.yml
```
> The script looks for the configuration file in the current working directory or the user's home directory. You can place the file in any of the locations.

### Build from source code.

* Clone this repository.
* Get the dependencies
```console
$ cd do_torrent_downloader
$ go get ./...
```
* Build
```console
# From within the root of the project.
$ go build main.go do_torrent_downloader
```

### Usage

#### To download using magnet links
```bash
$ ./do-torrent-downloader -m "