Commit Graph

61 Commits

Author SHA1 Message Date
flightlevel
f2f602dcc5 Mono 5.8 or greater is now required to start Jackett 2018-07-14 14:43:46 +10:00
flightlevel
cf3848a54f .NET Core preparation: Access ServerConfig without using JackettModule 2018-06-17 11:48:59 +10:00
kaso17
f3290800d8 bloackhole: fix magnet links 2018-06-08 16:04:54 +02:00
flightlevel
4b599f391c Mono 5.8 is the minimum supported runtime
#3181 fix. Can get away without using RuntimeInformation and didn't
consider public trackers without a password
2018-06-05 21:47:20 +10:00
flightlevel
a60c1fca36 .NET 4.6.1 or Mono 5.4 is now the minimum supported runtime 2018-06-03 21:27:47 +10:00
flightlevel
42beb6018e DotNet Core preparation (#3046)
.NET core uses HttpRequest instead of HttpRequestMessage
2018-05-01 21:06:18 +10:00
flightlevel
3e5e48c3a0 Change namespace to Jackett.Common (#2691)
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
2018-03-10 19:05:56 +11:00
kaso17
a2185bf957 update TrustedRootCertificates notice 2018-03-05 15:46:34 +01:00
kaso17
69e71bbe87 fix serverURL 2018-01-24 13:03:39 +01:00
kaso17
4fef4f872e basepath: add support for /jackett base path redirection 2018-01-23 20:40:37 +01:00
kaso17
2c83038ea8 Mono: check if the certificate store was initialized 2017-12-07 14:35:50 +01:00
kaso17
2934bfb3e7 Add PIDFile CLI option 2017-12-04 12:20:22 +01:00
kaso17
72df2c1545 Fix HTTPS custom port handling 2017-11-22 11:20:00 +01:00
Nathan Holland
1c62504b22 Remove Static Configuration Class and .NET Core Prep (#2122)
* 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.
2017-11-13 19:38:38 +11:00
kaso17
a6b5401c0b add support for magnet file download links 2017-11-09 13:28:15 +01:00
Nathan Holland
571c52a0f2 Feature/netcore preparation (#2072)
* 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.
2017-11-05 20:42:03 +11:00
Nathan Holland
8a6b9d4de7 Feature/netcore preparation (#2035)
* 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
2017-10-29 21:19:09 +11:00
kaso17
222fec2fd0 whitespace fixes 2017-09-01 17:32:20 +02:00
kaso17
3790cbb894 Add support for X-Forwarded-Proto/Front-End-Https headers 2017-09-01 17:28:56 +02:00
kaso17
05d5798046 Add root privileges notice 2017-08-31 17:48:49 +02:00
kaso17
289c5cd24f encrypt original path in download links and move apikey to parameters 2017-08-11 15:14:40 +02:00
chibidev
720b5971d3 Feature/new api (#1584)
* 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
2017-08-08 17:02:16 +02:00
chibidev
7c2b801ee9 Feature/remove autofac from indexer manager (#1549)
* 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
2017-07-14 07:39:52 +02:00
chibidev
9e3076dde6 I have a feeling I'm breaking the world and bringing the apocalypse
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.
2017-07-11 21:53:46 +02:00
kaso17
2ceb41324d fix mono 5 detection 2017-06-03 22:09:44 +02:00
chibidev
c0b665062e Adding an aggregate torznab feed for all configured trackers (#1312)
* Adding an aggregate torznab feed for all configured trackers

This adds just a basic first implementation of a special
torznab feed that will make all configured trackers available
with all the supported query params.
- This should close #1247 
- This also contributes to #921 

* Adding missing file

* Add missing implementation from Test project
2017-04-30 10:06:29 +02:00
flightlevel
f2def1f615 Normalise Line endings (#1284)
* Add .gitattributes

* Normalise line endings
2017-04-15 18:45:10 +10:00
kaso17
c61d7671a2 cleanup 2017-02-27 12:22:45 +01:00
kaso17
1f97d543df Add support for server notices 2017-02-27 12:19:36 +01:00
kaso17
4f73de67aa make HttpWebClient the default for mono >= 4.8 2017-02-17 15:48:44 +01:00
kaso17
e885a88189 Print ThreadPool config during startup 2017-02-15 17:22:01 +01:00
kaso17
9caccc5f93 Print issue file during startup 2017-02-01 12:25:02 +01:00
kaso17
9c13462da0 ServerService: check mono version during startup 2017-02-01 12:00:54 +01:00
kaso17
238908ee32 improve HttpListenerException handling 2017-01-26 15:25:44 +01:00
kaso17
4d952fc754 check for mono-devel 2017-01-26 15:12:15 +01:00
kaso17
dce295dcbd only check for mono-locale-extras in case of mono 2017-01-26 14:54:59 +01:00
kaso17
72e5baee58 Check for mono-locale-extras during startup 2017-01-26 14:13:58 +01:00
kaso17
40f930591a improve Address already in use error handling 2017-01-26 13:54:52 +01:00
kaso17
bbff25fd54 Delete JackettUpdate temp files 2017-01-19 15:03:44 +01:00
kaso17
3d17b736c5 log environment details during startup 2017-01-19 14:19:18 +01:00
kaso17
412df7c6f6 Sort indexers once all are loaded 2016-12-05 13:03:30 +01:00
kaso17
0f5e18492c Load definitions from multiple directories 2016-10-30 19:46:50 +01:00
kaso17
21cffe2d35 Add basic support for Cardigann definitions (#571)
* Add basic support for Cardigann definitions

* Add HDME definition

* Fix tests

* support split with negative indexes

* allow FromTimeAgo formats without spaces betwen value and unit

Example: 2h 3m

* Add basic support for Cardigann definitions

* Add HDME definition

* Fix tests

* support split with negative indexes

* allow FromTimeAgo formats without spaces betwen value and unit

Example: 2h 3m
2016-10-27 18:30:03 +11:00
flightlevel
8a54f9d825 URL Encode File Name
URL Encode file names in proxy link
Issue https://github.com/Jackett/Jackett/issues/222
2016-01-29 21:15:30 +11:00
Michael Robinson
42ec634cd3 Better reverse proxy support
Added "base path override" config option that makes all links and
redirects work with your reverse proxy.
Fixed post config update reload to work properly.
Make redirects and ajax calls use relative pathing.
2016-01-10 19:59:40 -07:00
WhatFox
a9e14cc4af Auto update #8 2015-11-09 21:59:16 +00:00
René Simonsen
4392219158 Changed download urls
I changed the download urls, because the current way with segments
(having the parameters between slashes) was causing problems with long
encoded urls, since a segment can be no longer than 255 characters. It
was changed to use regular url parameters which have no such limit on
length.
2015-10-26 10:20:14 +01:00
KZ
e660c57ccb Category mapping on TorrentLeech and AnimeBytes. Fix sparadic issue where downloads fail due to the url being too long. 2015-08-13 22:51:49 +01:00
KZ
6d0aa05761 Saved password security 2015-08-07 20:09:13 +01:00
KZ
922583ea5d Fix compilation under mono #117. Allow explicit web client selection. Init curl at application start. 2015-07-30 18:50:46 +01:00