Fix Safari not working not working (Untested). Fix cached download links not proxying the torrent download.

This commit is contained in:
KZ
2015-08-05 23:00:09 +01:00
parent d70b4412ed
commit bcc0b5b6bf
22 changed files with 274 additions and 18791 deletions

View File

@@ -1,4 +1,5 @@
using Jackett.Models;
using AutoMapper;
using Jackett.Models;
using Jackett.Services;
using Jackett.Utils;
using Jackett.Utils.Clients;
@@ -95,26 +96,18 @@ namespace Jackett.Controllers
// Cache non query results
if (string.IsNullOrEmpty(torznabQuery.SanitizedSearchTerm))
{
cacheService.CacheRssResults(indexer.DisplayName, releases);
cacheService.CacheRssResults(indexer, releases);
}
releases = indexer.FilterResults(torznabQuery, releases);
var severUrl = string.Format("{0}://{1}:{2}/", Request.RequestUri.Scheme, Request.RequestUri.Host, Request.RequestUri.Port);
// add Jackett proxy to download links...
foreach (var release in releases)
{
if (release.Link == null || (release.Link.IsAbsoluteUri && release.Link.Scheme == "magnet"))
continue;
var originalLink = release.Link;
var encodedLink = HttpServerUtility.UrlTokenEncode(Encoding.UTF8.GetBytes(originalLink.ToString())) + "/t.torrent";
var proxyLink = string.Format("{0}api/{1}/download/{2}", severUrl, indexer.ID, encodedLink);
release.Link = new Uri(proxyLink);
}
var proxiedReleases = releases.Select(s => Mapper.Map<ReleaseInfo>(s).ConvertToProxyLink(severUrl, indexerID));
var potatoResponse = new TorrentPotatoResponse();
foreach(var release in releases)
foreach(var release in proxiedReleases)
{
potatoResponse.results.Add(new TorrentPotatoResponseItem()
{