Coder Social home page Coder Social logo

nyakaspeter / raven-torrent Goto Github PK

View Code? Open in Web Editor NEW

This project forked from silentmurdock/wrserver

1.0 0.0 0.0 14.66 MB

Raven Torrent is a torrent client application to find movies and TV shows from various sources and stream them over HTTP connection

License: GNU General Public License v3.0

Go 70.58% Batchfile 0.31% NSIS 3.47% HTML 0.18% CSS 0.03% TypeScript 23.22% JavaScript 2.21%
dlna golang jackett movies rest-api shows streaming tmdb torrent tv

raven-torrent's Introduction

Raven Torrent

Raven Torrent is a torrent client application to find movies and TV shows from various sources and stream them over HTTP connection.

Raven Server

Raven Server is a command line application. It hosts a REST-like HTTP API that can help you discover new movies and TV shows, search torrents for them on various torrent sites, and directly play them on your TV or PC. I recommend setting up a Jackett server, to get the most out of the application.

Raven Server is a fork of White Raven Server. It was originally created as a backend for White Raven, which is a torrent player application for Samsung Smart TV E, F, H series.

API documentation

By default, the API is available at http://localhost:9000/api/v0. API docs for the server are available here. Swagger UI is also available on the /swagger endpoint, if the -swagger CLI argument is supplied at launch.

CLI arguments

-storagetype string select storage type (must be set to "memory" or "file") (default "memory")

-memorysize int specify the storage memory size in MB if storagetype is set to "memory" (minimum 64) (default 128)

-dir string specify the directory where files will be downloaded to if storagetype is set to "file"

-downrate int download speed rate in Kbps (0 is unlimited speed) (default 0)

-uprate int upload speed rate in Kbps (0 is upload disabled) (default 0)

-maxconn int max connections per torrent (default 50)

-nodht disable dht

-jackettaddress string set external Jackett API address (enter only host address and port e.g. http://192.168.0.2:9117)

-jackettkey string set external Jackett API key

-tmdbkey string set external TMDB API key

-osuseragent string set external OpenSubtitles user agent

-port int listening port (default 9000)

-host string listening server ip

-cors enable CORS

-background run the server in the background

-help print this help message

-log enable log messages

-swagger enable Swagger UI

How to use

Raven Server can run on all kinds of devices, using very little resources by today's standards. There are builds available for both Windows and Linux, and even an ARM version that can run on old TVs or smartphones. On Android the executable can be launched from a terminal emulator like Termux. All you have to do is download or build the correct binary for your device's operating system and architecture and run it from the command line. Some examples:

Running with arguments to serve torrent data from RAM

./raven -storagetype="memory" -memorysize="128"

Running with arguments to serve torrent data from local disk

./raven -storagetype="file" -dir="downloads"

Running with arguments to use Jackett for torrent search

./raven -jackettaddress="http://192.168.0.2:9117" -jackettkey="1n53rty0urj4ck3tt4p1k3yh3r3"

Jackett integration

Raven only supports a handful of torrent sites with built-in API integration and webscrapers, but it can also connect to Jackett to enable torrent search on dozens of other sites. To be able to use this, you'll also have to run Jackett somewhere on your local network, and supply the -jackettaddress and -jackettkey arguments when launching the server.

Fortunately Jackett can run on most devices where Raven Server can run (except on Smart TVs where the resources are very limited). Check their documentation for info on how to run it on different systems. I also managed to run Jackett on an Android phone just like Raven Server with these steps:

  1. Download & install Termux from F-Droid (the Google Play version is outdated), then open it and use the following commands
  2. pkg up to update all Termux packages, use termux-change-repo to change download location if it throws an error
  3. pkg install proot-distro
  4. proot-distro install ubuntu
  5. proot-distro login ubuntu
  6. apt-get update && apt-get upgrade -y to update Ubuntu packages
  7. apt-get install libicu-dev
  8. apt-get install wget (or use any other means to get the Jackett binary into the Ubuntu filesystem)
  9. wget https://github.com/Jackett/Jackett/releases/latest/download/Jackett.Binaries.LinuxARM64.tar.gz to download the latest ARM64 build of Jackett (ARM32 may work too)
  10. tar -xvzf Jackett.Binaries.LinuxARM64.tar.gz
  11. ./Jackett/jackett

Build instructions

You can build the application by running the following commands from the project directory. Go must be installed for these to work.

Building for Samsung Smart TV E, F, H ARM series

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

Building for Windows (x64)

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

Building for Windows (x86)

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

Building for Linux (x64)

set GOOS=linux set GOARCH=amd64 go build -ldflags="-s -w" -o raven

Building for Linux (x86)

set GOOS=linux set GOARCH=386 go build -ldflags="-s -w" -o raven

License

GNU GENERAL PUBLIC LICENSE Version 3

raven-torrent's People

Contributors

winpooh32 avatar nyakaspeter avatar silentmurdock avatar fossabot avatar pataquets avatar

Stargazers

geralt of rivia avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.