Coder Social home page Coder Social logo

iq-scm / cardigann Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cardigann/cardigann

0.0 0.0 0.0 50.52 MB

A proxy server for adding new indexers to Sonarr, SickRage and other media managers

License: MIT License

Shell 1.41% JavaScript 15.40% Go 81.49% CSS 0.38% Makefile 1.03% HTML 0.13% Dockerfile 0.16%

cardigann's Introduction

Cardigann Build Status Go Report Card Gitter

This project is looking for maintainers to help! Please see #372 for details.

A server for adding extra indexers to Sonarr, SickRage and CouchPotato via Torznab and TorrentPotato proxies. Behind the scenes Cardigann logs in and runs searches and then transforms the results into a compatible format.

Cardigann is implemented in golang, which means it's simply a single binary to execute/install, no runtime. Windows, Linux and OSX will be supported, although it should run on any platform that golang supports.

Usage

Cardigann provides a cli tool for debugging and development:

cardigann query bithdtv t=tv-search "q=my show name" ep=1 season=2

Or you can run the proxy server:

cardigann server

Once the server is running, visit http://localhost:5060 and configure via the web interface.

You can set a password requirement by either passing the --passphrase flag to the server command, or by setting global.passphrase in the Configuration.

Installation

Cardigann is distributed on equinox.io in a variety of formats for macOS, Linux and Windows.

https://dl.equinox.io/cardigann/cardigann/stable

Follow the instructions on the above to install the cardigann binary, and then you can run the following to run the server in the foreground:

cardigann server

At this point you can visit the web interface on http://localhost:5060.

If you want to run this service non-interactively, you can install it as a service (supports windows services, macOS launchd, linux upstart, systemv and systemd):

cardigann service install
cardigann service start

Updating

Cardigann has an experimental upgrade-in-place feature using equinox.io:

cardigann update --channel=stable

If you like to live dangerously, you can update to the edge channel:

cardigann update --channel=edge

Configuration

Configuration is stored in a config.json file. It's searched for in a few different locations, in order of priority:

All Platforms

  • $CWD/config.json
  • $CONFIG_DIR/config.json

Linux/BSD:

  • $HOME/.config/cardigann/config.json
  • /etc/xdg/cardigan/config.json

OSX:

  • $HOME/Library/Preferences/cardigann/config.json
  • /Library/Preferences/cardigann/config.json
  • /Library/Application Support/cardigann/config.json

Windows

  • %APPDATA%\cardigann\config.json
  • %LOCALAPPDATA%\cardigann\config.json

This configuration file will contain your tracker credentials in plain-text, so it's important to keep it secure.

Definitions

Definitions are yaml files (see definitions for their source) that define how to login and search on an indexer. You can either use the included definitions or write your own. Definitions are loaded from the following directories:

All Platforms

  • $CWD/definitions/
  • $CONFIG_DIR/definitions/

Linux/BSD:

  • $HOME/.config/cardigann/definitions/
  • /etc/xdg/cardigann/definitions/

OSX:

  • $HOME/Library/Preferences/cardigann/definitions/
  • /Library/Preferences/cardigann/definitions/
  • /Library/Application Support/cardigann/definitions/

Windows

  • %APPDATA%\cardigann\definitions\
  • %LOCALAPPDATA%\cardigann\definitions\

Using with a Proxy

Currently either a SOCKS5 proxy like Privoxy or Tor can be used:

SOCKS_PROXY=localhost:1080 cardigann server

Or, an http proxy works too:

HTTP_PROXY=localhost:8080 cardigann server

If you are running as a service, you will need to manually edit the service files to set the environment.

Supported Indexers

Cardigann simply provides a format for describing how to log into and scrape the search results of various forums and sites. It is not endorsed by the various sites, nor is it intended for piracy. You are using Cardigann at your own risk.

Public

  • KickAssTorrent
  • ThePirateBay (TPB)
  • Torrentz2
  • AvistaZ
  • EZTV
  • HDME

Private

  • Abnormal
  • AlphaRatio
  • BIT-HDTV
  • BitMeTV
  • Blu-bits
  • BeyondHD
  • CinemaZ
  • DanishBits
  • Demonoid
  • EoT-Forum
  • Ethor.net (Thor's Land)
  • FileList
  • FunFile
  • HD-Torrents
  • Immortalseed
  • IPTorrents
  • Metal-tracker.com
  • MoreThanTV
  • MyAnonamouse
  • MySpleen
  • NCore
  • NetHD
  • Norbits
  • Orpheus (Apollo)
  • PreToMe
  • PrivateHD
  • Redacted
  • Speed.CD
  • Sceneaccess
  • SceneTime
  • Shareisland
  • The New Retro
  • The Shinning
  • Torrent Sector Crew
  • Torrent-Syndikat
  • Torrentbytes
  • TorrentDay
  • TorrentHeaven
  • Torrentleech
  • ToTheGlory
  • UHDBits
  • WorldOfP2P
  • Xthor
  • Transmithe.Net
  • Tspate
  • YggTorrent

Dead

  • AlphaReign
  • Freshon
  • HDArea
  • Torrent411 (T411)

I'm happy to add new trackers, please either open a new issue, or a pull request with whatever details you have for the tracker.

Development

You will need Golang 1.7+ for the server component and NodeJS and NPM if you want to modify the user interface.

Setup for Linux (Ubuntu/Debian)

If you don't have Go already set up, follow these steps (or read this guide):

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-go git

export GOPATH=$HOME/go
export GOBIN=$HOME/go/bin
export PATH=$PATH:$GOBIN

If you want to edit the web interface, you will need Node setup:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

Setup for macOS

brew install golang node

export GOPATH=$HOME/go
export GOBIN=$HOME/go/bin
export PATH=$PATH:$GOBIN

Installing cardigann

Golang needs things under a $GOPATH to work. Check you have one with go env. Mine is '$HOME/go'.

mkdir -p $HOME/go/src/github.com/cardigann
git clone https://github.com/cardigann/cardigann.git $HOME/go/src/github.com/cardigann
cd $HOME/go/src/github.com/cardigann/cardigann
make setup
make build
make install

This will have installed cardigann into your $GOBIN directory.

Finally, start your server!

cardigann server

Reporting bugs

Cardigann is new software, and relies on scraping indexers, so is inherently prone to breaking. We try and reply as quickly as possible, but please make sure before you report a bug that you've update to the latest version.

If the issue persists, file a bug.

Requests

Questions? Wanna chat?

Credits

Inspired by Jackett, or at least born of frustration with it always crashing and requiring a mono runtime.

cardigann's People

Contributors

aguinaldo92 avatar cmer avatar feedspeed avatar frebib avatar gwelican avatar jigsawfr avatar juniorz avatar kailan avatar kaso17 avatar lxt2 avatar mirwan avatar mkinsella avatar mmarquezs avatar ninovanhooff avatar putty182 avatar pyguy2 avatar robertderose avatar scambra avatar sentriz avatar sstamoulis avatar subzero79 avatar tadfisher avatar zackpollard 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.