NZBHydra 2 is a meta search for newznab indexers and torznab trackers. It provides easy access to newznab indexers and many torznab trackers via Jackett. You can search all your indexers and trackers from one place and use it as an indexer source for tools like Sonarr, Radarr, Lidarr or CouchPotato.
Major Features
- Searches Anizb, BinSearch, NZBIndex and any newznab compatible indexers. Merges all results, filters them by a number of configurable restrictions, recognizes duplicates and returns them all in one place
- Add results to NZBGet or SABnzbd
- Support for all relevant media IDs (IMDB, TMDB, TVDB, TVRage, TVMaze) and conversion between them
- Query generation, meaning a query will be generated if only a media ID is provided in the search and the indexer doesn't support the ID or if no results were found
- Compatible with Sonarr, Radarr, NZBGet, SABnzbd, nzb360, CouchPotato, Mylar, LL, Sick Beard, Jackett/Cardigann, Watcher, etc.
- Search and download history and extensive stats. E.g. indexer response times, download shares, NZB age, etc.
- Authentication and multi-user support
- Automatic update of NZB download status by querying configured downloaders
- RSS support with configurable cache times
- Torrent support:
- For GUI searches, allowing you to download torrents to a blackhole folder
- A separate Torznab compatible endpoint for API requests, allowing you to merge multiple trackers
- Extensive configurability
- Save torrents in a black hole folder; Torznab API endpoint
- Migration of database and settings from v1
See some screenshots.
Honest recommendation: If you don't understand what any or most of that means this might not be for you. The program is designed to be very configurable and can be a bit intimidating at first. If you're just starting with usenet and its automation tools you might want to wait a bit until you use this. That being said, although there are a lot of options you'll likely never need most of them. I (the developer) use only half of the stuff that NZBHydra can do.
How to Run
Download the latest release of NZBHydra 2 for your platform. Extract it anywhere (the zip does not include a base directory) and start using the appropriate way:
- On Windows (x64) you can either start
NZBHydra2.exe
which will add a tray icon (give it some time) orNZBHydra2 Console.exe
which will open a console window.- Note: Do not use the folders
C:\Program Files
orC:\Program Files (x86)
.
- Note: Do not use the folders
- On Linux:
- On amd64 start
nzbhydra2
. - On arm64 you'll need to run the included python wrapper file.
- If you get an error about missing libraries, install libfreetype6.
- On amd64 start
- On any other OS or architecture or as a fallback:
- You need to install Java 17 (not lower, not higher).
- Download the generic release. This contains python scripts and java libraries. Run either wrapper file (Python 2.7 / 3.x respectively). This should work basically everwhere.
- The Java executable is expected to be in the PATH. If it's not and you can't/won't put it there then you need to provide the full path using the
--java
paramater.
- Docker: You can choose between images by LinuxServer.io, hotio and binhex's or the one by LinuxServer.io.
After a while your browser should open to http://127.0.0.1:5076.
Install as a Service
Please see the wiki.
Stuff you should know
- Without a "proper" indexer that supports media ID based searches (anything unlike Binsearch, NZBINdex, Anizb, etc) automation tools like Sonarr or Radarr will not work properly
- Hydra queries indexers for the latest 100 results for a given search query and aggregates them on the GUI. That means that even if you sort the results by, say, the name then older results not yet loaded may be missing. You will never know if a certain result is available unless you click the "Load more / Load all" buttons. This may require many API hits and take some time. I recommend using queries that are specific enough to return less than 100 results.
Disclaimer
Bugs may/do exist. Don't run it on the machine where the nuclear launch codes are stored.
Development and how you can help
Generally testing and any bug reports are very welcome.
The backend is written in Java and uses Spring Boot with an H2 file database. Maven is used for dependency management and build.
Project structure:
core
: The main code for the projectother
: contains artifacts not needed during runtime and a proxy-patched version of SocksLibreleases
: is self explanatoryshared
: is shared code between modulestests
: contains integration tests
The frontend uses AngularJS 1.x, Bower for dependency management and gulp for build.
If you plan on doing any frontend work (JS, CSS, HTML): Please contact me first and don't just create a PR for changes on the merged CSS / JS files.
Please send merge requests to the develop branch!
Contact
I prefer "public" communication either via Reddit or Discord.
Otherwise send me an email at [email protected] or a PM at https://www.reddit.com/user/TheOtherP
Donate
You're welcome to donate:
- Bitcoin via 1LPCUF9eKEXi58nHbxTbJyfxCJkcCXKzvm
- Regular money via PayPal to [email protected]
- Via GitHub sponsors which involves a recurring donation similar to Patreon.
Thanks
To Jetbrains for kindly providing me a license for IntelliJ - I can't imagine developing without it
To ej-technologies for providing me a license for their great java profiler JProfiler
To all testers, bug reporters, donators, all around awesome people; especially judhat2 for beta testing and loads of helpful feedback. Thanks to all the folk on reddit for helping out.
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.