Giter Site home page Giter Site logo

m00nwtchr / jackett-sync Goto Github PK

View Code? Open in Web Editor NEW
21.0 3.0 4.0 6.21 MB

A quick & dirty extensible Jackett-to-Sonarr/Radarr/Lidarr/Whatever indexer synchronizer written in Node.js

JavaScript 94.28% Dockerfile 1.21% Shell 4.51%
nodejs sonarr radarr jackett automation torrent usenet yarn

jackett-sync's Introduction

Jackett-Sync Build Status

A quick & dirty extensible Jackett-to-Sonarr/Radarr/Lidarr/Whatever indexer synchronizer written in Node.js. PRs are welcome!

Install

NPM

npm i -g jackett-sync

Docker

An image is available at m00nwatcher/jackett-sync or Github Container Repository

docker-compose.yml example:

version: "3"

services:
  jackett-sync:
    image: m00nwatcher/jackett-sync
    environment:
      URL: http://jackett:9117
      APIKEY: 
      # ALTURL: http://jackett:9117 # If running with network_mode: host, like in ./docker/docker-compose.yml
      SONARR_URL: http://sonarr:8989
      SONARR_KEY: 
      RADARR_URL: http://radarr:7878
      RADARR_KEY: 
      LIDARR_URL: http://lidarr:8686
      LIDARR_KEY:     
# ... Lidarr, Sonarr, etc. config

Right now it just runs the script in a loop, but you should be able to adjust ./docker/cron to change frequency.

Usage

Services declare required and optional parameters in the services.js file, you can supply them on the command line with --<param name> <value>. If the correct required params are detected, the line "Found config for <service name>" will appear in the console. You can view all options with --help

Example

Example in a docker enviroment (jackett-sync running on host), badasstorrents was down at the time

$ jackett-sync --url http://127.0.0.1:9117/jackett --apikey sen08b96xf8x1o3twv9n1aml8da8p7mp --alturl http://jackett:9117/jackett --sonarrurl http://127.0.0.1:8989/sonarr --sonarrkey b27b78ff3e994da1b4460f40e576a029 --sonarrcats 5000,5030,5040

Found config for jackett
Found config for sonarr
Adding rarbg, badasstorrents, kickasstorrent, torrentparadise
Added kickasstorrent successfully
Failed to add badasstorrents
Added torrentparadise successfully
Added rarbg successfully
Done

One of the created entries: RARBG

Extend the capabilities

To add a new "indexer source" (e.g. Jackett, NZBHydra)

NOTE: Possible, but not tested as i don't use Usenet/NZBHydra

Edit services.js, add a new service with the get method, and set the source property, and as long as you return an array with indexer objects following the schema described at the top (in the schema const variable), it should work!

To add a new "indexer consumer" (e.g Sonarr, Radarr, Lidarr, LazyLibrarian)

Edit services.js, add a new service with the get (same as with indexer sources), add (consume a singular indexer object and add to the upstream service) and shouldAdd (use this to filter out indexers that don't provide the correct categories) methods. Error handling is very rudimentary to say the least, but its good enough for the time being.

Usenet support

Theoretically it should work, but as stated earlier untested

TODO

  • [] Add options to change indexer settings (min seeders etc.)
  • Other stuff maybe

jackett-sync's People

Contributors

dependabot[bot] avatar m00nwtchr avatar mikhail5555 avatar rustymyers avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

jackett-sync's Issues

Trying to run this in docker container but having noob issues

I've been able to configure this in portainer and get it running. But when I run "npm i -g jackett-sync" in the container sh console I get the following error:

npm WARN deprecated [email protected]: Critical security vulnerability fixed in v0.21.1. Fo r more information, see axios/axios#3410
/usr/local/bin/jackett-sync -> /usr/local/lib/node_modules/jackett-sync/index.js

After the message nothing else happens. I don't know if code is aborting after the error or not. Any suggestions or next steps to try?

Error with Radarr

Receiving the following error while trying radarr:

Found config for jackett
Found config for radarr
Adding XXXXXXXXXXXX to radarr
TypeError: Cannot read property 'errorMessage' of undefined
    at Object.add (/jackett-sync/services.js:208:80)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
Done

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.