boypt/simple-torrent

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

980

stars

812

commits

Go

primary language

Jul 28, 2024

updated

README

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 external program on tasks completion: 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 external 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 torrent engine from anacrolix/torrent

Install

Binary

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

bash <(wget -qO- https://git.io/simpletorrentqs)

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

If hope to specify a version, just append the version number to the command.

bash <(wget -qO- https://git.io/simpletorrentqs) 1.3.3

Docker Docker Pulls

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

When running as a container, keep in mind:

  • You need also to expose your torrent incoming port (50007 by default) if you want to seed (-p 50007:50007). Also, you'll have to forward the port on your router.
  • Automatic port forwarding on your router via UPnP IGD will not work unless run in host mode (--net=host).

It's more practical to run docker-compose, see Wiki Page: DockerCompose

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

Contributors

boypt

726 commits

jpillora

71 commits

ti

6 commits

yoonsio

2 commits

boypt/simple-torrent

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

980

stars

812

commits

Go

primary language

Jul 28, 2024

updated

README

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 external program on tasks completion: 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 external 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 torrent engine from anacrolix/torrent

Install

Binary

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

bash <(wget -qO- https://git.io/simpletorrentqs)

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

If hope to specify a version, just append the version number to the command.

bash <(wget -qO- https://git.io/simpletorrentqs) 1.3.3

Docker Docker Pulls

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

When running as a container, keep in mind:

  • You need also to expose your torrent incoming port (50007 by default) if you want to seed (-p 50007:50007). Also, you'll have to forward the port on your router.
  • Automatic port forwarding on your router via UPnP IGD will not work unless run in host mode (--net=host).

It's more practical to run docker-compose, see Wiki Page: DockerCompose

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

Contributors

boypt

726 commits

jpillora

71 commits

ti

6 commits

yoonsio

2 commits

Languages

Go

50.0%

JavaScript

21.0%

HTML

20.3%

Shell

4.0%

CSS

4.0%