mirror of https://github.com/Jackett/Jackett
Code Tidy: Indexers P to Z (#2033)
This commit is contained in:
parent
e93d8f0f7c
commit
84ccd323e0
|
@ -1,18 +1,16 @@
|
|||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using System.Text;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -23,7 +21,8 @@ namespace Jackett.Indexers
|
|||
private string SearchUrl { get { return "https://passthepopcorn.me/torrents.php"; } }
|
||||
private string DetailURL { get { return "https://passthepopcorn.me/torrents.php?torrentid="; } }
|
||||
private string AuthKey { get; set; }
|
||||
new ConfigurationDataBasicLoginWithFilterAndPasskey configData
|
||||
|
||||
private new ConfigurationDataBasicLoginWithFilterAndPasskey configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLoginWithFilterAndPasskey)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -38,7 +37,7 @@ namespace Jackett.Indexers
|
|||
client: c,
|
||||
logger: l,
|
||||
p: ps,
|
||||
configData: new ConfigurationDataBasicLoginWithFilterAndPasskey(@"Enter filter options below to restrict search results.
|
||||
configData: new ConfigurationDataBasicLoginWithFilterAndPasskey(@"Enter filter options below to restrict search results.
|
||||
Separate options with a space if using more than one option.<br>Filter options available:
|
||||
<br><code>GoldenPopcorn</code><br><code>Scene</code><br><code>Checked</code>"))
|
||||
{
|
||||
|
@ -162,7 +161,6 @@ namespace Jackett.Indexers
|
|||
bool.TryParse((string)torrent["Scene"], out scene);
|
||||
bool.TryParse((string)torrent["Checked"], out check);
|
||||
|
||||
|
||||
if (configGoldenPopcornOnly && !golden)
|
||||
{
|
||||
continue; //Skip release if user only wants GoldenPopcorn
|
||||
|
|
|
@ -1,36 +1,36 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
using AngleSharp.Parser.Html;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using System.Collections.Specialized;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
class PiXELHD : BaseWebIndexer
|
||||
public class PiXELHD : BaseWebIndexer
|
||||
{
|
||||
string LoginUrl { get { return SiteLink + "login.php"; } }
|
||||
string BrowseUrl { get { return SiteLink + "torrents.php"; } }
|
||||
private string LoginUrl
|
||||
{ get { return SiteLink + "login.php"; } }
|
||||
private string BrowseUrl
|
||||
{ get { return SiteLink + "torrents.php"; } }
|
||||
|
||||
new ConfigurationDataCaptchaLogin configData
|
||||
private new ConfigurationDataCaptchaLogin configData
|
||||
{
|
||||
get { return (ConfigurationDataCaptchaLogin)base.configData; }
|
||||
set { base.configData = value; }
|
||||
}
|
||||
|
||||
string input_captcha = null;
|
||||
string input_username = null;
|
||||
string input_password = null;
|
||||
private string input_captcha = null;
|
||||
private string input_username = null;
|
||||
private string input_password = null;
|
||||
|
||||
public PiXELHD(IIndexerConfigurationService configService, IWebClient webClient, Logger logger, IProtectionService protectionService)
|
||||
: base(name: "PiXELHD",
|
||||
|
@ -51,7 +51,6 @@ namespace Jackett.Indexers
|
|||
TorznabCaps.SupportsImdbSearch = true;
|
||||
|
||||
AddCategoryMapping(1, TorznabCatType.MoviesHD);
|
||||
|
||||
}
|
||||
|
||||
public override async Task<ConfigurationData> GetConfigurationForSetup()
|
||||
|
@ -82,7 +81,7 @@ namespace Jackett.Indexers
|
|||
|
||||
var passwordInput = LoginDocument.QuerySelector("input[maxlength=\"40\"]");
|
||||
input_password = passwordInput.GetAttribute("name");
|
||||
|
||||
|
||||
return configData;
|
||||
}
|
||||
|
||||
|
@ -204,6 +203,5 @@ namespace Jackett.Indexers
|
|||
|
||||
return releases;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
using CsQuery;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Collections.Specialized;
|
||||
using System.Globalization;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -21,10 +21,10 @@ namespace Jackett.Indexers
|
|||
private string SearchUrl { get { return SiteLink + "torrentsutils.php"; } }
|
||||
private string LoginUrl { get { return SiteLink + "takelogin.php"; } }
|
||||
private string CaptchaUrl { get { return SiteLink + "simpleCaptcha.php?numImages=1"; } }
|
||||
TimeZoneInfo germanyTz = TimeZoneInfo.CreateCustomTimeZone("W. Europe Standard Time", new TimeSpan(1, 0, 0), "W. Europe Standard Time", "W. Europe Standard Time");
|
||||
private TimeZoneInfo germanyTz = TimeZoneInfo.CreateCustomTimeZone("W. Europe Standard Time", new TimeSpan(1, 0, 0), "W. Europe Standard Time", "W. Europe Standard Time");
|
||||
private readonly List<String> categories = new List<string>() { "1080P", "720P", "BDRip", "BluRay", "BRRip", "DVDR", "DVDRip", "FLAC", "MP3", "MP4", "Packs", "R5", "Remux", "TVRip", "WebRip" };
|
||||
|
||||
new ConfigurationDataBasicLoginWithRSSAndDisplay configData
|
||||
private new ConfigurationDataBasicLoginWithRSSAndDisplay configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
|
|
@ -1,32 +1,30 @@
|
|||
using Jackett.Utils.Clients;
|
||||
using NLog;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Models;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Collections.Specialized;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json;
|
||||
using static Jackett.Models.IndexerConfig.ConfigurationData;
|
||||
using System.Globalization;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
public class PolishTracker : BaseWebIndexer
|
||||
{
|
||||
string LoginUrl { get { return SiteLink + "login"; } }
|
||||
string TorrentApiUrl { get { return SiteLink + "apitorrents"; } }
|
||||
string CDNUrl { get { return "https://cdn.pte.nu/"; } }
|
||||
private string LoginUrl { get { return SiteLink + "login"; } }
|
||||
private string TorrentApiUrl { get { return SiteLink + "apitorrents"; } }
|
||||
private string CDNUrl { get { return "https://cdn.pte.nu/"; } }
|
||||
|
||||
public override string[] LegacySiteLinks { get; protected set; } = new string[] {
|
||||
"https://polishtracker.net/",
|
||||
};
|
||||
|
||||
new ConfigurationDataBasicLoginWithRSSAndDisplay configData
|
||||
private new ConfigurationDataBasicLoginWithRSSAndDisplay configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -120,7 +118,7 @@ namespace Jackett.Indexers
|
|||
if (json["hits"] != null) // is search result
|
||||
torrents = json.SelectTokens("$.hits[?(@._type == 'torrent')]._source");
|
||||
/*
|
||||
{
|
||||
{
|
||||
"id":426868,
|
||||
"name":"Realease-nameE",
|
||||
"size":"2885494332",
|
||||
|
@ -139,7 +137,6 @@ namespace Jackett.Indexers
|
|||
},
|
||||
*/
|
||||
|
||||
|
||||
foreach (var torrent in torrents)
|
||||
{
|
||||
var release = new ReleaseInfo();
|
||||
|
@ -163,7 +160,7 @@ namespace Jackett.Indexers
|
|||
release.Imdb = ParseUtil.CoerceLong(imdbid);
|
||||
|
||||
if ((bool)torrent.poster == true)
|
||||
{
|
||||
{
|
||||
if (release.Imdb != null)
|
||||
release.BannerUrl = new Uri(CDNUrl + "images/torrents/poster/imd/l/" + imdbid + ".jpg");
|
||||
else if (torrent["cdu_id"] != null)
|
||||
|
@ -184,7 +181,7 @@ namespace Jackett.Indexers
|
|||
descriptions.Add("Language: pl");
|
||||
|
||||
if (descriptions.Count > 0)
|
||||
release.Description = string.Join("<br />\n", descriptions);
|
||||
release.Description = string.Join("<br />\n", descriptions);
|
||||
|
||||
releases.Add(release);
|
||||
}
|
||||
|
@ -198,4 +195,3 @@ namespace Jackett.Indexers
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,19 +1,18 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Models;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Jackett.Utils.Clients;
|
||||
using Jackett.Services;
|
||||
using NLog;
|
||||
using Jackett.Utils;
|
||||
using CsQuery;
|
||||
using System.Web;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Collections.Specialized;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -25,7 +24,7 @@ namespace Jackett.Indexers
|
|||
|
||||
private List<CategoryMapping> resultMapping = new List<CategoryMapping>();
|
||||
|
||||
new ConfigurationDataPinNumber configData
|
||||
private new ConfigurationDataPinNumber configData
|
||||
{
|
||||
get { return (ConfigurationDataPinNumber)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -93,7 +92,6 @@ namespace Jackett.Indexers
|
|||
AddCategoryMapping("cat[]=7&tags=PDTV", TorznabCatType.TVSD);
|
||||
AddCategoryMapping("cat[]=7&tags=HD-DVD", TorznabCatType.TVSD);
|
||||
|
||||
|
||||
AddCategoryMapping("cat[]=51&tags=XviD", TorznabCatType.XXXXviD);
|
||||
AddCategoryMapping("cat[]=51&tags=DVDRiP", TorznabCatType.XXXDVD);
|
||||
|
||||
|
@ -254,12 +252,13 @@ namespace Jackett.Indexers
|
|||
if (tags.Split(',').Length < 7)
|
||||
{
|
||||
queryCollection.Add("tags", tags);
|
||||
if(!string.IsNullOrWhiteSpace(tags)) {
|
||||
if (!string.IsNullOrWhiteSpace(tags))
|
||||
{
|
||||
// if tags are specified match any
|
||||
queryCollection.Add("tf", "any");
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
// if no tags are specified match all, with any we get random results
|
||||
queryCollection.Add("tf", "all");
|
||||
}
|
||||
|
|
|
@ -1,18 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Models;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using Jackett.Utils;
|
||||
using CsQuery;
|
||||
using System.Web;
|
||||
using Jackett.Services;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils.Clients;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Globalization;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
using Jackett.Models;
|
||||
using NLog;
|
||||
using Jackett.Indexers.Abstract;
|
||||
using Jackett.Models;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils.Clients;
|
||||
using Jackett.Indexers.Abstract;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
|
|
@ -1,25 +1,24 @@
|
|||
using Jackett.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
public class Rarbg : BaseWebIndexer
|
||||
{
|
||||
// API doc: https://torrentapi.org/apidocs_v2.txt
|
||||
readonly static string defaultSiteLink = "https://torrentapi.org/";
|
||||
private static readonly string defaultSiteLink = "https://torrentapi.org/";
|
||||
|
||||
private Uri BaseUri
|
||||
{
|
||||
|
@ -29,7 +28,7 @@ namespace Jackett.Indexers
|
|||
|
||||
private string ApiEndpoint { get { return BaseUri + "pubapi_v2.php"; } }
|
||||
|
||||
new ConfigurationDataUrl configData
|
||||
private new ConfigurationDataUrl configData
|
||||
{
|
||||
get { return (ConfigurationDataUrl)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -38,7 +37,7 @@ namespace Jackett.Indexers
|
|||
private DateTime lastTokenFetch;
|
||||
private string token;
|
||||
|
||||
readonly TimeSpan TOKEN_DURATION = TimeSpan.FromMinutes(10);
|
||||
private readonly TimeSpan TOKEN_DURATION = TimeSpan.FromMinutes(10);
|
||||
|
||||
private bool HasValidToken { get { return !string.IsNullOrEmpty(token) && lastTokenFetch > DateTime.Now - TOKEN_DURATION; } }
|
||||
|
||||
|
@ -87,8 +86,7 @@ namespace Jackett.Indexers
|
|||
AddCategoryMapping(35, TorznabCatType.BooksEbook, "e-Books");
|
||||
}
|
||||
|
||||
|
||||
async Task CheckToken()
|
||||
private async Task CheckToken()
|
||||
{
|
||||
if (!HasValidToken)
|
||||
{
|
||||
|
@ -127,7 +125,7 @@ namespace Jackett.Indexers
|
|||
await CheckToken();
|
||||
var releases = new List<ReleaseInfo>();
|
||||
var searchString = query.GetQueryString();
|
||||
|
||||
|
||||
var queryCollection = new NameValueCollection();
|
||||
queryCollection.Add("token", token);
|
||||
queryCollection.Add("format", "json_extended");
|
||||
|
@ -200,7 +198,7 @@ namespace Jackett.Indexers
|
|||
|
||||
if (errorCode > 0) // too many requests per seconds ???
|
||||
{
|
||||
// we use the IwebClient rate limiter now, this shouldn't happen
|
||||
// we use the IwebClient rate limiter now, this shouldn't happen
|
||||
throw new Exception("error " + errorCode.ToString() + ": " + jsonContent.Value<string>("error"));
|
||||
}
|
||||
|
||||
|
@ -248,6 +246,5 @@ namespace Jackett.Indexers
|
|||
|
||||
return releases;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
using Jackett.Models;
|
||||
using NLog;
|
||||
using System.Collections.Generic;
|
||||
using Jackett.Indexers.Abstract;
|
||||
using Jackett.Models;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils.Clients;
|
||||
using Jackett.Indexers.Abstract;
|
||||
using System.Collections.Generic;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ namespace Jackett.Indexers
|
|||
{
|
||||
Language = "en-us";
|
||||
Type = "private";
|
||||
TorznabCaps.SupportedMusicSearchParamsList = new List<string>() { "q", "album", "artist", "label", "year" } ;
|
||||
TorznabCaps.SupportedMusicSearchParamsList = new List<string>() { "q", "album", "artist", "label", "year" };
|
||||
|
||||
AddCategoryMapping(1, TorznabCatType.Audio, "Music");
|
||||
AddCategoryMapping(2, TorznabCatType.PC, "Applications");
|
||||
|
|
|
@ -1,36 +1,33 @@
|
|||
using CsQuery;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using System.Xml.Linq;
|
||||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
public class RevolutionTT : BaseWebIndexer
|
||||
{
|
||||
{
|
||||
private string LandingPageURL { get { return SiteLink + "login.php"; } }
|
||||
private string LoginUrl { get { return SiteLink + "takelogin.php"; } }
|
||||
private string GetRSSKeyUrl { get { return SiteLink + "getrss.php"; } }
|
||||
private string RSSUrl { get { return SiteLink + "rss.php?feed=dl&passkey="; } }
|
||||
private string SearchUrl { get { return SiteLink + "browse.php"; } }
|
||||
private string SearchUrl { get { return SiteLink + "browse.php"; } }
|
||||
private string DetailsURL { get { return SiteLink + "details.php?id={0}&hit=1"; } }
|
||||
|
||||
|
||||
new ConfigurationDataBasicLoginWithRSS configData
|
||||
private new ConfigurationDataBasicLoginWithRSS configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLoginWithRSS)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -53,7 +50,7 @@ namespace Jackett.Indexers
|
|||
Type = "private";
|
||||
|
||||
/* Original RevolutionTT Categories -
|
||||
|
||||
|
||||
Anime - 23
|
||||
Appz/Misc - 22
|
||||
Appz/PC-ISO - 1
|
||||
|
@ -80,8 +77,8 @@ namespace Jackett.Indexers
|
|||
TV/HDx264 - 42
|
||||
TV/Packs - 45
|
||||
TV/SDx264 - 41
|
||||
TV/XViD - 7
|
||||
|
||||
TV/XViD - 7
|
||||
|
||||
*/
|
||||
|
||||
//AddCategoryMapping("cat_id", TorznabCatType.Console);
|
||||
|
@ -98,7 +95,7 @@ namespace Jackett.Indexers
|
|||
//AddCategoryMapping("cat_id", TorznabCatType.ConsolePSVita);
|
||||
AddCategoryMapping("40", TorznabCatType.ConsoleWiiU);
|
||||
//AddCategoryMapping("cat_id", TorznabCatType.ConsoleXboxOne);
|
||||
//AddCategoryMapping("cat_id", TorznabCatType.ConsolePS4);
|
||||
//AddCategoryMapping("cat_id", TorznabCatType.ConsolePS4);
|
||||
AddCategoryMapping("44", TorznabCatType.Movies);
|
||||
//AddCategoryMapping("cat_id", TorznabCatType.MoviesForeign);
|
||||
//AddCategoryMapping("cat_id", TorznabCatType.MoviesOther);
|
||||
|
@ -226,7 +223,6 @@ namespace Jackett.Indexers
|
|||
throw e;
|
||||
}
|
||||
|
||||
|
||||
return IndexerConfigurationStatus.RequiresTesting;
|
||||
}
|
||||
|
||||
|
@ -262,10 +258,10 @@ namespace Jackett.Indexers
|
|||
|
||||
var imdbMatch = Regex.Match(description, "(?<=http://www.imdb.com/title/tt)([0-9]*)");
|
||||
long? imdbID = null;
|
||||
if(imdbMatch.Success)
|
||||
if (imdbMatch.Success)
|
||||
{
|
||||
long l;
|
||||
if(long.TryParse(imdbMatch.Value, out l))
|
||||
if (long.TryParse(imdbMatch.Value, out l))
|
||||
{
|
||||
imdbID = l;
|
||||
}
|
||||
|
@ -293,11 +289,9 @@ namespace Jackett.Indexers
|
|||
release.Peers += release.Seeders;
|
||||
releases.Add(release);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
searchUrl += "?titleonly=1&search=" + HttpUtility.UrlEncode(searchString);
|
||||
string.Format(SearchUrl, HttpUtility.UrlEncode(searchString));
|
||||
|
||||
|
@ -337,7 +331,8 @@ namespace Jackett.Indexers
|
|||
|
||||
var releaseLinkURI = qRow.Find("td:nth-child(4) > a").Attr("href");
|
||||
release.Link = new Uri(SiteLink + releaseLinkURI);
|
||||
if (releaseLinkURI != null){
|
||||
if (releaseLinkURI != null)
|
||||
{
|
||||
var dateString = qRow.Find("td:nth-child(6) nobr")[0].TextContent.Trim();
|
||||
//"2015-04-25 23:38:12"
|
||||
//"yyyy-MMM-dd hh:mm:ss"
|
||||
|
|
|
@ -114,7 +114,6 @@ namespace Jackett.Indexers
|
|||
// If we want to simulate a browser
|
||||
if (ConfigData.Browser.Value)
|
||||
{
|
||||
|
||||
// Clean headers
|
||||
emulatedBrowserHeaders.Clear();
|
||||
|
||||
|
@ -134,7 +133,6 @@ namespace Jackett.Indexers
|
|||
{ "returnto", "%2F" }
|
||||
};
|
||||
|
||||
|
||||
// Getting login form to retrieve PHPSESSID
|
||||
var myRequest = new WebRequest()
|
||||
{
|
||||
|
@ -371,7 +369,6 @@ namespace Jackett.Indexers
|
|||
};
|
||||
releases.Add(release);
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -410,7 +407,7 @@ namespace Jackett.Indexers
|
|||
queryCollection.Add("cat", "0");
|
||||
queryCollection.Add("incldead", "0");
|
||||
|
||||
// Building our query
|
||||
// Building our query
|
||||
url += "?" + queryCollection.GetQueryString();
|
||||
}
|
||||
else
|
||||
|
@ -633,9 +630,11 @@ namespace Jackett.Indexers
|
|||
logger.Debug(message);
|
||||
}
|
||||
break;
|
||||
|
||||
case "info":
|
||||
logger.Info(message);
|
||||
break;
|
||||
|
||||
case "error":
|
||||
logger.Error(message);
|
||||
break;
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
using CsQuery;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -22,7 +22,7 @@ namespace Jackett.Indexers
|
|||
private string SearchUrl { get { return SiteLink + "browse_API.php"; } }
|
||||
private string DownloadUrl { get { return SiteLink + "download.php/{0}/download.torrent"; } }
|
||||
|
||||
new ConfigurationDataRecaptchaLogin configData
|
||||
private new ConfigurationDataRecaptchaLogin configData
|
||||
{
|
||||
get { return (ConfigurationDataRecaptchaLogin)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -60,7 +60,7 @@ namespace Jackett.Indexers
|
|||
AddCategoryMapping(102, TorznabCatType.MoviesOther, "Movies/Remux");
|
||||
AddCategoryMapping(103, TorznabCatType.MoviesWEBDL, "Movies/Web-Rip");
|
||||
AddCategoryMapping(105, TorznabCatType.Movies, "Movies/Kids");
|
||||
|
||||
|
||||
//TV
|
||||
AddCategoryMapping(2, TorznabCatType.TVSD, "TV/XviD");
|
||||
AddCategoryMapping(43, TorznabCatType.TV, "TV/Packs");
|
||||
|
@ -162,13 +162,12 @@ namespace Jackett.Indexers
|
|||
return IndexerConfigurationStatus.RequiresTesting;
|
||||
}
|
||||
|
||||
|
||||
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||||
{
|
||||
Dictionary<string, string> qParams = new Dictionary<string, string>();
|
||||
qParams.Add("cata", "yes");
|
||||
qParams.Add("sec", "jax");
|
||||
|
||||
|
||||
List<string> catList = MapTorznabCapsToTrackers(query);
|
||||
foreach (string cat in catList)
|
||||
{
|
||||
|
@ -182,7 +181,7 @@ namespace Jackett.Indexers
|
|||
|
||||
var results = await PostDataWithCookiesAndRetry(SearchUrl, qParams);
|
||||
List<ReleaseInfo> releases = ParseResponse(query, results.Content);
|
||||
|
||||
|
||||
return releases;
|
||||
}
|
||||
|
||||
|
@ -210,8 +209,8 @@ namespace Jackett.Indexers
|
|||
|
||||
var categoryCol = row.ChildElements.ElementAt(categoryIndex);
|
||||
string catLink = categoryCol.Cq().Find("a").Attr("href");
|
||||
if(catLink != null)
|
||||
{
|
||||
if (catLink != null)
|
||||
{
|
||||
string catId = new Regex(@"\?cat=(\d*)").Match(catLink).Groups[1].ToString().Trim();
|
||||
release.Category = MapTrackerCatToNewznab(catId);
|
||||
}
|
||||
|
|
|
@ -1,24 +1,17 @@
|
|||
using CsQuery;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Globalization;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Xml.Linq;
|
||||
using System.Xml.XPath;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -30,7 +23,7 @@ namespace Jackett.Indexers
|
|||
private string ShowUrl { get { return SiteLink + "show?id="; } }
|
||||
private string RSSProfile { get { return SiteLink + "rss_feeds"; } }
|
||||
|
||||
new ConfigurationDataBasicLoginWithRSS configData
|
||||
private new ConfigurationDataBasicLoginWithRSS configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLoginWithRSS)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -246,7 +239,6 @@ namespace Jackett.Indexers
|
|||
OnParseError(results.Content, ex);
|
||||
}*/
|
||||
|
||||
|
||||
foreach (var release in releases)
|
||||
{
|
||||
if (release.Title.Contains("1080p") || release.Title.Contains("720p"))
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
using Jackett.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml;
|
||||
using System.Text;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -19,7 +19,7 @@ namespace Jackett.Indexers
|
|||
{
|
||||
private string SearchAllUrl { get { return SiteLink + "other/all.rss"; } }
|
||||
|
||||
new ConfigurationData configData
|
||||
private new ConfigurationData configData
|
||||
{
|
||||
get { return (ConfigurationData)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
using CsQuery;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Collections.Specialized;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ namespace Jackett.Indexers
|
|||
private string LoginUrl { get { return SiteLink + "takelogin.php"; } }
|
||||
private string SearchUrl { get { return SiteLink + "browse.php"; } }
|
||||
|
||||
new ConfigurationDataBasicLogin configData
|
||||
private new ConfigurationDataBasicLogin configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLogin)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -161,7 +161,6 @@ namespace Jackett.Indexers
|
|||
string cat = torrentData.Find("a[class='cat']").First().Attr("id").Trim();
|
||||
long.TryParse(cat, out category);
|
||||
|
||||
|
||||
var release = new ReleaseInfo();
|
||||
|
||||
release.Title = title;
|
||||
|
@ -185,7 +184,6 @@ namespace Jackett.Indexers
|
|||
|
||||
releases.Add(release);
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
using Jackett.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Collections.Specialized;
|
||||
using Newtonsoft.Json;
|
||||
using System.Globalization;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -20,7 +20,7 @@ namespace Jackett.Indexers
|
|||
private string SearchUrl { get { return SiteLink + "api/v1/torrents"; } }
|
||||
private string LoginUrl { get { return SiteLink + "api/v1/auth"; } }
|
||||
|
||||
new ConfigurationDataBasicLogin configData
|
||||
private new ConfigurationDataBasicLogin configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLogin)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -148,7 +148,7 @@ namespace Jackett.Indexers
|
|||
release.BannerUrl = new Uri(SiteLink + row.customcover);
|
||||
|
||||
if (row.imdbid2 != null && row.imdbid2.ToString().StartsWith("tt"))
|
||||
{
|
||||
{
|
||||
release.Imdb = ParseUtil.CoerceLong(row.imdbid2.ToString().Substring(2));
|
||||
descriptions.Add("Title: " + row.title);
|
||||
descriptions.Add("Year: " + row.year);
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
using Jackett.Models;
|
||||
using NLog;
|
||||
using System.Collections.Generic;
|
||||
using Jackett.Indexers.Abstract;
|
||||
using Jackett.Models;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils.Clients;
|
||||
using Jackett.Indexers.Abstract;
|
||||
using System.Collections.Generic;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ namespace Jackett.Indexers
|
|||
{
|
||||
Language = "en-us";
|
||||
Type = "private";
|
||||
TorznabCaps.SupportedMusicSearchParamsList = new List<string>() { "q", "album", "artist", "label", "year"};
|
||||
TorznabCaps.SupportedMusicSearchParamsList = new List<string>() { "q", "album", "artist", "label", "year" };
|
||||
|
||||
AddCategoryMapping(1, TorznabCatType.Audio, "Music");
|
||||
AddCategoryMapping(2, TorznabCatType.PC, "Applications");
|
||||
|
|
|
@ -1,36 +1,32 @@
|
|||
using CsQuery;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Linq;
|
||||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
public class TVChaosUK : BaseWebIndexer
|
||||
{
|
||||
string LoginUrl { get { return SiteLink + "takelogin.php"; } }
|
||||
string GetRSSKeyUrl { get { return SiteLink + "getrss.php"; } }
|
||||
string SearchUrl { get { return SiteLink + "browse.php"; } }
|
||||
string RSSUrl { get { return SiteLink + "rss.php?secret_key={0}&feedtype=download&timezone=0&showrows=50&categories=all"; } }
|
||||
string CommentUrl { get { return SiteLink + "details.php?id={0}"; } }
|
||||
string DownloadUrl { get { return SiteLink + "download.php?id={0}"; } }
|
||||
private string LoginUrl { get { return SiteLink + "takelogin.php"; } }
|
||||
private string GetRSSKeyUrl { get { return SiteLink + "getrss.php"; } }
|
||||
private string SearchUrl { get { return SiteLink + "browse.php"; } }
|
||||
private string RSSUrl { get { return SiteLink + "rss.php?secret_key={0}&feedtype=download&timezone=0&showrows=50&categories=all"; } }
|
||||
private string CommentUrl { get { return SiteLink + "details.php?id={0}"; } }
|
||||
private string DownloadUrl { get { return SiteLink + "download.php?id={0}"; } }
|
||||
|
||||
new ConfigurationDataBasicLoginWithRSS configData
|
||||
private new ConfigurationDataBasicLoginWithRSS configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLoginWithRSS)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -224,7 +220,7 @@ namespace Jackett.Indexers
|
|||
Description = description,
|
||||
Guid = new Uri(string.Format(DownloadUrl, torrentId)),
|
||||
Comments = new Uri(string.Format(CommentUrl, torrentId)),
|
||||
PublishDate = DateTime.ParseExact(date, "yyyy-MM-dd H:mm:ss", CultureInfo.InvariantCulture), //2015-08-08 21:20:31
|
||||
PublishDate = DateTime.ParseExact(date, "yyyy-MM-dd H:mm:ss", CultureInfo.InvariantCulture), //2015-08-08 21:20:31
|
||||
Link = new Uri(string.Format(DownloadUrl, torrentId)),
|
||||
Seeders = ParseUtil.CoerceInt(infoMatch.Groups["seeders"].Value),
|
||||
Peers = ParseUtil.CoerceInt(infoMatch.Groups["leechers"].Value),
|
||||
|
@ -233,7 +229,6 @@ namespace Jackett.Indexers
|
|||
Category = MapTrackerCatDescToNewznab(infoMatch.Groups["cat"].Value)
|
||||
};
|
||||
|
||||
|
||||
release.Peers += release.Seeders;
|
||||
releases.Add(release);
|
||||
}
|
||||
|
@ -284,19 +279,17 @@ namespace Jackett.Indexers
|
|||
release.Guid = new Uri(qRow.Find("td:eq(2) a").Attr("href"));
|
||||
release.Link = release.Guid;
|
||||
release.Comments = new Uri(qRow.Find("td:eq(1) .tooltip-target a").Attr("href"));
|
||||
release.PublishDate = DateTime.ParseExact(qRow.Find("td:eq(1) div").Last().Text().Trim(), "dd-MM-yyyy H:mm", CultureInfo.InvariantCulture); //08-08-2015 12:51
|
||||
release.PublishDate = DateTime.ParseExact(qRow.Find("td:eq(1) div").Last().Text().Trim(), "dd-MM-yyyy H:mm", CultureInfo.InvariantCulture); //08-08-2015 12:51
|
||||
release.Seeders = ParseUtil.CoerceInt(qRow.Find("td:eq(6)").Text());
|
||||
release.Peers = release.Seeders + ParseUtil.CoerceInt(qRow.Find("td:eq(7)").Text().Trim());
|
||||
release.Size = ReleaseInfo.GetBytes(qRow.Find("td:eq(4)").Text().Trim());
|
||||
|
||||
|
||||
var cat = row.Cq().Find("td:eq(0) a").First().Attr("href");
|
||||
var catSplit = cat.LastIndexOf('=');
|
||||
if (catSplit > -1)
|
||||
cat = cat.Substring(catSplit + 1);
|
||||
release.Category = MapTrackerCatToNewznab(cat);
|
||||
|
||||
|
||||
var grabs = qRow.Find("td:nth-child(6)").Text();
|
||||
release.Grabs = ParseUtil.CoerceInt(grabs);
|
||||
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
using Jackett.Utils.Clients;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using AngleSharp.Parser.Html;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Models;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Text;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Collections.Specialized;
|
||||
using AngleSharp.Parser.Html;
|
||||
using System.Text.RegularExpressions;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
public class TVVault : BaseWebIndexer
|
||||
{
|
||||
string LoginUrl { get { return SiteLink + "login.php"; } }
|
||||
string BrowseUrl { get { return SiteLink + "torrents.php"; } }
|
||||
private string LoginUrl { get { return SiteLink + "login.php"; } }
|
||||
private string BrowseUrl { get { return SiteLink + "torrents.php"; } }
|
||||
|
||||
new ConfigurationDataBasicLoginWithRSSAndDisplay configData
|
||||
private new ConfigurationDataBasicLoginWithRSSAndDisplay configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -77,7 +77,7 @@ namespace Jackett.Indexers
|
|||
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||||
{
|
||||
var releases = new List<ReleaseInfo>();
|
||||
|
||||
|
||||
var searchString = query.GetQueryString();
|
||||
var searchUrl = BrowseUrl;
|
||||
|
||||
|
@ -152,4 +152,3 @@ namespace Jackett.Indexers
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -22,7 +22,7 @@ namespace Jackett.Indexers
|
|||
private string indexUrl { get { return SiteLink + "index.php"; } }
|
||||
private string SearchUrl { get { return SiteLink + "torrents.php"; } }
|
||||
|
||||
new ConfigurationDataBasicLoginWithFilter configData
|
||||
private new ConfigurationDataBasicLoginWithFilter configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLoginWithFilter)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -37,7 +37,7 @@ namespace Jackett.Indexers
|
|||
client: c,
|
||||
logger: l,
|
||||
p: ps,
|
||||
configData: new ConfigurationDataBasicLoginWithFilter(@"Enter filter options below to restrict search results.
|
||||
configData: new ConfigurationDataBasicLoginWithFilter(@"Enter filter options below to restrict search results.
|
||||
Separate options with a space if using more than one option.<br>Filter options available:
|
||||
<br><code>QualityEncodeOnly</code><br><code>FreeLeechOnly</code>"))
|
||||
{
|
||||
|
@ -186,7 +186,6 @@ namespace Jackett.Indexers
|
|||
title = dom.Find("div.title_text").Text() + " - " + qRow.Find("div.details_title > a").Text();
|
||||
}
|
||||
|
||||
|
||||
release.Title = title;
|
||||
release.Guid = guid;
|
||||
release.Link = link;
|
||||
|
@ -226,7 +225,6 @@ namespace Jackett.Indexers
|
|||
|
||||
releases.Add(release);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
|
|
@ -1,21 +1,17 @@
|
|||
using CsQuery;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -24,7 +20,7 @@ namespace Jackett.Indexers
|
|||
private string BrowseUrl { get { return SiteLink + "browse.php"; } }
|
||||
private string LoginUrl { get { return SiteLink + "takelogin.php"; } }
|
||||
|
||||
new ConfigurationDataBasicLogin configData
|
||||
private new ConfigurationDataBasicLogin configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLogin)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
|
|
@ -1,21 +1,17 @@
|
|||
using CsQuery;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Collections.Specialized;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -24,6 +20,7 @@ namespace Jackett.Indexers
|
|||
private string StartPageUrl { get { return SiteLink + "login.php"; } }
|
||||
private string LoginUrl { get { return SiteLink + "tak3login.php"; } }
|
||||
private string SearchUrl { get { return SiteLink + "browse.php"; } }
|
||||
|
||||
public override string[] AlternativeSiteLinks { get; protected set; } = new string[] {
|
||||
"https://tdonline.org/",
|
||||
"https://secure.torrentday.com/",
|
||||
|
@ -38,7 +35,7 @@ namespace Jackett.Indexers
|
|||
"https://www.td.af/",
|
||||
};
|
||||
|
||||
new ConfigurationDataRecaptchaLogin configData
|
||||
private new ConfigurationDataRecaptchaLogin configData
|
||||
{
|
||||
get { return (ConfigurationDataRecaptchaLogin)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
|
|
@ -1,29 +1,29 @@
|
|||
using Jackett.Utils.Clients;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Models;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.Collections.Generic;
|
||||
using CsQuery;
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Collections.Specialized;
|
||||
using System.Text;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
public class TorrentHeaven : BaseWebIndexer
|
||||
{
|
||||
string IndexUrl { get { return SiteLink + "index.php"; } }
|
||||
string LoginCompleteUrl { get { return SiteLink + "index.php?strWebValue=account&strWebAction=login_complete&ancestry=verify"; } }
|
||||
static readonly string certificateHash = "6F5CE30D578C2A7AECFB919D0D013976D395055F";
|
||||
private string IndexUrl { get { return SiteLink + "index.php"; } }
|
||||
private string LoginCompleteUrl { get { return SiteLink + "index.php?strWebValue=account&strWebAction=login_complete&ancestry=verify"; } }
|
||||
private static readonly string certificateHash = "6F5CE30D578C2A7AECFB919D0D013976D395055F";
|
||||
|
||||
new ConfigurationDataCaptchaLogin configData
|
||||
private new ConfigurationDataCaptchaLogin configData
|
||||
{
|
||||
get { return (ConfigurationDataCaptchaLogin)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -260,4 +260,3 @@ namespace Jackett.Indexers
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,20 +1,18 @@
|
|||
using CsQuery;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -23,7 +21,7 @@ namespace Jackett.Indexers
|
|||
private string LoginUrl { get { return SiteLink + "user/account/login/"; } }
|
||||
private string SearchUrl { get { return SiteLink + "torrents/browse/index/"; } }
|
||||
|
||||
new ConfigurationDataBasicLogin configData
|
||||
private new ConfigurationDataBasicLogin configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLogin)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -204,7 +202,6 @@ namespace Jackett.Indexers
|
|||
releases.Add(release);
|
||||
}
|
||||
}
|
||||
|
||||
catch (Exception ex)
|
||||
{
|
||||
OnParseError(results.Content, ex);
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
using Jackett.Utils.Clients;
|
||||
using NLog;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Models;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Collections.Specialized;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using static Jackett.Models.IndexerConfig.ConfigurationData;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
public class TorrentNetwork : BaseWebIndexer
|
||||
{
|
||||
string APIUrl { get { return SiteLink + "api/"; } }
|
||||
private string APIUrl { get { return SiteLink + "api/"; } }
|
||||
private string passkey;
|
||||
|
||||
private Dictionary<string, string> APIHeaders = new Dictionary<string, string>()
|
||||
|
@ -25,7 +25,7 @@ namespace Jackett.Indexers
|
|||
{"Content-Type", "application/json"},
|
||||
};
|
||||
|
||||
new ConfigurationDataBasicLoginWithRSSAndDisplay configData
|
||||
private new ConfigurationDataBasicLoginWithRSSAndDisplay configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -79,7 +79,6 @@ namespace Jackett.Indexers
|
|||
AddCategoryMapping(42, TorznabCatType.TV, "Series ENG/Pack");
|
||||
AddCategoryMapping(31, TorznabCatType.TVSport, "Sport");
|
||||
|
||||
|
||||
AddCategoryMapping(10, TorznabCatType.PCGames, "Games/Win");
|
||||
AddCategoryMapping(12, TorznabCatType.ConsoleWii, "Games/Wii");
|
||||
AddCategoryMapping(13, TorznabCatType.ConsolePS4, "Games/PSX");
|
||||
|
@ -189,7 +188,7 @@ namespace Jackett.Indexers
|
|||
throw new Exception(result["error"].ToString());
|
||||
|
||||
var data = (JArray)result.data;
|
||||
|
||||
|
||||
foreach (JArray torrent in data)
|
||||
{
|
||||
var release = new ReleaseInfo();
|
||||
|
@ -240,4 +239,3 @@ namespace Jackett.Indexers
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,19 +1,19 @@
|
|||
using CsQuery;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Collections.Specialized;
|
||||
using System.Globalization;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -22,9 +22,9 @@ namespace Jackett.Indexers
|
|||
private string SearchUrl { get { return SiteLink + "browse.php"; } }
|
||||
private string LoginUrl { get { return SiteLink + "eing2.php"; } }
|
||||
private string CaptchaUrl { get { return SiteLink + "simpleCaptcha.php?numImages=1"; } }
|
||||
TimeZoneInfo germanyTz = TimeZoneInfo.CreateCustomTimeZone("W. Europe Standard Time", new TimeSpan(1, 0, 0), "W. Europe Standard Time", "W. Europe Standard Time");
|
||||
private TimeZoneInfo germanyTz = TimeZoneInfo.CreateCustomTimeZone("W. Europe Standard Time", new TimeSpan(1, 0, 0), "W. Europe Standard Time", "W. Europe Standard Time");
|
||||
|
||||
new ConfigurationDataBasicLoginWithRSSAndDisplay configData
|
||||
private new ConfigurationDataBasicLoginWithRSSAndDisplay configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -163,7 +163,7 @@ namespace Jackett.Indexers
|
|||
{
|
||||
var release = new ReleaseInfo();
|
||||
release.MinimumRatio = 1;
|
||||
release.MinimumSeedTime = 96*60*60;
|
||||
release.MinimumSeedTime = 96 * 60 * 60;
|
||||
|
||||
var qRow = row.Cq();
|
||||
|
||||
|
@ -184,7 +184,7 @@ namespace Jackett.Indexers
|
|||
release.Guid = release.Comments;
|
||||
|
||||
var torrent_details = descCol.ChildElements.Last();
|
||||
var dateStr = torrent_details.ChildNodes.ElementAt(torrent_details.ChildNodes.Length-3).Cq().Text().Replace(" von ", "").Trim();
|
||||
var dateStr = torrent_details.ChildNodes.ElementAt(torrent_details.ChildNodes.Length - 3).Cq().Text().Replace(" von ", "").Trim();
|
||||
DateTime dateGerman;
|
||||
if (dateStr.StartsWith("Heute "))
|
||||
dateGerman = DateTime.SpecifyKind(DateTime.UtcNow.Date, DateTimeKind.Unspecified) + TimeSpan.Parse(dateStr.Split(' ')[1]);
|
||||
|
|
|
@ -1,29 +1,27 @@
|
|||
using Jackett.Utils.Clients;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using AngleSharp.Dom;
|
||||
using AngleSharp.Parser.Html;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Models;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.Globalization;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Collections.Specialized;
|
||||
using AngleSharp.Parser.Html;
|
||||
using AngleSharp.Dom;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Web;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
public class Torrentech : BaseWebIndexer
|
||||
{
|
||||
string LoginUrl { get { return SiteLink + "index.php?act=Login&CODE=01&CookieDate=1"; } }
|
||||
string IndexUrl { get { return SiteLink + "index.php"; } }
|
||||
private string LoginUrl { get { return SiteLink + "index.php?act=Login&CODE=01&CookieDate=1"; } }
|
||||
private string IndexUrl { get { return SiteLink + "index.php"; } }
|
||||
|
||||
new ConfigurationDataBasicLoginWithRSSAndDisplay configData
|
||||
private new ConfigurationDataBasicLoginWithRSSAndDisplay configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -219,4 +217,3 @@ namespace Jackett.Indexers
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
using Jackett.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using AngleSharp.Parser.Html;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using System.Text;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using AngleSharp.Parser.Html;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ namespace Jackett.Indexers
|
|||
private string LoginUrl { get { return SiteLink + "login.php"; } }
|
||||
private string SearchUrl { get { return SiteLink + "torrents.php?action=basic&order_by=time&order_way=desc&search_type=0&taglist=&tags_type=0"; } }
|
||||
|
||||
new ConfigurationDataBasicLogin configData
|
||||
private new ConfigurationDataBasicLogin configData
|
||||
{
|
||||
get { return (ConfigurationDataBasicLogin)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -157,7 +157,6 @@ namespace Jackett.Indexers
|
|||
|
||||
release.UploadVolumeFactor = 1;
|
||||
|
||||
|
||||
releases.Add(release);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using CsQuery;
|
||||
|
@ -15,7 +16,6 @@ using Jackett.Utils.Clients;
|
|||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System.IO;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -113,7 +113,6 @@ namespace Jackett.Indexers
|
|||
// If we want to simulate a browser
|
||||
if (ConfigData.Browser.Value)
|
||||
{
|
||||
|
||||
// Clean headers
|
||||
emulatedBrowserHeaders.Clear();
|
||||
|
||||
|
@ -125,7 +124,6 @@ namespace Jackett.Indexers
|
|||
emulatedBrowserHeaders.Add("User-Agent", ConfigData.HeaderUserAgent.Value);
|
||||
}
|
||||
|
||||
|
||||
// Getting login form to retrieve CSRF token
|
||||
var myRequest = new Utils.Clients.WebRequest()
|
||||
{
|
||||
|
@ -369,7 +367,6 @@ namespace Jackett.Indexers
|
|||
};
|
||||
releases.Add(release);
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -812,9 +809,11 @@ namespace Jackett.Indexers
|
|||
logger.Debug(message);
|
||||
}
|
||||
break;
|
||||
|
||||
case "info":
|
||||
logger.Info(message);
|
||||
break;
|
||||
|
||||
case "error":
|
||||
logger.Error(message);
|
||||
break;
|
||||
|
|
|
@ -1,37 +1,37 @@
|
|||
using CsQuery;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Linq;
|
||||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Xml.Linq;
|
||||
using static Jackett.Utils.ParseUtil;
|
||||
using static Jackett.Models.IndexerConfig.ConfigurationData;
|
||||
using static Jackett.Utils.ParseUtil;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
public class XSpeeds : BaseWebIndexer
|
||||
{
|
||||
string LandingUrl => SiteLink + "login.php";
|
||||
string LoginUrl => SiteLink + "takelogin.php";
|
||||
string GetRSSKeyUrl => SiteLink + "getrss.php";
|
||||
string SearchUrl => SiteLink + "browse.php";
|
||||
string RSSUrl => SiteLink + "rss.php?secret_key={0}&feedtype=download&timezone=0&showrows=50&categories=all";
|
||||
string CommentUrl => SiteLink + "details.php?id={0}";
|
||||
string DownloadUrl => SiteLink + "download.php?id={0}";
|
||||
private string LandingUrl => SiteLink + "login.php";
|
||||
private string LoginUrl => SiteLink + "takelogin.php";
|
||||
private string GetRSSKeyUrl => SiteLink + "getrss.php";
|
||||
private string SearchUrl => SiteLink + "browse.php";
|
||||
private string RSSUrl => SiteLink + "rss.php?secret_key={0}&feedtype=download&timezone=0&showrows=50&categories=all";
|
||||
private string CommentUrl => SiteLink + "details.php?id={0}";
|
||||
private string DownloadUrl => SiteLink + "download.php?id={0}";
|
||||
|
||||
new ConfigurationDataBasicLoginWithRSSAndDisplay configData
|
||||
private new ConfigurationDataBasicLoginWithRSSAndDisplay configData
|
||||
{
|
||||
get {return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; }
|
||||
get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; }
|
||||
set { base.configData = value; }
|
||||
}
|
||||
|
||||
|
@ -133,8 +133,7 @@ namespace Jackett.Indexers
|
|||
CQ dom = loginPage.Content;
|
||||
CQ qCaptchaImg = dom.Find("img#regimage").First();
|
||||
if (qCaptchaImg.Length > 0)
|
||||
{
|
||||
|
||||
{
|
||||
var CaptchaUrl = qCaptchaImg.Attr("src");
|
||||
var captchaImage = await RequestBytesWithCookies(CaptchaUrl, loginPage.Cookies, RequestType.GET, LandingUrl);
|
||||
|
||||
|
@ -213,11 +212,11 @@ namespace Jackett.Indexers
|
|||
// If we have no query use the RSS Page as their server is slow enough at times!
|
||||
if (query.IsTest || string.IsNullOrWhiteSpace(searchString))
|
||||
{
|
||||
|
||||
var rssPage = await RequestStringWithCookiesAndRetry(string.Format(RSSUrl, configData.RSSKey.Value));
|
||||
try
|
||||
{
|
||||
if (rssPage.Content.EndsWith("\0")) {
|
||||
if (rssPage.Content.EndsWith("\0"))
|
||||
{
|
||||
rssPage.Content = rssPage.Content.Substring(0, rssPage.Content.Length - 1);
|
||||
}
|
||||
rssPage.Content = RemoveInvalidXmlChars(rssPage.Content);
|
||||
|
@ -246,7 +245,7 @@ namespace Jackett.Indexers
|
|||
Description = title,
|
||||
Guid = new Uri(string.Format(DownloadUrl, torrentId)),
|
||||
Comments = new Uri(string.Format(CommentUrl, torrentId)),
|
||||
PublishDate = DateTime.ParseExact(date, "yyyy-MM-dd H:mm:ss", CultureInfo.InvariantCulture), //2015-08-08 21:20:31
|
||||
PublishDate = DateTime.ParseExact(date, "yyyy-MM-dd H:mm:ss", CultureInfo.InvariantCulture), //2015-08-08 21:20:31
|
||||
Link = new Uri(string.Format(DownloadUrl, torrentId)),
|
||||
Seeders = ParseUtil.CoerceInt(infoMatch.Groups["seeders"].Value),
|
||||
Peers = ParseUtil.CoerceInt(infoMatch.Groups["leechers"].Value),
|
||||
|
@ -264,7 +263,6 @@ namespace Jackett.Indexers
|
|||
logger.Error(rssPage.Content);
|
||||
throw ex;
|
||||
}
|
||||
|
||||
}
|
||||
if (query.IsTest || !string.IsNullOrWhiteSpace(searchString))
|
||||
{
|
||||
|
@ -304,7 +302,7 @@ namespace Jackett.Indexers
|
|||
|
||||
var qDetails = qRow.Find("div > a[href*=\"details.php?id=\"]"); // details link, release name get's shortened if it's to long
|
||||
var qTitle = qRow.Find("td:eq(1) .tooltip-content div:eq(0)"); // use Title from tooltip
|
||||
if(!qTitle.Any()) // fallback to Details link if there's no tooltip
|
||||
if (!qTitle.Any()) // fallback to Details link if there's no tooltip
|
||||
{
|
||||
qTitle = qDetails;
|
||||
}
|
||||
|
@ -313,7 +311,7 @@ namespace Jackett.Indexers
|
|||
release.Guid = new Uri(qRow.Find("td:eq(2) a").Attr("href"));
|
||||
release.Link = release.Guid;
|
||||
release.Comments = new Uri(qDetails.Attr("href"));
|
||||
release.PublishDate = DateTime.ParseExact(qRow.Find("td:eq(1) div").Last().Text().Trim(), "dd-MM-yyyy H:mm", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal); //08-08-2015 12:51
|
||||
release.PublishDate = DateTime.ParseExact(qRow.Find("td:eq(1) div").Last().Text().Trim(), "dd-MM-yyyy H:mm", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal); //08-08-2015 12:51
|
||||
release.Seeders = ParseUtil.CoerceInt(qRow.Find("td:eq(6)").Text());
|
||||
release.Peers = release.Seeders + ParseUtil.CoerceInt(qRow.Find("td:eq(7)").Text().Trim());
|
||||
release.Size = ReleaseInfo.GetBytes(qRow.Find("td:eq(4)").Text().Trim());
|
||||
|
|
|
@ -118,6 +118,7 @@ namespace Jackett.Indexers
|
|||
/// <param name="configJson">Our params in Json</param>
|
||||
/// <returns>Configuration state</returns>
|
||||
#pragma warning disable 1998
|
||||
|
||||
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
|
||||
#pragma warning restore 1998
|
||||
{
|
||||
|
@ -463,6 +464,7 @@ namespace Jackett.Indexers
|
|||
// Everything OK
|
||||
Output("\nAPI State : Everything OK ... -> " + state.descr);
|
||||
break;
|
||||
|
||||
case 1:
|
||||
// Passkey not found
|
||||
Output("\nAPI State : Error, Passkey not found in tracker's database, aborting... -> " + state.descr);
|
||||
|
@ -471,10 +473,12 @@ namespace Jackett.Indexers
|
|||
// No results
|
||||
Output("\nAPI State : No results for query ... -> " + state.descr);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
// Power Saver
|
||||
Output("\nAPI State : Power Saver mode, only cached query with no parameters available ... -> " + state.descr);
|
||||
break;
|
||||
|
||||
case 4:
|
||||
// DDOS Attack, API disabled
|
||||
Output("\nAPI State : Tracker is under DDOS attack, API disabled, aborting ... -> " + state.descr);
|
||||
|
@ -566,9 +570,11 @@ namespace Jackett.Indexers
|
|||
logger.Debug(message);
|
||||
}
|
||||
break;
|
||||
|
||||
case "info":
|
||||
logger.Info(message);
|
||||
break;
|
||||
|
||||
case "error":
|
||||
logger.Error(message);
|
||||
break;
|
||||
|
|
|
@ -1,28 +1,30 @@
|
|||
using Jackett.Utils.Clients;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using AngleSharp.Parser.Html;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Models;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Text;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Collections.Specialized;
|
||||
using AngleSharp.Parser.Html;
|
||||
using NLog;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
public class RuTracker : BaseWebIndexer
|
||||
{
|
||||
string LoginUrl { get { return SiteLink + "forum/login.php"; } }
|
||||
string SearchUrl { get { return SiteLink + "forum/tracker.php"; } }
|
||||
private string LoginUrl
|
||||
{ get { return SiteLink + "forum/login.php"; } }
|
||||
private string SearchUrl
|
||||
{ get { return SiteLink + "forum/tracker.php"; } }
|
||||
|
||||
protected string cap_sid = null;
|
||||
protected string cap_code_field = null;
|
||||
|
||||
new ConfigurationDataCaptchaLogin configData
|
||||
private new ConfigurationDataCaptchaLogin configData
|
||||
{
|
||||
get { return (ConfigurationDataCaptchaLogin)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -1441,7 +1443,7 @@ namespace Jackett.Indexers
|
|||
var LoginResultDocument = LoginResultParser.Parse(response.Content);
|
||||
var captchaimg = LoginResultDocument.QuerySelector("img[src^=\"//static.t-ru.org/captcha/\"]");
|
||||
if (captchaimg != null)
|
||||
{
|
||||
{
|
||||
var captchaImage = await RequestBytesWithCookies("https:" + captchaimg.GetAttribute("src"));
|
||||
configData.CaptchaImage.Value = captchaImage.Content;
|
||||
|
||||
|
@ -1582,4 +1584,3 @@ namespace Jackett.Indexers
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
using CsQuery;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using CsQuery;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using System.Collections.Specialized;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
|
@ -21,7 +21,7 @@ namespace Jackett.Indexers
|
|||
private string LoginUrl { get { return SiteLink + "login.php"; } }
|
||||
private string SubmitLoginUrl { get { return SiteLink + "takelogin.php"; } }
|
||||
|
||||
new ConfigurationDataRecaptchaLogin configData
|
||||
private new ConfigurationDataRecaptchaLogin configData
|
||||
{
|
||||
get { return (ConfigurationDataRecaptchaLogin)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -151,7 +151,7 @@ namespace Jackett.Indexers
|
|||
var release = new ReleaseInfo();
|
||||
release.MinimumRatio = 1;
|
||||
release.MinimumSeedTime = 7 * 24 * 60 * 60;
|
||||
|
||||
|
||||
var qRow = row.Cq();
|
||||
var qCatLink = qRow.Find("a[href^=?cat]").First();
|
||||
var qDetailsLink = qRow.Find("a[href^=details.php]").First();
|
||||
|
@ -172,7 +172,8 @@ namespace Jackett.Indexers
|
|||
var sizeStr = qSize.Text();
|
||||
release.Size = ReleaseInfo.GetBytes(sizeStr);
|
||||
|
||||
if(qImdbLink.Length == 1) {
|
||||
if (qImdbLink.Length == 1)
|
||||
{
|
||||
var ImdbId = qImdbLink.Attr("href").Split('/').Last().Substring(2);
|
||||
release.Imdb = ParseUtil.CoerceLong(ImdbId);
|
||||
}
|
||||
|
|
|
@ -1,24 +1,23 @@
|
|||
using Jackett.Models;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Jackett.Models;
|
||||
using Jackett.Models.IndexerConfig;
|
||||
using Jackett.Services;
|
||||
using Jackett.Utils;
|
||||
using Jackett.Utils.Clients;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Specialized;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
|
||||
namespace Jackett.Indexers
|
||||
{
|
||||
public class Yts : BaseWebIndexer
|
||||
{
|
||||
readonly static string defaultSiteLink = "https://yts.ag/";
|
||||
private static readonly string defaultSiteLink = "https://yts.ag/";
|
||||
|
||||
private Uri BaseUri
|
||||
{
|
||||
|
@ -28,7 +27,7 @@ namespace Jackett.Indexers
|
|||
|
||||
private string ApiEndpoint { get { return BaseUri + "api/v2/list_movies.json"; } }
|
||||
|
||||
new ConfigurationDataUrl configData
|
||||
private new ConfigurationDataUrl configData
|
||||
{
|
||||
get { return (ConfigurationDataUrl)base.configData; }
|
||||
set { base.configData = value; }
|
||||
|
@ -80,7 +79,7 @@ namespace Jackett.Indexers
|
|||
{
|
||||
var releases = new List<ReleaseInfo>();
|
||||
var searchString = query.GetQueryString();
|
||||
|
||||
|
||||
var queryCollection = new NameValueCollection();
|
||||
|
||||
if (query.ImdbID != null)
|
||||
|
|
Loading…
Reference in New Issue