SimpleTorrent is a a self-hosted remote torrent client, written in Go (golang). You start torrents remotely, which are downloaded as sets of files on the local disk of the server, which are then retrievable or streamable via HTTP.
This fork adds new features to the original version by jpillora
.
- Run extrenal program on 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
- Add extra trackers
And some development improvement:
- Go modules introduced and compatiable with go 1.12+
- Upgraded torrnet engine API from github.com/anacrolix/torrent
Other features:
- Single binary
- Cross platform
- Embedded torrent search
- Real-time updates
- Mobile-friendly
- Fast content server
- IPv6 out of the box
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)
NOTE: MUST read wiki page for further intructions: Auth And Security
$ docker run -d -p 3000:3000 -v /path/to/my/downloads:/downloads -v /path/to/my/torrents:/torrents boypt/cloud-torrent
Go is required to install from source
$ git clone https://github.com/boypt/simple-torrent.git
$ cd simple-torrent
$ ./scripts/make_release.sh
$ cloud-torrent --help
Usage: cloud-torrent_linux_amd64 [options]
Options:
--title, -t Title of this instance (default SimpleTorrent)
--port, -p Listening port (default 3000)
--host, -h Listening interface (default all)
--auth, -a Optional basic auth in form 'user:password'
--config-path, -c Configuration file path (default cloud-torrent.json)
--key-path, -k TLS Key file path
--cert-path TLS Certicate file path
--log, -l Enable request logging
--open, -o Open now with your default browser
--disable-log-time, -d Don't print timestamp in log
--version, -v display version
--help display help
Version:
1.X.Y
Read more:
https://github.com/boypt/simple-torrent
A sample json will be created on the first run of simple-torrent.
{
"AutoStart": true,
"Debug": true,
"ObfsPreferred": true,
"ObfsRequirePreferred": false,
"DisableTrackers": false,
"DisableIPv6": false,
"DownloadDirectory": "/home/ubuntu/Workdir/cloud-torrent/downloads",
"WatchDirectory": "/home/ubuntu/Workdir/cloud-torrent/torrents",
"EnableUpload": true,
"EnableSeeding": true,
"IncomingPort": 50007,
"DoneCmd": "",
"SeedRatio": 1.5,
"UploadRate": "High",
"DownloadRate": "Unlimited",
"TrackerListURL": "https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt"
}
AutoStart
: Whether start torrent task on added Magnet/Torrent.Debug
Print debug log from torrent engine (lots of them)ObfsPreferred
: Whether torrent header obfuscation is preferred.ObfsRequirePreferred
: Whether the value ofObfsPreferred
is a strict requirement. This hides torrent traffic from being censored.DisableTrackers
: Don't announce to trackers. This only leaves DHT to discover peers.DisableIPv6
: Don't connect to IPv6 peers.DisableEncryption
A switch disables BitTorrent protocol encryptionDownloadDirectory
The directory where downloaded file saves.WatchDirectory
The directory SimpleTorrent will watch and load new added.torrent
, See Torrent WatcherEnableUpload
Whether send chunks to peersEnableSeeding
Whether upload even after there's nothing further for us. By default uploading is not altruistic, we'll only upload to encourage the peer to reciprocate.IncomingPort
The port SimpleTorrent listens to.DoneCmd
An external program to call on task finished. See DoneCmd Usage.SeedRatio
The ratio of task Upload/Download data when reached, the task will be stop.UploadRate
/DownloadRate
The global speed limiter, a fixed level amoungLow
(~50k/s),Medium
(~500k/s) andHigh
(~1500k/s) is accepted as value, all other values (or empty) will result in unlimited rate.TrackerListURL
: A https URL to a trackers list, this option is design to retrive public trackers from ngosang/trackerslist. If configred, all trackers will be added to each torrent task.
- Credits to @jpillora for Cloud Torrent.
- Credits to @anacrolix for https://github.com/anacrolix/torrent