* Additional fix for #1450
Sonarr is search for a tilte if the result title is different it reject it.
So it is not enough that Jackett give the result it must give with the same language.
Workaround create a new title from the original one and from the title.
It also make some fine tunning:
if title not contains the language we add it from category
* Make decision safer
Add Spanish Private HD tracker https://www.hd-spain.com/
Based on Albvadi's code from HD-Spain forum all credit to him, I only added some changes for better search, ISO correct and spain flag detection
Some workoround to "Ncore - not forward all search results to Sonarr, Radarr"
In case of TV shows if nothing is founded, retry the search without SxxExx after the show name.
This will list all torrent also if their title or description are changed.
Than add the result only if it contains the skipped SxxExx
* Add option for Elite Tracker (FR) for download torrent using https for tracker URL.
* change return type.
clean code.
* use the SiteLink variable instead of hard coding
Sometimes when parsing, the size of the rel was not enough to have Gb instead Mb or Kb to Mb or whatever
So the size in row is for example 1.015.22 Mb (less than 1024)
So in this case the parser return error
I searched a way to replace this, I found a solution, hope that works in a log way
* Improved anime search and speed-share resolution detection
* - Code Refactored to new standards
- Removed publish date from search mode, since the tracker does not provide that information, it was based on the serie year (but it does provide it on last 24h page, that's still prssent)
- Code clean
- Added season to all animes but One Piece (every anime that i searched in this tracker have the correct season and episode numbering, except One Piece that have an incorrect season set and episode is in absolute format, its added automatically on every new release, so must be the source from where they get that info that is wrong, since its an popular show, added it as an workaround and explained on code as comment)
xbytesv2 adds two years in title, when the show has season episodes released in two different years. For example, supergirl season 3, has episodes in 2017 and 2018. In this case xbytesv2 format the title like this: "Supergirl (2017 18/S03/E13/AMZ WEB DL 1080p/AC3 5 1 /DUAL/SUB) Grupo V2"
This new filter, deletes both years.
Please don't remove this replace:
- name: re_replace
args: ["S(\\d{1,2}) E(\\d{1,2})", "S$1E$2"]
* Fix for #3010
This will fix the problem with torrentday.it being down and https:///torrentday.com will redirect you to https://www.torrentday.com. And since we don't allow redirects, this will not work without the www.
* Added the feedback from #3014
This adds the following categories:
- 102: Movie / 4K Disk
- 103: Movie / 4K Remux
- 38: Movie / WEB-DL
- 106: Internal / BHDStudio 1080p
- 105: Internal / BHDStudio 720p
- 104: TV Show / 4K
- 99: TV Show / Sports
- 100: TV Show / Sports / WEB-DL
Additionally 94: `Movie / 4K` was renamed to `Movie / 4K Other` to
match the updated category name on the tracker.
* (Create) racing4everyone.yml
- I have yet to test this. If anyone is willing to please do. Currently is open reg for 3 more days.
* (Update) Add R4E to README
- added racing4everyone (R4E)
Change TV Shows search format for Spanish style, change encoding in HDCity to ISO-8859-1, now accented characters works perfects and add [spanish] for detected Spanish language in Sonarr/Radarr
Really hope I don't break anything with this
Went to have a go at .NET core and it just became too confusing for me with 'Jackett' namespace referring to both Jackett.Common and Jackett
* Update README.md
Adding Puntotorrent forgotten from [this PR](https://github.com/Jackett/Jackett/pull/2433)
* Add definition for HDCity
Add definition for spanish tracker HDCity
* Adding HDCity to the index
* New definition for HacheDe
Add definition for new spanish tracker: HacheDe
* Update README.md
Adding HacheDe
* Update hachede.yml
Remove strdump for debug purposes
modified the ProcessPage Method to select the last table with the browsetable class attribute so that if the Top 20 table is visible it will be ignored and the master list is the only one that will display. Works with Top 20 on and off.
* Fixed anime search on BJShare, removing the season from search and changing the output from "Anime SXXEXX" to "Anime EXX".
Season had to be removed because the season numbering on anime is all wrong in this tracker.
* - Changed to change title based on search for category of every row in bj-share, instead of category of search
- Fixed title parse on B2S-Share and Speed-Share to animes (series not changed) from "Anime SXXEXX" to "Anime EXX"
* - Added anime title change on empty search as well - BJ-Share
* B2S-Share: Removed episode from search and added andmatch (episode search do not work with translated series name), changed title to return 'original name SXXEXX' instead of 'translated name SXXEXX (original name)', because Sonarr was not recognizing the serie (it will only apply to series and movies, animes does not have translated name)
* added few comments to the code
* Fixed year being added after season/episode, it will be added now between series name and season/episode (animes not included), eg: Serie 2017 S05E06
* Small bugfixes in regex
Removed episode from search and added andmatch (episode search do not work with translated series name), changed title to return 'original name SXXEXX' instead of 'translated name SXXEXX (original name)', because Sonarr was not recognizing the serie (it will only apply to series and movies, animes does not have translated name)
The only drawback is that it will not search for very older episodes (not on first page), but that can be softened increasing the results per page in user profile, but i consider it way better than before, many series was not returning anything, since they had an translated name on the tracker, and an search with episode would work only searching for translated name and episode.
add additional active categories
support multi-category search
downloads can be missing, prevent error
remove hardcoded full path to gifs, ensures domain independency
* Fixed anime search on BJShare, removing the season from search and changing the output from "Anime SXXEXX" to "Anime EXX".
Season had to be removed because the season numbering on anime is all wrong in this tracker.
* - Changed to change title based on search for category of every row in bj-share, instead of category of search
- Fixed title parse on B2S-Share and Speed-Share to animes (series not changed) from "Anime SXXEXX" to "Anime EXX"
* - Added anime title change on empty search as well - BJ-Share
correct date parse
and add english date handling (for users that set english in profile)
add freeleech gold
add category in results for Sonarr
add banner
amend descritpion tag
* Remove static configuration class that required prior knowledge of when it was initialised to dependency injected method that ensures all configuration has already occured.
* Specify a different log name for the updater, require a path when running the Jackett updater
* Update to all .NET Standard packages
* Explicitly specify the restore project style
* Move automapper out of the DI framework and put crude detection to prevent it from initializing more than once.
* The module will need to be registered first thing in order to support commands such as --Help.
* Ignore mac directory attribute files
* Fix command line parameters not being correctly passed to the console
the default search for ettv is to return 'any words' matched, which when
paired with 'sortby added' meant the top resutls were not useful.
now we prefix the keyworks with '+' and urlencodes them, ensuring that
'all words' matched is returned.
* Move service config service back into shared .NET Framework Library
* Move Content files into shared folder. Make autoface load different assembilies depending on what framework is using it.
* Change my mind on what the shared module should be called. Common Module is too bland.
* DotNet4.SocksProxy is not yet publically .NET Standard. Revert to previous SocksWebProxy package.
* Check in unstaged change to test dependency injection setup.
* Use platform detection that works on mono 4.6+
* Move to use package reference for restoring nuget packages.
* DateTimeRoutines does not have Nuget packages that support .NET Standard (and therefore .NET Core). We will have to include them for now until we can get rid of this dependency.
* Start spliting some interfaces into their own files - this will help by allowing us to split them out in the future into a seperate project so the actual implementations can stay within their respective architectures when required
* Move out common libraries
* Few more tidy up tasks to get things working with .NET Standard
* Restructure the solution layout
* Encoding work to reduce rework later on platforms without Windows codepages (or require compliance with RFC1345)
* Move folder structure around to have more natural layout of the solutions
* DI server configuration to get rid of "temporary" hack and dependency circle for serverservice
* Make all encoding consistent to match the expected encoding casing for earlier versions of mono.
drop sort by seeds as site's page is broken
add category to results
add category filter in settings because site does not support multi-cats
add date now to prevent ugly' 2017y ago'
* LostFilm.tv: Fix language and quality in release titles
* LostFilm.tv: Snatch Season Packs if they are available
* LostFilm.tv: Fix searching for series with special characters in title
* LostFilm.tv: Parse episode details on episode page, not on Discovery page
* LostFilm.tv: Don't snatch separate episodes if season pack was requested but not found
* LostFilm.tv: Repace logger.Info with logger.Debug to keep logs free of spam
* Move to use package reference for restoring nuget packages.
* Return a task result for this async method.
* Update to a supported version of the .NET Framework. This also has the side effect of allowing us to automatically generate our binding redirects on build.
* Set the solution to target VS2017
* Update test solution csproj file to support being built through MSBuild 15
* Move to use package reference for restoring nuget packages.
* Return a task result for this async method.
* Update to a supported version of the .NET Framework. This also has the side effect of allowing us to automatically generate our binding redirects on build.
* Set the solution to target VS2017
* Update test solution csproj file to support being built through MSBuild 15
* DateTimeRoutines does not have Nuget packages that support .NET Standard (and therefore .NET Core). We will have to include them for now until we can get rid of this dependency.
* Move the interfaces into their own files. This will be useful when we share them between the .NET Core and .NET Framework WebAPI
* Stage services that need to point to the new interface namespace.
* Update CurlSharp to fix memory leak issue and support better runtime compatibility with OSX and Linux
* Start spliting some interfaces into their own files - this will help by allowing us to split them out in the future into a seperate project so the actual implementations can stay within their respective architectures when required
* Move to use package reference for restoring nuget packages.
* Return a task result for this async method.
* Update to a supported version of the .NET Framework. This also has the side effect of allowing us to automatically generate our binding redirects on build.
* Set the solution to target VS2017
* Update test solution csproj file to support being built through MSBuild 15
* Move to use package reference for restoring nuget packages.
* Return a task result for this async method.
* Update to a supported version of the .NET Framework. This also has the side effect of allowing us to automatically generate our binding redirects on build.
* Set the solution to target VS2017
* Update test solution csproj file to support being built through MSBuild 15
Added missing categories, release date, release type.
Fixed some errors, and removed some useless strings.
Unfortunately the indexer shows non scene resolutions like "848x480; 1920 x 960" and i wan't able to translate that to "480p; 720p" because there are so many different resolutions. If someone could help me with that, i'd be glad.
Add a few missing categories
handle TEST correctly
prevent row selector false hits
add date as now instead of 2017y ago
add category selector for results
the dashboard test requires just the base path.
categories matching requires french keywords
the site does not supply a release date, so lets default to now,
otherwise we get ugly "2017y old" in dashboard results.
* DanishBits: add Passkey info to hopefully prevent #1892#1873#1850
**WARNING** this is a completely untested code change, as I don't have VS or a c# compiler.
I simply made my best guess based on similar code I found in TorrentBytes.cs
Please review carefully, and hopefully I haven't left anything out ;-)
If you don't want me to make future changes like this without the required tools, then please let me know. Thanks.
* Update DanishBits.cs
* Update DanishBits.cs
* Update DanishBits.cs
* Update DanishBits.cs
* Update DanishBits.cs
* Update DanishBits.cs
* Update ConfigurationDataUserPasskey.cs
add display item instructions
* Update DanishBits.cs
switch to ConfigurationDataUserPasskey
and drop unused using statements
* Update CouchPotatoTracker.cs
add ConfigurationDataUserPasskey ConfigData1
* Update CouchPotatoTracker.cs
fix optional configData parm override
* revert
oops no, that wipes preloaded data :(
* Update CouchPotatoTracker.cs
add configurationDataUserPasskey as parameter
the btdb site does not use categories and supplies magnets for all sorts of content.
So the btdb definition now always returns category `100001 Other` for all search results.
Added info in settings to provide instructions on setting up btdb on Sonarr and Radarr.
Tested on Jackett Dashboard, Sonarr and Radarr.
* Add 4k Movie and TV categories for RARBG
Currently it does not look like torrentapi.org indexes the 4k movie categories but I've added them anyway in case they get added in the future.
Also, torrentapi.org returns "Movies/TV-UHD-episodes" for RARBG's 4k TV category. This may be due to RARBG's top100 page.
* Update Rarbg.cs
* Add the new 4K category for TorrentLeech
TorrentLeech renamed the existing 4k category and added a new "Real 4K UltraHD HDR" category. This PR adds the new category (but leaves the old one too).
* Update TorrentLeech.cs
* Create worldwidetorrents.yml
* docs: add World Wide Torrents public tracker. Closes#1439
* worldwidetorrents: prevent errors.
the scripts were causing false hits for the row selector.
* docs: oops put wwt in correct section
* bithumen: replace deprecated use of optional
* bitspyder: replace deprecated use of optional
* chdbits: replace deprecated use of optional
* diablotorrent: replace deprecated use of optional
* eztv: replace deprecated use of optional
* funkytorrents: replace deprecated use of optional
* hon3yhd: replace deprecated use of optional
* insanetracker: replace deprecated use of optional
* kapaki: replace deprecated use of optional
* limetorrents: replace deprecated use of optional
* linkomanija: replace deprecated use of optional
* losslessclub: replace deprecated use of optional
* magico: replace deprecated use of optional
* majomparade: replace deprecated use of optional
* ourbits: replace deprecated use of optional
* polishsource: replace deprecated use of optional
* rodvd: replace deprecated use of optional
* torrentccf: replace deprecated use of optional
* torrenthr: replace deprecated use of optional
* torrentproject: replace deprecated use of optional
* torrentz2: replace deprecated use of optional
* oops
* Update bitspyder.yml
* Update insanetracker.yml
* Update kapaki.yml
* Update magico.yml
* Update polishsource.yml
* Update torrenthr.yml
* Update polishsource.yml
* Wrapped item parsing in try catch / one erranious torrent should not fuck up the entire parsing.
Changed Uri creation to use TryCreate, to harden against invalid image paths.
* Woops, can't use new C# features...
* docs: delete sceneAccess
* Delete SceneAccess.cs
* cleanup for Indexers/SceneAccess.cs
* remove SceneAccess.cs
* revert, as SceneAccess is not a yml definition but a cs indexer
* Make the script self-executing
* Update script with colors
Since it’s self-executing, at least the output is more visible
* Changes to README
* Update Jackett.Console.csproj
* Clarify README
I'm 99% sure that since they've resurrected they're fully public (no login needed, no ratio, etc.) and since even Jackett isn't asking for login info, it should be reflected here.
Non-critical fixes:
- NextTorrent and Zetorrents: error in logs when no results were
returned from search
- T411v2: improved selector to disregard VPN add in search results
* Add instructions tu run Jackett as service on macOS
* Changed restart logic
* Replace plist with install script
* Update README and add some more checks
* Fix README
* Move and rename script
* Include script inside project
* README corrections and cleanup
* Slight improvement of the script
Put `launchctl remove` earlier so it has the time to quit the service before testing if it's still running.
* Fixes episode search in Manicomio Share
The tracker uses the pattern "name - s??e??" instead of "name s??e??" so we have to manually add a "-" in the query
* Better fix
Updated to a better fix!
* Fixed the input name
* Added a workaround to solve the year issue
* Fixed the re_replace order
I cannot wrap my head around why it has started to fail now as it was
faulty from the beginning... Anyway, SupportsCategories didn't really
take sub categories into account, which is bad.
- Potentially fixes#1654 and #1656
* docs(config): add warning on wihd config to use classic view only
* refactor(wihd): refactor indexer, optimized dev mode, added freeleech and SSL
* fix(indexers): removed T411 orginal tracker
closed tracker by gov
* refactor(clean): removed old orphan config files
* docs(readme): updated for wihd
* feat(utils): added sha1 hash function and refactored md5 hash function
* fix(indexers): now use cross plateform path building for dev mode
* fix(indexers): fix output log of xthor for dev mode
* feat(release): added ToString method
* refactor(dev): optimized dev mode
* style(clean): cleanup code
* feat(indexer): added tmdb info to releases
* fix(cat): enabled categories on xthor
* Fixed the TorrentPotato requests with the indexers that does not support imdbid requests
* Fixed the "CanHandleQuery" which was not working if we make the request only with an imdbid (and a valid OMDB key)
* Fixed the "CanHandleQuery" which was not working if we make the request only with an imdbid (and a valid OMDB key)
* Removed PotatoController.cs
* Tweak BB indexer
Remove explicit tracker URL
Add tracker-specific season query
* Query for "S##" and "Season #" simultaneously on bB
* Fix tabs/spaces
* Rewrite title from "Season #" to "S##"
* Fix bug
Fix bug where searching for whole shows would rewrite Season # to S00, since no season was specified.
* Add new categories mappings
So that e.g. headphones can correctly query bB for music
* Introducing API v2
There were multiple inconsistencies in the old API and I have been
toying with the idea to replace it. This will suck for everyone who was
building on top of the Jackett API, however as it was probably too
painful to do so I'd say no one really tried.
Now API v2.0 should be much more constistent as it uses DTObjects, and
instead of manually constructing a json response it is handled by the
ASP.NET web api. It is much more RESTful than it was, proper GET
endpoints are introduced, and updating resources are now done via POST -
it might be improved by introducing other type of REST methods.
I know this sucks as completely breaks backward compatibility, however
it'll probably make it easier to maintain and build on top of in the
long run.
* Use DELETE method to unconfigure an indexer
* Remove debugging format from NLog
* Fixing an null exception
* Properly implementing IExceptionFilter interface
* Enable adding public indexers without configuration
* Fix missing manual search results
* Basic modularization of the JS API
* Introduce API versioning
* Fix redirects to the dashboard
* Cleaning up a little bit
* Revamping Torznab and Potato as well
* Move preconditions to FilterAttributes and simplify logic
* Remove legacy filtering... will move to IResultFilter
* Minor adjustment on results interface
* Use Interpolated strings in ResultsController
* DTO-ify
* Remove fallback logic from potato results
* DTO everywhere!!!
* DTO-ify everything!
* I hope this is my last piece of modification to this PR
* Remove test variables...
* Left out a couple conflicts... It's late
AnimeTosho failed to populate the Origin field of the results when
searching thereby creating an issue upon creating the proxy link. This
was mainly because an IEnumerable can contain a deferred LINQ query as
well (e.g. in the case of AnimeTosho a Select) that will re-execute
every single time. So when iterating over IEnumerables we cannot really
pose any assumption on what we are dealing with, so either explicitly
force an execution (e.g. via ToList), or use LINQ queries as well. Since
the second is probably more performant, let's stick with that.
To get a larger number of results, users should increase the number on the website, similar to how it's implemented for TorrentLeech. Since TorrentBytes can be slow at times, making one large request will not be that much slower from one small request, but will nearly half the time taken compared to two smaller requests.
You can now pass a parameter to the dashboard which will immediately pop
the search box and start searching for the results.
This should be what #1345 and #1577 wants, or at least a basic version
of it.
* Update KAT definition for real login test
* Add error handling to KAT definition's login
* Even better error handling...
Sorry for the inelegant successive commits
* Add better test behaviour for KAT
Added some logic so tests return results. Previously did a search with an empty string which would return no results. NB : it does test with "torrents.php?search=%22%22" but that's not an issue, the parameter is ignored on that page.
* New definition for indexer "B2S-Share"
I made a new definition for this indexer.
B2S-Share is a general Brazilian tracker.
This tracker does not support multiple category search, so i left it searching in all categories.
* Update README.md
Added B2S-Share to the private tracker list.
* New definition for indexer "Manicomio Share"
I made a new definition for this indexer.
Manicomio Share is a general Brazilian tracker.
A few known issues:
1 - The tracker does not show the "release date" unless i click on another button with a "onclick="expand(584941,event)"". So i left it without date.
2 - I wasn't able to configure the "login: post" method, since there's no dedicated login page. I used Cookies instead.
* Add Manicomio Share to Private Tracker list
Add Manicomio Share to Private Tracker list
* Updated manicomioshare.yml
Updated line 229 in manicomioshare.yml so it's more flexible in case the URL changes. (Thanks kaso17)
* Tracker doesn't support multiple categories search
Tracker doesn't support multiple categories search, removed the "range .Categories" line
* Line endings...
* Remove Autofac and all its shenanigans from IndexerManager
I'm starting my warpath against Autofac. For the next couple PRs I want
to focus on refactoring things rather than creating new things. This
includes introducing LINQ extensions wherever possible as well as
removing Autofac/Automapper dependencies in classes (or any other
dependency, there's a great chance that most of the classes that use
Jackett.Services wouldn't need so many of them). All this is order to
boost performance and eventually reach testability. Can't stop, won't
stop.
* Remove unnecessary extension
* Modify test project
* As per @kaso17, iterating through iterator types rather than allocating them manually
* Cleaning up a little
* Adjusting interface in tests
* Line endings...
* Encoding Encoding in a reasonable way
Sadly Encoding contains a self-reference somewhere, which makes it
really hard for the json serializer to automatically encode it...
Probably there's no value in sending it over especially since no one is
using it, however just for the sake of the argument, let's just
serialize it in a reasonable way. Maybe someday there will be someone
expecting this. Or we clearly separate DTOs and models...
- FixesJackett/Jackett#1532
- FixesJackett/Jackett#1539
* Seriously... Please port this to dotnet Core so that I can use something other than @drunkvs on my MacBook
* Fix autofac registration after merge
* "Implement" new function of interface in test project
It's quite hard to encapsulate something this large. This refactor
contains multiple attacks on the current architecture and is changing
things that were probably created quite a while back then. Luckily this
was done in increments so it mustn't be that impossible to recall what
has been done. I just need to relax my memory a little bit.
So the basic idea was quite simple. Let's distingush metas and normal
indexers a little bit more. Both of them were originating from
BaseIndexer, however very little of the functionality was actually
shared between them. Actually quite a few things made it even harder to
implement a different kind of indexer, especially for a newcomer for
both Jackett and C#.
Then in order to further reduce whatever was encapsulated in
any kind of, a couple things had to be changed. Like CardigannIndexer,
which probably had quite a mindshift change. IndexerManager and the
configuration management were also encapsulated and refactored, and now
I have a feeling that although the code could be improved, at least the
responsibilities of services and what they actually do is now clearer.
Anyhow, it would be safe to assume that I will not be able to go
step-by-step and define everything that has been changed. I'm sorry.
* Line endings...
* Improve download handling of torrents in metas
Until now, downloads were handled by metas, however they had to "guess"
which indexer the result was originating from and resolve to that
indexer. While this has been working without an issue, it really
shouldn't be considered stable.
Therefore indexers now link themselves to the results they provide. In
order to keep my sanity and automate this as much as possible, I had to
slightly modify the interface (sorry, everyone).
* Line endings...
* Integrating OMDB into Potato results
Now PotatoController will actually produce results
* VS complains it could be simplified, yet AppVeyor cannot do anything with it...
* How come only Appveyor unveils this error? @drunkvs
* Line endings...
* Refactoring how MetaIndexers handle fallbacks
Originally this modification was part of a much larger refactoring,
however for the sake of reviewability I split it into smaller chunks.
Sadly it is still quite large.
I wanted to split it even more, however after a certain point there was
really no value in creating smaller chunks. The biggest part of this
modification would be still huge.
So all in all, there're 3 aspects of this modification
- It modifies BaseIndexer so that it now implements IIndexer (will be
very useful later on)
- Resolving most of the warnings currently in Jackett (the only ones
remaining are related to Autofac, however if I could I would just burn
Autofac altogether rather than fix the warnings. Will open discussion on
this.)
- Biggest part: refactoring how MetaIndexers handle fallbacks and how
they provide the final result set
MetaIndexers now accept any kind of fallback and filtering mechanism
that implements the necessary interface, so that in the future IMDB
fallback and filtering won't be the only one. I know there are not a lot
of unit tests around Jackett at the moment, however this renders the
class much more unittestable as well.
* Integrate OMDB API for the fallback option
* Safeguarding when no API key is specified
* Autofac started complaining... I don't understand...
* How did that not make the previous commit?
* Line endings...
* Refactoring how MetaIndexers handle fallbacks
Originally this modification was part of a much larger refactoring,
however for the sake of reviewability I split it into smaller chunks.
Sadly it is still quite large.
I wanted to split it even more, however after a certain point there was
really no value in creating smaller chunks. The biggest part of this
modification would be still huge.
So all in all, there're 3 aspects of this modification
- It modifies BaseIndexer so that it now implements IIndexer (will be
very useful later on)
- Resolving most of the warnings currently in Jackett (the only ones
remaining are related to Autofac, however if I could I would just burn
Autofac altogether rather than fix the warnings. Will open discussion on
this.)
- Biggest part: refactoring how MetaIndexers handle fallbacks and how
they provide the final result set
MetaIndexers now accept any kind of fallback and filtering mechanism
that implements the necessary interface, so that in the future IMDB
fallback and filtering won't be the only one. I know there are not a lot
of unit tests around Jackett at the moment, however this renders the
class much more unittestable as well.
* Autofac started complaining... I don't understand...
* Line endings...
* Fixes an issue when the aggregate doesn't require fallback
Apparently operating on null with LINQ is not safe :)
- This fixesJackett/Jackett#1471
* Line endings...
* Add fallback query for meta indexers
In cases where multiple indexers are configured under one
metaindexer if any of them supports IMDB search the meta
will support IMDB search as well. However the actual query will
then only be performed by those supporting IMDB search, because
others refuse it (see CanHandleQuery implementation).
- This adds support of a fallback mechanism for other indexers
- Adds first implementation of result improvement (necessary for
fallback queries as they might produce irrelevant results)
- Some minor fixes encountered while debugging/coding
Known issue:
- Configuring nCore and IsoHunt together will render results
from nCore unusuable. Don't know why.
* Fix date parsing
* Use http link instead of https
* Site doesn't load properly over https because not all page resources
are serviced via https links.
* Checking capabilities before executing a query
* Introduce base class for meta indexers
* Build fix - I seriously do not know how I missed that
* Moving things to the appropriate place
* Simplifying things as much as possible and moving once again
* Build fix?
@kaso17 FYI I found out today that anidex does not always have a magnet link corresponding to returned search results. As a result it is more reliable to use the torrent link instead of the magnet link that my definition currently uses. To do this one just needs to change the download selector from `td:nth-child(6) > a` to `td:nth-child(5) > a`.
* Update README with more details OS X instructions
- Adds detailed instructions on syncing ca certs and avoiding SIP issues
outlned in https://github.com/Jackett/Jackett/issues/1179
* Move ubuntu instructions to linux section
* Removed Nyaa.se due to its closure, added Nyaa mirro Nyaa-Pantsu to replace it
* VS15 project file so that the filelist is correct
* Adding Nyoo support
* Adding Nyoo support
* add
* Add 3D Torrents
* Accidently commited an old version of the 3dtorrents yaml file
* Allow searching by categories for TPB
* add
* add
* Fix error when pressing the Test button for TPB. This will remove searching by category for the time being.
* Change HDPter to Ourbits
* iloveclassics - the date is not within td:nth-child(2) div, but rather just td:nth-child(2), so remove the div
bigtorrent - grabs and files data are not displayed in the grid. Seeders and leechers data was off by a column
* Add ThePlace / TheVault / TheShow / TheOccult / TheGeeks (#1302)
* Change SceneFZ domain (#1306)
* Add tracker SportHD
* Improving Torznab compatibility in AggregateIndexer
The indexer was not correctly reporting the Torznab capabilities
it provided. Basically it only reported a default number of
caps instead of combining all the caps of all the configured
indexers. This lead to an issue with external components
(e.g. Radarr) which rendered the Aggregate feed unusable in
certain situations.
- Correctly reports capabilities based on configured indexers
* Fixes incorrect internal state of configured indexers
When adding/deleting configured indexers the aggregate
was never updated leaving out possible search results.
- Introduce reconfiguring of the Aggregate upon addition/deletion
of an indexer
- Fixing an internal state issue of the indexers reporting
themselves as unconfigured after addition
* Removing obsolete call (thanks @kaso17)
This patch improves the general stability of the aggregate.
- Result is generated even if some trackers failed to answer
or some other issue were encountered
- FixesJackett/Jackett#1316
* add
* Add 3D Torrents
* Accidently commited an old version of the 3dtorrents yaml file
* Allow searching by categories for TPB
* add
* add
* Fix error when pressing the Test button for TPB. This will remove searching by category for the time being.
* Change HDPter to Ourbits
* iloveclassics - the date is not within td:nth-child(2) div, but rather just td:nth-child(2), so remove the div
bigtorrent - grabs and files data are not displayed in the grid. Seeders and leechers data was off by a column
* Add ThePlace / TheVault / TheShow / TheOccult / TheGeeks (#1302)
* Change SceneFZ domain (#1306)
* Add tracker SportsCult
* add
* Add 3D Torrents
* Accidently commited an old version of the 3dtorrents yaml file
* Allow searching by categories for TPB
* add
* add
* Fix error when pressing the Test button for TPB. This will remove searching by category for the time being.
* Change HDPter to Ourbits
* iloveclassics - the date is not within td:nth-child(2) div, but rather just td:nth-child(2), so remove the div
bigtorrent - grabs and files data are not displayed in the grid. Seeders and leechers data was off by a column
* Add ThePlace / TheVault / TheShow / TheOccult / TheGeeks (#1302)
* Change SceneFZ domain (#1306)
* Change TransmitheNet to Nebulance
2017-05-04 21:54:12 +10:00
657 changed files with 35469 additions and 20059 deletions
**Please use the search bar** at the top of the page and make sure you are not creating an already submitted issue. Duplicating issues makes it more difficult for everyone to follow. Your issue may have already been solved in the past as well.
Provide a description of the feature request or bug, the more details the better.
If you are experiencing an issue with a tracker, a **full log must be included**. Instructions for obtaining logs are here: https://github.com/Jackett/Jackett#troubleshooting
If you are experiencing an issue with a tracker, a **full enhanced log must be included**. Instructions for obtaining logs are here: https://github.com/Jackett/Jackett#troubleshooting
This issue looks similar to #{{ chosenIssue.number }}.
To prevent issue tracker clutter, this issue will now be closed. If you feel this issue isn't a duplicate of #{{ chosenIssue.number }}, then feel free to post a comment on this issue stating why it's not a duplicate. Your comment will automatically re-open this issue.
You've created an issue, but haven't provided any details to allow the community to assist you. To prevent issue tracker clutter, this issue will now be closed. Please provide the information needed below and your comment will automatically re-open this issue.
Provide a description of the feature request or bug, the more details the better.
If you are experiencing an issue with a tracker, a **full enhanced log must be included**. Instructions for obtaining logs are here: https://github.com/Jackett/Jackett#troubleshooting
No response has been received for {{ days }} days. To prevent issue tracker clutter, this issue will now be closed. To re-open the issue, please provide the information requested and the issue will automatically re-open.
This project is a new fork and is recruiting development help. If you are able to help out please contact us.
Jackett works as a proxy server: it translates queries from apps ([Sonarr](https://github.com/Sonarr/Sonarr), [Radarr](https://github.com/Radarr/Radarr), [SickRage](https://sickrage.github.io/), [CouchPotato](https://couchpota.to/), [Mylar](https://github.com/evilhero/mylar), etc) into tracker-site-specific http queries, parses the html response, then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches. Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps.
Developer note: The software implements the [Torznab](https://github.com/Sonarr/Sonarr/wiki/Implementing-a-Torznab-indexer) (with [nZEDb](https://github.com/nZEDb/nZEDb/blob/dev/docs/newznab_api_specification.txt) category numbering) and [TorrentPotato](https://github.com/RuudBurger/CouchPotatoServer/wiki/Couchpotato-torrent-provider) APIs.
#### Supported Systems
* Windows using .NET 4.5
* Linux and OSX using Mono 4 (mono 3 is no longer supported).
### Supported Public Trackers
* EZTV
* Il Corsaro Nero <!-- maintained by bonny1992 -->
Trackers marked with [![(invite needed)][inviteneeded]](#) have no active maintainer and are missing features or are broken. If you have an invite for them please send it to kaso1717 -at- gmail.com to get them fixed/improved.
## Installation on Windows
We recommend you install Jackett as a Windows service using the supplied installer. You may also download the zipped version if you would like to configure everything manually.
To get started with using the installer for Jackett, follow the steps below:
1. Download the latest version of the Windows installer, "Jackett.Installer.Windows.exe" from the [releases](https://github.com/Jackett/Jackett/releases/latest) page.
2. When prompted if you would like this app to make changes to your computer, select "yes".
3. If you would like to install Jackett as a Windows Service, make sure the "Install as Windows Service" checkbox is filled.
4. Once the installation has finished, check the "Launch Jackett" box to get started.
5. Navigate your web browser to: http://127.0.0.1:9117
6. You're now ready to begin adding your trackers and using Jackett.
When installed as a service the tray icon acts as a way to open/start/stop Jackett. If you opted to not install it as a service then Jackett will run its web server from the tray tool.
Jackett can also be run from the command line if you would like to see log messages (Ensure the server isn't already running from the tray/service). This can be done by using "JackettConsole.exe" (for Command Prompt), found in the Jackett data folder: "%ProgramData%\Jackett".
## Installation on Linux/OSX
1. Install [Mono 4](http://www.mono-project.com/download/#download-lin) or better (version 4.8 is recommended)
* Follow the instructions on the mono website and install the `mono-devel` and the `ca-certificates-mono` packages.
* On Red Hat/CentOS/openSUSE/Fedora the `mono-locale-extras` package is also required.
* For other distros see the [Curl docs](http://curl.haxx.se/dlwiz/?type=devel).
3. Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett using mono with the command `mono --debug JackettConsole.exe`.
Detailed instructions for [Ubuntu 14.x](http://www.htpcguides.com/install-jackett-on-ubuntu-14-x-for-custom-torrents-in-sonarr/) and [Ubuntu 15.x](http://www.htpcguides.com/install-jackett-ubuntu-15-x-for-custom-torrents-in-sonarr/)
## Installation using Docker
Detailed instructions are available at [LinuxServer.io Jackett Docker](https://hub.docker.com/r/linuxserver/jackett/). The Jackett Docker is highly recommended, especially if you are having Mono stability issues or having issues running Mono on your system eg. QNAP, Synology. Thanks to [LinuxServer.io](https://linuxserver.io)
## Installation on Synology
Jackett is available as beta package from [SynoCommuniy](https://synocommunity.com/)
## Troubleshooting
*__Command line switches__
You can pass various options when running via the command line, see --help for details.
*__Unable to connect to trackers with invalid SSL certificates__
You can disable certificate validation using the `--IgnoreSslErrors true` option but it's not recommended to use it as it enables Man-in-the-middle attacks on your connections.
*__Enable logging__
You can get additional logging with the command line switches `-t -l` or by enabeling `Enhanced logging` via the web interface.
Please post logs if you are unable to resolve your issue with these switches ensuring to remove your username/password/cookies.
The logfiles (log.txt/updater.txt) are stored in `%ProgramData%\Jackett` on Windows and `~/.config/Jackett/` on Linux/OSX.
## Creating an issue
Please supply as much information about the problem you are experiencing as possible. Your issue has a much greater chance of being resolved if logs are supplied so that we can see what is going on. Creating an issue with '### isn't working' doesn't help anyone to fix the problem.
## Contributing
All contributions are welcome just send a pull request. Jackett's framework allows our team (and any other volunteering dev) to implement new trackers in an hour or two. If you'd like support for a new tracker but are not a developer then feel free to leave a request on the [issues page](https://github.com/Jackett/Jackett/issues). It is recommended to use Visual studio 2015 when making code changes in this project.
This project is a new fork and is recruiting development help. If you are able to help out please contact us.
Jackett works as a proxy server: it translates queries from apps ([Sonarr](https://github.com/Sonarr/Sonarr), [Radarr](https://github.com/Radarr/Radarr), [SickRage](https://sickrage.github.io/), [CouchPotato](https://couchpota.to/), [Mylar](https://github.com/evilhero/mylar), [DuckieTV](https://github.com/SchizoDuckie/DuckieTV), etc) into tracker-site-specific http queries, parses the html response, then sends results back to the requesting software. This allows for getting recent uploads (like RSS) and performing searches. Jackett is a single repository of maintained indexer scraping & translation logic - removing the burden from other apps.
Developer note: The software implements the [Torznab](https://github.com/Sonarr/Sonarr/wiki/Implementing-a-Torznab-indexer) (with [nZEDb](https://github.com/nZEDb/nZEDb/blob/dev/docs/newznab_api_specification.txt) category numbering) and [TorrentPotato](https://github.com/RuudBurger/CouchPotatoServer/wiki/Couchpotato-torrent-provider) APIs.
#### Supported Systems
* Windows using .NET 4.6.1 or above [Download here](https://www.microsoft.com/net/framework/versions/net461).
* Linux and macOS using Mono 5.8 or above. [Download here](http://www.mono-project.com/download/). Earlier versions of mono may work, but some trackers may fail to negotiate SSL correctly, and others may cause Jackett to crash when used.
*Norbits <!-- added by DiseaseNO but no longer maintained? -->
*notwhat.cd
*Ourbits
*Passione Torrent <!-- maintained by bonny1992 -->
*PassThePopcorn
*PirateTheNet
*PiXELHD
*PolishSource
* PolishTracker
* Pretome
* PrivateHD
* Psytorrents
* PTFiles
* PuntoTorrent
* Racing4Everyone (R4E)
* Redacted (PassTheHeadphones)
* RevolutionTT
* RGU
* RoDVD
* SceneFZ
* SceneReactor
* SceneTime
* SDBits
* Secret Cinema
* Shareisland
* ShareSpaceDB
* Shazbat
* Shellife
* Speed-Share
* SpeedCD
* SpeedTorrent Reloaded
* SportsCult
* SportHD
* Superbits
* Tasmanit
* TBPlus
* TenYardTracker
* The Empire
* The Geeks
* The Horror Charnel
* The Occult
* The New Retro
* The Place
* The Shinning
* The Show
* The Vault
* The-Torrents
* Torrent Network
*Torrent Sector Crew
* Torrent.LT
* TorrentBD
* TorrentBytes
*TorrentCCF [![(invite needed)][inviteneeded]](#)
* TorrentDay
* Torrentech
* TorrentHeaven
*TorrentHR
* Torrenting
*Torrentland
* TorrentLeech
* Torrents.Md
* TorrentSeeds
* Torrent-Syndikat
* TOrrent-tuRK (TORK)
* TorViet
* ToTheGlory
* TranceTraffic
* Trezzor
* TV Chaos UK
* TV-Vault
* u-torrents (SceneFZ)
* UHDBits
* Ultimate Gamer Club
* Waffles
* World-In-HD
* WorldOfP2P
* x264
* xBytesV2
* XSpeeds
* Xthor
* Your Exotic Torrents
* Zamunda.net
* Zelka.org
Trackers marked with [![(invite needed)][inviteneeded]](#) have no active maintainer and are missing features or are broken. If you have an invite for them please send it to kaso1717 -at- gmail.com to get them fixed/improved.
### Aggregate indexers
A special "all" indexer is available at `/api/v2.0/indexers/all/results/torznab/api`.
It will query all configured indexers and return the combined results.
To get all Jackett indexers including their capabilities you can use `t=indexers` on the all indexer. To get only configured/unconfigured indexers you can also add `configured=true/false` as query parameter.
## Installation on Windows
We recommend you install Jackett as a Windows service using the supplied installer. You may also download the zipped version if you would like to configure everything manually.
To get started with using the installer for Jackett, follow the steps below:
1. Download the latest version of the Windows installer, "Jackett.Installer.Windows.exe" from the [releases](https://github.com/Jackett/Jackett/releases/latest) page.
2. When prompted if you would like this app to make changes to your computer, select "yes".
3. If you would like to install Jackett as a Windows Service, make sure the "Install as Windows Service" checkbox is filled.
4. Once the installation has finished, check the "Launch Jackett" box to get started.
5. Navigate your web browser to: http://127.0.0.1:9117
6. You're now ready to begin adding your trackers and using Jackett.
When installed as a service the tray icon acts as a way to open/start/stop Jackett. If you opted to not install it as a service then Jackett will run its web server from the tray tool.
Jackett can also be run from the command line if you would like to see log messages (Ensure the server isn't already running from the tray/service). This can be done by using "JackettConsole.exe" (for Command Prompt), found in the Jackett data folder: "%ProgramData%\Jackett".
## Installation on Linux
1. Install [Mono 5.8](http://www.mono-project.com/download/#download-lin) or better (using the latest stable release is recommended)
* Follow the instructions on the mono website and install the `mono-devel` and the `ca-certificates-mono` packages.
* On Red Hat/CentOS/openSUSE/Fedora the `mono-locale-extras` package is also required.
* For other distros see the [Curl docs](http://curl.haxx.se/dlwiz/?type=devel).
3. Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett using mono with the command `mono --debug JackettConsole.exe`.
Detailed instructions for [Ubuntu 14.x](http://www.htpcguides.com/install-jackett-on-ubuntu-14-x-for-custom-torrents-in-sonarr/) and [Ubuntu 15.x](http://www.htpcguides.com/install-jackett-ubuntu-15-x-for-custom-torrents-in-sonarr/)
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
Mono must be compiled with the Roslyn compiler (default), using MCS will cause "An error has occurred." errors (See https://github.com/Jackett/Jackett/issues/2704).
## Installation on macOS
### Prerequisites
Install [Mono 4.6](http://www.mono-project.com/download/#download-mac) or better (using the latest pkg installer is recommended).
* Setup ssl support by running `curl -sS https://curl.haxx.se/ca/cacert.pem | cert-sync --user /dev/stdin`
### Install as service
1. Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases).
2. Open the extracted folder and double-click on `install_service_macos`.
3. If the installation was a success, you can close the Terminal window.
The service will start on each logon. You can always stop it by running `launchctl unload ~/Library/LaunchAgents/org.user.Jackett.plist` from Terminal. You can start it again it using `launchctl load ~/Library/LaunchAgents/org.user.Jackett.plist`.
Logs are stored as usual under `~/.config/Jackett/log.txt`.
### Run without installing as a service
Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett using mono with the command `mono --debug JackettConsole.exe`.
## Installation using Docker
Detailed instructions are available at [LinuxServer.io Jackett Docker](https://hub.docker.com/r/linuxserver/jackett/). The Jackett Docker is highly recommended, especially if you are having Mono stability issues or having issues running Mono on your system eg. QNAP, Synology. Thanks to [LinuxServer.io](https://linuxserver.io)
## Installation on Synology
Jackett is available as beta package from [SynoCommunity](https://synocommunity.com/)
## Running Jackett behind a reverse proxy
When running jackett behind a reverse proxy make sure that the original hostname of the request is passed to Jackett. If HTTPS is used also set the X-Forwarded-Proto header to "https". Don't forget to adjust the "Base Path Override" Jackett option accordingly.
Example config for apache:
```
<Location /jackett>
ProxyPreserveHost On
RequestHeader set X-Forwarded-Proto expr=%{REQUEST_SCHEME}
ProxyPass http://127.0.0.1:9117
ProxyPassReverse http://127.0.0.1:9117
</Location>
```
## Troubleshooting
* __Command line switches__
You can pass various options when running via the command line, see --help for details.
* __Error "The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel."__
This is often caused by missing CA certificates.
Try reimporting the certificates in this case:
- On Linux (as user root): `wget -O - https://curl.haxx.se/ca/cacert.pem | cert-sync /dev/stdin`
- On macOS: `curl -sS https://curl.haxx.se/ca/cacert.pem | cert-sync --user /dev/stdin`
*__Enable enhanced logging__
You can get *enhanced* logging with the command line switches `-t -l` or by enabling `Enhanced logging` via the web interface (followed by clicking on the `Apply Server Settings` button).
Please post logs if you are unable to resolve your issue with these switches ensuring to remove your username/password/cookies.
The logfiles (log.txt/updater.txt) are stored in `%ProgramData%\Jackett` on Windows and `~/.config/Jackett/` on Linux/macOS.
## Configuring OMDb
This feature is used as a fallback to get the movie/series title if only the IMDB ID is provided in the request.
To use it, please just request a free API key on [OMDb](http://www.omdbapi.com/apikey.aspx) (1,000 daily requests limit) and paste the key in Jackett
## Creating an issue
Please supply as much information about the problem you are experiencing as possible. Your issue has a much greater chance of being resolved if logs are supplied so that we can see what is going on. Creating an issue with '### isn't working' doesn't help anyone to fix the problem.
## Contributing
All contributions are welcome just send a pull request. Jackett's framework allows our team (and any other volunteering dev) to implement new trackers in an hour or two. If you'd like support for a new tracker but are not a developer then feel free to leave a request on the [issues page](https://github.com/Jackett/Jackett/issues). It is recommended to use Visual Studio 2017 when making code changes in this project. You can download the community version for free [here](https://www.visualstudio.com/downloads/).
## Building from source
### Windows
* Open the Jackett solution in Visual Studio 2017 (version 15.7 or above)
* Right click on the Jackett solution and click 'Rebuild Solution' to restore nuget packages
- File transfer resume, byte ranges, multiple asynchronous transfers.
- and much more...
CurlSharp provides simple get/set properties for libcurl's options and information functions, event-based hooks to libcurl's I/O, status, and progress callbacks, and wraps the c-style file I/O behind simple filename properties. The `CurlEasy` class contains has more than 100 different properties and methods to handle a wide variety of URL transfer requirements. While this may seem overwhelming at first glance, the good news is you will probably need only a tiny subset of these for most situations.
The CurlSharp library consists of these parts:
- Pure C# P/Invoke bindings to the libcurl API.
- Optional libcurlshim helper DLL [WIN32].
- The `CurlEasy` class which provides a wrapper around a `curl_easy` session.
- The `CurlMulti` class, which serves as a container for multiple CurlEasy objects, and provides a wrapper around a `curl_multi` session.
- The `CurlShare` class which provides an infrastructure for serializing access to data shared by multiple `CurlEasy` objects, including cookie data and DNS hosts. It implements the `curl_share_xxx` API.
- The `CurlHttpMultiPartForm` to easily construct multi-part forms.
- The `CurlSlist` class which wraps a linked list of strings used in cURL.
var postData = "parm1=12345&parm2=Hello+world%21";
easy.PostFields = postData;
easy.PostFieldSize = postData.Length;
easy.Perform();
}
```
HTTP/2.0 download:
```c#
using (var easy = new CurlEasy())
{
easy.Url = "https://google.com/";
easy.WriteFunction = OnWriteData;
// HTTP/2 please
easy.HttpVersion = CurlHttpVersion.Http2_0;
// skip SSL verification during debugging
easy.SslVerifyPeer = false;
easy.SslVerifyhost = false;
easy.Perform();
}
```
More samples are included in the Samples folder.
#### Credits ####
CurlSharp Written by Dr. Masroor Ehsan.
CurlSharp is based on original code by Jeff Phillips [libcurl.NET](http://sourceforge.net/projects/libcurl-net/). Original code has been modified and greatly enhanced.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.