Meta search for NZB indexers
Branch: master
Clone or download
Latest commit 95fbc09 Sep 9, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
contrib Update readme to include systemd, update nzbhydra.service to be a lit… Jun 9, 2017
libs Added: Set parameters from env vars, allow setting url base from comm… Feb 15, 2018
nzbhydra Fix import error Feb 15, 2018
onlinehelp Fallback to title based queries. Closes #540 Feb 15, 2017
static Don't allow hit limit reset times greater than 23 Dec 20, 2017
templates Changed: Use an "empty" login page that does not expose any data. Jul 8, 2017
ui-src Fix import error Feb 15, 2018
.bowerrc Very basic GUI is done Sep 30, 2015
.gitattributes Added: Set parameters from env vars, allow setting url base from comm… Feb 15, 2018
.gitignore Added: Option to provide an SSL CA file. Closes #623 Jun 30, 2017
.travis.yml Rewrite config migration tests, add urltools to travis dependencies Jun 10, 2016
Dockerfile Added Docker build setup Dec 19, 2015
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md Feb 9, 2018
LICENSE Added license Sep 20, 2015
Makefile add a basic makefile Apr 26, 2016
README.md Update README.md Sep 8, 2018
bower.json Added: Download limits. Closes #247 Feb 11, 2017
buildWindowsDist.py Fixed: Results with special characters in titles would cause error (m… Jul 20, 2017
changelog.md Added: Set parameters from env vars, allow setting url base from comm… Feb 15, 2018
docker-compose.yml Added Docker build setup Dec 19, 2015
gulpfile.js Don't uglify nzbhydra js code Nov 29, 2017
nzbhydra.py Added: Set parameters from env vars, allow setting url base from comm… Feb 15, 2018
nzbhydra.spec Fixed: Allow nonnummeric episodes for internal TV search.. Closes #607 May 30, 2017
package.json Uglify and minify static resources Nov 28, 2017
version.txt Added: Set parameters from env vars, allow setting url base from comm… Feb 15, 2018

README.md

nzbhydra Build Status Average time to resolve an issue Percentage of issues still open

NZBHydra is a meta search for NZB indexers. It provides easy access to a number of raw and newznab based indexers. You can search all your indexers from one place and use it as indexer source for tools like Sonarr or CouchPotato.

Note

  • I don't have anything to do with www.nzbhydra.com
  • While this version still runs fine I recommend using its successor NZBHydra2 which runs a lot faster and has more features.

Features

  • Searches Binsearch, NZBIndex, NZBClub, Womble and all newznab compatible indexers (see https://github.com/theotherp/nzbhydra/issues/20 and https://github.com/theotherp/nzbhydra/wiki/Supported-Search-Types-And-Indexer-Hosts )
  • Search by IMDB, TMDB, TVDB, TVRage and TVMaze ID (including season and episode) and filter by age and size. If an ID is not supported by an indexer it is attempted to be converted (e.g. TMDB to IMDB)
  • Query generation, meaning when you search for a movie using e.g. an IMDB ID a query will be generated for raw indexers. Searching for a series season 1 episode 2 will also generate queries for raw indexers, like s01e02 and 1x02
  • Grouping of results with the same title and of duplicate results, accounting for result posting time, size, group and poster. By default only one of the duplicates is shown. You can provide an indexer score to influence which one that might be
  • Compatible with Sonarr, CP, NZB 360, SickBeard, Mylar and Lazy Librarian (and others)
  • Either proxy the NZBs from the indexers (keeping all X-NZB headers), redirect or use direct links in search results
  • Included function to add results (single or a bunch) to multiple instances of SABnzbd or NZBGet(v13+) and show NFOs where available. Option to decide if links are added as links or the NZBs are uploaded. Select category in GUI or define a default.
  • Statistics on indexers (average response time, share of results, access errors), searches and downloads per time of day and day of week, NZB download history and search history (both via internal GUI and API): Screenshot
  • Indexers with problems are paused for an increasing time span (like in sonarr)
  • Multi user capabilities so that you can share with your friends but keep the config safe
  • Login by HTTP basic auth or form
  • Define required and forbidden words and regexes
  • Fine tune categories with separate required and forbidden words. Completely ignore categories in search results. Map newznab categories to internal categories. Use indexers only for certain categories.
  • Reverse proxy compatible. See https://github.com/theotherp/nzbhydra/wiki/Reverse-proxies-and-URLs
  • Basic torrent support via Jackett / Cardigann. Only for internal searches.
  • Dark theme, grey theme and Bright theme (slightly out of date)

How to run

If you downloaded the source run with Python 2.7.9+. Runs on http://0.0.0.0:5075 by default. See the console output on how to choose the port and host using command line parameters.

If you downloaded the windows release just start with NzbHydraTray.exe. Your default browser should open to the NZBHydra web interface.

You're also free to use the docker container by linuxserver.io. Although I do my best to keep that container nice and working please use their forum for support regarding that container.

Mac

You might need to install homebrew python. See this excellent guide or, if that doesn't work for you, here.

Install as service

Linux

systemd

A systemd unit file is provided in the contrib directory. To install:

Copy the systemd unit file into place

sudo cp contrib/nzbhydra.service /usr/lib/systemd/system/

Edit the systemd unit file, you'll need to correct the paths to nzbhydra.py and python. You can find useful instructions inside.

sudo nano /usr/lib/systemd/system/nzbhydra.service

Reload systemd to pick up the new unit file, enable it and then start it.

sudo systemctl daemon-reload
sudo systemctl enable nzbhydra.service
sudo systemctl start nzbhydra.service

You can use status, cat and edit to see how the service is doing, see what the current unit file is and to override any settings with your own values.

sudo systemctl status nzbhydra.service
● nzbhydra.service - NZBHydra Service
   Loaded: loaded (/usr/lib/systemd/system/nzbhydra.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2017-06-08 19:25:50 PDT; 25min ago
 Main PID: 19503 (python2)
    Tasks: 3 (limit: 4915)
   Memory: 112.8M
      CPU: 37.298s
   CGroup: /system.slice/nzbhydra.service
           └─19503 /usr/bin/python2 /usr/lib/nzbhydra/nzbhydra.py --nobrowser --config /etc/nzbhydra/settings.cfg --database /var/lib/nzbhydra/nzbhydra.db

sudo systemctl cat nzbhydra.service
sudo systemctl edit nzbhydra.service

Upstart

Install scripts are provided for Ubuntu upstart based systems in the contrib directory. To install:

sudo cp contrib/defaults /etc/default/nzbhydra
sudo cp contrib/init.ubuntu /etc/init.d/nzbhydra
sudo chmod +x /etc/init.d/nzbhydra
sudo update-rc.d nzbhydra defaults

Edit the default configuration options:

sudo nano /etc/default/nzbhydra

Start the service:

sudo service nzbhydra start

Windows

See the WindowsService folder in your NZB Hydra directory. It contains batch scripts to install and uninstall Hydra as a service. Run installService.cmd with administrator rights.

Development and how you can help

Generally testing and any bug reports are very welcome.

Any pull requests are also welcome, but I feel I and the program would mostly profit from:

  • Unicode handling. I have no idea what I'm doing.
  • Advice regarding stability, error handling, net code (I program Java by day and it shows) and performance

Please send merge requests to the develop branch!

Contact

Send me an email at TheOtherP@gmx.de or a PM at https://www.reddit.com/user/TheOtherP

Donate

If you like to help me with any running or upcoming costs you're welcome to send money to my bitcoin: 1PnnwWfdyniojCL2kD5ZDBWBuKcFJvrq4t

Thanks

To Jetbrains for kindly providing me a license for PyCharm - I can't imagine developing without it

To all testers, bug reporters, donators, all around awesome people

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0