How to install Cloud Torrent on Debian 9

20th Mar 2018 Karibu

When you want to download some torrents on a different machine and get a direct link to download it back through HTTP, you don't have much choices. But Cloud Torrent is one of them.

I recently refreshed my article on Flood, a modern Web-Ui for Rtorrent, that enable you to get directly via HTTP, the torrent you just downloaded on the machine. As it is based on rtorrent, it also has plenty of others features. But if you are looking for a simple web torrent downloader. (Add a torrent, get it back), Cloud Torrent is probably the best for this.

Written in Go (golang), Cloud Torrent is a self hosted remote torrent client. You simply can add torrents (URL or magnet) that will be downloaded on the local disk of the server, which is then retrievable or streamable via HTTP.

Here are the main features:

  • Single binary (Meaning a very simple installation)
  • Cross platform
  • Embedded torrent search
  • Real-time updates
  • Mobile-friendly

The dev is working on few others features, especially on the RSS one, that will enable us to download automatically new release of your favorite shows.

Installation

You don't need much, beside a Apache server and curl.

1) Install Curl

Simply run (In root or with sudo):

apt install curl


2) Download the latest version of Cloud Torrent and install it

curl https://i.jpillora.com/cloud-torrent! | bash


3) Create a systemd service to launch it at boot time

First we will create a folder dedicated for the configuration and for the downloads folder.

mkdir /home/user/cloud-torrent

Replace user by your own user (This step is actually optional, if you already have a dedicated folder for your torrent).

Now create the systemD service file:

nano /etc/systemd/system/cloud-torrent.service

And add:

[Unit]
Description=cloud-torrent

[Service]
WorkingDirectory=/home/user/cloud-torrent/
ExecStart=/usr/local/bin/cloud-torrent --port 8080 --config-path /home/user/cloud-torrent/cloud-torrent.json --title "Cloud Torrent" --log --auth "user:password"
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

You will need to replace the user:password variable by the one you want as it will be used to access to your Cloud Torrent instance.

Now enable it and start it

systemctl enable cloud-torrent
systemctl start cloud-torrent

You should now have access to your Cloud Torrent instance through your IP:8080.

4) Create a dedicated virtualhost

It's not convenient to use the port number to access Cloud Torrent. You might want to access it through a dedicated subdomain may be. Here is how to do it.

First you will need the mods proxy-html and proxy-http enabled. In root, or with sudo, simpy run:

apt install libapache2-mod-proxy-html
a2enmod proxy_http

Now create a dedicated virtualhost

nano /etc/apache2/sites-available/cloud-torrent.conf

and add:

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        ServerName dl.domain.tld

        ProxyRequests Off
        <proxy>
        Require all granted
        </proxy>
        ProxyPass / http://localhost:8080/
        ProxyPassReverse / http://localhost:8080/

    ErrorLog ${APACHE_LOG_DIR}/cloud-torrent_error.log
    CustomLog ${APACHE_LOG_DIR}/cloud-torrent_access.log combined

</VirtualHost>

Enable the configuration and restart Apache Still in root, run:

a2ensite cloud-torrent
systemctl reload apache2

And that's it, you should now have access to your Clood Torrent instance by connecting directly to your subdomain!

Gravatar

Loves to discover web-based apps to install on his own server@home and write articles about it

2 Comments:

Add a comment

Comments

Corrected. Thanks for raising this!
Written on Sun, 01 Apr 2018 16:14:01 by Karibu
Thanks for you blog, mate, I'm an avid reader by way of subscription. Please have a look at your RSS feed URL, it seems to be broken. The correct one now is https://freedif.org/blog.rss I suppose.
Written on Sun, 01 Apr 2018 08:14:52 by DaveBowman