/wrserver

White Raven Server is a REST-like API controlled torrent client application to find movies and tv shows from various sources and stream them over http connection.

Primary LanguageGoGNU General Public License v3.0GPL-3.0

White Raven Server

White Raven Server is a REST-like API controlled torrent client application to find movies and tv shows from various sources and stream them over http connection. Mainly created for White Raven, which is a torrent player application for Samsung Smart TV E, F, H series.


HTTP API Functions

Server and Client related

Torrent related

Movie or TV Show related

Subtitle related


Command-Line Arguments

  • -background run the server in the background
  • -cors enable CORS
  • -dir string specify the directory where files will be downloaded to if storagetype is set to "piecefile" or "file"
  • -downrate int download speed rate in Kbps (default 4096)
  • -help print this help message
  • -host string listening server ip
  • -log enable log messages
  • -maxconn int max connections per torrent (default 40)
  • -memorysize int specify the storage memory size in MB if storagetype is set to "memory" (minimum 64) (default 64)
  • -nodht disable dht
  • -osuseragentstring set external OpenSubtitles user agent
  • -port int listening port (default 9000)
  • -storagetypestring select storage type (must be set to "memory" or "piecefile" or "file") (default "memory")
  • -tmdbkeystring set external TMDB API key
  • -uprate int upload speed rate in Kbps (default 256)

Build Instructions

Build On Windows

Build for Samsung Smart TV E, F, H ARM series:

set GO111MODULE=on
set GOOS=linux
set GOARCH=arm
set GOARM=7
go build -ldflags="-s -w" -o wrserver

Build for Windows (x32):

set GO111MODULE=on
set GOOS=windows
set GOARCH=386
go build -ldflags="-s -w" -o wrserver.exe

Build for Windows (x64):

set GO111MODULE=on
set GOOS=windows
set GOARCH=amd64
set CGO_ENABLED=0
go build -ldflags="-s -w" -o wrserver.exe

Build for Linux (x32):

set GO111MODULE=on
set GOOS=linux
set GOARCH=386
go build -ldflags="-s -w" -o wrserver

Build for Linux (x64):

set GO111MODULE=on
set GOOS=linux
set GOARCH=amd64
go build -ldflags="-s -w" -o wrserver

Run The Server

Simply run the executable file without parameters to serve torrent data from memory.

wrserver

Run the executable file with the following parameters to serve torrent data from local disk.

wrserver -storagetype="file" -dir="downloads"

Note For Releases

The releases always compressed with the latest version of UPX, an advanced executable file packer to decrease the size of the application. This is important for embedded devices such as Samsung Smart TVs because they have a very limited amount of resources!

License

GNU GENERAL PUBLIC LICENSE Version 3