/simple-torrent

☁️ Simple Torrent: a self-hosted remote torrent client (rebranded from Cloud Torrent)

Primary LanguageGoGNU Affero General Public License v3.0AGPL-3.0

screenshot

Build Status

SimpleTorrent is a a self-hosted remote torrent client, written in Go (golang). Started torrents remotely, download sets of files on the local disk of the server, which are then retrievable or streamable via HTTP.

This project is a re-branded fork of cloud-torrent by jpillora.

Features

  • Individual file download control (1.1.3+)
  • Run extrenal program on tasks completed: DoneCmd
  • Stops task when seeding ratio reached: SeedRatio
  • Download/Upload speed limiter: UploadRate/DownloadRate
  • Detailed transfer stats in web UI.
  • Torrent Watcher
  • K8s/docker health-check endpoint /healthz
  • Extra trackers from extrenal source
  • Protocol Handler to magnet:
  • Magnet RSS subscribing supported
  • Flexible config file accepts multiple formats (.json/.yaml/.toml) (by spf13/Viper) (1.2.0+)

Also:

  • Single binary
  • Cross platform
  • Embedded torrent search
  • Real-time updates
  • Mobile-friendly
  • Fast content server
  • IPv6 out of the box
  • Updated torrnet engine from anacrolix/torrent

Install

Binary

See the latest release or use the oneline script to do a quick install on modern Linux.

bash <(wget -qO- https://raw.githubusercontent.com/boypt/simple-torrent/master/scripts/quickinstall.sh)

The script install a systemd unit (under scripts/cloud-torrent.service) as service. Read further intructions: Auth And Security

Docker Docker Pulls Image Size

$ docker run -d -p 3000:3000 -v /path/to/my/downloads:/downloads -v /path/to/my/torrents:/torrents boypt/cloud-torrent

Source

Requirement

$ git clone https://github.com/boypt/simple-torrent.git
$ cd simple-torrent
$ ./scripts/make_release.sh

Usage

Commandline Options

See Wiki Command line Options

Configuration file

See Wiki Config File

Use with WEB servers (nginx/caddy)

See Wiki Behind WebServer (reverse proxying)

Credits