indexers: move setting capabilities to methods (#14147)

This commit is contained in:
Bogdan 2023-03-10 13:20:29 +02:00 committed by GitHub
parent dd89ef8e73
commit 2d3a72b433
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
89 changed files with 4974 additions and 4439 deletions

View File

@ -137,9 +137,8 @@ namespace Jackett.Common.Indexers.Abstract
return cats;
}
protected AvistazTracker(IIndexerConfigurationService configService, WebClient client, Logger logger, IProtectionService p, ICacheService cs, TorznabCapabilities caps)
: base(caps: caps,
configService: configService,
protected AvistazTracker(IIndexerConfigurationService configService, WebClient client, Logger logger, IProtectionService p, ICacheService cs)
: base(configService: configService,
client: client,
logger: logger,
p: p,

View File

@ -26,10 +26,8 @@ namespace Jackett.Common.Indexers.Abstract
}
protected CouchPotatoTracker(IIndexerConfigurationService configService, WebClient client, Logger logger,
IProtectionService p, ICacheService cs, TorznabCapabilities caps,
ConfigurationData configData, string endpoint)
: base(caps: caps,
configService: configService,
IProtectionService p, ICacheService cs, ConfigurationData configData, string endpoint)
: base(configService: configService,
client: client,
logger: logger,
p: p,

View File

@ -50,11 +50,11 @@ namespace Jackett.Common.Indexers.Abstract
}
protected GazelleTracker(IIndexerConfigurationService configService, WebClient client, Logger logger,
IProtectionService p, ICacheService cs, TorznabCapabilities caps,
bool supportsFreeleechTokens = false, bool supportsFreeleechOnly = false, bool imdbInTags = false, bool has2Fa = false,
bool useApiKey = false, bool usePassKey = false, bool useAuthKey = false, string instructionMessageOptional = null)
: base(caps: caps,
configService: configService,
IProtectionService p, ICacheService cs,
bool supportsFreeleechTokens = false, bool supportsFreeleechOnly = false,
bool imdbInTags = false, bool has2Fa = false, bool useApiKey = false,
bool usePassKey = false, bool useAuthKey = false, string instructionMessageOptional = null)
: base(configService: configService,
client: client,
logger: logger,
p: p,

View File

@ -37,9 +37,8 @@ namespace Jackett.Common.Indexers.Abstract
private new ConfigurationDataBasicLoginWithEmail configData => (ConfigurationDataBasicLoginWithEmail)base.configData;
protected SpeedAppTracker(IIndexerConfigurationService configService, WebClient client, Logger logger, IProtectionService p, ICacheService cs, TorznabCapabilities caps)
: base(caps: caps,
configService: configService,
protected SpeedAppTracker(IIndexerConfigurationService configService, WebClient client, Logger logger, IProtectionService p, ICacheService cs)
: base(configService: configService,
client: client,
logger: logger,
p: p,

View File

@ -19,21 +19,11 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
public AlphaRatio(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
}
},
configService: configService,
ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -42,36 +32,54 @@ namespace Jackett.Common.Indexers
supportsFreeleechOnly: true,
imdbInTags: true)
{
AddCategoryMapping(1, TorznabCatType.TVSD, "TvSD");
AddCategoryMapping(2, TorznabCatType.TVHD, "TvHD");
AddCategoryMapping(3, TorznabCatType.TVUHD, "TvUHD");
AddCategoryMapping(4, TorznabCatType.TVSD, "TvDVDRip");
AddCategoryMapping(5, TorznabCatType.TVSD, "TvPackSD");
AddCategoryMapping(6, TorznabCatType.TVHD, "TvPackHD");
AddCategoryMapping(7, TorznabCatType.TVUHD, "TvPackUHD");
AddCategoryMapping(8, TorznabCatType.MoviesSD, "MovieSD");
AddCategoryMapping(9, TorznabCatType.MoviesHD, "MovieHD");
AddCategoryMapping(10, TorznabCatType.MoviesUHD, "MovieUHD");
AddCategoryMapping(11, TorznabCatType.MoviesSD, "MoviePackSD");
AddCategoryMapping(12, TorznabCatType.MoviesHD, "MoviePackHD");
AddCategoryMapping(13, TorznabCatType.MoviesUHD, "MoviePackUHD");
AddCategoryMapping(14, TorznabCatType.XXX, "MovieXXX");
AddCategoryMapping(15, TorznabCatType.MoviesBluRay, "Bluray");
AddCategoryMapping(16, TorznabCatType.TVAnime, "AnimeSD");
AddCategoryMapping(17, TorznabCatType.TVAnime, "AnimeHD");
AddCategoryMapping(18, TorznabCatType.PCGames, "GamesPC");
AddCategoryMapping(19, TorznabCatType.ConsoleXBox, "GamesxBox");
AddCategoryMapping(20, TorznabCatType.ConsolePS4, "GamesPS");
AddCategoryMapping(21, TorznabCatType.ConsoleWii, "GamesNin");
AddCategoryMapping(22, TorznabCatType.PC0day, "AppsWindows");
AddCategoryMapping(23, TorznabCatType.PCMac, "AppsMAC");
AddCategoryMapping(24, TorznabCatType.PC0day, "AppsLinux");
AddCategoryMapping(25, TorznabCatType.PCMobileOther, "AppsMobile");
AddCategoryMapping(26, TorznabCatType.XXX, "0dayXXX");
AddCategoryMapping(27, TorznabCatType.Books, "eBook");
AddCategoryMapping(28, TorznabCatType.AudioAudiobook, "AudioBook");
AddCategoryMapping(29, TorznabCatType.AudioOther, "Music");
AddCategoryMapping(30, TorznabCatType.Other, "Misc");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.TVSD, "TvSD");
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVHD, "TvHD");
caps.Categories.AddCategoryMapping(3, TorznabCatType.TVUHD, "TvUHD");
caps.Categories.AddCategoryMapping(4, TorznabCatType.TVSD, "TvDVDRip");
caps.Categories.AddCategoryMapping(5, TorznabCatType.TVSD, "TvPackSD");
caps.Categories.AddCategoryMapping(6, TorznabCatType.TVHD, "TvPackHD");
caps.Categories.AddCategoryMapping(7, TorznabCatType.TVUHD, "TvPackUHD");
caps.Categories.AddCategoryMapping(8, TorznabCatType.MoviesSD, "MovieSD");
caps.Categories.AddCategoryMapping(9, TorznabCatType.MoviesHD, "MovieHD");
caps.Categories.AddCategoryMapping(10, TorznabCatType.MoviesUHD, "MovieUHD");
caps.Categories.AddCategoryMapping(11, TorznabCatType.MoviesSD, "MoviePackSD");
caps.Categories.AddCategoryMapping(12, TorznabCatType.MoviesHD, "MoviePackHD");
caps.Categories.AddCategoryMapping(13, TorznabCatType.MoviesUHD, "MoviePackUHD");
caps.Categories.AddCategoryMapping(14, TorznabCatType.XXX, "MovieXXX");
caps.Categories.AddCategoryMapping(15, TorznabCatType.MoviesBluRay, "Bluray");
caps.Categories.AddCategoryMapping(16, TorznabCatType.TVAnime, "AnimeSD");
caps.Categories.AddCategoryMapping(17, TorznabCatType.TVAnime, "AnimeHD");
caps.Categories.AddCategoryMapping(18, TorznabCatType.PCGames, "GamesPC");
caps.Categories.AddCategoryMapping(19, TorznabCatType.ConsoleXBox, "GamesxBox");
caps.Categories.AddCategoryMapping(20, TorznabCatType.ConsolePS4, "GamesPS");
caps.Categories.AddCategoryMapping(21, TorznabCatType.ConsoleWii, "GamesNin");
caps.Categories.AddCategoryMapping(22, TorznabCatType.PC0day, "AppsWindows");
caps.Categories.AddCategoryMapping(23, TorznabCatType.PCMac, "AppsMAC");
caps.Categories.AddCategoryMapping(24, TorznabCatType.PC0day, "AppsLinux");
caps.Categories.AddCategoryMapping(25, TorznabCatType.PCMobileOther, "AppsMobile");
caps.Categories.AddCategoryMapping(26, TorznabCatType.XXX, "0dayXXX");
caps.Categories.AddCategoryMapping(27, TorznabCatType.Books, "eBook");
caps.Categories.AddCategoryMapping(28, TorznabCatType.AudioAudiobook, "AudioBook");
caps.Categories.AddCategoryMapping(29, TorznabCatType.AudioOther, "Music");
caps.Categories.AddCategoryMapping(30, TorznabCatType.Other, "Misc");
return caps;
}
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)

View File

@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Dom;
@ -29,6 +28,8 @@ namespace Jackett.Common.Indexers
public override string Language => "ru-RU";
public override string Type => "semi-private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private static readonly Regex EpisodeInfoRegex = new Regex(@"\[(.*?)(?: \(.*?\))? из (.*?)\]$", RegexOptions.Compiled | RegexOptions.IgnoreCase);
private static readonly Regex SeasonInfoQueryRegex = new Regex(@"S(\d+)(?:E\d*)", RegexOptions.Compiled | RegexOptions.IgnoreCase);
private static readonly Regex SeasonInfoRegex = new Regex(@"(?:(?:TV-)|(?:ТВ-))(\d+)", RegexOptions.Compiled | RegexOptions.IgnoreCase);
@ -36,23 +37,7 @@ namespace Jackett.Common.Indexers
public AniDUB(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -60,24 +45,45 @@ namespace Jackett.Common.Indexers
configData: new ConfigurationDataAniDub())
{
webclient.AddTrustedCertificate(new Uri(SiteLink).Host, "392E98CE1447B59CA62BAB8824CA1EEFC2ED3D37");
}
AddCategoryMapping(2, TorznabCatType.TVAnime, "Аниме TV");
AddCategoryMapping(14, TorznabCatType.TVAnime, "Аниме TV / Законченные сериалы");
AddCategoryMapping(10, TorznabCatType.TVAnime, "Аниме TV / Аниме Ongoing");
AddCategoryMapping(11, TorznabCatType.TVAnime, "Аниме TV / Многосерийный сёнэн");
AddCategoryMapping(13, TorznabCatType.XXX, "18+");
AddCategoryMapping(15, TorznabCatType.BooksComics, "Манга");
AddCategoryMapping(16, TorznabCatType.Audio, "OST");
AddCategoryMapping(17, TorznabCatType.Audio, "Подкасты");
AddCategoryMapping(3, TorznabCatType.TVAnime, "Аниме Фильмы");
AddCategoryMapping(4, TorznabCatType.TVAnime, "Аниме OVA");
AddCategoryMapping(5, TorznabCatType.TVAnime, "Аниме OVA |- Аниме ONA");
AddCategoryMapping(9, TorznabCatType.TV, "Дорамы");
AddCategoryMapping(6, TorznabCatType.TV, "Дорамы / Японские Сериалы и Фильмы");
AddCategoryMapping(7, TorznabCatType.TV, "Дорамы / Корейские Сериалы и Фильмы");
AddCategoryMapping(8, TorznabCatType.TV, "Дорамы / Китайские Сериалы и Фильмы");
AddCategoryMapping(12, TorznabCatType.Other, "Аниме Ongoing Анонсы");
AddCategoryMapping(1, TorznabCatType.Other, "Новости проекта Anidub");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVAnime, "Аниме TV");
caps.Categories.AddCategoryMapping(14, TorznabCatType.TVAnime, "Аниме TV / Законченные сериалы");
caps.Categories.AddCategoryMapping(10, TorznabCatType.TVAnime, "Аниме TV / Аниме Ongoing");
caps.Categories.AddCategoryMapping(11, TorznabCatType.TVAnime, "Аниме TV / Многосерийный сёнэн");
caps.Categories.AddCategoryMapping(13, TorznabCatType.XXX, "18+");
caps.Categories.AddCategoryMapping(15, TorznabCatType.BooksComics, "Манга");
caps.Categories.AddCategoryMapping(16, TorznabCatType.Audio, "OST");
caps.Categories.AddCategoryMapping(17, TorznabCatType.Audio, "Подкасты");
caps.Categories.AddCategoryMapping(3, TorznabCatType.TVAnime, "Аниме Фильмы");
caps.Categories.AddCategoryMapping(4, TorznabCatType.TVAnime, "Аниме OVA");
caps.Categories.AddCategoryMapping(5, TorznabCatType.TVAnime, "Аниме OVA |- Аниме ONA");
caps.Categories.AddCategoryMapping(9, TorznabCatType.TV, "Дорамы");
caps.Categories.AddCategoryMapping(6, TorznabCatType.TV, "Дорамы / Японские Сериалы и Фильмы");
caps.Categories.AddCategoryMapping(7, TorznabCatType.TV, "Дорамы / Корейские Сериалы и Фильмы");
caps.Categories.AddCategoryMapping(8, TorznabCatType.TV, "Дорамы / Китайские Сериалы и Фильмы");
caps.Categories.AddCategoryMapping(12, TorznabCatType.Other, "Аниме Ongoing Анонсы");
caps.Categories.AddCategoryMapping(1, TorznabCatType.Other, "Новости проекта Anidub");
return caps;
}
private static Dictionary<string, string> CategoriesMap => new Dictionary<string, string>

View File

@ -29,49 +29,17 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "public";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
public Anidex(IIndexerConfigurationService configService, Utils.Clients.WebClient wc, Logger l,
IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q,
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q,
}
},
configService: configService,
IProtectionService ps, ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationData())
{
// Configure the category mappings
AddCategoryMapping(1, TorznabCatType.TVAnime, "Anime - Sub");
AddCategoryMapping(2, TorznabCatType.TVAnime, "Anime - Raw");
AddCategoryMapping(3, TorznabCatType.TVAnime, "Anime - Dub");
AddCategoryMapping(4, TorznabCatType.TVAnime, "LA - Sub");
AddCategoryMapping(5, TorznabCatType.TVAnime, "LA - Raw");
AddCategoryMapping(6, TorznabCatType.BooksEBook, "Light Novel");
AddCategoryMapping(7, TorznabCatType.BooksComics, "Manga - TLed");
AddCategoryMapping(8, TorznabCatType.BooksComics, "Manga - Raw");
AddCategoryMapping(9, TorznabCatType.AudioMP3, "♫ - Lossy");
AddCategoryMapping(10, TorznabCatType.AudioLossless, "♫ - Lossless");
AddCategoryMapping(11, TorznabCatType.AudioVideo, "♫ - Video");
AddCategoryMapping(12, TorznabCatType.PCGames, "Games");
AddCategoryMapping(13, TorznabCatType.PC0day, "Applications");
AddCategoryMapping(14, TorznabCatType.XXXImageSet, "Pictures");
AddCategoryMapping(15, TorznabCatType.XXX, "Adult Video");
AddCategoryMapping(16, TorznabCatType.Other, "Other");
configData.AddDynamic("DDoS-Guard", new DisplayInfoConfigurationItem("DDoS-Guard", "This site may use DDoS-Guard Protection, therefore Jackett requires <a href='https://github.com/Jackett/Jackett#configuring-flaresolverr' target='_blank'>FlareSolverr</a> to access it."));
AddLanguageConfiguration();
@ -98,6 +66,45 @@ namespace Jackett.Common.Indexers
EnableConfigurableRetryAttempts();
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q,
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q,
}
};
// Configure the category mappings
caps.Categories.AddCategoryMapping(1, TorznabCatType.TVAnime, "Anime - Sub");
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVAnime, "Anime - Raw");
caps.Categories.AddCategoryMapping(3, TorznabCatType.TVAnime, "Anime - Dub");
caps.Categories.AddCategoryMapping(4, TorznabCatType.TVAnime, "LA - Sub");
caps.Categories.AddCategoryMapping(5, TorznabCatType.TVAnime, "LA - Raw");
caps.Categories.AddCategoryMapping(6, TorznabCatType.BooksEBook, "Light Novel");
caps.Categories.AddCategoryMapping(7, TorznabCatType.BooksComics, "Manga - TLed");
caps.Categories.AddCategoryMapping(8, TorznabCatType.BooksComics, "Manga - Raw");
caps.Categories.AddCategoryMapping(9, TorznabCatType.AudioMP3, "♫ - Lossy");
caps.Categories.AddCategoryMapping(10, TorznabCatType.AudioLossless, "♫ - Lossless");
caps.Categories.AddCategoryMapping(11, TorznabCatType.AudioVideo, "♫ - Video");
caps.Categories.AddCategoryMapping(12, TorznabCatType.PCGames, "Games");
caps.Categories.AddCategoryMapping(13, TorznabCatType.PC0day, "Applications");
caps.Categories.AddCategoryMapping(14, TorznabCatType.XXXImageSet, "Pictures");
caps.Categories.AddCategoryMapping(15, TorznabCatType.XXX, "Adult Video");
caps.Categories.AddCategoryMapping(16, TorznabCatType.Other, "Other");
return caps;
}
private void AddLanguageConfiguration()
{
// Configure the language select option

View File

@ -29,6 +29,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string ScrapeUrl => SiteLink + "scrape.php";
private bool AllowRaws => ConfigData.IncludeRaw.Value;
private bool PadEpisode => ConfigData.PadEpisode != null && ConfigData.PadEpisode.Value;
@ -44,49 +46,55 @@ namespace Jackett.Common.Indexers
IProtectionService ps, ICacheService cs)
: base(configService: configService,
client: client,
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
},
SupportsRawSearch = true
},
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataAnimeBytes("Note: Go to AnimeBytes site and open your account settings. Go to 'Account' tab, move cursor over black part near 'Passkey' and copy its value. Your username is case sensitive."))
{
webclient.EmulateBrowser = false; // Animebytes doesn't like fake user agents (issue #1535)
}
AddCategoryMapping("anime[tv_series]", TorznabCatType.TVAnime, "TV Series");
AddCategoryMapping("anime[tv_special]", TorznabCatType.TVAnime, "TV Special");
AddCategoryMapping("anime[ova]", TorznabCatType.TVAnime, "OVA");
AddCategoryMapping("anime[ona]", TorznabCatType.TVAnime, "ONA");
AddCategoryMapping("anime[dvd_special]", TorznabCatType.TVAnime, "DVD Special");
AddCategoryMapping("anime[bd_special]", TorznabCatType.TVAnime, "BD Special");
AddCategoryMapping("anime[movie]", TorznabCatType.Movies, "Movie");
AddCategoryMapping("audio", TorznabCatType.Audio, "Music");
AddCategoryMapping("gamec[game]", TorznabCatType.PCGames, "Game");
AddCategoryMapping("gamec[visual_novel]", TorznabCatType.PCGames, "Game Visual Novel");
AddCategoryMapping("printedtype[manga]", TorznabCatType.BooksComics, "Manga");
AddCategoryMapping("printedtype[oneshot]", TorznabCatType.BooksComics, "Oneshot");
AddCategoryMapping("printedtype[anthology]", TorznabCatType.BooksComics, "Anthology");
AddCategoryMapping("printedtype[manhwa]", TorznabCatType.BooksComics, "Manhwa");
AddCategoryMapping("printedtype[light_novel]", TorznabCatType.BooksComics, "Light Novel");
AddCategoryMapping("printedtype[artbook]", TorznabCatType.BooksComics, "Artbook");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
},
SupportsRawSearch = true
};
caps.Categories.AddCategoryMapping("anime[tv_series]", TorznabCatType.TVAnime, "TV Series");
caps.Categories.AddCategoryMapping("anime[tv_special]", TorznabCatType.TVAnime, "TV Special");
caps.Categories.AddCategoryMapping("anime[ova]", TorznabCatType.TVAnime, "OVA");
caps.Categories.AddCategoryMapping("anime[ona]", TorznabCatType.TVAnime, "ONA");
caps.Categories.AddCategoryMapping("anime[dvd_special]", TorznabCatType.TVAnime, "DVD Special");
caps.Categories.AddCategoryMapping("anime[bd_special]", TorznabCatType.TVAnime, "BD Special");
caps.Categories.AddCategoryMapping("anime[movie]", TorznabCatType.Movies, "Movie");
caps.Categories.AddCategoryMapping("audio", TorznabCatType.Audio, "Music");
caps.Categories.AddCategoryMapping("gamec[game]", TorznabCatType.PCGames, "Game");
caps.Categories.AddCategoryMapping("gamec[visual_novel]", TorznabCatType.PCGames, "Game Visual Novel");
caps.Categories.AddCategoryMapping("printedtype[manga]", TorznabCatType.BooksComics, "Manga");
caps.Categories.AddCategoryMapping("printedtype[oneshot]", TorznabCatType.BooksComics, "Oneshot");
caps.Categories.AddCategoryMapping("printedtype[anthology]", TorznabCatType.BooksComics, "Anthology");
caps.Categories.AddCategoryMapping("printedtype[manhwa]", TorznabCatType.BooksComics, "Manhwa");
caps.Categories.AddCategoryMapping("printedtype[light_novel]", TorznabCatType.BooksComics, "Light Novel");
caps.Categories.AddCategoryMapping("printedtype[artbook]", TorznabCatType.BooksComics, "Artbook");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -28,6 +28,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LoginUrl => SiteLink + "login.php";
private string SearchUrl => SiteLink + "ajax/torrents_data.php";
private string SearchUrlReferer => SiteLink + "torrents.php?cat=0&searchin=filename&search=";
@ -40,44 +42,50 @@ namespace Jackett.Common.Indexers
public AnimeTorrents(IIndexerConfigurationService configService, WebClient c, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: c,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLogin())
{
AddCategoryMapping(1, TorznabCatType.MoviesSD, "Anime Movie");
AddCategoryMapping(6, TorznabCatType.MoviesHD, "Anime Movie HD");
AddCategoryMapping(2, TorznabCatType.TVAnime, "Anime Series");
AddCategoryMapping(7, TorznabCatType.TVAnime, "Anime Series HD");
AddCategoryMapping(5, TorznabCatType.XXXDVD, "Hentai (censored)");
AddCategoryMapping(9, TorznabCatType.XXXDVD, "Hentai (censored) HD");
AddCategoryMapping(4, TorznabCatType.XXXDVD, "Hentai (un-censored)");
AddCategoryMapping(8, TorznabCatType.XXXDVD, "Hentai (un-censored) HD");
AddCategoryMapping(13, TorznabCatType.BooksForeign, "Light Novel");
AddCategoryMapping(3, TorznabCatType.BooksComics, "Manga");
AddCategoryMapping(10, TorznabCatType.BooksComics, "Manga 18+");
AddCategoryMapping(11, TorznabCatType.TVAnime, "OVA");
AddCategoryMapping(12, TorznabCatType.TVAnime, "OVA HD");
AddCategoryMapping(14, TorznabCatType.BooksComics, "Doujin Anime");
AddCategoryMapping(15, TorznabCatType.XXXDVD, "Doujin Anime 18+");
AddCategoryMapping(16, TorznabCatType.AudioForeign, "Doujin Music");
AddCategoryMapping(17, TorznabCatType.BooksComics, "Doujinshi");
AddCategoryMapping(18, TorznabCatType.BooksComics, "Doujinshi 18+");
AddCategoryMapping(19, TorznabCatType.Audio, "OST");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesSD, "Anime Movie");
caps.Categories.AddCategoryMapping(6, TorznabCatType.MoviesHD, "Anime Movie HD");
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVAnime, "Anime Series");
caps.Categories.AddCategoryMapping(7, TorznabCatType.TVAnime, "Anime Series HD");
caps.Categories.AddCategoryMapping(5, TorznabCatType.XXXDVD, "Hentai (censored)");
caps.Categories.AddCategoryMapping(9, TorznabCatType.XXXDVD, "Hentai (censored) HD");
caps.Categories.AddCategoryMapping(4, TorznabCatType.XXXDVD, "Hentai (un-censored)");
caps.Categories.AddCategoryMapping(8, TorznabCatType.XXXDVD, "Hentai (un-censored) HD");
caps.Categories.AddCategoryMapping(13, TorznabCatType.BooksForeign, "Light Novel");
caps.Categories.AddCategoryMapping(3, TorznabCatType.BooksComics, "Manga");
caps.Categories.AddCategoryMapping(10, TorznabCatType.BooksComics, "Manga 18+");
caps.Categories.AddCategoryMapping(11, TorznabCatType.TVAnime, "OVA");
caps.Categories.AddCategoryMapping(12, TorznabCatType.TVAnime, "OVA HD");
caps.Categories.AddCategoryMapping(14, TorznabCatType.BooksComics, "Doujin Anime");
caps.Categories.AddCategoryMapping(15, TorznabCatType.XXXDVD, "Doujin Anime 18+");
caps.Categories.AddCategoryMapping(16, TorznabCatType.AudioForeign, "Doujin Music");
caps.Categories.AddCategoryMapping(17, TorznabCatType.BooksComics, "Doujinshi");
caps.Categories.AddCategoryMapping(18, TorznabCatType.BooksComics, "Doujinshi 18+");
caps.Categories.AddCategoryMapping(19, TorznabCatType.Audio, "OST");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -18,34 +18,41 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
public Aro(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
}
},
configService: configService,
ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cs: cs,
has2Fa: true,
supportsFreeleechTokens: true
)
supportsFreeleechTokens: true)
{
AddCategoryMapping(1, TorznabCatType.Movies, "Movies");
AddCategoryMapping(2, TorznabCatType.TVAnime, "Anime");
AddCategoryMapping(3, TorznabCatType.Books, "Manga");
AddCategoryMapping(4, TorznabCatType.Console, "Games");
AddCategoryMapping(5, TorznabCatType.Other, "Other");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.Movies, "Movies");
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVAnime, "Anime");
caps.Categories.AddCategoryMapping(3, TorznabCatType.Books, "Manga");
caps.Categories.AddCategoryMapping(4, TorznabCatType.Console, "Games");
caps.Categories.AddCategoryMapping(5, TorznabCatType.Other, "Other");
return caps;
}
}
}

View File

@ -63,16 +63,10 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "public";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
public AudioBookBay(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -80,65 +74,78 @@ namespace Jackett.Common.Indexers
configData: new ConfigurationData())
{
webclient.requestDelay = 3.1;
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
// Age
AddCategoryMapping("children", TorznabCatType.AudioAudiobook, "Children");
AddCategoryMapping("teen-young-adult", TorznabCatType.AudioAudiobook, "Teen & Young Adult");
AddCategoryMapping("adults", TorznabCatType.AudioAudiobook, "Adults");
caps.Categories.AddCategoryMapping("children", TorznabCatType.AudioAudiobook, "Children");
caps.Categories.AddCategoryMapping("teen-young-adult", TorznabCatType.AudioAudiobook, "Teen & Young Adult");
caps.Categories.AddCategoryMapping("adults", TorznabCatType.AudioAudiobook, "Adults");
// Category
AddCategoryMapping("postapocalyptic", TorznabCatType.AudioAudiobook, "(Post)apocalyptic");
AddCategoryMapping("action", TorznabCatType.AudioAudiobook, "Action");
AddCategoryMapping("adventure", TorznabCatType.AudioAudiobook, "Adventure");
AddCategoryMapping("art", TorznabCatType.AudioAudiobook, "Art");
AddCategoryMapping("autobiography-biographies", TorznabCatType.AudioAudiobook, "Autobiography & Biographies");
AddCategoryMapping("business", TorznabCatType.AudioAudiobook, "Business");
AddCategoryMapping("computer", TorznabCatType.AudioAudiobook, "Computer");
AddCategoryMapping("contemporary", TorznabCatType.AudioAudiobook, "Contemporary");
AddCategoryMapping("crime", TorznabCatType.AudioAudiobook, "Crime");
AddCategoryMapping("detective", TorznabCatType.AudioAudiobook, "Detective");
AddCategoryMapping("doctor-who-sci-fi", TorznabCatType.AudioAudiobook, "Doctor Who");
AddCategoryMapping("education", TorznabCatType.AudioAudiobook, "Education");
AddCategoryMapping("fantasy", TorznabCatType.AudioAudiobook, "Fantasy");
AddCategoryMapping("general-fiction", TorznabCatType.AudioAudiobook, "General Fiction");
AddCategoryMapping("historical-fiction", TorznabCatType.AudioAudiobook, "Historical Fiction");
AddCategoryMapping("history", TorznabCatType.AudioAudiobook, "History");
AddCategoryMapping("horror", TorznabCatType.AudioAudiobook, "Horror");
AddCategoryMapping("humor", TorznabCatType.AudioAudiobook, "Humor");
AddCategoryMapping("lecture", TorznabCatType.AudioAudiobook, "Lecture");
AddCategoryMapping("lgbt", TorznabCatType.AudioAudiobook, "LGBT");
AddCategoryMapping("literature", TorznabCatType.AudioAudiobook, "Literature");
AddCategoryMapping("litrpg", TorznabCatType.AudioAudiobook, "LitRPG");
AddCategoryMapping("general-non-fiction", TorznabCatType.AudioAudiobook, "Misc. Non-fiction");
AddCategoryMapping("mystery", TorznabCatType.AudioAudiobook, "Mystery");
AddCategoryMapping("paranormal", TorznabCatType.AudioAudiobook, "Paranormal");
AddCategoryMapping("plays-theater", TorznabCatType.AudioAudiobook, "Plays & Theater");
AddCategoryMapping("poetry", TorznabCatType.AudioAudiobook, "Poetry");
AddCategoryMapping("political", TorznabCatType.AudioAudiobook, "Political");
AddCategoryMapping("radio-productions", TorznabCatType.AudioAudiobook, "Radio Productions");
AddCategoryMapping("romance", TorznabCatType.AudioAudiobook, "Romance");
AddCategoryMapping("sci-fi", TorznabCatType.AudioAudiobook, "Sci-Fi");
AddCategoryMapping("science", TorznabCatType.AudioAudiobook, "Science");
AddCategoryMapping("self-help", TorznabCatType.AudioAudiobook, "Self-help");
AddCategoryMapping("spiritual", TorznabCatType.AudioAudiobook, "Spiritual & Religious");
AddCategoryMapping("sports", TorznabCatType.AudioAudiobook, "Sport & Recreation");
AddCategoryMapping("suspense", TorznabCatType.AudioAudiobook, "Suspense");
AddCategoryMapping("thriller", TorznabCatType.AudioAudiobook, "Thriller");
AddCategoryMapping("true-crime", TorznabCatType.AudioAudiobook, "True Crime");
AddCategoryMapping("tutorial", TorznabCatType.AudioAudiobook, "Tutorial");
AddCategoryMapping("westerns", TorznabCatType.AudioAudiobook, "Westerns");
AddCategoryMapping("zombies", TorznabCatType.AudioAudiobook, "Zombies");
caps.Categories.AddCategoryMapping("postapocalyptic", TorznabCatType.AudioAudiobook, "(Post)apocalyptic");
caps.Categories.AddCategoryMapping("action", TorznabCatType.AudioAudiobook, "Action");
caps.Categories.AddCategoryMapping("adventure", TorznabCatType.AudioAudiobook, "Adventure");
caps.Categories.AddCategoryMapping("art", TorznabCatType.AudioAudiobook, "Art");
caps.Categories.AddCategoryMapping("autobiography-biographies", TorznabCatType.AudioAudiobook, "Autobiography & Biographies");
caps.Categories.AddCategoryMapping("business", TorznabCatType.AudioAudiobook, "Business");
caps.Categories.AddCategoryMapping("computer", TorznabCatType.AudioAudiobook, "Computer");
caps.Categories.AddCategoryMapping("contemporary", TorznabCatType.AudioAudiobook, "Contemporary");
caps.Categories.AddCategoryMapping("crime", TorznabCatType.AudioAudiobook, "Crime");
caps.Categories.AddCategoryMapping("detective", TorznabCatType.AudioAudiobook, "Detective");
caps.Categories.AddCategoryMapping("doctor-who-sci-fi", TorznabCatType.AudioAudiobook, "Doctor Who");
caps.Categories.AddCategoryMapping("education", TorznabCatType.AudioAudiobook, "Education");
caps.Categories.AddCategoryMapping("fantasy", TorznabCatType.AudioAudiobook, "Fantasy");
caps.Categories.AddCategoryMapping("general-fiction", TorznabCatType.AudioAudiobook, "General Fiction");
caps.Categories.AddCategoryMapping("historical-fiction", TorznabCatType.AudioAudiobook, "Historical Fiction");
caps.Categories.AddCategoryMapping("history", TorznabCatType.AudioAudiobook, "History");
caps.Categories.AddCategoryMapping("horror", TorznabCatType.AudioAudiobook, "Horror");
caps.Categories.AddCategoryMapping("humor", TorznabCatType.AudioAudiobook, "Humor");
caps.Categories.AddCategoryMapping("lecture", TorznabCatType.AudioAudiobook, "Lecture");
caps.Categories.AddCategoryMapping("lgbt", TorznabCatType.AudioAudiobook, "LGBT");
caps.Categories.AddCategoryMapping("literature", TorznabCatType.AudioAudiobook, "Literature");
caps.Categories.AddCategoryMapping("litrpg", TorznabCatType.AudioAudiobook, "LitRPG");
caps.Categories.AddCategoryMapping("general-non-fiction", TorznabCatType.AudioAudiobook, "Misc. Non-fiction");
caps.Categories.AddCategoryMapping("mystery", TorznabCatType.AudioAudiobook, "Mystery");
caps.Categories.AddCategoryMapping("paranormal", TorznabCatType.AudioAudiobook, "Paranormal");
caps.Categories.AddCategoryMapping("plays-theater", TorznabCatType.AudioAudiobook, "Plays & Theater");
caps.Categories.AddCategoryMapping("poetry", TorznabCatType.AudioAudiobook, "Poetry");
caps.Categories.AddCategoryMapping("political", TorznabCatType.AudioAudiobook, "Political");
caps.Categories.AddCategoryMapping("radio-productions", TorznabCatType.AudioAudiobook, "Radio Productions");
caps.Categories.AddCategoryMapping("romance", TorznabCatType.AudioAudiobook, "Romance");
caps.Categories.AddCategoryMapping("sci-fi", TorznabCatType.AudioAudiobook, "Sci-Fi");
caps.Categories.AddCategoryMapping("science", TorznabCatType.AudioAudiobook, "Science");
caps.Categories.AddCategoryMapping("self-help", TorznabCatType.AudioAudiobook, "Self-help");
caps.Categories.AddCategoryMapping("spiritual", TorznabCatType.AudioAudiobook, "Spiritual & Religious");
caps.Categories.AddCategoryMapping("sports", TorznabCatType.AudioAudiobook, "Sport & Recreation");
caps.Categories.AddCategoryMapping("suspense", TorznabCatType.AudioAudiobook, "Suspense");
caps.Categories.AddCategoryMapping("thriller", TorznabCatType.AudioAudiobook, "Thriller");
caps.Categories.AddCategoryMapping("true-crime", TorznabCatType.AudioAudiobook, "True Crime");
caps.Categories.AddCategoryMapping("tutorial", TorznabCatType.AudioAudiobook, "Tutorial");
caps.Categories.AddCategoryMapping("westerns", TorznabCatType.AudioAudiobook, "Westerns");
caps.Categories.AddCategoryMapping("zombies", TorznabCatType.AudioAudiobook, "Zombies");
// Category Modifiers
AddCategoryMapping("anthology", TorznabCatType.AudioAudiobook, "Anthology");
AddCategoryMapping("bestsellers", TorznabCatType.AudioAudiobook, "Bestsellers");
AddCategoryMapping("classic", TorznabCatType.AudioAudiobook, "Classic");
AddCategoryMapping("documentary", TorznabCatType.AudioAudiobook, "Documentary");
AddCategoryMapping("full-cast", TorznabCatType.AudioAudiobook, "Full Cast");
AddCategoryMapping("libertarian", TorznabCatType.AudioAudiobook, "Libertarian");
AddCategoryMapping("military", TorznabCatType.AudioAudiobook, "Military");
AddCategoryMapping("novel", TorznabCatType.AudioAudiobook, "Novel");
AddCategoryMapping("short-story", TorznabCatType.AudioAudiobook, "Short Story");
caps.Categories.AddCategoryMapping("anthology", TorznabCatType.AudioAudiobook, "Anthology");
caps.Categories.AddCategoryMapping("bestsellers", TorznabCatType.AudioAudiobook, "Bestsellers");
caps.Categories.AddCategoryMapping("classic", TorznabCatType.AudioAudiobook, "Classic");
caps.Categories.AddCategoryMapping("documentary", TorznabCatType.AudioAudiobook, "Documentary");
caps.Categories.AddCategoryMapping("full-cast", TorznabCatType.AudioAudiobook, "Full Cast");
caps.Categories.AddCategoryMapping("libertarian", TorznabCatType.AudioAudiobook, "Libertarian");
caps.Categories.AddCategoryMapping("military", TorznabCatType.AudioAudiobook, "Military");
caps.Categories.AddCategoryMapping("novel", TorznabCatType.AudioAudiobook, "Novel");
caps.Categories.AddCategoryMapping("short-story", TorznabCatType.AudioAudiobook, "Short Story");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -17,40 +17,47 @@ namespace Jackett.Common.Indexers
public override string Description => "Aka AsiaTorrents";
public override string SiteLink { get; protected set; } = "https://avistaz.to/";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
public AvistaZ(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
LimitsDefault = 50,
LimitsMax = 50,
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.TvdbId, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId, MovieSearchParam.Genre
},
SupportsRawSearch = true,
TvSearchImdbAvailable = true
},
configService: configService,
ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cs: cs
)
cs: cs)
{
AddCategoryMapping(1, TorznabCatType.Movies);
AddCategoryMapping(1, TorznabCatType.MoviesUHD);
AddCategoryMapping(1, TorznabCatType.MoviesHD);
AddCategoryMapping(1, TorznabCatType.MoviesSD);
AddCategoryMapping(2, TorznabCatType.TV);
AddCategoryMapping(2, TorznabCatType.TVUHD);
AddCategoryMapping(2, TorznabCatType.TVHD);
AddCategoryMapping(2, TorznabCatType.TVSD);
AddCategoryMapping(3, TorznabCatType.Audio);
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
LimitsDefault = 50,
LimitsMax = 50,
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.TvdbId, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId, MovieSearchParam.Genre
},
SupportsRawSearch = true,
TvSearchImdbAvailable = true
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.Movies);
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesUHD);
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesHD);
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesSD);
caps.Categories.AddCategoryMapping(2, TorznabCatType.TV);
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVUHD);
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVHD);
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVSD);
caps.Categories.AddCategoryMapping(3, TorznabCatType.Audio);
return caps;
}
// Avistaz has episodes without season. eg Running Man E323

View File

@ -32,6 +32,8 @@ namespace Jackett.Common.Indexers
public override string Language => "pt-BR";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string BrowseUrl => SiteLink + "torrents.php";
private string TodayUrl => SiteLink + "torrents.php?action=today";
private static readonly Regex _EpisodeRegex = new Regex(@"(?:[SsEe]\d{2,4}){1,2}");
@ -64,56 +66,63 @@ namespace Jackett.Common.Indexers
public BJShare(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataCookieUA())
{
AddCategoryMapping(1, TorznabCatType.Movies, "Filmes");
AddCategoryMapping(2, TorznabCatType.TV, "Seriados");
AddCategoryMapping(3, TorznabCatType.PC, "Aplicativos");
AddCategoryMapping(4, TorznabCatType.PCGames, "Jogos");
AddCategoryMapping(5, TorznabCatType.BooksComics, "Mangás");
AddCategoryMapping(6, TorznabCatType.TV, "Vídeos de TV");
AddCategoryMapping(7, TorznabCatType.Other, "Outros");
AddCategoryMapping(8, TorznabCatType.TVSport, "Esportes");
AddCategoryMapping(9, TorznabCatType.BooksMags, "Revistas");
AddCategoryMapping(10, TorznabCatType.BooksEBook, "E-Books");
AddCategoryMapping(11, TorznabCatType.AudioAudiobook, "Audiobook");
AddCategoryMapping(12, TorznabCatType.BooksComics, "HQs");
AddCategoryMapping(13, TorznabCatType.TVOther, "Stand Up Comedy");
AddCategoryMapping(14, TorznabCatType.TVAnime, "Animes");
AddCategoryMapping(15, TorznabCatType.XXXImageSet, "Fotos Adultas");
AddCategoryMapping(16, TorznabCatType.TVOther, "Desenhos Animado");
AddCategoryMapping(17, TorznabCatType.TVDocumentary, "Documentários");
AddCategoryMapping(18, TorznabCatType.Other, "Cursos");
AddCategoryMapping(19, TorznabCatType.XXX, "Filmes Adultos");
AddCategoryMapping(20, TorznabCatType.XXXOther, "Jogos Adultos");
AddCategoryMapping(21, TorznabCatType.XXXOther, "Mangás Adultos");
AddCategoryMapping(22, TorznabCatType.XXXOther, "Animes Adultos");
AddCategoryMapping(23, TorznabCatType.XXXOther, "HQs Adultos");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.Movies, "Filmes");
caps.Categories.AddCategoryMapping(2, TorznabCatType.TV, "Seriados");
caps.Categories.AddCategoryMapping(3, TorznabCatType.PC, "Aplicativos");
caps.Categories.AddCategoryMapping(4, TorznabCatType.PCGames, "Jogos");
caps.Categories.AddCategoryMapping(5, TorznabCatType.BooksComics, "Mangás");
caps.Categories.AddCategoryMapping(6, TorznabCatType.TV, "Vídeos de TV");
caps.Categories.AddCategoryMapping(7, TorznabCatType.Other, "Outros");
caps.Categories.AddCategoryMapping(8, TorznabCatType.TVSport, "Esportes");
caps.Categories.AddCategoryMapping(9, TorznabCatType.BooksMags, "Revistas");
caps.Categories.AddCategoryMapping(10, TorznabCatType.BooksEBook, "E-Books");
caps.Categories.AddCategoryMapping(11, TorznabCatType.AudioAudiobook, "Audiobook");
caps.Categories.AddCategoryMapping(12, TorznabCatType.BooksComics, "HQs");
caps.Categories.AddCategoryMapping(13, TorznabCatType.TVOther, "Stand Up Comedy");
caps.Categories.AddCategoryMapping(14, TorznabCatType.TVAnime, "Animes");
caps.Categories.AddCategoryMapping(15, TorznabCatType.XXXImageSet, "Fotos Adultas");
caps.Categories.AddCategoryMapping(16, TorznabCatType.TVOther, "Desenhos Animado");
caps.Categories.AddCategoryMapping(17, TorznabCatType.TVDocumentary, "Documentários");
caps.Categories.AddCategoryMapping(18, TorznabCatType.Other, "Cursos");
caps.Categories.AddCategoryMapping(19, TorznabCatType.XXX, "Filmes Adultos");
caps.Categories.AddCategoryMapping(20, TorznabCatType.XXXOther, "Jogos Adultos");
caps.Categories.AddCategoryMapping(21, TorznabCatType.XXXOther, "Mangás Adultos");
caps.Categories.AddCategoryMapping(22, TorznabCatType.XXXOther, "Animes Adultos");
caps.Categories.AddCategoryMapping(23, TorznabCatType.XXXOther, "HQs Adultos");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -4,7 +4,6 @@ using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Dom;
@ -29,6 +28,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string SearchUrl => SiteLink + "browse.php?only=0&hentai=1&incomplete=1&lossless=1&hd=1&multiaudio=1&bonus=1&reorder=1&q=";
private string LoginUrl => SiteLink + "login.php";
private readonly string LogoutStr = "<a href=\"logout.php\">Logout</a>";
@ -45,48 +46,53 @@ namespace Jackett.Common.Indexers
public BakaBT(IIndexerConfigurationService configService, Utils.Clients.WebClient wc, Logger l,
IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBakaBT("To prevent 0-results-error, Enable the " +
"Show-Adult-Content option in your BakaBT account Settings."))
configData: new ConfigurationDataBakaBT("To prevent 0-results-error, Enable the Show-Adult-Content option in your BakaBT account Settings."))
{
AddCategoryMapping(1, TorznabCatType.TVAnime, "Anime Series");
AddCategoryMapping(2, TorznabCatType.TVAnime, "OVA");
AddCategoryMapping(3, TorznabCatType.AudioOther, "Soundtrack");
AddCategoryMapping(4, TorznabCatType.BooksComics, "Manga");
AddCategoryMapping(5, TorznabCatType.TVAnime, "Anime Movie");
AddCategoryMapping(6, TorznabCatType.TVOther, "Live Action");
AddCategoryMapping(7, TorznabCatType.BooksOther, "Artbook");
AddCategoryMapping(8, TorznabCatType.AudioVideo, "Music Video");
AddCategoryMapping(9, TorznabCatType.BooksEBook, "Light Novel");
AddCategoryMapping(11, TorznabCatType.XXX, "Hentai Series");
AddCategoryMapping(12, TorznabCatType.XXX, "Hentai OVA");
AddCategoryMapping(13, TorznabCatType.XXX, "Hentai Soundtrack");
AddCategoryMapping(14, TorznabCatType.XXX, "Hentai Manga");
AddCategoryMapping(15, TorznabCatType.XXX, "Hentai Movie");
AddCategoryMapping(16, TorznabCatType.XXX, "Hentai Live Action");
AddCategoryMapping(17, TorznabCatType.XXX, "Hentai Artbook");
AddCategoryMapping(18, TorznabCatType.XXX, "Hentai Music Video");
AddCategoryMapping(19, TorznabCatType.XXX, "Hentai Light Novel");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.TVAnime, "Anime Series");
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVAnime, "OVA");
caps.Categories.AddCategoryMapping(3, TorznabCatType.AudioOther, "Soundtrack");
caps.Categories.AddCategoryMapping(4, TorznabCatType.BooksComics, "Manga");
caps.Categories.AddCategoryMapping(5, TorznabCatType.TVAnime, "Anime Movie");
caps.Categories.AddCategoryMapping(6, TorznabCatType.TVOther, "Live Action");
caps.Categories.AddCategoryMapping(7, TorznabCatType.BooksOther, "Artbook");
caps.Categories.AddCategoryMapping(8, TorznabCatType.AudioVideo, "Music Video");
caps.Categories.AddCategoryMapping(9, TorznabCatType.BooksEBook, "Light Novel");
caps.Categories.AddCategoryMapping(11, TorznabCatType.XXX, "Hentai Series");
caps.Categories.AddCategoryMapping(12, TorznabCatType.XXX, "Hentai OVA");
caps.Categories.AddCategoryMapping(13, TorznabCatType.XXX, "Hentai Soundtrack");
caps.Categories.AddCategoryMapping(14, TorznabCatType.XXX, "Hentai Manga");
caps.Categories.AddCategoryMapping(15, TorznabCatType.XXX, "Hentai Movie");
caps.Categories.AddCategoryMapping(16, TorznabCatType.XXX, "Hentai Live Action");
caps.Categories.AddCategoryMapping(17, TorznabCatType.XXX, "Hentai Artbook");
caps.Categories.AddCategoryMapping(18, TorznabCatType.XXX, "Hentai Music Video");
caps.Categories.AddCategoryMapping(19, TorznabCatType.XXX, "Hentai Light Novel");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -338,12 +338,11 @@ namespace Jackett.Common.Indexers
{
protected BaseWebIndexer(IIndexerConfigurationService configService, WebClient client, Logger logger,
ConfigurationData configData, IProtectionService p, ICacheService cacheService,
TorznabCapabilities caps, string downloadBase = null)
string downloadBase = null)
: base(configService: configService, logger: logger, configData: configData, p: p, cs: cacheService)
{
webclient = client;
downloadUrlBase = downloadBase;
TorznabCaps = caps;
}
// minimal constructor used by e.g. cardigann generic indexer
@ -738,8 +737,8 @@ namespace Jackett.Common.Indexers
{
protected BaseCachingWebIndexer(IIndexerConfigurationService configService, WebClient client, Logger logger,
ConfigurationData configData, IProtectionService p, ICacheService cacheService,
TorznabCapabilities caps = null, string downloadBase = null)
: base(configService: configService, client: client, logger: logger, configData: configData, p: p, cacheService: cacheService, caps: caps, downloadBase: downloadBase)
string downloadBase = null)
: base(configService: configService, client: client, logger: logger, configData: configData, p: p, cacheService: cacheService, downloadBase: downloadBase)
{
}

View File

@ -2,7 +2,6 @@ using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig.Bespoke;
@ -25,6 +24,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private readonly string APIBASE = "https://beyond-hd.me/api/torrents/";
private new ConfigurationDataBeyondHDApi configData
@ -35,29 +36,35 @@ namespace Jackett.Common.Indexers
public BeyondHDAPI(IIndexerConfigurationService configService, WebClient wc, Logger l,
IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
LimitsDefault = 100,
LimitsMax = 100,
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.TmdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBeyondHDApi("Find the API and RSS keys under your security settings (your profile picture -> my security)"))
{
AddCategoryMapping("Movies", TorznabCatType.Movies);
AddCategoryMapping("TV", TorznabCatType.TV);
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
LimitsDefault = 100,
LimitsMax = 100,
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.TmdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId
}
};
caps.Categories.AddCategoryMapping("Movies", TorznabCatType.Movies);
caps.Categories.AddCategoryMapping("TV", TorznabCatType.TV);
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -29,38 +29,46 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string SearchUrl => SiteLink + "torrents.php";
private new ConfigurationDataCookie configData => (ConfigurationDataCookie)base.configData;
public BitHDTV(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
}
},
configService: configService,
: base(configService: configService,
client: w,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataCookie("For best results, change the 'Torrents per page' setting to 100 in your profile."))
{
AddCategoryMapping(6, TorznabCatType.AudioLossless, "HQ Audio");
AddCategoryMapping(7, TorznabCatType.Movies, "Movies");
AddCategoryMapping(8, TorznabCatType.AudioVideo, "Music Videos");
AddCategoryMapping(9, TorznabCatType.Other, "Other");
AddCategoryMapping(10, TorznabCatType.TV, "TV");
AddCategoryMapping(12, TorznabCatType.TV, "TV/Seasonpack");
AddCategoryMapping(11, TorznabCatType.XXX, "XXX");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
}
};
caps.Categories.AddCategoryMapping(6, TorznabCatType.AudioLossless, "HQ Audio");
caps.Categories.AddCategoryMapping(7, TorznabCatType.Movies, "Movies");
caps.Categories.AddCategoryMapping(8, TorznabCatType.AudioVideo, "Music Videos");
caps.Categories.AddCategoryMapping(9, TorznabCatType.Other, "Other");
caps.Categories.AddCategoryMapping(10, TorznabCatType.TV, "TV");
caps.Categories.AddCategoryMapping(12, TorznabCatType.TV, "TV/Seasonpack");
caps.Categories.AddCategoryMapping(11, TorznabCatType.XXX, "XXX");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Collections.Specialized;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Html.Parser;
@ -27,6 +26,8 @@ namespace Jackett.Common.Indexers
public override string Language => "pt-BR";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LoginUrl => SiteLink + "login.php";
private string BrowseUrl => SiteLink + "torrents.php";
private static readonly Regex _EpisodeRegex = new Regex(@"(?:[SsEe]\d{2,4}){1,2}");
@ -35,34 +36,40 @@ namespace Jackett.Common.Indexers
public BrasilTracker(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q, MusicSearchParam.Genre
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q, BookSearchParam.Genre
}
},
configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLogin("BrasilTracker does not return categories in its search results.</br>To add to your Apps' Torznab indexer, replace all categories with 8000(Other).</br>For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile."))
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLogin("BrasilTracker does not return categories in its search results.</br>To add to your Apps' Torznab indexer, replace all categories with 8000(Other).</br>For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile."))
{
AddCategoryMapping(1, TorznabCatType.Other, "Other");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q, MusicSearchParam.Genre
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q, BookSearchParam.Genre
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.Other, "Other");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -2,7 +2,6 @@ using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Jackett.Common.Models;
@ -28,6 +27,8 @@ namespace Jackett.Common.Indexers
public override bool SupportsPagination => true;
public override TorznabCapabilities TorznabCaps => SetCapabilities();
// based on https://github.com/Prowlarr/Prowlarr/tree/develop/src/NzbDrone.Core/Indexers/Definitions/BroadcastheNet
private readonly string APIBASE = "https://api.broadcasthe.net";
@ -40,29 +41,35 @@ namespace Jackett.Common.Indexers
public BroadcasTheNet(IIndexerConfigurationService configService, WebClient wc, Logger l,
IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
LimitsDefault = 100,
LimitsMax = 1000,
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.TvdbId
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataAPIKey())
{
AddCategoryMapping("SD", TorznabCatType.TVSD, "SD");
AddCategoryMapping("720p", TorznabCatType.TVHD, "720p");
AddCategoryMapping("1080p", TorznabCatType.TVHD, "1080p");
AddCategoryMapping("1080i", TorznabCatType.TVHD, "1080i");
AddCategoryMapping("2160p", TorznabCatType.TVHD, "2160p");
AddCategoryMapping("Portable Device", TorznabCatType.TVSD, "Portable Device");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
LimitsDefault = 100,
LimitsMax = 1000,
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.TvdbId
}
};
caps.Categories.AddCategoryMapping("SD", TorznabCatType.TVSD, "SD");
caps.Categories.AddCategoryMapping("720p", TorznabCatType.TVHD, "720p");
caps.Categories.AddCategoryMapping("1080p", TorznabCatType.TVHD, "1080p");
caps.Categories.AddCategoryMapping("1080i", TorznabCatType.TVHD, "1080i");
caps.Categories.AddCategoryMapping("2160p", TorznabCatType.TVHD, "2160p");
caps.Categories.AddCategoryMapping("Portable Device", TorznabCatType.TVSD, "Portable Device");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -21,10 +21,11 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
public BrokenStones(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(caps: new TorznabCapabilities(),
configService: configService,
ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -32,14 +33,22 @@ namespace Jackett.Common.Indexers
supportsFreeleechTokens: true,
has2Fa: true)
{
AddCategoryMapping(1, TorznabCatType.PCMac, "MacOS Apps");
AddCategoryMapping(2, TorznabCatType.PCMac, "MacOS Games");
AddCategoryMapping(3, TorznabCatType.PCMobileiOS, "iOS Apps");
AddCategoryMapping(4, TorznabCatType.PCMobileiOS, "iOS Games");
AddCategoryMapping(5, TorznabCatType.Other, "Graphics");
AddCategoryMapping(6, TorznabCatType.Audio, "Audio");
AddCategoryMapping(7, TorznabCatType.Other, "Tutorials");
AddCategoryMapping(8, TorznabCatType.Other, "Other");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities();
caps.Categories.AddCategoryMapping(1, TorznabCatType.PCMac, "MacOS Apps");
caps.Categories.AddCategoryMapping(2, TorznabCatType.PCMac, "MacOS Games");
caps.Categories.AddCategoryMapping(3, TorznabCatType.PCMobileiOS, "iOS Apps");
caps.Categories.AddCategoryMapping(4, TorznabCatType.PCMobileiOS, "iOS Games");
caps.Categories.AddCategoryMapping(5, TorznabCatType.Other, "Graphics");
caps.Categories.AddCategoryMapping(6, TorznabCatType.Audio, "Audio");
caps.Categories.AddCategoryMapping(7, TorznabCatType.Other, "Tutorials");
caps.Categories.AddCategoryMapping(8, TorznabCatType.Other, "Other");
return caps;
}
}
}

View File

@ -21,23 +21,32 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
public CGPeers(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(caps: new TorznabCapabilities(),
configService: configService,
ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cs: cs,
supportsFreeleechTokens: true)
{
AddCategoryMapping(1, TorznabCatType.PCISO, "Full Applications");
AddCategoryMapping(2, TorznabCatType.PC0day, "Plugins");
AddCategoryMapping(3, TorznabCatType.Other, "Tutorials");
AddCategoryMapping(4, TorznabCatType.Other, "Models");
AddCategoryMapping(5, TorznabCatType.Other, "Materials");
AddCategoryMapping(6, TorznabCatType.OtherMisc, "Misc");
AddCategoryMapping(7, TorznabCatType.Other, "GameDev");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities();
caps.Categories.AddCategoryMapping(1, TorznabCatType.PCISO, "Full Applications");
caps.Categories.AddCategoryMapping(2, TorznabCatType.PC0day, "Plugins");
caps.Categories.AddCategoryMapping(3, TorznabCatType.Other, "Tutorials");
caps.Categories.AddCategoryMapping(4, TorznabCatType.Other, "Models");
caps.Categories.AddCategoryMapping(5, TorznabCatType.Other, "Materials");
caps.Categories.AddCategoryMapping(6, TorznabCatType.OtherMisc, "Misc");
caps.Categories.AddCategoryMapping(7, TorznabCatType.Other, "GameDev");
return caps;
}
}
}

View File

@ -190,7 +190,7 @@ namespace Jackett.Common.Indexers
logger.Error(string.Format("CardigannIndexer ({0}): invalid Torznab category for id {1}: {2}", Id, Category.Key, Category.Value));
continue;
}
AddCategoryMapping(Category.Key, cat);
TorznabCaps.Categories.AddCategoryMapping(Category.Key, cat);
}
}
@ -209,7 +209,7 @@ namespace Jackett.Common.Indexers
continue;
}
}
AddCategoryMapping(Categorymapping.id, TorznabCat, Categorymapping.desc);
TorznabCaps.Categories.AddCategoryMapping(Categorymapping.id, TorznabCat, Categorymapping.desc);
if (Categorymapping.Default)
DefaultCategories.Add(Categorymapping.id);
}

View File

@ -45,24 +45,35 @@ namespace Jackett.Common.Indexers
public override string Language => "es-419";
public override string Type => "public";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private const int MaxLatestPageLimit = 3; // 12 items per page * 3 pages = 36
private const int MaxSearchPageLimit = 6;
public Cinecalidad(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
MovieSearchParams = new List<MovieSearchParam> { MovieSearchParam.Q }
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationData())
{
AddCategoryMapping(1, TorznabCatType.MoviesHD);
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesHD);
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -16,37 +16,45 @@ namespace Jackett.Common.Indexers
public override string Description => "Part of the Avistaz network.";
public override string SiteLink { get; protected set; } = "https://cinemaz.to/";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
public CinemaZ(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
LimitsDefault = 50,
LimitsMax = 50,
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
}
},
configService: configService,
ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cs: cs
)
{
AddCategoryMapping(1, TorznabCatType.Movies);
AddCategoryMapping(1, TorznabCatType.MoviesUHD);
AddCategoryMapping(1, TorznabCatType.MoviesHD);
AddCategoryMapping(1, TorznabCatType.MoviesSD);
AddCategoryMapping(2, TorznabCatType.TV);
AddCategoryMapping(2, TorznabCatType.TVUHD);
AddCategoryMapping(2, TorznabCatType.TVHD);
AddCategoryMapping(2, TorznabCatType.TVSD);
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
LimitsDefault = 50,
LimitsMax = 50,
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.Movies);
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesUHD);
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesHD);
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesSD);
caps.Categories.AddCategoryMapping(2, TorznabCatType.TV);
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVUHD);
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVHD);
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVSD);
return caps;
}
}
}

View File

@ -8,8 +8,6 @@ using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils.Clients;
using NLog;
using static Jackett.Common.Models.IndexerConfig.ConfigurationData;
namespace Jackett.Common.Indexers
{
[ExcludeFromCodeCoverage]
@ -22,17 +20,11 @@ namespace Jackett.Common.Indexers
public override string Language => "zh-CN";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
public DICMusic(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year
}
},
configService: configService,
ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -41,8 +33,22 @@ namespace Jackett.Common.Indexers
supportsFreeleechOnly: true,
has2Fa: true)
{
AddCategoryMapping(1, TorznabCatType.Audio, "Music");
AddCategoryMapping(2, TorznabCatType.PC, "Applications");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.Audio, "Music");
caps.Categories.AddCategoryMapping(2, TorznabCatType.PC, "Applications");
return caps;
}
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)

View File

@ -30,6 +30,8 @@ namespace Jackett.Common.Indexers
public override string Language => "pl-PL";
public override string Type => "semi-private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LoginUrl => SiteLink + "login.php";
private string BrowseUrl => SiteLink + "torrenty.php";
@ -45,86 +47,92 @@ namespace Jackett.Common.Indexers
public DarmoweTorenty(IIndexerConfigurationService configService, WebClient wc, Logger l,
IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLoginWithRSSAndDisplay())
{
AddCategoryMapping(14, TorznabCatType.Movies, "Filmy");
AddCategoryMapping(27, TorznabCatType.MoviesDVD, "Filmy DVD-R");
AddCategoryMapping(28, TorznabCatType.MoviesSD, "Filmy VCD/SVCD");
AddCategoryMapping(29, TorznabCatType.MoviesBluRay, "Filmy BluRay/x264");
AddCategoryMapping(30, TorznabCatType.MoviesSD, "Filmy DivX/XviD LEKTOR/NAPISY PL");
AddCategoryMapping(72, TorznabCatType.MoviesSD, "Filmy DivX/XviD ENG/...");
AddCategoryMapping(31, TorznabCatType.Movies, "Filmy RMVB");
AddCategoryMapping(74, TorznabCatType.MoviesHD, "Filmy HD");
AddCategoryMapping(75, TorznabCatType.Movies3D, "Filmy 3D");
AddCategoryMapping(16, TorznabCatType.TV, "Seriale");
AddCategoryMapping(25, TorznabCatType.TV, "Seriale Polskie");
AddCategoryMapping(26, TorznabCatType.TV, "Seriale Zagraniczne");
AddCategoryMapping(17, TorznabCatType.Movies, "Dla Dzieci");
AddCategoryMapping(32, TorznabCatType.Movies, "Bajki Pl/Eng");
AddCategoryMapping(18, TorznabCatType.PCGames, "Gry");
AddCategoryMapping(34, TorznabCatType.PCGames, "Gry PC");
AddCategoryMapping(35, TorznabCatType.ConsolePSP, "Gry PS2/PS3/PSP");
AddCategoryMapping(36, TorznabCatType.ConsoleXBox, "Gry Xbox");
AddCategoryMapping(37, TorznabCatType.Console, "Gry Inne Konsole");
AddCategoryMapping(19, TorznabCatType.Audio, "Muzyka");
AddCategoryMapping(38, TorznabCatType.Audio, "Muzyka Polska/Zagraniczna");
AddCategoryMapping(39, TorznabCatType.Audio, "Muzyka Soundtracki");
AddCategoryMapping(40, TorznabCatType.Audio, "Muzyka Teledyski/Koncerty");
AddCategoryMapping(20, TorznabCatType.PCMobileOther, "GSM/PDA");
AddCategoryMapping(42, TorznabCatType.PCMobileOther, "Tapety GSM/PDA");
AddCategoryMapping(43, TorznabCatType.PCMobileOther, "Programy GSM/PDA");
AddCategoryMapping(44, TorznabCatType.PCMobileOther, "Filmy GSM/PDA");
AddCategoryMapping(45, TorznabCatType.PCMobileOther, "Dzwonki GSM/PDA");
AddCategoryMapping(46, TorznabCatType.PCMobileOther, "Gry GSM/PDA");
AddCategoryMapping(21, TorznabCatType.Books, "Książki/Czasopisma");
AddCategoryMapping(47, TorznabCatType.BooksEBook, "Książki/Czasopisma E-Booki");
AddCategoryMapping(48, TorznabCatType.AudioAudiobook, "Książki/Czasopisma Audio-Booki");
AddCategoryMapping(49, TorznabCatType.BooksMags, "Książki/Czasopisma Czasopisma");
AddCategoryMapping(50, TorznabCatType.BooksComics, "Książki/Czasopisma Komiksy");
AddCategoryMapping(22, TorznabCatType.PC, "Programy");
AddCategoryMapping(51, TorznabCatType.PC0day, "Programy Windows");
AddCategoryMapping(52, TorznabCatType.PC, "Programy Linux");
AddCategoryMapping(53, TorznabCatType.PCMac, "Programy Macintosh");
AddCategoryMapping(23, TorznabCatType.Other, "Inne");
AddCategoryMapping(55, TorznabCatType.Other, "Inne Tapety");
AddCategoryMapping(54, TorznabCatType.Other, "Inne Śmieszne");
AddCategoryMapping(56, TorznabCatType.TVSport, "Inne Sport");
AddCategoryMapping(57, TorznabCatType.Other, "Inne Pozostałe");
AddCategoryMapping(24, TorznabCatType.XXX, "Erotyka");
AddCategoryMapping(58, TorznabCatType.XXX, "Erotyka Czasopisma");
AddCategoryMapping(59, TorznabCatType.XXX, "Erotyka Zdjęcia");
AddCategoryMapping(60, TorznabCatType.XXX, "Erotyka Filmy");
AddCategoryMapping(61, TorznabCatType.XXX, "Erotyka Gry");
AddCategoryMapping(63, TorznabCatType.XXX, "Erotyka Hentai+18");
AddCategoryMapping(68, TorznabCatType.TVAnime, "Anime");
AddCategoryMapping(69, TorznabCatType.TVAnime, "Anime Pl");
AddCategoryMapping(70, TorznabCatType.TVAnime, "Anime");
AddCategoryMapping(76, TorznabCatType.Other, "Archiwum");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(14, TorznabCatType.Movies, "Filmy");
caps.Categories.AddCategoryMapping(27, TorznabCatType.MoviesDVD, "Filmy DVD-R");
caps.Categories.AddCategoryMapping(28, TorznabCatType.MoviesSD, "Filmy VCD/SVCD");
caps.Categories.AddCategoryMapping(29, TorznabCatType.MoviesBluRay, "Filmy BluRay/x264");
caps.Categories.AddCategoryMapping(30, TorznabCatType.MoviesSD, "Filmy DivX/XviD LEKTOR/NAPISY PL");
caps.Categories.AddCategoryMapping(72, TorznabCatType.MoviesSD, "Filmy DivX/XviD ENG/...");
caps.Categories.AddCategoryMapping(31, TorznabCatType.Movies, "Filmy RMVB");
caps.Categories.AddCategoryMapping(74, TorznabCatType.MoviesHD, "Filmy HD");
caps.Categories.AddCategoryMapping(75, TorznabCatType.Movies3D, "Filmy 3D");
caps.Categories.AddCategoryMapping(16, TorznabCatType.TV, "Seriale");
caps.Categories.AddCategoryMapping(25, TorznabCatType.TV, "Seriale Polskie");
caps.Categories.AddCategoryMapping(26, TorznabCatType.TV, "Seriale Zagraniczne");
caps.Categories.AddCategoryMapping(17, TorznabCatType.Movies, "Dla Dzieci");
caps.Categories.AddCategoryMapping(32, TorznabCatType.Movies, "Bajki Pl/Eng");
caps.Categories.AddCategoryMapping(18, TorznabCatType.PCGames, "Gry");
caps.Categories.AddCategoryMapping(34, TorznabCatType.PCGames, "Gry PC");
caps.Categories.AddCategoryMapping(35, TorznabCatType.ConsolePSP, "Gry PS2/PS3/PSP");
caps.Categories.AddCategoryMapping(36, TorznabCatType.ConsoleXBox, "Gry Xbox");
caps.Categories.AddCategoryMapping(37, TorznabCatType.Console, "Gry Inne Konsole");
caps.Categories.AddCategoryMapping(19, TorznabCatType.Audio, "Muzyka");
caps.Categories.AddCategoryMapping(38, TorznabCatType.Audio, "Muzyka Polska/Zagraniczna");
caps.Categories.AddCategoryMapping(39, TorznabCatType.Audio, "Muzyka Soundtracki");
caps.Categories.AddCategoryMapping(40, TorznabCatType.Audio, "Muzyka Teledyski/Koncerty");
caps.Categories.AddCategoryMapping(20, TorznabCatType.PCMobileOther, "GSM/PDA");
caps.Categories.AddCategoryMapping(42, TorznabCatType.PCMobileOther, "Tapety GSM/PDA");
caps.Categories.AddCategoryMapping(43, TorznabCatType.PCMobileOther, "Programy GSM/PDA");
caps.Categories.AddCategoryMapping(44, TorznabCatType.PCMobileOther, "Filmy GSM/PDA");
caps.Categories.AddCategoryMapping(45, TorznabCatType.PCMobileOther, "Dzwonki GSM/PDA");
caps.Categories.AddCategoryMapping(46, TorznabCatType.PCMobileOther, "Gry GSM/PDA");
caps.Categories.AddCategoryMapping(21, TorznabCatType.Books, "Książki/Czasopisma");
caps.Categories.AddCategoryMapping(47, TorznabCatType.BooksEBook, "Książki/Czasopisma E-Booki");
caps.Categories.AddCategoryMapping(48, TorznabCatType.AudioAudiobook, "Książki/Czasopisma Audio-Booki");
caps.Categories.AddCategoryMapping(49, TorznabCatType.BooksMags, "Książki/Czasopisma Czasopisma");
caps.Categories.AddCategoryMapping(50, TorznabCatType.BooksComics, "Książki/Czasopisma Komiksy");
caps.Categories.AddCategoryMapping(22, TorznabCatType.PC, "Programy");
caps.Categories.AddCategoryMapping(51, TorznabCatType.PC0day, "Programy Windows");
caps.Categories.AddCategoryMapping(52, TorznabCatType.PC, "Programy Linux");
caps.Categories.AddCategoryMapping(53, TorznabCatType.PCMac, "Programy Macintosh");
caps.Categories.AddCategoryMapping(23, TorznabCatType.Other, "Inne");
caps.Categories.AddCategoryMapping(55, TorznabCatType.Other, "Inne Tapety");
caps.Categories.AddCategoryMapping(54, TorznabCatType.Other, "Inne Śmieszne");
caps.Categories.AddCategoryMapping(56, TorznabCatType.TVSport, "Inne Sport");
caps.Categories.AddCategoryMapping(57, TorznabCatType.Other, "Inne Pozostałe");
caps.Categories.AddCategoryMapping(24, TorznabCatType.XXX, "Erotyka");
caps.Categories.AddCategoryMapping(58, TorznabCatType.XXX, "Erotyka Czasopisma");
caps.Categories.AddCategoryMapping(59, TorznabCatType.XXX, "Erotyka Zdjęcia");
caps.Categories.AddCategoryMapping(60, TorznabCatType.XXX, "Erotyka Filmy");
caps.Categories.AddCategoryMapping(61, TorznabCatType.XXX, "Erotyka Gry");
caps.Categories.AddCategoryMapping(63, TorznabCatType.XXX, "Erotyka Hentai+18");
caps.Categories.AddCategoryMapping(68, TorznabCatType.TVAnime, "Anime");
caps.Categories.AddCategoryMapping(69, TorznabCatType.TVAnime, "Anime Pl");
caps.Categories.AddCategoryMapping(70, TorznabCatType.TVAnime, "Anime");
caps.Categories.AddCategoryMapping(76, TorznabCatType.Other, "Archiwum");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -50,6 +50,8 @@ namespace Jackett.Common.Indexers
public override string Language => "es-ES";
public override string Type => "public";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private const string DownloadLink = "/download_tt.php";
private const int MaxNrOfResults = 100;
private const int MaxPageLoads = 3;
@ -75,19 +77,7 @@ namespace Jackett.Common.Indexers
public DivxTotal(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: w,
logger: l,
p: ps,
@ -98,14 +88,31 @@ namespace Jackett.Common.Indexers
configData.AddDynamic("MatchWords", matchWords);
configData.AddDynamic("flaresolverr", new DisplayInfoConfigurationItem("FlareSolverr", "This site may use Cloudflare DDoS Protection, therefore Jackett requires <a href=\"https://github.com/Jackett/Jackett#configuring-flaresolverr\" target=\"_blank\">FlareSolverr</a> to access it."));
}
AddCategoryMapping(DivxTotalCategories.Peliculas, TorznabCatType.MoviesSD, "Peliculas");
AddCategoryMapping(DivxTotalCategories.PeliculasHd, TorznabCatType.MoviesHD, "Peliculas HD");
AddCategoryMapping(DivxTotalCategories.Peliculas3D, TorznabCatType.Movies3D, "Peliculas 3D");
AddCategoryMapping(DivxTotalCategories.PeliculasDvdr, TorznabCatType.MoviesDVD, "Peliculas DVD-r");
AddCategoryMapping(DivxTotalCategories.Series, TorznabCatType.TVSD, "Series");
AddCategoryMapping(DivxTotalCategories.Programas, TorznabCatType.PC, "Programas");
AddCategoryMapping(DivxTotalCategories.Otros, TorznabCatType.OtherMisc, "Otros");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(DivxTotalCategories.Peliculas, TorznabCatType.MoviesSD, "Peliculas");
caps.Categories.AddCategoryMapping(DivxTotalCategories.PeliculasHd, TorznabCatType.MoviesHD, "Peliculas HD");
caps.Categories.AddCategoryMapping(DivxTotalCategories.Peliculas3D, TorznabCatType.Movies3D, "Peliculas 3D");
caps.Categories.AddCategoryMapping(DivxTotalCategories.PeliculasDvdr, TorznabCatType.MoviesDVD, "Peliculas DVD-r");
caps.Categories.AddCategoryMapping(DivxTotalCategories.Series, TorznabCatType.TVSD, "Series");
caps.Categories.AddCategoryMapping(DivxTotalCategories.Programas, TorznabCatType.PC, "Programas");
caps.Categories.AddCategoryMapping(DivxTotalCategories.Otros, TorznabCatType.OtherMisc, "Otros");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -58,6 +58,8 @@ namespace Jackett.Common.Indexers
public override string Language => "es-ES";
public override string Type => "public";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private static class DonTorrentCatType
{
public static string Pelicula => "pelicula";
@ -85,23 +87,7 @@ namespace Jackett.Common.Indexers
public DonTorrent(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q,
}
},
configService: configService,
: base(configService: configService,
client: w,
logger: l,
p: ps,
@ -113,12 +99,33 @@ namespace Jackett.Common.Indexers
var matchWords = new BoolConfigurationItem("Match words in title") { Value = true };
configData.AddDynamic("MatchWords", matchWords);
}
AddCategoryMapping(DonTorrentCatType.Pelicula, TorznabCatType.Movies, "Pelicula");
AddCategoryMapping(DonTorrentCatType.Pelicula4K, TorznabCatType.MoviesUHD, "Peliculas 4K");
AddCategoryMapping(DonTorrentCatType.Serie, TorznabCatType.TVSD, "Serie");
AddCategoryMapping(DonTorrentCatType.SerieHD, TorznabCatType.TVHD, "Serie HD");
AddCategoryMapping(DonTorrentCatType.Musica, TorznabCatType.Audio, "Música");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q,
}
};
caps.Categories.AddCategoryMapping(DonTorrentCatType.Pelicula, TorznabCatType.Movies, "Pelicula");
caps.Categories.AddCategoryMapping(DonTorrentCatType.Pelicula4K, TorznabCatType.MoviesUHD, "Peliculas 4K");
caps.Categories.AddCategoryMapping(DonTorrentCatType.Serie, TorznabCatType.TVSD, "Serie");
caps.Categories.AddCategoryMapping(DonTorrentCatType.SerieHD, TorznabCatType.TVHD, "Serie HD");
caps.Categories.AddCategoryMapping(DonTorrentCatType.Musica, TorznabCatType.Audio, "Música");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -49,6 +49,8 @@ namespace Jackett.Common.Indexers
public override string Language => "es-ES";
public override string Type => "public";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string SearchUrl => SiteLink + "catalogo/index/{0}/nuevo/todos/sin/todos/{1}/ajax";
private string SobrecargaUrl => SiteLink + "inicio/sobrecarga";
private const int MaxItemsPerPage = 18;
@ -75,22 +77,28 @@ namespace Jackett.Common.Indexers
public EpubLibre(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q // TODO: add more book parameters
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationData())
{
AddCategoryMapping(1, TorznabCatType.BooksEBook);
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q // TODO: add more book parameters
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.BooksEBook);
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Xml;
@ -40,19 +39,13 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "semi-private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
const string RSS_PATH = "feed/?type=magnet";
public EraiRaws(IIndexerConfigurationService configService, Utils.Clients.WebClient wc, Logger l,
IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -81,9 +74,21 @@ namespace Jackett.Common.Indexers
"title-detail-parsing-help",
new DisplayInfoConfigurationItem("", "Title Detail Parsing will attempt to determine the season and episode number from the release names and reformat them as a suffix in the format S1E1. If successful, this should provide better matching in applications such as Sonarr.")
);
}
// Configure the category mappings
AddCategoryMapping(1, TorznabCatType.TVAnime, "Anime - Sub");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.TVAnime, "Anime - Sub");
return caps;
}
private TitleParser titleParser = new TitleParser();

View File

@ -24,26 +24,38 @@ namespace Jackett.Common.Indexers
"https://torrents.yourexotic.com/"
};
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private new ConfigurationDataAvistazTracker configData => (ConfigurationDataAvistazTracker)base.configData;
public ExoticaZ(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(caps: new TorznabCapabilities(),
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cs: cs
)
cs: cs)
{
AddCategoryMapping(1, TorznabCatType.XXXx264, "Video Clip");
AddCategoryMapping(2, TorznabCatType.XXXPack, "Video Pack");
AddCategoryMapping(3, TorznabCatType.XXXPack, "Siterip Pack");
AddCategoryMapping(4, TorznabCatType.XXXPack, "Pornstar Pack");
AddCategoryMapping(5, TorznabCatType.XXXDVD, "DVD");
AddCategoryMapping(6, TorznabCatType.XXXx264, "BluRay");
AddCategoryMapping(7, TorznabCatType.XXXImageSet, "Photo Pack");
AddCategoryMapping(8, TorznabCatType.XXXImageSet, "Books & Magazines");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
LimitsDefault = 50,
LimitsMax = 50
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.XXXx264, "Video Clip");
caps.Categories.AddCategoryMapping(2, TorznabCatType.XXXPack, "Video Pack");
caps.Categories.AddCategoryMapping(3, TorznabCatType.XXXPack, "Siterip Pack");
caps.Categories.AddCategoryMapping(4, TorznabCatType.XXXPack, "Pornstar Pack");
caps.Categories.AddCategoryMapping(5, TorznabCatType.XXXDVD, "DVD");
caps.Categories.AddCategoryMapping(6, TorznabCatType.XXXx264, "BluRay");
caps.Categories.AddCategoryMapping(7, TorznabCatType.XXXImageSet, "Photo Pack");
caps.Categories.AddCategoryMapping(8, TorznabCatType.XXXImageSet, "Books & Magazines");
return caps;
}
protected override List<KeyValuePair<string, string>> GetSearchQueryParameters(TorznabQuery query)

View File

@ -2,7 +2,6 @@ using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using Jackett.Common.Models;
@ -23,23 +22,31 @@ namespace Jackett.Common.Indexers.Feeds
public override string Language => "en-US";
public override string Type => "public";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
public AnimeTosho(IIndexerConfigurationService configService, WebClient client, Logger logger, IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
}
},
configService: configService,
: base(configService: configService,
client: client,
logger: logger,
p: ps,
cs: cs,
configData: new ConfigurationData())
{
AddCategoryMapping(1, TorznabCatType.TVAnime);
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.TVAnime);
return caps;
}
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)

View File

@ -18,9 +18,8 @@ namespace Jackett.Common.Indexers.Feeds
protected BaseFeedIndexer(IIndexerConfigurationService configService, WebClient client, Logger logger,
ConfigurationData configData, IProtectionService p, ICacheService cs,
TorznabCapabilities caps = null, string downloadBase = null)
: base(caps: caps,
configService: configService,
string downloadBase = null)
: base(configService: configService,
client: client,
logger: logger,
p: p,

View File

@ -17,9 +17,8 @@ namespace Jackett.Common.Indexers.Feeds
{
protected BaseNewznabIndexer(IIndexerConfigurationService configService, WebClient client, Logger logger,
ConfigurationData configData, IProtectionService p, ICacheService cs,
TorznabCapabilities caps = null, string downloadBase = null)
: base(caps: caps,
configService: configService,
string downloadBase = null)
: base(configService: configService,
client: client,
logger: logger,
p: p,

View File

@ -26,41 +26,48 @@ namespace Jackett.Common.Indexers.Feeds
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private new ConfigurationDataAPIKey configData => (ConfigurationDataAPIKey)base.configData;
public MoreThanTVAPI(IIndexerConfigurationService configService, WebClient client, Logger logger,
IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.TvdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
}
},
configService: configService,
: base(configService: configService,
client: client,
logger: logger,
p: ps,
cs: cs,
configData: new ConfigurationDataAPIKey())
{
AddCategoryMapping(TorznabCatType.TVSD.ID, TorznabCatType.TVSD);
AddCategoryMapping(TorznabCatType.TVHD.ID, TorznabCatType.TVHD);
AddCategoryMapping(TorznabCatType.TVUHD.ID, TorznabCatType.TVUHD);
AddCategoryMapping(TorznabCatType.TVSport.ID, TorznabCatType.TVSport);
AddCategoryMapping(TorznabCatType.MoviesSD.ID, TorznabCatType.MoviesSD);
AddCategoryMapping(TorznabCatType.MoviesHD.ID, TorznabCatType.MoviesHD);
AddCategoryMapping(TorznabCatType.MoviesUHD.ID, TorznabCatType.MoviesUHD);
AddCategoryMapping(TorznabCatType.MoviesBluRay.ID, TorznabCatType.MoviesBluRay);
configData.AddDynamic("keyInfo", new DisplayInfoConfigurationItem(String.Empty, "Find or Generate a new API Key by accessing your <a href=\"https://www.morethantv.me/user/security\" target =_blank>MoreThanTV</a> account <i>User Security</i> page and scrolling to the <b>API Keys</b> section."));
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.TvdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
}
};
caps.Categories.AddCategoryMapping(TorznabCatType.TVSD.ID, TorznabCatType.TVSD);
caps.Categories.AddCategoryMapping(TorznabCatType.TVHD.ID, TorznabCatType.TVHD);
caps.Categories.AddCategoryMapping(TorznabCatType.TVUHD.ID, TorznabCatType.TVUHD);
caps.Categories.AddCategoryMapping(TorznabCatType.TVSport.ID, TorznabCatType.TVSport);
caps.Categories.AddCategoryMapping(TorznabCatType.MoviesSD.ID, TorznabCatType.MoviesSD);
caps.Categories.AddCategoryMapping(TorznabCatType.MoviesHD.ID, TorznabCatType.MoviesHD);
caps.Categories.AddCategoryMapping(TorznabCatType.MoviesUHD.ID, TorznabCatType.MoviesUHD);
caps.Categories.AddCategoryMapping(TorznabCatType.MoviesBluRay.ID, TorznabCatType.MoviesBluRay);
return caps;
}
public override Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
{
LoadValuesFromJson(configJson);

View File

@ -38,6 +38,8 @@ namespace Jackett.Common.Indexers
public override string Language => "ro-RO";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string ApiUrl => SiteLink + "api.php";
private string DetailsUrl => SiteLink + "details.php";
@ -45,60 +47,66 @@ namespace Jackett.Common.Indexers
public FileList(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
},
TvSearchImdbAvailable = true
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataFileList())
{
AddCategoryMapping(1, TorznabCatType.MoviesSD, "Filme SD");
AddCategoryMapping(2, TorznabCatType.MoviesDVD, "Filme DVD");
AddCategoryMapping(3, TorznabCatType.MoviesForeign, "Filme DVD-RO");
AddCategoryMapping(4, TorznabCatType.MoviesHD, "Filme HD");
AddCategoryMapping(5, TorznabCatType.AudioLossless, "FLAC");
AddCategoryMapping(6, TorznabCatType.MoviesUHD, "Filme 4K");
AddCategoryMapping(7, TorznabCatType.XXX, "XXX");
AddCategoryMapping(8, TorznabCatType.PC, "Programe");
AddCategoryMapping(9, TorznabCatType.PCGames, "Jocuri PC");
AddCategoryMapping(10, TorznabCatType.Console, "Jocuri Console");
AddCategoryMapping(11, TorznabCatType.Audio, "Audio");
AddCategoryMapping(12, TorznabCatType.AudioVideo, "Videoclip");
AddCategoryMapping(13, TorznabCatType.TVSport, "Sport");
AddCategoryMapping(15, TorznabCatType.TV, "Desene");
AddCategoryMapping(16, TorznabCatType.Books, "Docs");
AddCategoryMapping(17, TorznabCatType.PC, "Linux");
AddCategoryMapping(18, TorznabCatType.Other, "Diverse");
AddCategoryMapping(19, TorznabCatType.MoviesForeign, "Filme HD-RO");
AddCategoryMapping(20, TorznabCatType.MoviesBluRay, "Filme Blu-Ray");
AddCategoryMapping(21, TorznabCatType.TVHD, "Seriale HD");
AddCategoryMapping(22, TorznabCatType.PCMobileOther, "Mobile");
AddCategoryMapping(23, TorznabCatType.TVSD, "Seriale SD");
AddCategoryMapping(24, TorznabCatType.TVAnime, "Anime");
AddCategoryMapping(25, TorznabCatType.Movies3D, "Filme 3D");
AddCategoryMapping(26, TorznabCatType.MoviesBluRay, "Filme 4K Blu-Ray");
AddCategoryMapping(27, TorznabCatType.TVUHD, "Seriale 4K");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
},
TvSearchImdbAvailable = true
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesSD, "Filme SD");
caps.Categories.AddCategoryMapping(2, TorznabCatType.MoviesDVD, "Filme DVD");
caps.Categories.AddCategoryMapping(3, TorznabCatType.MoviesForeign, "Filme DVD-RO");
caps.Categories.AddCategoryMapping(4, TorznabCatType.MoviesHD, "Filme HD");
caps.Categories.AddCategoryMapping(5, TorznabCatType.AudioLossless, "FLAC");
caps.Categories.AddCategoryMapping(6, TorznabCatType.MoviesUHD, "Filme 4K");
caps.Categories.AddCategoryMapping(7, TorznabCatType.XXX, "XXX");
caps.Categories.AddCategoryMapping(8, TorznabCatType.PC, "Programe");
caps.Categories.AddCategoryMapping(9, TorznabCatType.PCGames, "Jocuri PC");
caps.Categories.AddCategoryMapping(10, TorznabCatType.Console, "Jocuri Console");
caps.Categories.AddCategoryMapping(11, TorznabCatType.Audio, "Audio");
caps.Categories.AddCategoryMapping(12, TorznabCatType.AudioVideo, "Videoclip");
caps.Categories.AddCategoryMapping(13, TorznabCatType.TVSport, "Sport");
caps.Categories.AddCategoryMapping(15, TorznabCatType.TV, "Desene");
caps.Categories.AddCategoryMapping(16, TorznabCatType.Books, "Docs");
caps.Categories.AddCategoryMapping(17, TorznabCatType.PC, "Linux");
caps.Categories.AddCategoryMapping(18, TorznabCatType.Other, "Diverse");
caps.Categories.AddCategoryMapping(19, TorznabCatType.MoviesForeign, "Filme HD-RO");
caps.Categories.AddCategoryMapping(20, TorznabCatType.MoviesBluRay, "Filme Blu-Ray");
caps.Categories.AddCategoryMapping(21, TorznabCatType.TVHD, "Seriale HD");
caps.Categories.AddCategoryMapping(22, TorznabCatType.PCMobileOther, "Mobile");
caps.Categories.AddCategoryMapping(23, TorznabCatType.TVSD, "Seriale SD");
caps.Categories.AddCategoryMapping(24, TorznabCatType.TVAnime, "Anime");
caps.Categories.AddCategoryMapping(25, TorznabCatType.Movies3D, "Filme 3D");
caps.Categories.AddCategoryMapping(26, TorznabCatType.MoviesBluRay, "Filme 4K Blu-Ray");
caps.Categories.AddCategoryMapping(27, TorznabCatType.TVUHD, "Seriale 4K");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -27,6 +27,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LoginUrl => SiteLink + "takelogin.php";
private string SearchUrl => SiteLink + "browse.php";
@ -34,44 +36,50 @@ namespace Jackett.Common.Indexers
public FunFile(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: w,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLogin("For best results, change the 'Torrents per page' setting to 100 in your profile."))
{
AddCategoryMapping(44, TorznabCatType.TVAnime, "Anime");
AddCategoryMapping(22, TorznabCatType.PC, "Applications");
AddCategoryMapping(43, TorznabCatType.AudioAudiobook, "Audio Books");
AddCategoryMapping(27, TorznabCatType.Books, "Ebook");
AddCategoryMapping(4, TorznabCatType.PCGames, "Games");
AddCategoryMapping(40, TorznabCatType.OtherMisc, "Miscellaneous");
AddCategoryMapping(19, TorznabCatType.Movies, "Movies");
AddCategoryMapping(6, TorznabCatType.Audio, "Music");
AddCategoryMapping(31, TorznabCatType.PCMobileOther, "Portable");
AddCategoryMapping(49, TorznabCatType.Other, "Tutorials");
AddCategoryMapping(7, TorznabCatType.TV, "TV");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(44, TorznabCatType.TVAnime, "Anime");
caps.Categories.AddCategoryMapping(22, TorznabCatType.PC, "Applications");
caps.Categories.AddCategoryMapping(43, TorznabCatType.AudioAudiobook, "Audio Books");
caps.Categories.AddCategoryMapping(27, TorznabCatType.Books, "Ebook");
caps.Categories.AddCategoryMapping(4, TorznabCatType.PCGames, "Games");
caps.Categories.AddCategoryMapping(40, TorznabCatType.OtherMisc, "Miscellaneous");
caps.Categories.AddCategoryMapping(19, TorznabCatType.Movies, "Movies");
caps.Categories.AddCategoryMapping(6, TorznabCatType.Audio, "Music");
caps.Categories.AddCategoryMapping(31, TorznabCatType.PCMobileOther, "Portable");
caps.Categories.AddCategoryMapping(49, TorznabCatType.Other, "Tutorials");
caps.Categories.AddCategoryMapping(7, TorznabCatType.TV, "TV");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -4,7 +4,6 @@ using System.Collections.Specialized;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AngleSharp.Html.Parser;
using Jackett.Common.Models;
@ -28,6 +27,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LoginUrl => SiteLink + "login.php";
private string BrowseUrl => SiteLink + "torrents.php";
@ -39,8 +40,7 @@ namespace Jackett.Common.Indexers
public GazelleGames(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(caps: new TorznabCapabilities(),
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -48,136 +48,143 @@ namespace Jackett.Common.Indexers
configData: new ConfigurationDataCookie())
{
configData.AddDynamic("searchgroupnames", new BoolConfigurationItem("Search Group Names Only") { Value = false });
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities();
// Apple
AddCategoryMapping("Mac", TorznabCatType.ConsoleOther, "Mac");
AddCategoryMapping("iOS", TorznabCatType.PCMobileiOS, "iOS");
AddCategoryMapping("Apple Bandai Pippin", TorznabCatType.ConsoleOther, "Apple Bandai Pippin");
caps.Categories.AddCategoryMapping("Mac", TorznabCatType.ConsoleOther, "Mac");
caps.Categories.AddCategoryMapping("iOS", TorznabCatType.PCMobileiOS, "iOS");
caps.Categories.AddCategoryMapping("Apple Bandai Pippin", TorznabCatType.ConsoleOther, "Apple Bandai Pippin");
// Google
AddCategoryMapping("Android", TorznabCatType.PCMobileAndroid, "Android");
caps.Categories.AddCategoryMapping("Android", TorznabCatType.PCMobileAndroid, "Android");
// Microsoft
AddCategoryMapping("DOS", TorznabCatType.PCGames, "DOS");
AddCategoryMapping("Windows", TorznabCatType.PCGames, "Windows");
AddCategoryMapping("Xbox", TorznabCatType.ConsoleXBox, "Xbox");
AddCategoryMapping("Xbox 360", TorznabCatType.ConsoleXBox360, "Xbox 360");
caps.Categories.AddCategoryMapping("DOS", TorznabCatType.PCGames, "DOS");
caps.Categories.AddCategoryMapping("Windows", TorznabCatType.PCGames, "Windows");
caps.Categories.AddCategoryMapping("Xbox", TorznabCatType.ConsoleXBox, "Xbox");
caps.Categories.AddCategoryMapping("Xbox 360", TorznabCatType.ConsoleXBox360, "Xbox 360");
// Nintendo
AddCategoryMapping("Game Boy", TorznabCatType.ConsoleOther, "Game Boy");
AddCategoryMapping("Game Boy Advance", TorznabCatType.ConsoleOther, "Game Boy Advance");
AddCategoryMapping("Game Boy Color", TorznabCatType.ConsoleOther, "Game Boy Color");
AddCategoryMapping("NES", TorznabCatType.ConsoleOther, "NES");
AddCategoryMapping("Nintendo 64", TorznabCatType.ConsoleOther, "Nintendo 64");
AddCategoryMapping("Nintendo 3DS", TorznabCatType.ConsoleOther, "Nintendo 3DS");
AddCategoryMapping("New Nintendo 3DS", TorznabCatType.ConsoleOther, "New Nintendo 3DS");
AddCategoryMapping("Nintendo DS", TorznabCatType.ConsoleNDS, "Nintendo DS");
AddCategoryMapping("Nintendo GameCube", TorznabCatType.ConsoleOther, "Nintendo GameCube");
AddCategoryMapping("Pokemon Mini", TorznabCatType.ConsoleOther, "Pokemon Mini");
AddCategoryMapping("SNES", TorznabCatType.ConsoleOther, "SNES");
AddCategoryMapping("Virtual Boy", TorznabCatType.ConsoleOther, "Virtual Boy");
AddCategoryMapping("Wii", TorznabCatType.ConsoleWii, "Wii");
AddCategoryMapping("Wii U", TorznabCatType.ConsoleWiiU, "Wii U");
caps.Categories.AddCategoryMapping("Game Boy", TorznabCatType.ConsoleOther, "Game Boy");
caps.Categories.AddCategoryMapping("Game Boy Advance", TorznabCatType.ConsoleOther, "Game Boy Advance");
caps.Categories.AddCategoryMapping("Game Boy Color", TorznabCatType.ConsoleOther, "Game Boy Color");
caps.Categories.AddCategoryMapping("NES", TorznabCatType.ConsoleOther, "NES");
caps.Categories.AddCategoryMapping("Nintendo 64", TorznabCatType.ConsoleOther, "Nintendo 64");
caps.Categories.AddCategoryMapping("Nintendo 3DS", TorznabCatType.ConsoleOther, "Nintendo 3DS");
caps.Categories.AddCategoryMapping("New Nintendo 3DS", TorznabCatType.ConsoleOther, "New Nintendo 3DS");
caps.Categories.AddCategoryMapping("Nintendo DS", TorznabCatType.ConsoleNDS, "Nintendo DS");
caps.Categories.AddCategoryMapping("Nintendo GameCube", TorznabCatType.ConsoleOther, "Nintendo GameCube");
caps.Categories.AddCategoryMapping("Pokemon Mini", TorznabCatType.ConsoleOther, "Pokemon Mini");
caps.Categories.AddCategoryMapping("SNES", TorznabCatType.ConsoleOther, "SNES");
caps.Categories.AddCategoryMapping("Virtual Boy", TorznabCatType.ConsoleOther, "Virtual Boy");
caps.Categories.AddCategoryMapping("Wii", TorznabCatType.ConsoleWii, "Wii");
caps.Categories.AddCategoryMapping("Wii U", TorznabCatType.ConsoleWiiU, "Wii U");
// Sony
AddCategoryMapping("PlayStation 1", TorznabCatType.ConsoleOther, "PlayStation 1");
AddCategoryMapping("PlayStation 2", TorznabCatType.ConsoleOther, "PlayStation 2");
AddCategoryMapping("PlayStation 3", TorznabCatType.ConsolePS3, "PlayStation 3");
AddCategoryMapping("PlayStation 4", TorznabCatType.ConsolePS4, "PlayStation 4");
AddCategoryMapping("PlayStation Portable", TorznabCatType.ConsolePSP, "PlayStation Portable");
AddCategoryMapping("PlayStation Vita", TorznabCatType.ConsolePSVita, "PlayStation Vita");
caps.Categories.AddCategoryMapping("PlayStation 1", TorznabCatType.ConsoleOther, "PlayStation 1");
caps.Categories.AddCategoryMapping("PlayStation 2", TorznabCatType.ConsoleOther, "PlayStation 2");
caps.Categories.AddCategoryMapping("PlayStation 3", TorznabCatType.ConsolePS3, "PlayStation 3");
caps.Categories.AddCategoryMapping("PlayStation 4", TorznabCatType.ConsolePS4, "PlayStation 4");
caps.Categories.AddCategoryMapping("PlayStation Portable", TorznabCatType.ConsolePSP, "PlayStation Portable");
caps.Categories.AddCategoryMapping("PlayStation Vita", TorznabCatType.ConsolePSVita, "PlayStation Vita");
// Sega
AddCategoryMapping("Dreamcast", TorznabCatType.ConsoleOther, "Dreamcast");
AddCategoryMapping("Game Gear", TorznabCatType.ConsoleOther, "Game Gear");
AddCategoryMapping("Master System", TorznabCatType.ConsoleOther, "Master System");
AddCategoryMapping("Mega Drive", TorznabCatType.ConsoleOther, "Mega Drive");
AddCategoryMapping("Pico", TorznabCatType.ConsoleOther, "Pico");
AddCategoryMapping("Saturn", TorznabCatType.ConsoleOther, "Saturn");
AddCategoryMapping("SG-1000", TorznabCatType.ConsoleOther, "SG-1000");
caps.Categories.AddCategoryMapping("Dreamcast", TorznabCatType.ConsoleOther, "Dreamcast");
caps.Categories.AddCategoryMapping("Game Gear", TorznabCatType.ConsoleOther, "Game Gear");
caps.Categories.AddCategoryMapping("Master System", TorznabCatType.ConsoleOther, "Master System");
caps.Categories.AddCategoryMapping("Mega Drive", TorznabCatType.ConsoleOther, "Mega Drive");
caps.Categories.AddCategoryMapping("Pico", TorznabCatType.ConsoleOther, "Pico");
caps.Categories.AddCategoryMapping("Saturn", TorznabCatType.ConsoleOther, "Saturn");
caps.Categories.AddCategoryMapping("SG-1000", TorznabCatType.ConsoleOther, "SG-1000");
// Atari
AddCategoryMapping("Atari 2600", TorznabCatType.ConsoleOther, "Atari 2600");
AddCategoryMapping("Atari 5200", TorznabCatType.ConsoleOther, "Atari 5200");
AddCategoryMapping("Atari 7800", TorznabCatType.ConsoleOther, "Atari 7800");
AddCategoryMapping("Atari Jaguar", TorznabCatType.ConsoleOther, "Atari Jaguar");
AddCategoryMapping("Atari Lynx", TorznabCatType.ConsoleOther, "Atari Lynx");
AddCategoryMapping("Atari ST", TorznabCatType.ConsoleOther, "Atari ST");
caps.Categories.AddCategoryMapping("Atari 2600", TorznabCatType.ConsoleOther, "Atari 2600");
caps.Categories.AddCategoryMapping("Atari 5200", TorznabCatType.ConsoleOther, "Atari 5200");
caps.Categories.AddCategoryMapping("Atari 7800", TorznabCatType.ConsoleOther, "Atari 7800");
caps.Categories.AddCategoryMapping("Atari Jaguar", TorznabCatType.ConsoleOther, "Atari Jaguar");
caps.Categories.AddCategoryMapping("Atari Lynx", TorznabCatType.ConsoleOther, "Atari Lynx");
caps.Categories.AddCategoryMapping("Atari ST", TorznabCatType.ConsoleOther, "Atari ST");
// Amstrad
AddCategoryMapping("Amstrad CPC", TorznabCatType.ConsoleOther, "Amstrad CPC");
caps.Categories.AddCategoryMapping("Amstrad CPC", TorznabCatType.ConsoleOther, "Amstrad CPC");
// Sinclair
AddCategoryMapping("ZX Spectrum", TorznabCatType.ConsoleOther, "ZX Spectrum");
caps.Categories.AddCategoryMapping("ZX Spectrum", TorznabCatType.ConsoleOther, "ZX Spectrum");
// Spectravideo
AddCategoryMapping("MSX", TorznabCatType.ConsoleOther, "MSX");
AddCategoryMapping("MSX 2", TorznabCatType.ConsoleOther, "MSX 2");
caps.Categories.AddCategoryMapping("MSX", TorznabCatType.ConsoleOther, "MSX");
caps.Categories.AddCategoryMapping("MSX 2", TorznabCatType.ConsoleOther, "MSX 2");
// Tiger
AddCategoryMapping("Game.com", TorznabCatType.ConsoleOther, "Game.com");
AddCategoryMapping("Gizmondo", TorznabCatType.ConsoleOther, "Gizmondo");
caps.Categories.AddCategoryMapping("Game.com", TorznabCatType.ConsoleOther, "Game.com");
caps.Categories.AddCategoryMapping("Gizmondo", TorznabCatType.ConsoleOther, "Gizmondo");
// VTech
AddCategoryMapping("V.Smile", TorznabCatType.ConsoleOther, "V.Smile");
AddCategoryMapping("CreatiVision", TorznabCatType.ConsoleOther, "CreatiVision");
caps.Categories.AddCategoryMapping("V.Smile", TorznabCatType.ConsoleOther, "V.Smile");
caps.Categories.AddCategoryMapping("CreatiVision", TorznabCatType.ConsoleOther, "CreatiVision");
// Tabletop Games
AddCategoryMapping("Board Game", TorznabCatType.ConsoleOther, "Board Game");
AddCategoryMapping("Card Game", TorznabCatType.ConsoleOther, "Card Game");
AddCategoryMapping("Miniature Wargames", TorznabCatType.ConsoleOther, "Miniature Wargames");
AddCategoryMapping("Pen and Paper RPG", TorznabCatType.ConsoleOther, "Pen and Paper RPG");
caps.Categories.AddCategoryMapping("Board Game", TorznabCatType.ConsoleOther, "Board Game");
caps.Categories.AddCategoryMapping("Card Game", TorznabCatType.ConsoleOther, "Card Game");
caps.Categories.AddCategoryMapping("Miniature Wargames", TorznabCatType.ConsoleOther, "Miniature Wargames");
caps.Categories.AddCategoryMapping("Pen and Paper RPG", TorznabCatType.ConsoleOther, "Pen and Paper RPG");
// Other
AddCategoryMapping("3DO", TorznabCatType.ConsoleOther, "3DO");
AddCategoryMapping("Bandai WonderSwan", TorznabCatType.ConsoleOther, "Bandai WonderSwan");
AddCategoryMapping("Bandai WonderSwan Color", TorznabCatType.ConsoleOther, "Bandai WonderSwan Color");
AddCategoryMapping("Casio Loopy", TorznabCatType.ConsoleOther, "Casio Loopy");
AddCategoryMapping("Casio PV-1000", TorznabCatType.ConsoleOther, "Casio PV-1000");
AddCategoryMapping("Colecovision", TorznabCatType.ConsoleOther, "Colecovision");
AddCategoryMapping("Commodore 64", TorznabCatType.ConsoleOther, "Commodore 64");
AddCategoryMapping("Commodore 128", TorznabCatType.ConsoleOther, "Commodore 128");
AddCategoryMapping("Commodore Amiga", TorznabCatType.ConsoleOther, "Commodore Amiga");
AddCategoryMapping("Commodore Plus-4", TorznabCatType.ConsoleOther, "Commodore Plus-4");
AddCategoryMapping("Commodore VIC-20", TorznabCatType.ConsoleOther, "Commodore VIC-20");
AddCategoryMapping("Emerson Arcadia 2001", TorznabCatType.ConsoleOther, "Emerson Arcadia 2001");
AddCategoryMapping("Entex Adventure Vision", TorznabCatType.ConsoleOther, "Entex Adventure Vision");
AddCategoryMapping("Epoch Super Casette Vision", TorznabCatType.ConsoleOther, "Epoch Super Casette Vision");
AddCategoryMapping("Fairchild Channel F", TorznabCatType.ConsoleOther, "Fairchild Channel F");
AddCategoryMapping("Funtech Super Acan", TorznabCatType.ConsoleOther, "Funtech Super Acan");
AddCategoryMapping("GamePark GP32", TorznabCatType.ConsoleOther, "GamePark GP32");
AddCategoryMapping("General Computer Vectrex", TorznabCatType.ConsoleOther, "General Computer Vectrex");
AddCategoryMapping("Interactive DVD", TorznabCatType.ConsoleOther, "Interactive DVD");
AddCategoryMapping("Linux", TorznabCatType.ConsoleOther, "Linux");
AddCategoryMapping("Hartung Game Master", TorznabCatType.ConsoleOther, "Hartung Game Master");
AddCategoryMapping("Magnavox-Phillips Odyssey", TorznabCatType.ConsoleOther, "Magnavox-Phillips Odyssey");
AddCategoryMapping("Mattel Intellivision", TorznabCatType.ConsoleOther, "Mattel Intellivision");
AddCategoryMapping("Memotech MTX", TorznabCatType.ConsoleOther, "Memotech MTX");
AddCategoryMapping("Miles Gordon Sam Coupe", TorznabCatType.ConsoleOther, "Miles Gordon Sam Coupe");
AddCategoryMapping("NEC PC-98", TorznabCatType.ConsoleOther, "NEC PC-98");
AddCategoryMapping("NEC PC-FX", TorznabCatType.ConsoleOther, "NEC PC-FX");
AddCategoryMapping("NEC SuperGrafx", TorznabCatType.ConsoleOther, "NEC SuperGrafx");
AddCategoryMapping("NEC TurboGrafx-16", TorznabCatType.ConsoleOther, "NEC TurboGrafx-16");
AddCategoryMapping("Nokia N-Gage", TorznabCatType.ConsoleOther, "Nokia N-Gage");
AddCategoryMapping("Ouya", TorznabCatType.ConsoleOther, "Ouya");
AddCategoryMapping("Philips Videopac+", TorznabCatType.ConsoleOther, "Philips Videopac+");
AddCategoryMapping("Phone/PDA", TorznabCatType.ConsoleOther, "Phone/PDA");
AddCategoryMapping("RCA Studio II", TorznabCatType.ConsoleOther, "RCA Studio II");
AddCategoryMapping("Sharp X1", TorznabCatType.ConsoleOther, "Sharp X1");
AddCategoryMapping("Sharp X68000", TorznabCatType.ConsoleOther, "Sharp X68000");
AddCategoryMapping("SNK Neo Geo", TorznabCatType.ConsoleOther, "SNK Neo Geo");
AddCategoryMapping("SNK Neo Geo Pocket", TorznabCatType.ConsoleOther, "SNK Neo Geo Pocket");
AddCategoryMapping("Taito Type X", TorznabCatType.ConsoleOther, "Taito Type X");
AddCategoryMapping("Tandy Color Computer", TorznabCatType.ConsoleOther, "Tandy Color Computer");
AddCategoryMapping("Tangerine Oric", TorznabCatType.ConsoleOther, "Tangerine Oric");
AddCategoryMapping("Thomson MO5", TorznabCatType.ConsoleOther, "Thomson MO5");
AddCategoryMapping("Watara Supervision", TorznabCatType.ConsoleOther, "Watara Supervision");
AddCategoryMapping("Retro - Other", TorznabCatType.ConsoleOther, "Retro - Other");
caps.Categories.AddCategoryMapping("3DO", TorznabCatType.ConsoleOther, "3DO");
caps.Categories.AddCategoryMapping("Bandai WonderSwan", TorznabCatType.ConsoleOther, "Bandai WonderSwan");
caps.Categories.AddCategoryMapping("Bandai WonderSwan Color", TorznabCatType.ConsoleOther, "Bandai WonderSwan Color");
caps.Categories.AddCategoryMapping("Casio Loopy", TorznabCatType.ConsoleOther, "Casio Loopy");
caps.Categories.AddCategoryMapping("Casio PV-1000", TorznabCatType.ConsoleOther, "Casio PV-1000");
caps.Categories.AddCategoryMapping("Colecovision", TorznabCatType.ConsoleOther, "Colecovision");
caps.Categories.AddCategoryMapping("Commodore 64", TorznabCatType.ConsoleOther, "Commodore 64");
caps.Categories.AddCategoryMapping("Commodore 128", TorznabCatType.ConsoleOther, "Commodore 128");
caps.Categories.AddCategoryMapping("Commodore Amiga", TorznabCatType.ConsoleOther, "Commodore Amiga");
caps.Categories.AddCategoryMapping("Commodore Plus-4", TorznabCatType.ConsoleOther, "Commodore Plus-4");
caps.Categories.AddCategoryMapping("Commodore VIC-20", TorznabCatType.ConsoleOther, "Commodore VIC-20");
caps.Categories.AddCategoryMapping("Emerson Arcadia 2001", TorznabCatType.ConsoleOther, "Emerson Arcadia 2001");
caps.Categories.AddCategoryMapping("Entex Adventure Vision", TorznabCatType.ConsoleOther, "Entex Adventure Vision");
caps.Categories.AddCategoryMapping("Epoch Super Casette Vision", TorznabCatType.ConsoleOther, "Epoch Super Casette Vision");
caps.Categories.AddCategoryMapping("Fairchild Channel F", TorznabCatType.ConsoleOther, "Fairchild Channel F");
caps.Categories.AddCategoryMapping("Funtech Super Acan", TorznabCatType.ConsoleOther, "Funtech Super Acan");
caps.Categories.AddCategoryMapping("GamePark GP32", TorznabCatType.ConsoleOther, "GamePark GP32");
caps.Categories.AddCategoryMapping("General Computer Vectrex", TorznabCatType.ConsoleOther, "General Computer Vectrex");
caps.Categories.AddCategoryMapping("Interactive DVD", TorznabCatType.ConsoleOther, "Interactive DVD");
caps.Categories.AddCategoryMapping("Linux", TorznabCatType.ConsoleOther, "Linux");
caps.Categories.AddCategoryMapping("Hartung Game Master", TorznabCatType.ConsoleOther, "Hartung Game Master");
caps.Categories.AddCategoryMapping("Magnavox-Phillips Odyssey", TorznabCatType.ConsoleOther, "Magnavox-Phillips Odyssey");
caps.Categories.AddCategoryMapping("Mattel Intellivision", TorznabCatType.ConsoleOther, "Mattel Intellivision");
caps.Categories.AddCategoryMapping("Memotech MTX", TorznabCatType.ConsoleOther, "Memotech MTX");
caps.Categories.AddCategoryMapping("Miles Gordon Sam Coupe", TorznabCatType.ConsoleOther, "Miles Gordon Sam Coupe");
caps.Categories.AddCategoryMapping("NEC PC-98", TorznabCatType.ConsoleOther, "NEC PC-98");
caps.Categories.AddCategoryMapping("NEC PC-FX", TorznabCatType.ConsoleOther, "NEC PC-FX");
caps.Categories.AddCategoryMapping("NEC SuperGrafx", TorznabCatType.ConsoleOther, "NEC SuperGrafx");
caps.Categories.AddCategoryMapping("NEC TurboGrafx-16", TorznabCatType.ConsoleOther, "NEC TurboGrafx-16");
caps.Categories.AddCategoryMapping("Nokia N-Gage", TorznabCatType.ConsoleOther, "Nokia N-Gage");
caps.Categories.AddCategoryMapping("Ouya", TorznabCatType.ConsoleOther, "Ouya");
caps.Categories.AddCategoryMapping("Philips Videopac+", TorznabCatType.ConsoleOther, "Philips Videopac+");
caps.Categories.AddCategoryMapping("Phone/PDA", TorznabCatType.ConsoleOther, "Phone/PDA");
caps.Categories.AddCategoryMapping("RCA Studio II", TorznabCatType.ConsoleOther, "RCA Studio II");
caps.Categories.AddCategoryMapping("Sharp X1", TorznabCatType.ConsoleOther, "Sharp X1");
caps.Categories.AddCategoryMapping("Sharp X68000", TorznabCatType.ConsoleOther, "Sharp X68000");
caps.Categories.AddCategoryMapping("SNK Neo Geo", TorznabCatType.ConsoleOther, "SNK Neo Geo");
caps.Categories.AddCategoryMapping("SNK Neo Geo Pocket", TorznabCatType.ConsoleOther, "SNK Neo Geo Pocket");
caps.Categories.AddCategoryMapping("Taito Type X", TorznabCatType.ConsoleOther, "Taito Type X");
caps.Categories.AddCategoryMapping("Tandy Color Computer", TorznabCatType.ConsoleOther, "Tandy Color Computer");
caps.Categories.AddCategoryMapping("Tangerine Oric", TorznabCatType.ConsoleOther, "Tangerine Oric");
caps.Categories.AddCategoryMapping("Thomson MO5", TorznabCatType.ConsoleOther, "Thomson MO5");
caps.Categories.AddCategoryMapping("Watara Supervision", TorznabCatType.ConsoleOther, "Watara Supervision");
caps.Categories.AddCategoryMapping("Retro - Other", TorznabCatType.ConsoleOther, "Retro - Other");
// special categories (real categories/not platforms)
AddCategoryMapping("OST", TorznabCatType.AudioOther, "OST");
AddCategoryMapping("Applications", TorznabCatType.PC0day, "Applications");
AddCategoryMapping("E-Books", TorznabCatType.BooksEBook, "E-Books");
caps.Categories.AddCategoryMapping("OST", TorznabCatType.AudioOther, "OST");
caps.Categories.AddCategoryMapping("Applications", TorznabCatType.PC0day, "Applications");
caps.Categories.AddCategoryMapping("E-Books", TorznabCatType.BooksEBook, "E-Books");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -27,6 +27,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
// API Reference: https://gazellegames.net/wiki.php?action=article&id=401
protected override string APIUrl => SiteLink + "api.php";
protected override string AuthorizationName => "X-API-Key";
@ -34,8 +36,7 @@ namespace Jackett.Common.Indexers
protected override string FlipOptionalTokenString(string requestLink) => requestLink.Replace("usetoken=1", "");
public GazelleGamesApi(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(caps: new TorznabCapabilities(),
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -48,136 +49,143 @@ namespace Jackett.Common.Indexers
instructionMessageOptional: "<ol><li>Go to GGn's site and open your account settings.</li><li>Under <b>Access Settings</b> click on 'Create a new token'</li><li>Give it a name you like and click <b>Generate</b>.</li><li>Copy the generated API Key and paste it in the above text field.</li></ol>")
{
configData.AddDynamic("searchgroupnames", new BoolConfigurationItem("Search Group Names Only") { Value = false });
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities();
// Apple
AddCategoryMapping("Mac", TorznabCatType.ConsoleOther, "Mac");
AddCategoryMapping("iOS", TorznabCatType.PCMobileiOS, "iOS");
AddCategoryMapping("Apple Bandai Pippin", TorznabCatType.ConsoleOther, "Apple Bandai Pippin");
caps.Categories.AddCategoryMapping("Mac", TorznabCatType.ConsoleOther, "Mac");
caps.Categories.AddCategoryMapping("iOS", TorznabCatType.PCMobileiOS, "iOS");
caps.Categories.AddCategoryMapping("Apple Bandai Pippin", TorznabCatType.ConsoleOther, "Apple Bandai Pippin");
// Google
AddCategoryMapping("Android", TorznabCatType.PCMobileAndroid, "Android");
caps.Categories.AddCategoryMapping("Android", TorznabCatType.PCMobileAndroid, "Android");
// Microsoft
AddCategoryMapping("DOS", TorznabCatType.PCGames, "DOS");
AddCategoryMapping("Windows", TorznabCatType.PCGames, "Windows");
AddCategoryMapping("Xbox", TorznabCatType.ConsoleXBox, "Xbox");
AddCategoryMapping("Xbox 360", TorznabCatType.ConsoleXBox360, "Xbox 360");
caps.Categories.AddCategoryMapping("DOS", TorznabCatType.PCGames, "DOS");
caps.Categories.AddCategoryMapping("Windows", TorznabCatType.PCGames, "Windows");
caps.Categories.AddCategoryMapping("Xbox", TorznabCatType.ConsoleXBox, "Xbox");
caps.Categories.AddCategoryMapping("Xbox 360", TorznabCatType.ConsoleXBox360, "Xbox 360");
// Nintendo
AddCategoryMapping("Game Boy", TorznabCatType.ConsoleOther, "Game Boy");
AddCategoryMapping("Game Boy Advance", TorznabCatType.ConsoleOther, "Game Boy Advance");
AddCategoryMapping("Game Boy Color", TorznabCatType.ConsoleOther, "Game Boy Color");
AddCategoryMapping("NES", TorznabCatType.ConsoleOther, "NES");
AddCategoryMapping("Nintendo 64", TorznabCatType.ConsoleOther, "Nintendo 64");
AddCategoryMapping("Nintendo 3DS", TorznabCatType.ConsoleOther, "Nintendo 3DS");
AddCategoryMapping("New Nintendo 3DS", TorznabCatType.ConsoleOther, "New Nintendo 3DS");
AddCategoryMapping("Nintendo DS", TorznabCatType.ConsoleNDS, "Nintendo DS");
AddCategoryMapping("Nintendo GameCube", TorznabCatType.ConsoleOther, "Nintendo GameCube");
AddCategoryMapping("Pokemon Mini", TorznabCatType.ConsoleOther, "Pokemon Mini");
AddCategoryMapping("SNES", TorznabCatType.ConsoleOther, "SNES");
AddCategoryMapping("Virtual Boy", TorznabCatType.ConsoleOther, "Virtual Boy");
AddCategoryMapping("Wii", TorznabCatType.ConsoleWii, "Wii");
AddCategoryMapping("Wii U", TorznabCatType.ConsoleWiiU, "Wii U");
caps.Categories.AddCategoryMapping("Game Boy", TorznabCatType.ConsoleOther, "Game Boy");
caps.Categories.AddCategoryMapping("Game Boy Advance", TorznabCatType.ConsoleOther, "Game Boy Advance");
caps.Categories.AddCategoryMapping("Game Boy Color", TorznabCatType.ConsoleOther, "Game Boy Color");
caps.Categories.AddCategoryMapping("NES", TorznabCatType.ConsoleOther, "NES");
caps.Categories.AddCategoryMapping("Nintendo 64", TorznabCatType.ConsoleOther, "Nintendo 64");
caps.Categories.AddCategoryMapping("Nintendo 3DS", TorznabCatType.ConsoleOther, "Nintendo 3DS");
caps.Categories.AddCategoryMapping("New Nintendo 3DS", TorznabCatType.ConsoleOther, "New Nintendo 3DS");
caps.Categories.AddCategoryMapping("Nintendo DS", TorznabCatType.ConsoleNDS, "Nintendo DS");
caps.Categories.AddCategoryMapping("Nintendo GameCube", TorznabCatType.ConsoleOther, "Nintendo GameCube");
caps.Categories.AddCategoryMapping("Pokemon Mini", TorznabCatType.ConsoleOther, "Pokemon Mini");
caps.Categories.AddCategoryMapping("SNES", TorznabCatType.ConsoleOther, "SNES");
caps.Categories.AddCategoryMapping("Virtual Boy", TorznabCatType.ConsoleOther, "Virtual Boy");
caps.Categories.AddCategoryMapping("Wii", TorznabCatType.ConsoleWii, "Wii");
caps.Categories.AddCategoryMapping("Wii U", TorznabCatType.ConsoleWiiU, "Wii U");
// Sony
AddCategoryMapping("PlayStation 1", TorznabCatType.ConsoleOther, "PlayStation 1");
AddCategoryMapping("PlayStation 2", TorznabCatType.ConsoleOther, "PlayStation 2");
AddCategoryMapping("PlayStation 3", TorznabCatType.ConsolePS3, "PlayStation 3");
AddCategoryMapping("PlayStation 4", TorznabCatType.ConsolePS4, "PlayStation 4");
AddCategoryMapping("PlayStation Portable", TorznabCatType.ConsolePSP, "PlayStation Portable");
AddCategoryMapping("PlayStation Vita", TorznabCatType.ConsolePSVita, "PlayStation Vita");
caps.Categories.AddCategoryMapping("PlayStation 1", TorznabCatType.ConsoleOther, "PlayStation 1");
caps.Categories.AddCategoryMapping("PlayStation 2", TorznabCatType.ConsoleOther, "PlayStation 2");
caps.Categories.AddCategoryMapping("PlayStation 3", TorznabCatType.ConsolePS3, "PlayStation 3");
caps.Categories.AddCategoryMapping("PlayStation 4", TorznabCatType.ConsolePS4, "PlayStation 4");
caps.Categories.AddCategoryMapping("PlayStation Portable", TorznabCatType.ConsolePSP, "PlayStation Portable");
caps.Categories.AddCategoryMapping("PlayStation Vita", TorznabCatType.ConsolePSVita, "PlayStation Vita");
// Sega
AddCategoryMapping("Dreamcast", TorznabCatType.ConsoleOther, "Dreamcast");
AddCategoryMapping("Game Gear", TorznabCatType.ConsoleOther, "Game Gear");
AddCategoryMapping("Master System", TorznabCatType.ConsoleOther, "Master System");
AddCategoryMapping("Mega Drive", TorznabCatType.ConsoleOther, "Mega Drive");
AddCategoryMapping("Pico", TorznabCatType.ConsoleOther, "Pico");
AddCategoryMapping("Saturn", TorznabCatType.ConsoleOther, "Saturn");
AddCategoryMapping("SG-1000", TorznabCatType.ConsoleOther, "SG-1000");
caps.Categories.AddCategoryMapping("Dreamcast", TorznabCatType.ConsoleOther, "Dreamcast");
caps.Categories.AddCategoryMapping("Game Gear", TorznabCatType.ConsoleOther, "Game Gear");
caps.Categories.AddCategoryMapping("Master System", TorznabCatType.ConsoleOther, "Master System");
caps.Categories.AddCategoryMapping("Mega Drive", TorznabCatType.ConsoleOther, "Mega Drive");
caps.Categories.AddCategoryMapping("Pico", TorznabCatType.ConsoleOther, "Pico");
caps.Categories.AddCategoryMapping("Saturn", TorznabCatType.ConsoleOther, "Saturn");
caps.Categories.AddCategoryMapping("SG-1000", TorznabCatType.ConsoleOther, "SG-1000");
// Atari
AddCategoryMapping("Atari 2600", TorznabCatType.ConsoleOther, "Atari 2600");
AddCategoryMapping("Atari 5200", TorznabCatType.ConsoleOther, "Atari 5200");
AddCategoryMapping("Atari 7800", TorznabCatType.ConsoleOther, "Atari 7800");
AddCategoryMapping("Atari Jaguar", TorznabCatType.ConsoleOther, "Atari Jaguar");
AddCategoryMapping("Atari Lynx", TorznabCatType.ConsoleOther, "Atari Lynx");
AddCategoryMapping("Atari ST", TorznabCatType.ConsoleOther, "Atari ST");
caps.Categories.AddCategoryMapping("Atari 2600", TorznabCatType.ConsoleOther, "Atari 2600");
caps.Categories.AddCategoryMapping("Atari 5200", TorznabCatType.ConsoleOther, "Atari 5200");
caps.Categories.AddCategoryMapping("Atari 7800", TorznabCatType.ConsoleOther, "Atari 7800");
caps.Categories.AddCategoryMapping("Atari Jaguar", TorznabCatType.ConsoleOther, "Atari Jaguar");
caps.Categories.AddCategoryMapping("Atari Lynx", TorznabCatType.ConsoleOther, "Atari Lynx");
caps.Categories.AddCategoryMapping("Atari ST", TorznabCatType.ConsoleOther, "Atari ST");
// Amstrad
AddCategoryMapping("Amstrad CPC", TorznabCatType.ConsoleOther, "Amstrad CPC");
caps.Categories.AddCategoryMapping("Amstrad CPC", TorznabCatType.ConsoleOther, "Amstrad CPC");
// Sinclair
AddCategoryMapping("ZX Spectrum", TorznabCatType.ConsoleOther, "ZX Spectrum");
caps.Categories.AddCategoryMapping("ZX Spectrum", TorznabCatType.ConsoleOther, "ZX Spectrum");
// Spectravideo
AddCategoryMapping("MSX", TorznabCatType.ConsoleOther, "MSX");
AddCategoryMapping("MSX 2", TorznabCatType.ConsoleOther, "MSX 2");
caps.Categories.AddCategoryMapping("MSX", TorznabCatType.ConsoleOther, "MSX");
caps.Categories.AddCategoryMapping("MSX 2", TorznabCatType.ConsoleOther, "MSX 2");
// Tiger
AddCategoryMapping("Game.com", TorznabCatType.ConsoleOther, "Game.com");
AddCategoryMapping("Gizmondo", TorznabCatType.ConsoleOther, "Gizmondo");
caps.Categories.AddCategoryMapping("Game.com", TorznabCatType.ConsoleOther, "Game.com");
caps.Categories.AddCategoryMapping("Gizmondo", TorznabCatType.ConsoleOther, "Gizmondo");
// VTech
AddCategoryMapping("V.Smile", TorznabCatType.ConsoleOther, "V.Smile");
AddCategoryMapping("CreatiVision", TorznabCatType.ConsoleOther, "CreatiVision");
caps.Categories.AddCategoryMapping("V.Smile", TorznabCatType.ConsoleOther, "V.Smile");
caps.Categories.AddCategoryMapping("CreatiVision", TorznabCatType.ConsoleOther, "CreatiVision");
// Tabletop Games
AddCategoryMapping("Board Game", TorznabCatType.ConsoleOther, "Board Game");
AddCategoryMapping("Card Game", TorznabCatType.ConsoleOther, "Card Game");
AddCategoryMapping("Miniature Wargames", TorznabCatType.ConsoleOther, "Miniature Wargames");
AddCategoryMapping("Pen and Paper RPG", TorznabCatType.ConsoleOther, "Pen and Paper RPG");
caps.Categories.AddCategoryMapping("Board Game", TorznabCatType.ConsoleOther, "Board Game");
caps.Categories.AddCategoryMapping("Card Game", TorznabCatType.ConsoleOther, "Card Game");
caps.Categories.AddCategoryMapping("Miniature Wargames", TorznabCatType.ConsoleOther, "Miniature Wargames");
caps.Categories.AddCategoryMapping("Pen and Paper RPG", TorznabCatType.ConsoleOther, "Pen and Paper RPG");
// Other
AddCategoryMapping("3DO", TorznabCatType.ConsoleOther, "3DO");
AddCategoryMapping("Bandai WonderSwan", TorznabCatType.ConsoleOther, "Bandai WonderSwan");
AddCategoryMapping("Bandai WonderSwan Color", TorznabCatType.ConsoleOther, "Bandai WonderSwan Color");
AddCategoryMapping("Casio Loopy", TorznabCatType.ConsoleOther, "Casio Loopy");
AddCategoryMapping("Casio PV-1000", TorznabCatType.ConsoleOther, "Casio PV-1000");
AddCategoryMapping("Colecovision", TorznabCatType.ConsoleOther, "Colecovision");
AddCategoryMapping("Commodore 64", TorznabCatType.ConsoleOther, "Commodore 64");
AddCategoryMapping("Commodore 128", TorznabCatType.ConsoleOther, "Commodore 128");
AddCategoryMapping("Commodore Amiga", TorznabCatType.ConsoleOther, "Commodore Amiga");
AddCategoryMapping("Commodore Plus-4", TorznabCatType.ConsoleOther, "Commodore Plus-4");
AddCategoryMapping("Commodore VIC-20", TorznabCatType.ConsoleOther, "Commodore VIC-20");
AddCategoryMapping("Emerson Arcadia 2001", TorznabCatType.ConsoleOther, "Emerson Arcadia 2001");
AddCategoryMapping("Entex Adventure Vision", TorznabCatType.ConsoleOther, "Entex Adventure Vision");
AddCategoryMapping("Epoch Super Casette Vision", TorznabCatType.ConsoleOther, "Epoch Super Casette Vision");
AddCategoryMapping("Fairchild Channel F", TorznabCatType.ConsoleOther, "Fairchild Channel F");
AddCategoryMapping("Funtech Super Acan", TorznabCatType.ConsoleOther, "Funtech Super Acan");
AddCategoryMapping("GamePark GP32", TorznabCatType.ConsoleOther, "GamePark GP32");
AddCategoryMapping("General Computer Vectrex", TorznabCatType.ConsoleOther, "General Computer Vectrex");
AddCategoryMapping("Interactive DVD", TorznabCatType.ConsoleOther, "Interactive DVD");
AddCategoryMapping("Linux", TorznabCatType.ConsoleOther, "Linux");
AddCategoryMapping("Hartung Game Master", TorznabCatType.ConsoleOther, "Hartung Game Master");
AddCategoryMapping("Magnavox-Phillips Odyssey", TorznabCatType.ConsoleOther, "Magnavox-Phillips Odyssey");
AddCategoryMapping("Mattel Intellivision", TorznabCatType.ConsoleOther, "Mattel Intellivision");
AddCategoryMapping("Memotech MTX", TorznabCatType.ConsoleOther, "Memotech MTX");
AddCategoryMapping("Miles Gordon Sam Coupe", TorznabCatType.ConsoleOther, "Miles Gordon Sam Coupe");
AddCategoryMapping("NEC PC-98", TorznabCatType.ConsoleOther, "NEC PC-98");
AddCategoryMapping("NEC PC-FX", TorznabCatType.ConsoleOther, "NEC PC-FX");
AddCategoryMapping("NEC SuperGrafx", TorznabCatType.ConsoleOther, "NEC SuperGrafx");
AddCategoryMapping("NEC TurboGrafx-16", TorznabCatType.ConsoleOther, "NEC TurboGrafx-16");
AddCategoryMapping("Nokia N-Gage", TorznabCatType.ConsoleOther, "Nokia N-Gage");
AddCategoryMapping("Ouya", TorznabCatType.ConsoleOther, "Ouya");
AddCategoryMapping("Philips Videopac+", TorznabCatType.ConsoleOther, "Philips Videopac+");
AddCategoryMapping("Phone/PDA", TorznabCatType.ConsoleOther, "Phone/PDA");
AddCategoryMapping("RCA Studio II", TorznabCatType.ConsoleOther, "RCA Studio II");
AddCategoryMapping("Sharp X1", TorznabCatType.ConsoleOther, "Sharp X1");
AddCategoryMapping("Sharp X68000", TorznabCatType.ConsoleOther, "Sharp X68000");
AddCategoryMapping("SNK Neo Geo", TorznabCatType.ConsoleOther, "SNK Neo Geo");
AddCategoryMapping("SNK Neo Geo Pocket", TorznabCatType.ConsoleOther, "SNK Neo Geo Pocket");
AddCategoryMapping("Taito Type X", TorznabCatType.ConsoleOther, "Taito Type X");
AddCategoryMapping("Tandy Color Computer", TorznabCatType.ConsoleOther, "Tandy Color Computer");
AddCategoryMapping("Tangerine Oric", TorznabCatType.ConsoleOther, "Tangerine Oric");
AddCategoryMapping("Thomson MO5", TorznabCatType.ConsoleOther, "Thomson MO5");
AddCategoryMapping("Watara Supervision", TorznabCatType.ConsoleOther, "Watara Supervision");
AddCategoryMapping("Retro - Other", TorznabCatType.ConsoleOther, "Retro - Other");
caps.Categories.AddCategoryMapping("3DO", TorznabCatType.ConsoleOther, "3DO");
caps.Categories.AddCategoryMapping("Bandai WonderSwan", TorznabCatType.ConsoleOther, "Bandai WonderSwan");
caps.Categories.AddCategoryMapping("Bandai WonderSwan Color", TorznabCatType.ConsoleOther, "Bandai WonderSwan Color");
caps.Categories.AddCategoryMapping("Casio Loopy", TorznabCatType.ConsoleOther, "Casio Loopy");
caps.Categories.AddCategoryMapping("Casio PV-1000", TorznabCatType.ConsoleOther, "Casio PV-1000");
caps.Categories.AddCategoryMapping("Colecovision", TorznabCatType.ConsoleOther, "Colecovision");
caps.Categories.AddCategoryMapping("Commodore 64", TorznabCatType.ConsoleOther, "Commodore 64");
caps.Categories.AddCategoryMapping("Commodore 128", TorznabCatType.ConsoleOther, "Commodore 128");
caps.Categories.AddCategoryMapping("Commodore Amiga", TorznabCatType.ConsoleOther, "Commodore Amiga");
caps.Categories.AddCategoryMapping("Commodore Plus-4", TorznabCatType.ConsoleOther, "Commodore Plus-4");
caps.Categories.AddCategoryMapping("Commodore VIC-20", TorznabCatType.ConsoleOther, "Commodore VIC-20");
caps.Categories.AddCategoryMapping("Emerson Arcadia 2001", TorznabCatType.ConsoleOther, "Emerson Arcadia 2001");
caps.Categories.AddCategoryMapping("Entex Adventure Vision", TorznabCatType.ConsoleOther, "Entex Adventure Vision");
caps.Categories.AddCategoryMapping("Epoch Super Casette Vision", TorznabCatType.ConsoleOther, "Epoch Super Casette Vision");
caps.Categories.AddCategoryMapping("Fairchild Channel F", TorznabCatType.ConsoleOther, "Fairchild Channel F");
caps.Categories.AddCategoryMapping("Funtech Super Acan", TorznabCatType.ConsoleOther, "Funtech Super Acan");
caps.Categories.AddCategoryMapping("GamePark GP32", TorznabCatType.ConsoleOther, "GamePark GP32");
caps.Categories.AddCategoryMapping("General Computer Vectrex", TorznabCatType.ConsoleOther, "General Computer Vectrex");
caps.Categories.AddCategoryMapping("Interactive DVD", TorznabCatType.ConsoleOther, "Interactive DVD");
caps.Categories.AddCategoryMapping("Linux", TorznabCatType.ConsoleOther, "Linux");
caps.Categories.AddCategoryMapping("Hartung Game Master", TorznabCatType.ConsoleOther, "Hartung Game Master");
caps.Categories.AddCategoryMapping("Magnavox-Phillips Odyssey", TorznabCatType.ConsoleOther, "Magnavox-Phillips Odyssey");
caps.Categories.AddCategoryMapping("Mattel Intellivision", TorznabCatType.ConsoleOther, "Mattel Intellivision");
caps.Categories.AddCategoryMapping("Memotech MTX", TorznabCatType.ConsoleOther, "Memotech MTX");
caps.Categories.AddCategoryMapping("Miles Gordon Sam Coupe", TorznabCatType.ConsoleOther, "Miles Gordon Sam Coupe");
caps.Categories.AddCategoryMapping("NEC PC-98", TorznabCatType.ConsoleOther, "NEC PC-98");
caps.Categories.AddCategoryMapping("NEC PC-FX", TorznabCatType.ConsoleOther, "NEC PC-FX");
caps.Categories.AddCategoryMapping("NEC SuperGrafx", TorznabCatType.ConsoleOther, "NEC SuperGrafx");
caps.Categories.AddCategoryMapping("NEC TurboGrafx-16", TorznabCatType.ConsoleOther, "NEC TurboGrafx-16");
caps.Categories.AddCategoryMapping("Nokia N-Gage", TorznabCatType.ConsoleOther, "Nokia N-Gage");
caps.Categories.AddCategoryMapping("Ouya", TorznabCatType.ConsoleOther, "Ouya");
caps.Categories.AddCategoryMapping("Philips Videopac+", TorznabCatType.ConsoleOther, "Philips Videopac+");
caps.Categories.AddCategoryMapping("Phone/PDA", TorznabCatType.ConsoleOther, "Phone/PDA");
caps.Categories.AddCategoryMapping("RCA Studio II", TorznabCatType.ConsoleOther, "RCA Studio II");
caps.Categories.AddCategoryMapping("Sharp X1", TorznabCatType.ConsoleOther, "Sharp X1");
caps.Categories.AddCategoryMapping("Sharp X68000", TorznabCatType.ConsoleOther, "Sharp X68000");
caps.Categories.AddCategoryMapping("SNK Neo Geo", TorznabCatType.ConsoleOther, "SNK Neo Geo");
caps.Categories.AddCategoryMapping("SNK Neo Geo Pocket", TorznabCatType.ConsoleOther, "SNK Neo Geo Pocket");
caps.Categories.AddCategoryMapping("Taito Type X", TorznabCatType.ConsoleOther, "Taito Type X");
caps.Categories.AddCategoryMapping("Tandy Color Computer", TorznabCatType.ConsoleOther, "Tandy Color Computer");
caps.Categories.AddCategoryMapping("Tangerine Oric", TorznabCatType.ConsoleOther, "Tangerine Oric");
caps.Categories.AddCategoryMapping("Thomson MO5", TorznabCatType.ConsoleOther, "Thomson MO5");
caps.Categories.AddCategoryMapping("Watara Supervision", TorznabCatType.ConsoleOther, "Watara Supervision");
caps.Categories.AddCategoryMapping("Retro - Other", TorznabCatType.ConsoleOther, "Retro - Other");
// special categories (real categories/not platforms)
AddCategoryMapping("OST", TorznabCatType.AudioOther, "OST");
AddCategoryMapping("Applications", TorznabCatType.PC0day, "Applications");
AddCategoryMapping("E-Books", TorznabCatType.BooksEBook, "E-Books");
caps.Categories.AddCategoryMapping("OST", TorznabCatType.AudioOther, "OST");
caps.Categories.AddCategoryMapping("Applications", TorznabCatType.PC0day, "Applications");
caps.Categories.AddCategoryMapping("E-Books", TorznabCatType.BooksEBook, "E-Books");
return caps;
}
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)

View File

@ -24,17 +24,10 @@ namespace Jackett.Common.Indexers
public override string Language => "zh-CN";
public override string Type => "private";
public GreatPosterWall(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
}
},
configService: configService,
public override TorznabCapabilities TorznabCaps => SetCapabilities();
public GreatPosterWall(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -45,14 +38,26 @@ namespace Jackett.Common.Indexers
has2Fa: true,
useApiKey: false,
usePassKey: false,
instructionMessageOptional: null
)
instructionMessageOptional: null)
{
AddCategoryMapping(1, TorznabCatType.Movies, "Movies 电影");
configData.AddDynamic("showFilename", new BoolConfigurationItem("Use the first torrent filename as the title") { Value = false });
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.Movies, "Movies 电影");
return caps;
}
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{
// GPW uses imdbid in the searchstr so prevent cataloguenumber or taglist search.

View File

@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig.Bespoke;
@ -25,6 +24,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string APIUrl => SiteLink + "api/";
private new ConfigurationDataHDBitsApi configData
@ -35,33 +36,39 @@ namespace Jackett.Common.Indexers
public HDBitsApi(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.TvdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataHDBitsApi())
{
AddCategoryMapping(6, TorznabCatType.Audio, "Audio Track");
AddCategoryMapping(3, TorznabCatType.TVDocumentary, "Documentary");
AddCategoryMapping(8, TorznabCatType.Other, "Misc/Demo");
AddCategoryMapping(1, TorznabCatType.Movies, "Movie");
AddCategoryMapping(4, TorznabCatType.Audio, "Music");
AddCategoryMapping(5, TorznabCatType.TVSport, "Sport");
AddCategoryMapping(2, TorznabCatType.TV, "TV");
AddCategoryMapping(7, TorznabCatType.XXX, "XXX");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.TvdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
}
};
caps.Categories.AddCategoryMapping(6, TorznabCatType.Audio, "Audio Track");
caps.Categories.AddCategoryMapping(3, TorznabCatType.TVDocumentary, "Documentary");
caps.Categories.AddCategoryMapping(8, TorznabCatType.Other, "Misc/Demo");
caps.Categories.AddCategoryMapping(1, TorznabCatType.Movies, "Movie");
caps.Categories.AddCategoryMapping(4, TorznabCatType.Audio, "Music");
caps.Categories.AddCategoryMapping(5, TorznabCatType.TVSport, "Sport");
caps.Categories.AddCategoryMapping(2, TorznabCatType.TV, "TV");
caps.Categories.AddCategoryMapping(7, TorznabCatType.XXX, "XXX");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -4,7 +4,6 @@ using System.Collections.Specialized;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Html.Parser;
@ -29,6 +28,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LoginUrl => SiteLink + "index.php?page=login";
private string SearchUrl => SiteLink + "index.php?page=torrents";
@ -36,23 +37,7 @@ namespace Jackett.Common.Indexers
public HDSpace(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -60,30 +45,51 @@ namespace Jackett.Common.Indexers
configData: new ConfigurationDataBasicLogin())
{
configData.AddDynamic("flaresolverr", new DisplayInfoConfigurationItem("FlareSolverr", "This site may use Cloudflare DDoS Protection, therefore Jackett requires <a href=\"https://github.com/Jackett/Jackett#configuring-flaresolverr\" target=\"_blank\">FlareSolverr</a> to access it."));
}
AddCategoryMapping(15, TorznabCatType.MoviesBluRay, "Movie / Blu-ray");
AddCategoryMapping(40, TorznabCatType.MoviesHD, "Movie / Remux");
AddCategoryMapping(18, TorznabCatType.MoviesHD, "Movie / 720p");
AddCategoryMapping(19, TorznabCatType.MoviesHD, "Movie / 1080p");
AddCategoryMapping(46, TorznabCatType.MoviesUHD, "Movie / 2160p");
AddCategoryMapping(21, TorznabCatType.TVHD, "TV Show / 720p HDTV");
AddCategoryMapping(22, TorznabCatType.TVHD, "TV Show / 1080p HDTV");
AddCategoryMapping(45, TorznabCatType.TVUHD, "TV Show / 2160p HDTV");
AddCategoryMapping(24, TorznabCatType.TVDocumentary, "Documentary / 720p");
AddCategoryMapping(25, TorznabCatType.TVDocumentary, "Documentary / 1080p");
AddCategoryMapping(47, TorznabCatType.TVDocumentary, "Documentary / 2160p");
AddCategoryMapping(27, TorznabCatType.TVAnime, "Animation / 720p");
AddCategoryMapping(28, TorznabCatType.TVAnime, "Animation / 1080p");
AddCategoryMapping(48, TorznabCatType.TVAnime, "Animation / 2160p");
AddCategoryMapping(30, TorznabCatType.AudioLossless, "Music / HQ Audio");
AddCategoryMapping(31, TorznabCatType.AudioVideo, "Music / Videos");
AddCategoryMapping(33, TorznabCatType.XXX, "XXX / 720p");
AddCategoryMapping(34, TorznabCatType.XXX, "XXX / 1080p");
AddCategoryMapping(49, TorznabCatType.XXX, "XXX / 2160p");
AddCategoryMapping(36, TorznabCatType.MoviesOther, "Trailers");
AddCategoryMapping(37, TorznabCatType.PC, "Software");
AddCategoryMapping(38, TorznabCatType.Other, "Others");
AddCategoryMapping(41, TorznabCatType.MoviesUHD, "Movie / 4K UHD");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(15, TorznabCatType.MoviesBluRay, "Movie / Blu-ray");
caps.Categories.AddCategoryMapping(40, TorznabCatType.MoviesHD, "Movie / Remux");
caps.Categories.AddCategoryMapping(18, TorznabCatType.MoviesHD, "Movie / 720p");
caps.Categories.AddCategoryMapping(19, TorznabCatType.MoviesHD, "Movie / 1080p");
caps.Categories.AddCategoryMapping(46, TorznabCatType.MoviesUHD, "Movie / 2160p");
caps.Categories.AddCategoryMapping(21, TorznabCatType.TVHD, "TV Show / 720p HDTV");
caps.Categories.AddCategoryMapping(22, TorznabCatType.TVHD, "TV Show / 1080p HDTV");
caps.Categories.AddCategoryMapping(45, TorznabCatType.TVUHD, "TV Show / 2160p HDTV");
caps.Categories.AddCategoryMapping(24, TorznabCatType.TVDocumentary, "Documentary / 720p");
caps.Categories.AddCategoryMapping(25, TorznabCatType.TVDocumentary, "Documentary / 1080p");
caps.Categories.AddCategoryMapping(47, TorznabCatType.TVDocumentary, "Documentary / 2160p");
caps.Categories.AddCategoryMapping(27, TorznabCatType.TVAnime, "Animation / 720p");
caps.Categories.AddCategoryMapping(28, TorznabCatType.TVAnime, "Animation / 1080p");
caps.Categories.AddCategoryMapping(48, TorznabCatType.TVAnime, "Animation / 2160p");
caps.Categories.AddCategoryMapping(30, TorznabCatType.AudioLossless, "Music / HQ Audio");
caps.Categories.AddCategoryMapping(31, TorznabCatType.AudioVideo, "Music / Videos");
caps.Categories.AddCategoryMapping(33, TorznabCatType.XXX, "XXX / 720p");
caps.Categories.AddCategoryMapping(34, TorznabCatType.XXX, "XXX / 1080p");
caps.Categories.AddCategoryMapping(49, TorznabCatType.XXX, "XXX / 2160p");
caps.Categories.AddCategoryMapping(36, TorznabCatType.MoviesOther, "Trailers");
caps.Categories.AddCategoryMapping(37, TorznabCatType.PC, "Software");
caps.Categories.AddCategoryMapping(38, TorznabCatType.Other, "Others");
caps.Categories.AddCategoryMapping(41, TorznabCatType.MoviesUHD, "Movie / 4K UHD");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -34,6 +34,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string SearchUrl => SiteLink + "torrents.php?";
private string LoginUrl => SiteLink + "login.php";
private readonly Regex _posterRegex = new Regex(@"src=\\'./([^']+)\\'", RegexOptions.IgnoreCase);
@ -51,62 +53,68 @@ namespace Jackett.Common.Indexers
public HDTorrents(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: w,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLogin("For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile."))
{
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
}
};
// Movie
AddCategoryMapping("70", TorznabCatType.MoviesBluRay, "Movie/UHD/Blu-Ray");
AddCategoryMapping("1", TorznabCatType.MoviesBluRay, "Movie/Blu-Ray");
AddCategoryMapping("71", TorznabCatType.MoviesUHD, "Movie/UHD/Remux");
AddCategoryMapping("2", TorznabCatType.MoviesHD, "Movie/Remux");
AddCategoryMapping("5", TorznabCatType.MoviesHD, "Movie/1080p/i");
AddCategoryMapping("3", TorznabCatType.MoviesHD, "Movie/720p");
AddCategoryMapping("64", TorznabCatType.MoviesUHD, "Movie/2160p");
AddCategoryMapping("63", TorznabCatType.Audio, "Movie/Audio Track");
caps.Categories.AddCategoryMapping("70", TorznabCatType.MoviesBluRay, "Movie/UHD/Blu-Ray");
caps.Categories.AddCategoryMapping("1", TorznabCatType.MoviesBluRay, "Movie/Blu-Ray");
caps.Categories.AddCategoryMapping("71", TorznabCatType.MoviesUHD, "Movie/UHD/Remux");
caps.Categories.AddCategoryMapping("2", TorznabCatType.MoviesHD, "Movie/Remux");
caps.Categories.AddCategoryMapping("5", TorznabCatType.MoviesHD, "Movie/1080p/i");
caps.Categories.AddCategoryMapping("3", TorznabCatType.MoviesHD, "Movie/720p");
caps.Categories.AddCategoryMapping("64", TorznabCatType.MoviesUHD, "Movie/2160p");
caps.Categories.AddCategoryMapping("63", TorznabCatType.Audio, "Movie/Audio Track");
// TV Show
AddCategoryMapping("72", TorznabCatType.TVUHD, "TV Show/UHD/Blu-ray");
AddCategoryMapping("59", TorznabCatType.TVHD, "TV Show/Blu-ray");
AddCategoryMapping("73", TorznabCatType.TVUHD, "TV Show/UHD/Remux");
AddCategoryMapping("60", TorznabCatType.TVHD, "TV Show/Remux");
AddCategoryMapping("30", TorznabCatType.TVHD, "TV Show/1080p/i");
AddCategoryMapping("38", TorznabCatType.TVHD, "TV Show/720p");
AddCategoryMapping("65", TorznabCatType.TVUHD, "TV Show/2160p");
caps.Categories.AddCategoryMapping("72", TorznabCatType.TVUHD, "TV Show/UHD/Blu-ray");
caps.Categories.AddCategoryMapping("59", TorznabCatType.TVHD, "TV Show/Blu-ray");
caps.Categories.AddCategoryMapping("73", TorznabCatType.TVUHD, "TV Show/UHD/Remux");
caps.Categories.AddCategoryMapping("60", TorznabCatType.TVHD, "TV Show/Remux");
caps.Categories.AddCategoryMapping("30", TorznabCatType.TVHD, "TV Show/1080p/i");
caps.Categories.AddCategoryMapping("38", TorznabCatType.TVHD, "TV Show/720p");
caps.Categories.AddCategoryMapping("65", TorznabCatType.TVUHD, "TV Show/2160p");
// Music
AddCategoryMapping("44", TorznabCatType.Audio, "Music/Album");
AddCategoryMapping("61", TorznabCatType.AudioVideo, "Music/Blu-Ray");
AddCategoryMapping("62", TorznabCatType.AudioVideo, "Music/Remux");
AddCategoryMapping("57", TorznabCatType.AudioVideo, "Music/1080p/i");
AddCategoryMapping("45", TorznabCatType.AudioVideo, "Music/720p");
AddCategoryMapping("66", TorznabCatType.AudioVideo, "Music/2160p");
caps.Categories.AddCategoryMapping("44", TorznabCatType.Audio, "Music/Album");
caps.Categories.AddCategoryMapping("61", TorznabCatType.AudioVideo, "Music/Blu-Ray");
caps.Categories.AddCategoryMapping("62", TorznabCatType.AudioVideo, "Music/Remux");
caps.Categories.AddCategoryMapping("57", TorznabCatType.AudioVideo, "Music/1080p/i");
caps.Categories.AddCategoryMapping("45", TorznabCatType.AudioVideo, "Music/720p");
caps.Categories.AddCategoryMapping("66", TorznabCatType.AudioVideo, "Music/2160p");
// XXX
AddCategoryMapping("58", TorznabCatType.XXX, "XXX/Blu-ray");
AddCategoryMapping("74", TorznabCatType.XXX, "XXX/UHD/Blu-ray");
AddCategoryMapping("48", TorznabCatType.XXX, "XXX/1080p/i");
AddCategoryMapping("47", TorznabCatType.XXX, "XXX/720p");
AddCategoryMapping("67", TorznabCatType.XXX, "XXX/2160p");
caps.Categories.AddCategoryMapping("58", TorznabCatType.XXX, "XXX/Blu-ray");
caps.Categories.AddCategoryMapping("74", TorznabCatType.XXX, "XXX/UHD/Blu-ray");
caps.Categories.AddCategoryMapping("48", TorznabCatType.XXX, "XXX/1080p/i");
caps.Categories.AddCategoryMapping("47", TorznabCatType.XXX, "XXX/720p");
caps.Categories.AddCategoryMapping("67", TorznabCatType.XXX, "XXX/2160p");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Collections.Specialized;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Html.Parser;
@ -57,34 +56,15 @@ namespace Jackett.Common.Indexers
public override bool SupportsPagination => true;
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string SearchUrl => SiteLink + "t";
private new ConfigurationDataCookieUA configData => (ConfigurationDataCookieUA)base.configData;
public IPTorrents(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
},
TvSearchImdbAvailable = true
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -102,78 +82,104 @@ namespace Jackett.Common.Indexers
configData.AddDynamic("sort", sort);
configData.AddDynamic("freeleech", new BoolConfigurationItem("Search freeleech only") { Value = false });
}
AddCategoryMapping(72, TorznabCatType.Movies, "Movies");
AddCategoryMapping(87, TorznabCatType.Movies3D, "Movie/3D");
AddCategoryMapping(77, TorznabCatType.MoviesSD, "Movie/480p");
AddCategoryMapping(101, TorznabCatType.MoviesUHD, "Movie/4K");
AddCategoryMapping(89, TorznabCatType.MoviesBluRay, "Movie/BD-R");
AddCategoryMapping(90, TorznabCatType.MoviesHD, "Movie/BD-Rip");
AddCategoryMapping(96, TorznabCatType.MoviesSD, "Movie/Cam");
AddCategoryMapping(6, TorznabCatType.MoviesDVD, "Movie/DVD-R");
AddCategoryMapping(48, TorznabCatType.MoviesHD, "Movie/HD/Bluray");
AddCategoryMapping(54, TorznabCatType.Movies, "Movie/Kids");
AddCategoryMapping(62, TorznabCatType.MoviesSD, "Movie/MP4");
AddCategoryMapping(38, TorznabCatType.MoviesForeign, "Movie/Non-English");
AddCategoryMapping(68, TorznabCatType.Movies, "Movie/Packs");
AddCategoryMapping(20, TorznabCatType.MoviesWEBDL, "Movie/Web-DL");
AddCategoryMapping(100, TorznabCatType.MoviesHD, "Movie/x265");
AddCategoryMapping(7, TorznabCatType.MoviesSD, "Movie/Xvid");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
},
TvSearchImdbAvailable = true
};
AddCategoryMapping(73, TorznabCatType.TV, "TV");
AddCategoryMapping(26, TorznabCatType.TVDocumentary, "TV/Documentaries");
AddCategoryMapping(55, TorznabCatType.TVSport, "Sports");
AddCategoryMapping(78, TorznabCatType.TVSD, "TV/480p");
AddCategoryMapping(23, TorznabCatType.TVHD, "TV/BD");
AddCategoryMapping(24, TorznabCatType.TVSD, "TV/DVD-R");
AddCategoryMapping(25, TorznabCatType.TVSD, "TV/DVD-Rip");
AddCategoryMapping(66, TorznabCatType.TVSD, "TV/Mobile");
AddCategoryMapping(82, TorznabCatType.TVForeign, "TV/Non-English");
AddCategoryMapping(65, TorznabCatType.TV, "TV/Packs");
AddCategoryMapping(83, TorznabCatType.TVForeign, "TV/Packs/Non-English");
AddCategoryMapping(79, TorznabCatType.TVSD, "TV/SD/x264");
AddCategoryMapping(22, TorznabCatType.TVWEBDL, "TV/Web-DL");
AddCategoryMapping(5, TorznabCatType.TVHD, "TV/x264");
AddCategoryMapping(99, TorznabCatType.TVHD, "TV/x265");
AddCategoryMapping(4, TorznabCatType.TVSD, "TV/Xvid");
caps.Categories.AddCategoryMapping(72, TorznabCatType.Movies, "Movies");
caps.Categories.AddCategoryMapping(87, TorznabCatType.Movies3D, "Movie/3D");
caps.Categories.AddCategoryMapping(77, TorznabCatType.MoviesSD, "Movie/480p");
caps.Categories.AddCategoryMapping(101, TorznabCatType.MoviesUHD, "Movie/4K");
caps.Categories.AddCategoryMapping(89, TorznabCatType.MoviesBluRay, "Movie/BD-R");
caps.Categories.AddCategoryMapping(90, TorznabCatType.MoviesHD, "Movie/BD-Rip");
caps.Categories.AddCategoryMapping(96, TorznabCatType.MoviesSD, "Movie/Cam");
caps.Categories.AddCategoryMapping(6, TorznabCatType.MoviesDVD, "Movie/DVD-R");
caps.Categories.AddCategoryMapping(48, TorznabCatType.MoviesHD, "Movie/HD/Bluray");
caps.Categories.AddCategoryMapping(54, TorznabCatType.Movies, "Movie/Kids");
caps.Categories.AddCategoryMapping(62, TorznabCatType.MoviesSD, "Movie/MP4");
caps.Categories.AddCategoryMapping(38, TorznabCatType.MoviesForeign, "Movie/Non-English");
caps.Categories.AddCategoryMapping(68, TorznabCatType.Movies, "Movie/Packs");
caps.Categories.AddCategoryMapping(20, TorznabCatType.MoviesWEBDL, "Movie/Web-DL");
caps.Categories.AddCategoryMapping(100, TorznabCatType.MoviesHD, "Movie/x265");
caps.Categories.AddCategoryMapping(7, TorznabCatType.MoviesSD, "Movie/Xvid");
AddCategoryMapping(74, TorznabCatType.Console, "Games");
AddCategoryMapping(2, TorznabCatType.ConsoleOther, "Games/Mixed");
AddCategoryMapping(47, TorznabCatType.ConsoleOther, "Games/Nintendo");
AddCategoryMapping(43, TorznabCatType.PCGames, "Games/PC-ISO");
AddCategoryMapping(45, TorznabCatType.PCGames, "Games/PC-Rip");
AddCategoryMapping(71, TorznabCatType.ConsolePS4, "Games/Playstation");
AddCategoryMapping(50, TorznabCatType.ConsoleWii, "Games/Wii");
AddCategoryMapping(44, TorznabCatType.ConsoleXBox, "Games/Xbox");
caps.Categories.AddCategoryMapping(73, TorznabCatType.TV, "TV");
caps.Categories.AddCategoryMapping(26, TorznabCatType.TVDocumentary, "TV/Documentaries");
caps.Categories.AddCategoryMapping(55, TorznabCatType.TVSport, "Sports");
caps.Categories.AddCategoryMapping(78, TorznabCatType.TVSD, "TV/480p");
caps.Categories.AddCategoryMapping(23, TorznabCatType.TVHD, "TV/BD");
caps.Categories.AddCategoryMapping(24, TorznabCatType.TVSD, "TV/DVD-R");
caps.Categories.AddCategoryMapping(25, TorznabCatType.TVSD, "TV/DVD-Rip");
caps.Categories.AddCategoryMapping(66, TorznabCatType.TVSD, "TV/Mobile");
caps.Categories.AddCategoryMapping(82, TorznabCatType.TVForeign, "TV/Non-English");
caps.Categories.AddCategoryMapping(65, TorznabCatType.TV, "TV/Packs");
caps.Categories.AddCategoryMapping(83, TorznabCatType.TVForeign, "TV/Packs/Non-English");
caps.Categories.AddCategoryMapping(79, TorznabCatType.TVSD, "TV/SD/x264");
caps.Categories.AddCategoryMapping(22, TorznabCatType.TVWEBDL, "TV/Web-DL");
caps.Categories.AddCategoryMapping(5, TorznabCatType.TVHD, "TV/x264");
caps.Categories.AddCategoryMapping(99, TorznabCatType.TVHD, "TV/x265");
caps.Categories.AddCategoryMapping(4, TorznabCatType.TVSD, "TV/Xvid");
AddCategoryMapping(75, TorznabCatType.Audio, "Music");
AddCategoryMapping(3, TorznabCatType.AudioMP3, "Music/Audio");
AddCategoryMapping(80, TorznabCatType.AudioLossless, "Music/Flac");
AddCategoryMapping(93, TorznabCatType.Audio, "Music/Packs");
AddCategoryMapping(37, TorznabCatType.AudioVideo, "Music/Video");
AddCategoryMapping(21, TorznabCatType.AudioOther, "Podcast");
caps.Categories.AddCategoryMapping(74, TorznabCatType.Console, "Games");
caps.Categories.AddCategoryMapping(2, TorznabCatType.ConsoleOther, "Games/Mixed");
caps.Categories.AddCategoryMapping(47, TorznabCatType.ConsoleOther, "Games/Nintendo");
caps.Categories.AddCategoryMapping(43, TorznabCatType.PCGames, "Games/PC-ISO");
caps.Categories.AddCategoryMapping(45, TorznabCatType.PCGames, "Games/PC-Rip");
caps.Categories.AddCategoryMapping(71, TorznabCatType.ConsolePS4, "Games/Playstation");
caps.Categories.AddCategoryMapping(50, TorznabCatType.ConsoleWii, "Games/Wii");
caps.Categories.AddCategoryMapping(44, TorznabCatType.ConsoleXBox, "Games/Xbox");
AddCategoryMapping(76, TorznabCatType.Other, "Miscellaneous");
AddCategoryMapping(60, TorznabCatType.TVAnime, "Anime");
AddCategoryMapping(1, TorznabCatType.PC0day, "Appz");
AddCategoryMapping(86, TorznabCatType.PC0day, "Appz/Non-English");
AddCategoryMapping(64, TorznabCatType.AudioAudiobook, "AudioBook");
AddCategoryMapping(35, TorznabCatType.Books, "Books");
AddCategoryMapping(102, TorznabCatType.Books, "Books/Non-English");
AddCategoryMapping(94, TorznabCatType.BooksComics, "Comics");
AddCategoryMapping(95, TorznabCatType.BooksOther, "Educational");
AddCategoryMapping(98, TorznabCatType.Other, "Fonts");
AddCategoryMapping(69, TorznabCatType.PCMac, "Mac");
AddCategoryMapping(92, TorznabCatType.BooksMags, "Magazines / Newspapers");
AddCategoryMapping(58, TorznabCatType.PCMobileOther, "Mobile");
AddCategoryMapping(36, TorznabCatType.Other, "Pics/Wallpapers");
caps.Categories.AddCategoryMapping(75, TorznabCatType.Audio, "Music");
caps.Categories.AddCategoryMapping(3, TorznabCatType.AudioMP3, "Music/Audio");
caps.Categories.AddCategoryMapping(80, TorznabCatType.AudioLossless, "Music/Flac");
caps.Categories.AddCategoryMapping(93, TorznabCatType.Audio, "Music/Packs");
caps.Categories.AddCategoryMapping(37, TorznabCatType.AudioVideo, "Music/Video");
caps.Categories.AddCategoryMapping(21, TorznabCatType.AudioOther, "Podcast");
AddCategoryMapping(88, TorznabCatType.XXX, "XXX");
AddCategoryMapping(85, TorznabCatType.XXXOther, "XXX/Magazines");
AddCategoryMapping(8, TorznabCatType.XXX, "XXX/Movie");
AddCategoryMapping(81, TorznabCatType.XXX, "XXX/Movie/0Day");
AddCategoryMapping(91, TorznabCatType.XXXPack, "XXX/Packs");
AddCategoryMapping(84, TorznabCatType.XXXImageSet, "XXX/Pics/Wallpapers");
caps.Categories.AddCategoryMapping(76, TorznabCatType.Other, "Miscellaneous");
caps.Categories.AddCategoryMapping(60, TorznabCatType.TVAnime, "Anime");
caps.Categories.AddCategoryMapping(1, TorznabCatType.PC0day, "Appz");
caps.Categories.AddCategoryMapping(86, TorznabCatType.PC0day, "Appz/Non-English");
caps.Categories.AddCategoryMapping(64, TorznabCatType.AudioAudiobook, "AudioBook");
caps.Categories.AddCategoryMapping(35, TorznabCatType.Books, "Books");
caps.Categories.AddCategoryMapping(102, TorznabCatType.Books, "Books/Non-English");
caps.Categories.AddCategoryMapping(94, TorznabCatType.BooksComics, "Comics");
caps.Categories.AddCategoryMapping(95, TorznabCatType.BooksOther, "Educational");
caps.Categories.AddCategoryMapping(98, TorznabCatType.Other, "Fonts");
caps.Categories.AddCategoryMapping(69, TorznabCatType.PCMac, "Mac");
caps.Categories.AddCategoryMapping(92, TorznabCatType.BooksMags, "Magazines / Newspapers");
caps.Categories.AddCategoryMapping(58, TorznabCatType.PCMobileOther, "Mobile");
caps.Categories.AddCategoryMapping(36, TorznabCatType.Other, "Pics/Wallpapers");
caps.Categories.AddCategoryMapping(88, TorznabCatType.XXX, "XXX");
caps.Categories.AddCategoryMapping(85, TorznabCatType.XXXOther, "XXX/Magazines");
caps.Categories.AddCategoryMapping(8, TorznabCatType.XXX, "XXX/Movie");
caps.Categories.AddCategoryMapping(81, TorznabCatType.XXX, "XXX/Movie/0Day");
caps.Categories.AddCategoryMapping(91, TorznabCatType.XXXPack, "XXX/Packs");
caps.Categories.AddCategoryMapping(84, TorznabCatType.XXXImageSet, "XXX/Pics/Wallpapers");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -3,8 +3,6 @@ using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Html.Parser;
@ -32,6 +30,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string SearchUrl => SiteLink + "browse.php";
private string LoginUrl => SiteLink + "takelogin.php";
private readonly Regex _dateMatchRegex = new Regex(@"\d{4}-\d{2}-\d{2} \d{2}:\d{2} [AaPp][Mm]", RegexOptions.Compiled);
@ -44,79 +44,13 @@ namespace Jackett.Common.Indexers
public ImmortalSeed(IIndexerConfigurationService configService, Utils.Clients.WebClient wc, Logger l,
IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLogin())
{
AddCategoryMapping(3, TorznabCatType.Other, "Nuked");
AddCategoryMapping(32, TorznabCatType.TVAnime, "Anime");
AddCategoryMapping(23, TorznabCatType.PC, "Apps");
AddCategoryMapping(35, TorznabCatType.AudioAudiobook, "Audiobooks");
AddCategoryMapping(31, TorznabCatType.TV, "Childrens/Cartoons");
AddCategoryMapping(54, TorznabCatType.TVDocumentary, "Documentary - HD");
AddCategoryMapping(53, TorznabCatType.TVDocumentary, "Documentary - SD");
AddCategoryMapping(22, TorznabCatType.BooksEBook, "Ebooks");
AddCategoryMapping(41, TorznabCatType.BooksComics, "Comics");
AddCategoryMapping(46, TorznabCatType.BooksMags, "Magazines");
AddCategoryMapping(25, TorznabCatType.PCGames, "Games");
AddCategoryMapping(61, TorznabCatType.ConsoleNDS, "Games Nintendo");
AddCategoryMapping(26, TorznabCatType.PCGames, "Games-PC ISO");
AddCategoryMapping(28, TorznabCatType.ConsolePS4, "Games-PSx");
AddCategoryMapping(29, TorznabCatType.ConsoleXBox, "Games Xbox");
AddCategoryMapping(49, TorznabCatType.PCMobileOther, "Mobile");
AddCategoryMapping(51, TorznabCatType.PCMobileAndroid, "Android");
AddCategoryMapping(50, TorznabCatType.PCMobileiOS, "IOS");
AddCategoryMapping(52, TorznabCatType.PC0day, "Windows");
AddCategoryMapping(59, TorznabCatType.MoviesUHD, "Movies-4k");
AddCategoryMapping(60, TorznabCatType.MoviesForeign, "Non-English 4k Movies");
AddCategoryMapping(16, TorznabCatType.MoviesHD, "Movies HD");
AddCategoryMapping(18, TorznabCatType.MoviesForeign, "Movies HD Non-English");
AddCategoryMapping(17, TorznabCatType.MoviesSD, "TS/CAM/PPV");
AddCategoryMapping(34, TorznabCatType.MoviesForeign, "Movies Low Def Non-English");
AddCategoryMapping(62, TorznabCatType.Movies, "Movies-Packs");
AddCategoryMapping(14, TorznabCatType.MoviesSD, "Movies-SD");
AddCategoryMapping(33, TorznabCatType.MoviesForeign, "Movies SD Non-English");
AddCategoryMapping(30, TorznabCatType.AudioOther, "Music");
AddCategoryMapping(37, TorznabCatType.AudioLossless, "FLAC");
AddCategoryMapping(36, TorznabCatType.AudioMP3, "MP3");
AddCategoryMapping(39, TorznabCatType.AudioOther, "Music Other");
AddCategoryMapping(38, TorznabCatType.AudioVideo, "Music Video");
AddCategoryMapping(45, TorznabCatType.Other, "Other");
AddCategoryMapping(7, TorznabCatType.TVSport, "Sports Tv");
AddCategoryMapping(44, TorznabCatType.TVSport, "Sports Fitness-Instructional");
AddCategoryMapping(58, TorznabCatType.TVSport, "Olympics");
AddCategoryMapping(47, TorznabCatType.TVSD, "TV - 480p");
AddCategoryMapping(64, TorznabCatType.TVUHD, "TV - 4K");
AddCategoryMapping(8, TorznabCatType.TVHD, "TV - High Definition");
AddCategoryMapping(48, TorznabCatType.TVSD, "TV - Standard Definition - x264");
AddCategoryMapping(9, TorznabCatType.TVSD, "TV - Standard Definition - XviD");
AddCategoryMapping(63, TorznabCatType.TVUHD, "TV Season Packs - 4K");
AddCategoryMapping(4, TorznabCatType.TVHD, "TV Season Packs - HD");
AddCategoryMapping(6, TorznabCatType.TVSD, "TV Season Packs - SD");
// Configure the sort selects
var sortBySelect = new SingleSelectConfigurationItem(
"Sort by",
@ -141,6 +75,77 @@ namespace Jackett.Common.Indexers
configData.AddDynamic("orderrequestedfromsite", orderSelect);
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(3, TorznabCatType.Other, "Nuked");
caps.Categories.AddCategoryMapping(32, TorznabCatType.TVAnime, "Anime");
caps.Categories.AddCategoryMapping(23, TorznabCatType.PC, "Apps");
caps.Categories.AddCategoryMapping(35, TorznabCatType.AudioAudiobook, "Audiobooks");
caps.Categories.AddCategoryMapping(31, TorznabCatType.TV, "Childrens/Cartoons");
caps.Categories.AddCategoryMapping(54, TorznabCatType.TVDocumentary, "Documentary - HD");
caps.Categories.AddCategoryMapping(53, TorznabCatType.TVDocumentary, "Documentary - SD");
caps.Categories.AddCategoryMapping(22, TorznabCatType.BooksEBook, "Ebooks");
caps.Categories.AddCategoryMapping(41, TorznabCatType.BooksComics, "Comics");
caps.Categories.AddCategoryMapping(46, TorznabCatType.BooksMags, "Magazines");
caps.Categories.AddCategoryMapping(25, TorznabCatType.PCGames, "Games");
caps.Categories.AddCategoryMapping(61, TorznabCatType.ConsoleNDS, "Games Nintendo");
caps.Categories.AddCategoryMapping(26, TorznabCatType.PCGames, "Games-PC ISO");
caps.Categories.AddCategoryMapping(28, TorznabCatType.ConsolePS4, "Games-PSx");
caps.Categories.AddCategoryMapping(29, TorznabCatType.ConsoleXBox, "Games Xbox");
caps.Categories.AddCategoryMapping(49, TorznabCatType.PCMobileOther, "Mobile");
caps.Categories.AddCategoryMapping(51, TorznabCatType.PCMobileAndroid, "Android");
caps.Categories.AddCategoryMapping(50, TorznabCatType.PCMobileiOS, "IOS");
caps.Categories.AddCategoryMapping(52, TorznabCatType.PC0day, "Windows");
caps.Categories.AddCategoryMapping(59, TorznabCatType.MoviesUHD, "Movies-4k");
caps.Categories.AddCategoryMapping(60, TorznabCatType.MoviesForeign, "Non-English 4k Movies");
caps.Categories.AddCategoryMapping(16, TorznabCatType.MoviesHD, "Movies HD");
caps.Categories.AddCategoryMapping(18, TorznabCatType.MoviesForeign, "Movies HD Non-English");
caps.Categories.AddCategoryMapping(17, TorznabCatType.MoviesSD, "TS/CAM/PPV");
caps.Categories.AddCategoryMapping(34, TorznabCatType.MoviesForeign, "Movies Low Def Non-English");
caps.Categories.AddCategoryMapping(62, TorznabCatType.Movies, "Movies-Packs");
caps.Categories.AddCategoryMapping(14, TorznabCatType.MoviesSD, "Movies-SD");
caps.Categories.AddCategoryMapping(33, TorznabCatType.MoviesForeign, "Movies SD Non-English");
caps.Categories.AddCategoryMapping(30, TorznabCatType.AudioOther, "Music");
caps.Categories.AddCategoryMapping(37, TorznabCatType.AudioLossless, "FLAC");
caps.Categories.AddCategoryMapping(36, TorznabCatType.AudioMP3, "MP3");
caps.Categories.AddCategoryMapping(39, TorznabCatType.AudioOther, "Music Other");
caps.Categories.AddCategoryMapping(38, TorznabCatType.AudioVideo, "Music Video");
caps.Categories.AddCategoryMapping(45, TorznabCatType.Other, "Other");
caps.Categories.AddCategoryMapping(7, TorznabCatType.TVSport, "Sports Tv");
caps.Categories.AddCategoryMapping(44, TorznabCatType.TVSport, "Sports Fitness-Instructional");
caps.Categories.AddCategoryMapping(58, TorznabCatType.TVSport, "Olympics");
caps.Categories.AddCategoryMapping(47, TorznabCatType.TVSD, "TV - 480p");
caps.Categories.AddCategoryMapping(64, TorznabCatType.TVUHD, "TV - 4K");
caps.Categories.AddCategoryMapping(8, TorznabCatType.TVHD, "TV - High Definition");
caps.Categories.AddCategoryMapping(48, TorznabCatType.TVSD, "TV - Standard Definition - x264");
caps.Categories.AddCategoryMapping(9, TorznabCatType.TVSD, "TV - Standard Definition - XviD");
caps.Categories.AddCategoryMapping(63, TorznabCatType.TVUHD, "TV Season Packs - 4K");
caps.Categories.AddCategoryMapping(4, TorznabCatType.TVHD, "TV Season Packs - HD");
caps.Categories.AddCategoryMapping(6, TorznabCatType.TVSD, "TV Season Packs - SD");
return caps;
}
private string GetSortBy => ((SingleSelectConfigurationItem)configData.GetDynamic("sortrequestedfromsite")).Value;
private string GetOrder => ((SingleSelectConfigurationItem)configData.GetDynamic("orderrequestedfromsite")).Value;

View File

@ -1,5 +1,4 @@
using System.Text;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig;
using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils.Clients;
@ -17,8 +16,8 @@ namespace Jackett.Common.Indexers
public abstract override string Language { get; }
public abstract override string Type { get; }
protected IndexerBase(IIndexerConfigurationService configService, WebClient client, Logger logger, ConfigurationData configData, IProtectionService p, ICacheService cacheService, TorznabCapabilities caps, string downloadBase = null)
: base(configService, client, logger, configData, p, cacheService, caps, downloadBase)
protected IndexerBase(IIndexerConfigurationService configService, WebClient client, Logger logger, ConfigurationData configData, IProtectionService p, ICacheService cacheService, string downloadBase = null)
: base(configService, client, logger, configData, p, cacheService, downloadBase)
{
}

View File

@ -31,6 +31,8 @@ namespace Jackett.Common.Indexers
public override bool SupportsPagination => true;
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LandingUrl => SiteLink + "login.php";
private string LoginUrl => SiteLink + "login.php";
private string SearchUrl => SiteLink + "torrents.php";
@ -67,24 +69,30 @@ namespace Jackett.Common.Indexers
public Libble(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year, MusicSearchParam.Genre
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLoginWith2FA())
{
AddCategoryMapping(1, TorznabCatType.Audio, "Music");
AddCategoryMapping(2, TorznabCatType.Audio, "Libble Mixtapes");
AddCategoryMapping(7, TorznabCatType.AudioVideo, "Music Videos");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year, MusicSearchParam.Genre
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.Audio, "Music");
caps.Categories.AddCategoryMapping(2, TorznabCatType.Audio, "Libble Mixtapes");
caps.Categories.AddCategoryMapping(7, TorznabCatType.AudioVideo, "Music Videos");
return caps;
}
public override async Task<ConfigurationData> GetConfigurationForSetup()

View File

@ -45,6 +45,8 @@ namespace Jackett.Common.Indexers
public override string Language => "ru-RU";
public override string Type => "semi-private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private static readonly Regex parsePlayEpisodeRegex = new Regex("PlayEpisode\\('(?<id>\\d{1,3})(?<season>\\d{3})(?<episode>\\d{3})'\\)", RegexOptions.Compiled | RegexOptions.IgnoreCase);
private static readonly Regex parseReleaseDetailsRegex = new Regex("Видео:\\ (?<quality>.+).\\ Размер:\\ (?<size>.+).\\ Перевод", RegexOptions.Compiled | RegexOptions.IgnoreCase);
@ -114,19 +116,7 @@ namespace Jackett.Common.Indexers
public LostFilm(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -135,9 +125,26 @@ namespace Jackett.Common.Indexers
{
webclient.AddTrustedCertificate(new Uri(SiteLink).Host, "98D43B6E740B42C02A9BD1A9D1A813E4350BE332"); // for *.win expired 26/Mar/22
webclient.AddTrustedCertificate(new Uri(SiteLink).Host, "34287FB53A58EC6AE590E7DD7E03C70C0263CADC"); // for *.tw expired 01/Apr/21
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
}
};
// TODO: review if there is only this category (movie search is enabled)
AddCategoryMapping(1, TorznabCatType.TV);
caps.Categories.AddCategoryMapping(1, TorznabCatType.TV);
return caps;
}
public override async Task<ConfigurationData> GetConfigurationForSetup()

View File

@ -25,6 +25,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "semi-private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string SearchURl => SiteLink + "api/v0.1/torrents";
private string TorrentsUrl => SiteLink + "torrents";
@ -32,27 +34,7 @@ namespace Jackett.Common.Indexers
public Magnetico(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -79,10 +61,36 @@ namespace Jackett.Common.Indexers
})
{ Value = "false" };
configData.AddDynamic("order", order);
AddCategoryMapping("1", TorznabCatType.Other);
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping("1", TorznabCatType.Other);
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
{
LoadValuesFromJson(configJson);

View File

@ -66,6 +66,8 @@ namespace Jackett.Common.Indexers
public override string Language => "es-ES";
public override string Type => "public";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private static class MejorTorrentCatType
{
public static string Pelicula => "Película";
@ -80,26 +82,8 @@ namespace Jackett.Common.Indexers
private const int PagesToSearch = 3;
public MejorTorrent(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
SupportsRawSearch = true
},
configService: configService,
public MejorTorrent(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps, ICacheService cs)
: base(configService: configService,
client: w,
logger: l,
p: ps,
@ -111,13 +95,35 @@ namespace Jackett.Common.Indexers
// Uncomment to enable FlareSolverr in the future
//configData.AddDynamic("flaresolverr", new DisplayInfoConfigurationItem("FlareSolverr", "This site may use Cloudflare DDoS Protection, therefore Jackett requires <a href=\"https://github.com/Jackett/Jackett#configuring-flaresolverr\" target=\"_blank\">FlareSolverr</a> to access it."));
}
AddCategoryMapping(MejorTorrentCatType.Pelicula, TorznabCatType.Movies, "Pelicula");
AddCategoryMapping(MejorTorrentCatType.Serie, TorznabCatType.TVSD, "Serie");
AddCategoryMapping(MejorTorrentCatType.SerieHd, TorznabCatType.TVHD, "Serie HD");
AddCategoryMapping(MejorTorrentCatType.Musica, TorznabCatType.Audio, "Musica");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
SupportsRawSearch = true
};
caps.Categories.AddCategoryMapping(MejorTorrentCatType.Pelicula, TorznabCatType.Movies, "Pelicula");
caps.Categories.AddCategoryMapping(MejorTorrentCatType.Serie, TorznabCatType.TVSD, "Serie");
caps.Categories.AddCategoryMapping(MejorTorrentCatType.SerieHd, TorznabCatType.TVHD, "Serie HD");
caps.Categories.AddCategoryMapping(MejorTorrentCatType.Musica, TorznabCatType.Audio, "Musica");
// Other category is disabled because we have problems parsing documentaries
//AddCategoryMapping(MejorTorrentCatType.Otro, TorznabCatType.Other, "Otro");
//caps.Categories.AddCategoryMapping(MejorTorrentCatType.Otro, TorznabCatType.Other, "Otro");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -20,8 +20,7 @@ namespace Jackett.Common.Indexers.Meta
IResultFilterProvider resultFilterProvider, IIndexerConfigurationService configService,
WebClient client, Logger logger, ConfigurationData configData, IProtectionService ps,
ICacheService cs, Func<IIndexer, bool> filter)
: base(caps: new TorznabCapabilities(),
configService: configService,
: base(configService: configService,
client: client,
logger: logger,
p: ps,

View File

@ -18,8 +18,7 @@ namespace Jackett.Common.Indexers.Meta
public AggregateIndexer(IFallbackStrategyProvider fallbackStrategyProvider,
IResultFilterProvider resultFilterProvider, IIndexerConfigurationService configService,
WebClient client, Logger logger, IProtectionService ps, ICacheService cs)
: base(
configService: configService,
: base(configService: configService,
client: client,
logger: logger,
ps: ps,

View File

@ -4,7 +4,6 @@ using System.Collections.Specialized;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig.Bespoke;
@ -29,6 +28,8 @@ namespace Jackett.Common.Indexers
public override bool SupportsPagination => true;
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string SearchUrl => SiteLink + "tor/js/loadSearchJSONbasic.php";
private new ConfigurationDataMyAnonamouse configData => (ConfigurationDataMyAnonamouse)base.configData;
@ -36,13 +37,6 @@ namespace Jackett.Common.Indexers
public MyAnonamouse(IIndexerConfigurationService configService, WebClient c, Logger l, IProtectionService ps,
ICacheService cs)
: base(configService: configService,
caps: new TorznabCapabilities
{
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
client: c,
logger: l,
p: ps,
@ -50,101 +44,114 @@ namespace Jackett.Common.Indexers
configData: new ConfigurationDataMyAnonamouse())
{
webclient.EmulateBrowser = false;
}
AddCategoryMapping("13", TorznabCatType.AudioAudiobook, "AudioBooks");
AddCategoryMapping("14", TorznabCatType.BooksEBook, "E-Books");
AddCategoryMapping("15", TorznabCatType.AudioAudiobook, "Musicology");
AddCategoryMapping("16", TorznabCatType.AudioAudiobook, "Radio");
AddCategoryMapping("39", TorznabCatType.AudioAudiobook, "Audiobooks - Action/Adventure");
AddCategoryMapping("49", TorznabCatType.AudioAudiobook, "Audiobooks - Art");
AddCategoryMapping("50", TorznabCatType.AudioAudiobook, "Audiobooks - Biographical");
AddCategoryMapping("83", TorznabCatType.AudioAudiobook, "Audiobooks - Business");
AddCategoryMapping("51", TorznabCatType.AudioAudiobook, "Audiobooks - Computer/Internet");
AddCategoryMapping("97", TorznabCatType.AudioAudiobook, "Audiobooks - Crafts");
AddCategoryMapping("40", TorznabCatType.AudioAudiobook, "Audiobooks - Crime/Thriller");
AddCategoryMapping("41", TorznabCatType.AudioAudiobook, "Audiobooks - Fantasy");
AddCategoryMapping("106", TorznabCatType.AudioAudiobook, "Audiobooks - Food");
AddCategoryMapping("42", TorznabCatType.AudioAudiobook, "Audiobooks - General Fiction");
AddCategoryMapping("52", TorznabCatType.AudioAudiobook, "Audiobooks - General Non-Fic");
AddCategoryMapping("98", TorznabCatType.AudioAudiobook, "Audiobooks - Historical Fiction");
AddCategoryMapping("54", TorznabCatType.AudioAudiobook, "Audiobooks - History");
AddCategoryMapping("55", TorznabCatType.AudioAudiobook, "Audiobooks - Home/Garden");
AddCategoryMapping("43", TorznabCatType.AudioAudiobook, "Audiobooks - Horror");
AddCategoryMapping("99", TorznabCatType.AudioAudiobook, "Audiobooks - Humor");
AddCategoryMapping("84", TorznabCatType.AudioAudiobook, "Audiobooks - Instructional");
AddCategoryMapping("44", TorznabCatType.AudioAudiobook, "Audiobooks - Juvenile");
AddCategoryMapping("56", TorznabCatType.AudioAudiobook, "Audiobooks - Language");
AddCategoryMapping("45", TorznabCatType.AudioAudiobook, "Audiobooks - Literary Classics");
AddCategoryMapping("57", TorznabCatType.AudioAudiobook, "Audiobooks - Math/Science/Tech");
AddCategoryMapping("85", TorznabCatType.AudioAudiobook, "Audiobooks - Medical");
AddCategoryMapping("87", TorznabCatType.AudioAudiobook, "Audiobooks - Mystery");
AddCategoryMapping("119", TorznabCatType.AudioAudiobook, "Audiobooks - Nature");
AddCategoryMapping("88", TorznabCatType.AudioAudiobook, "Audiobooks - Philosophy");
AddCategoryMapping("58", TorznabCatType.AudioAudiobook, "Audiobooks - Pol/Soc/Relig");
AddCategoryMapping("59", TorznabCatType.AudioAudiobook, "Audiobooks - Recreation");
AddCategoryMapping("46", TorznabCatType.AudioAudiobook, "Audiobooks - Romance");
AddCategoryMapping("47", TorznabCatType.AudioAudiobook, "Audiobooks - Science Fiction");
AddCategoryMapping("53", TorznabCatType.AudioAudiobook, "Audiobooks - Self-Help");
AddCategoryMapping("89", TorznabCatType.AudioAudiobook, "Audiobooks - Travel/Adventure");
AddCategoryMapping("100", TorznabCatType.AudioAudiobook, "Audiobooks - True Crime");
AddCategoryMapping("108", TorznabCatType.AudioAudiobook, "Audiobooks - Urban Fantasy");
AddCategoryMapping("48", TorznabCatType.AudioAudiobook, "Audiobooks - Western");
AddCategoryMapping("111", TorznabCatType.AudioAudiobook, "Audiobooks - Young Adult");
AddCategoryMapping("60", TorznabCatType.BooksEBook, "Ebooks - Action/Adventure");
AddCategoryMapping("71", TorznabCatType.BooksEBook, "Ebooks - Art");
AddCategoryMapping("72", TorznabCatType.BooksEBook, "Ebooks - Biographical");
AddCategoryMapping("90", TorznabCatType.BooksEBook, "Ebooks - Business");
AddCategoryMapping("61", TorznabCatType.BooksComics, "Ebooks - Comics/Graphic novels");
AddCategoryMapping("73", TorznabCatType.BooksEBook, "Ebooks - Computer/Internet");
AddCategoryMapping("101", TorznabCatType.BooksEBook, "Ebooks - Crafts");
AddCategoryMapping("62", TorznabCatType.BooksEBook, "Ebooks - Crime/Thriller");
AddCategoryMapping("63", TorznabCatType.BooksEBook, "Ebooks - Fantasy");
AddCategoryMapping("107", TorznabCatType.BooksEBook, "Ebooks - Food");
AddCategoryMapping("64", TorznabCatType.BooksEBook, "Ebooks - General Fiction");
AddCategoryMapping("74", TorznabCatType.BooksEBook, "Ebooks - General Non-Fiction");
AddCategoryMapping("102", TorznabCatType.BooksEBook, "Ebooks - Historical Fiction");
AddCategoryMapping("76", TorznabCatType.BooksEBook, "Ebooks - History");
AddCategoryMapping("77", TorznabCatType.BooksEBook, "Ebooks - Home/Garden");
AddCategoryMapping("65", TorznabCatType.BooksEBook, "Ebooks - Horror");
AddCategoryMapping("103", TorznabCatType.BooksEBook, "Ebooks - Humor");
AddCategoryMapping("115", TorznabCatType.BooksEBook, "Ebooks - Illusion/Magic");
AddCategoryMapping("91", TorznabCatType.BooksEBook, "Ebooks - Instructional");
AddCategoryMapping("66", TorznabCatType.BooksEBook, "Ebooks - Juvenile");
AddCategoryMapping("78", TorznabCatType.BooksEBook, "Ebooks - Language");
AddCategoryMapping("67", TorznabCatType.BooksEBook, "Ebooks - Literary Classics");
AddCategoryMapping("79", TorznabCatType.BooksMags, "Ebooks - Magazines/Newspapers");
AddCategoryMapping("80", TorznabCatType.BooksTechnical, "Ebooks - Math/Science/Tech");
AddCategoryMapping("92", TorznabCatType.BooksEBook, "Ebooks - Medical");
AddCategoryMapping("118", TorznabCatType.BooksEBook, "Ebooks - Mixed Collections");
AddCategoryMapping("94", TorznabCatType.BooksEBook, "Ebooks - Mystery");
AddCategoryMapping("120", TorznabCatType.BooksEBook, "Ebooks - Nature");
AddCategoryMapping("95", TorznabCatType.BooksEBook, "Ebooks - Philosophy");
AddCategoryMapping("81", TorznabCatType.BooksEBook, "Ebooks - Pol/Soc/Relig");
AddCategoryMapping("82", TorznabCatType.BooksEBook, "Ebooks - Recreation");
AddCategoryMapping("68", TorznabCatType.BooksEBook, "Ebooks - Romance");
AddCategoryMapping("69", TorznabCatType.BooksEBook, "Ebooks - Science Fiction");
AddCategoryMapping("75", TorznabCatType.BooksEBook, "Ebooks - Self-Help");
AddCategoryMapping("96", TorznabCatType.BooksEBook, "Ebooks - Travel/Adventure");
AddCategoryMapping("104", TorznabCatType.BooksEBook, "Ebooks - True Crime");
AddCategoryMapping("109", TorznabCatType.BooksEBook, "Ebooks - Urban Fantasy");
AddCategoryMapping("70", TorznabCatType.BooksEBook, "Ebooks - Western");
AddCategoryMapping("112", TorznabCatType.BooksEBook, "Ebooks - Young Adult");
AddCategoryMapping("19", TorznabCatType.AudioAudiobook, "Guitar/Bass Tabs");
AddCategoryMapping("20", TorznabCatType.AudioAudiobook, "Individual Sheet");
AddCategoryMapping("24", TorznabCatType.AudioAudiobook, "Individual Sheet MP3");
AddCategoryMapping("126", TorznabCatType.AudioAudiobook, "Instructional Book with Video");
AddCategoryMapping("22", TorznabCatType.AudioAudiobook, "Instructional Media - Music");
AddCategoryMapping("113", TorznabCatType.AudioAudiobook, "Lick Library - LTP/Jam With");
AddCategoryMapping("114", TorznabCatType.AudioAudiobook, "Lick Library - Techniques/QL");
AddCategoryMapping("17", TorznabCatType.AudioAudiobook, "Music - Complete Editions");
AddCategoryMapping("26", TorznabCatType.AudioAudiobook, "Music Book");
AddCategoryMapping("27", TorznabCatType.AudioAudiobook, "Music Book MP3");
AddCategoryMapping("30", TorznabCatType.AudioAudiobook, "Sheet Collection");
AddCategoryMapping("31", TorznabCatType.AudioAudiobook, "Sheet Collection MP3");
AddCategoryMapping("127", TorznabCatType.AudioAudiobook, "Radio - Comedy");
AddCategoryMapping("130", TorznabCatType.AudioAudiobook, "Radio - Drama");
AddCategoryMapping("128", TorznabCatType.AudioAudiobook, "Radio - Factual/Documentary");
AddCategoryMapping("132", TorznabCatType.AudioAudiobook, "Radio - Reading");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping("13", TorznabCatType.AudioAudiobook, "AudioBooks");
caps.Categories.AddCategoryMapping("14", TorznabCatType.BooksEBook, "E-Books");
caps.Categories.AddCategoryMapping("15", TorznabCatType.AudioAudiobook, "Musicology");
caps.Categories.AddCategoryMapping("16", TorznabCatType.AudioAudiobook, "Radio");
caps.Categories.AddCategoryMapping("39", TorznabCatType.AudioAudiobook, "Audiobooks - Action/Adventure");
caps.Categories.AddCategoryMapping("49", TorznabCatType.AudioAudiobook, "Audiobooks - Art");
caps.Categories.AddCategoryMapping("50", TorznabCatType.AudioAudiobook, "Audiobooks - Biographical");
caps.Categories.AddCategoryMapping("83", TorznabCatType.AudioAudiobook, "Audiobooks - Business");
caps.Categories.AddCategoryMapping("51", TorznabCatType.AudioAudiobook, "Audiobooks - Computer/Internet");
caps.Categories.AddCategoryMapping("97", TorznabCatType.AudioAudiobook, "Audiobooks - Crafts");
caps.Categories.AddCategoryMapping("40", TorznabCatType.AudioAudiobook, "Audiobooks - Crime/Thriller");
caps.Categories.AddCategoryMapping("41", TorznabCatType.AudioAudiobook, "Audiobooks - Fantasy");
caps.Categories.AddCategoryMapping("106", TorznabCatType.AudioAudiobook, "Audiobooks - Food");
caps.Categories.AddCategoryMapping("42", TorznabCatType.AudioAudiobook, "Audiobooks - General Fiction");
caps.Categories.AddCategoryMapping("52", TorznabCatType.AudioAudiobook, "Audiobooks - General Non-Fic");
caps.Categories.AddCategoryMapping("98", TorznabCatType.AudioAudiobook, "Audiobooks - Historical Fiction");
caps.Categories.AddCategoryMapping("54", TorznabCatType.AudioAudiobook, "Audiobooks - History");
caps.Categories.AddCategoryMapping("55", TorznabCatType.AudioAudiobook, "Audiobooks - Home/Garden");
caps.Categories.AddCategoryMapping("43", TorznabCatType.AudioAudiobook, "Audiobooks - Horror");
caps.Categories.AddCategoryMapping("99", TorznabCatType.AudioAudiobook, "Audiobooks - Humor");
caps.Categories.AddCategoryMapping("84", TorznabCatType.AudioAudiobook, "Audiobooks - Instructional");
caps.Categories.AddCategoryMapping("44", TorznabCatType.AudioAudiobook, "Audiobooks - Juvenile");
caps.Categories.AddCategoryMapping("56", TorznabCatType.AudioAudiobook, "Audiobooks - Language");
caps.Categories.AddCategoryMapping("45", TorznabCatType.AudioAudiobook, "Audiobooks - Literary Classics");
caps.Categories.AddCategoryMapping("57", TorznabCatType.AudioAudiobook, "Audiobooks - Math/Science/Tech");
caps.Categories.AddCategoryMapping("85", TorznabCatType.AudioAudiobook, "Audiobooks - Medical");
caps.Categories.AddCategoryMapping("87", TorznabCatType.AudioAudiobook, "Audiobooks - Mystery");
caps.Categories.AddCategoryMapping("119", TorznabCatType.AudioAudiobook, "Audiobooks - Nature");
caps.Categories.AddCategoryMapping("88", TorznabCatType.AudioAudiobook, "Audiobooks - Philosophy");
caps.Categories.AddCategoryMapping("58", TorznabCatType.AudioAudiobook, "Audiobooks - Pol/Soc/Relig");
caps.Categories.AddCategoryMapping("59", TorznabCatType.AudioAudiobook, "Audiobooks - Recreation");
caps.Categories.AddCategoryMapping("46", TorznabCatType.AudioAudiobook, "Audiobooks - Romance");
caps.Categories.AddCategoryMapping("47", TorznabCatType.AudioAudiobook, "Audiobooks - Science Fiction");
caps.Categories.AddCategoryMapping("53", TorznabCatType.AudioAudiobook, "Audiobooks - Self-Help");
caps.Categories.AddCategoryMapping("89", TorznabCatType.AudioAudiobook, "Audiobooks - Travel/Adventure");
caps.Categories.AddCategoryMapping("100", TorznabCatType.AudioAudiobook, "Audiobooks - True Crime");
caps.Categories.AddCategoryMapping("108", TorznabCatType.AudioAudiobook, "Audiobooks - Urban Fantasy");
caps.Categories.AddCategoryMapping("48", TorznabCatType.AudioAudiobook, "Audiobooks - Western");
caps.Categories.AddCategoryMapping("111", TorznabCatType.AudioAudiobook, "Audiobooks - Young Adult");
caps.Categories.AddCategoryMapping("60", TorznabCatType.BooksEBook, "Ebooks - Action/Adventure");
caps.Categories.AddCategoryMapping("71", TorznabCatType.BooksEBook, "Ebooks - Art");
caps.Categories.AddCategoryMapping("72", TorznabCatType.BooksEBook, "Ebooks - Biographical");
caps.Categories.AddCategoryMapping("90", TorznabCatType.BooksEBook, "Ebooks - Business");
caps.Categories.AddCategoryMapping("61", TorznabCatType.BooksComics, "Ebooks - Comics/Graphic novels");
caps.Categories.AddCategoryMapping("73", TorznabCatType.BooksEBook, "Ebooks - Computer/Internet");
caps.Categories.AddCategoryMapping("101", TorznabCatType.BooksEBook, "Ebooks - Crafts");
caps.Categories.AddCategoryMapping("62", TorznabCatType.BooksEBook, "Ebooks - Crime/Thriller");
caps.Categories.AddCategoryMapping("63", TorznabCatType.BooksEBook, "Ebooks - Fantasy");
caps.Categories.AddCategoryMapping("107", TorznabCatType.BooksEBook, "Ebooks - Food");
caps.Categories.AddCategoryMapping("64", TorznabCatType.BooksEBook, "Ebooks - General Fiction");
caps.Categories.AddCategoryMapping("74", TorznabCatType.BooksEBook, "Ebooks - General Non-Fiction");
caps.Categories.AddCategoryMapping("102", TorznabCatType.BooksEBook, "Ebooks - Historical Fiction");
caps.Categories.AddCategoryMapping("76", TorznabCatType.BooksEBook, "Ebooks - History");
caps.Categories.AddCategoryMapping("77", TorznabCatType.BooksEBook, "Ebooks - Home/Garden");
caps.Categories.AddCategoryMapping("65", TorznabCatType.BooksEBook, "Ebooks - Horror");
caps.Categories.AddCategoryMapping("103", TorznabCatType.BooksEBook, "Ebooks - Humor");
caps.Categories.AddCategoryMapping("115", TorznabCatType.BooksEBook, "Ebooks - Illusion/Magic");
caps.Categories.AddCategoryMapping("91", TorznabCatType.BooksEBook, "Ebooks - Instructional");
caps.Categories.AddCategoryMapping("66", TorznabCatType.BooksEBook, "Ebooks - Juvenile");
caps.Categories.AddCategoryMapping("78", TorznabCatType.BooksEBook, "Ebooks - Language");
caps.Categories.AddCategoryMapping("67", TorznabCatType.BooksEBook, "Ebooks - Literary Classics");
caps.Categories.AddCategoryMapping("79", TorznabCatType.BooksMags, "Ebooks - Magazines/Newspapers");
caps.Categories.AddCategoryMapping("80", TorznabCatType.BooksTechnical, "Ebooks - Math/Science/Tech");
caps.Categories.AddCategoryMapping("92", TorznabCatType.BooksEBook, "Ebooks - Medical");
caps.Categories.AddCategoryMapping("118", TorznabCatType.BooksEBook, "Ebooks - Mixed Collections");
caps.Categories.AddCategoryMapping("94", TorznabCatType.BooksEBook, "Ebooks - Mystery");
caps.Categories.AddCategoryMapping("120", TorznabCatType.BooksEBook, "Ebooks - Nature");
caps.Categories.AddCategoryMapping("95", TorznabCatType.BooksEBook, "Ebooks - Philosophy");
caps.Categories.AddCategoryMapping("81", TorznabCatType.BooksEBook, "Ebooks - Pol/Soc/Relig");
caps.Categories.AddCategoryMapping("82", TorznabCatType.BooksEBook, "Ebooks - Recreation");
caps.Categories.AddCategoryMapping("68", TorznabCatType.BooksEBook, "Ebooks - Romance");
caps.Categories.AddCategoryMapping("69", TorznabCatType.BooksEBook, "Ebooks - Science Fiction");
caps.Categories.AddCategoryMapping("75", TorznabCatType.BooksEBook, "Ebooks - Self-Help");
caps.Categories.AddCategoryMapping("96", TorznabCatType.BooksEBook, "Ebooks - Travel/Adventure");
caps.Categories.AddCategoryMapping("104", TorznabCatType.BooksEBook, "Ebooks - True Crime");
caps.Categories.AddCategoryMapping("109", TorznabCatType.BooksEBook, "Ebooks - Urban Fantasy");
caps.Categories.AddCategoryMapping("70", TorznabCatType.BooksEBook, "Ebooks - Western");
caps.Categories.AddCategoryMapping("112", TorznabCatType.BooksEBook, "Ebooks - Young Adult");
caps.Categories.AddCategoryMapping("19", TorznabCatType.AudioAudiobook, "Guitar/Bass Tabs");
caps.Categories.AddCategoryMapping("20", TorznabCatType.AudioAudiobook, "Individual Sheet");
caps.Categories.AddCategoryMapping("24", TorznabCatType.AudioAudiobook, "Individual Sheet MP3");
caps.Categories.AddCategoryMapping("126", TorznabCatType.AudioAudiobook, "Instructional Book with Video");
caps.Categories.AddCategoryMapping("22", TorznabCatType.AudioAudiobook, "Instructional Media - Music");
caps.Categories.AddCategoryMapping("113", TorznabCatType.AudioAudiobook, "Lick Library - LTP/Jam With");
caps.Categories.AddCategoryMapping("114", TorznabCatType.AudioAudiobook, "Lick Library - Techniques/QL");
caps.Categories.AddCategoryMapping("17", TorznabCatType.AudioAudiobook, "Music - Complete Editions");
caps.Categories.AddCategoryMapping("26", TorznabCatType.AudioAudiobook, "Music Book");
caps.Categories.AddCategoryMapping("27", TorznabCatType.AudioAudiobook, "Music Book MP3");
caps.Categories.AddCategoryMapping("30", TorznabCatType.AudioAudiobook, "Sheet Collection");
caps.Categories.AddCategoryMapping("31", TorznabCatType.AudioAudiobook, "Sheet Collection MP3");
caps.Categories.AddCategoryMapping("127", TorznabCatType.AudioAudiobook, "Radio - Comedy");
caps.Categories.AddCategoryMapping("130", TorznabCatType.AudioAudiobook, "Radio - Drama");
caps.Categories.AddCategoryMapping("128", TorznabCatType.AudioAudiobook, "Radio - Factual/Documentary");
caps.Categories.AddCategoryMapping("132", TorznabCatType.AudioAudiobook, "Radio - Reading");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -33,6 +33,8 @@ namespace Jackett.Common.Indexers
public override string Language => "hu-HU";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LoginUrl => SiteLink + "login.php";
private string SearchUrl => SiteLink + "torrents.php";
@ -54,64 +56,70 @@ namespace Jackett.Common.Indexers
public NCore(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataNCore())
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataNCore())
{
AddCategoryMapping("xvid_hun", TorznabCatType.MoviesSD, "Film SD/HU");
AddCategoryMapping("xvid", TorznabCatType.MoviesSD, "Film SD/EN");
AddCategoryMapping("dvd_hun", TorznabCatType.MoviesDVD, "Film DVDR/HU");
AddCategoryMapping("dvd", TorznabCatType.MoviesDVD, "Film DVDR/EN");
AddCategoryMapping("dvd9_hun", TorznabCatType.MoviesDVD, "Film DVD9/HU");
AddCategoryMapping("dvd9", TorznabCatType.MoviesDVD, "Film DVD9/EN");
AddCategoryMapping("hd_hun", TorznabCatType.MoviesHD, "Film HD/HU");
AddCategoryMapping("hd", TorznabCatType.MoviesHD, "Film HD/EN");
AddCategoryMapping("xvidser_hun", TorznabCatType.TVSD, "Sorozat SD/HU");
AddCategoryMapping("xvidser", TorznabCatType.TVSD, "Sorozat SD/EN");
AddCategoryMapping("dvdser_hun", TorznabCatType.TVSD, "Sorozat DVDR/HU");
AddCategoryMapping("dvdser", TorznabCatType.TVSD, "Sorozat DVDR/EN");
AddCategoryMapping("hdser_hun", TorznabCatType.TVHD, "Sorozat HD/HU");
AddCategoryMapping("hdser", TorznabCatType.TVHD, "Sorozat HD/EN");
AddCategoryMapping("mp3_hun", TorznabCatType.AudioMP3, "Zene MP3/HU");
AddCategoryMapping("mp3", TorznabCatType.AudioMP3, "Zene MP3/EN");
AddCategoryMapping("lossless_hun", TorznabCatType.AudioLossless, "Zene Lossless/HU");
AddCategoryMapping("lossless", TorznabCatType.AudioLossless, "Zene Lossless/EN");
AddCategoryMapping("clip", TorznabCatType.AudioVideo, "Zene Klip");
AddCategoryMapping("xxx_xvid", TorznabCatType.XXXXviD, "XXX SD");
AddCategoryMapping("xxx_dvd", TorznabCatType.XXXDVD, "XXX DVDR");
AddCategoryMapping("xxx_imageset", TorznabCatType.XXXImageSet, "XXX Imageset");
AddCategoryMapping("xxx_hd", TorznabCatType.XXX, "XXX HD");
AddCategoryMapping("game_iso", TorznabCatType.PCGames, "Játék PC/ISO");
AddCategoryMapping("game_rip", TorznabCatType.PCGames, "Játék PC/RIP");
AddCategoryMapping("console", TorznabCatType.Console, "Játék Konzol");
AddCategoryMapping("iso", TorznabCatType.PCISO, "Program Prog/ISO");
AddCategoryMapping("misc", TorznabCatType.PC0day, "Program Prog/RIP");
AddCategoryMapping("mobil", TorznabCatType.PCMobileOther, "Program Prog/Mobil");
AddCategoryMapping("ebook_hun", TorznabCatType.Books, "Könyv eBook/HU");
AddCategoryMapping("ebook", TorznabCatType.Books, "Könyv eBook/EN");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping("xvid_hun", TorznabCatType.MoviesSD, "Film SD/HU");
caps.Categories.AddCategoryMapping("xvid", TorznabCatType.MoviesSD, "Film SD/EN");
caps.Categories.AddCategoryMapping("dvd_hun", TorznabCatType.MoviesDVD, "Film DVDR/HU");
caps.Categories.AddCategoryMapping("dvd", TorznabCatType.MoviesDVD, "Film DVDR/EN");
caps.Categories.AddCategoryMapping("dvd9_hun", TorznabCatType.MoviesDVD, "Film DVD9/HU");
caps.Categories.AddCategoryMapping("dvd9", TorznabCatType.MoviesDVD, "Film DVD9/EN");
caps.Categories.AddCategoryMapping("hd_hun", TorznabCatType.MoviesHD, "Film HD/HU");
caps.Categories.AddCategoryMapping("hd", TorznabCatType.MoviesHD, "Film HD/EN");
caps.Categories.AddCategoryMapping("xvidser_hun", TorznabCatType.TVSD, "Sorozat SD/HU");
caps.Categories.AddCategoryMapping("xvidser", TorznabCatType.TVSD, "Sorozat SD/EN");
caps.Categories.AddCategoryMapping("dvdser_hun", TorznabCatType.TVSD, "Sorozat DVDR/HU");
caps.Categories.AddCategoryMapping("dvdser", TorznabCatType.TVSD, "Sorozat DVDR/EN");
caps.Categories.AddCategoryMapping("hdser_hun", TorznabCatType.TVHD, "Sorozat HD/HU");
caps.Categories.AddCategoryMapping("hdser", TorznabCatType.TVHD, "Sorozat HD/EN");
caps.Categories.AddCategoryMapping("mp3_hun", TorznabCatType.AudioMP3, "Zene MP3/HU");
caps.Categories.AddCategoryMapping("mp3", TorznabCatType.AudioMP3, "Zene MP3/EN");
caps.Categories.AddCategoryMapping("lossless_hun", TorznabCatType.AudioLossless, "Zene Lossless/HU");
caps.Categories.AddCategoryMapping("lossless", TorznabCatType.AudioLossless, "Zene Lossless/EN");
caps.Categories.AddCategoryMapping("clip", TorznabCatType.AudioVideo, "Zene Klip");
caps.Categories.AddCategoryMapping("xxx_xvid", TorznabCatType.XXXXviD, "XXX SD");
caps.Categories.AddCategoryMapping("xxx_dvd", TorznabCatType.XXXDVD, "XXX DVDR");
caps.Categories.AddCategoryMapping("xxx_imageset", TorznabCatType.XXXImageSet, "XXX Imageset");
caps.Categories.AddCategoryMapping("xxx_hd", TorznabCatType.XXX, "XXX HD");
caps.Categories.AddCategoryMapping("game_iso", TorznabCatType.PCGames, "Játék PC/ISO");
caps.Categories.AddCategoryMapping("game_rip", TorznabCatType.PCGames, "Játék PC/RIP");
caps.Categories.AddCategoryMapping("console", TorznabCatType.Console, "Játék Konzol");
caps.Categories.AddCategoryMapping("iso", TorznabCatType.PCISO, "Program Prog/ISO");
caps.Categories.AddCategoryMapping("misc", TorznabCatType.PC0day, "Program Prog/RIP");
caps.Categories.AddCategoryMapping("mobil", TorznabCatType.PCMobileOther, "Program Prog/Mobil");
caps.Categories.AddCategoryMapping("ebook_hun", TorznabCatType.Books, "Könyv eBook/HU");
caps.Categories.AddCategoryMapping("ebook", TorznabCatType.Books, "Könyv eBook/EN");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -28,6 +28,8 @@ namespace Jackett.Common.Indexers
public override bool SupportsPagination => true;
public override TorznabCapabilities TorznabCaps => SetCapabilities();
// Docs at https://nebulance.io/articles.php?topic=api_key
protected virtual string APIUrl => SiteLink + "api.php";
protected virtual int KeyLength => 32;
@ -41,39 +43,44 @@ namespace Jackett.Common.Indexers
public NebulanceAPI(IIndexerConfigurationService configService, WebClient wc, Logger l,
IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
LimitsDefault = 100,
LimitsMax = 1000,
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.Genre, TvSearchParam.TvmazeId
},
SupportsRawSearch = true
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataAPIKey())
{
AddCategoryMapping("tv", TorznabCatType.TV, "tv");
AddCategoryMapping("sd", TorznabCatType.TVSD, "sd");
AddCategoryMapping("hd", TorznabCatType.TVHD, "hd");
AddCategoryMapping("uhd", TorznabCatType.TVUHD, "uhd");
AddCategoryMapping("4k", TorznabCatType.TVUHD, "4k");
AddCategoryMapping("480p", TorznabCatType.TVSD, "480p");
AddCategoryMapping("720p", TorznabCatType.TVHD, "720p");
AddCategoryMapping("1080p", TorznabCatType.TVHD, "1080p");
AddCategoryMapping("1080i", TorznabCatType.TVHD, "1080i");
AddCategoryMapping("2160p", TorznabCatType.TVUHD, "2160p");
configData.AddDynamic("keyInfo", new DisplayInfoConfigurationItem(String.Empty, "Generate a new key by accessing your account profile settings at <a href=\"https://nebulance.io/\" target=_blank>Nebulance</a>, scroll down to the <b>API Keys</b> section, tick the <i>New Key</i>, <i>list</i> and <i>download</i> checkboxes and save."));
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
LimitsDefault = 100,
LimitsMax = 1000,
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.Genre, TvSearchParam.TvmazeId
},
SupportsRawSearch = true
};
caps.Categories.AddCategoryMapping("tv", TorznabCatType.TV, "tv");
caps.Categories.AddCategoryMapping("sd", TorznabCatType.TVSD, "sd");
caps.Categories.AddCategoryMapping("hd", TorznabCatType.TVHD, "hd");
caps.Categories.AddCategoryMapping("uhd", TorznabCatType.TVUHD, "uhd");
caps.Categories.AddCategoryMapping("4k", TorznabCatType.TVUHD, "4k");
caps.Categories.AddCategoryMapping("480p", TorznabCatType.TVSD, "480p");
caps.Categories.AddCategoryMapping("720p", TorznabCatType.TVHD, "720p");
caps.Categories.AddCategoryMapping("1080p", TorznabCatType.TVHD, "1080p");
caps.Categories.AddCategoryMapping("1080i", TorznabCatType.TVHD, "1080i");
caps.Categories.AddCategoryMapping("2160p", TorznabCatType.TVUHD, "2160p");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
{
LoadValuesFromJson(configJson);

View File

@ -32,6 +32,8 @@ namespace Jackett.Common.Indexers
public override string Language => "nb-NO";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LoginUrl => SiteLink + "login.php";
private string LoginCheckUrl => SiteLink + "takelogin.php";
private string SearchUrl => SiteLink + "browse.php";
@ -40,54 +42,60 @@ namespace Jackett.Common.Indexers
public NorBits(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: w,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataNorbits())
{
AddCategoryMapping("main_cat[]=1&sub2_cat[]=49", TorznabCatType.MoviesUHD, "Filmer - UHD-2160p");
AddCategoryMapping("main_cat[]=1&sub2_cat[]=19", TorznabCatType.MoviesHD, "Filmer - HD-1080p/i");
AddCategoryMapping("main_cat[]=1&sub2_cat[]=20", TorznabCatType.MoviesHD, "Filmer - HD-720p");
AddCategoryMapping("main_cat[]=1&sub2_cat[]=22", TorznabCatType.MoviesSD, "Filmer - SD");
AddCategoryMapping("main_cat[]=2&sub2_cat[]=49", TorznabCatType.TVUHD, "TV - UHD-2160p");
AddCategoryMapping("main_cat[]=2&sub2_cat[]=19", TorznabCatType.TVHD, "TV - HD-1080p/i");
AddCategoryMapping("main_cat[]=2&sub2_cat[]=20", TorznabCatType.TVHD, "TV - HD-720p");
AddCategoryMapping("main_cat[]=2&sub2_cat[]=22", TorznabCatType.TVSD, "TV - SD");
AddCategoryMapping("main_cat[]=3", TorznabCatType.PC, "Programmer");
AddCategoryMapping("main_cat[]=4", TorznabCatType.Console, "Spill");
AddCategoryMapping("main_cat[]=5&sub2_cat[]=42", TorznabCatType.AudioMP3, "Musikk - 192");
AddCategoryMapping("main_cat[]=5&sub2_cat[]=43", TorznabCatType.AudioMP3, "Musikk - 256");
AddCategoryMapping("main_cat[]=5&sub2_cat[]=44", TorznabCatType.AudioMP3, "Musikk - 320");
AddCategoryMapping("main_cat[]=5&sub2_cat[]=45", TorznabCatType.AudioMP3, "Musikk - VBR");
AddCategoryMapping("main_cat[]=5&sub2_cat[]=46", TorznabCatType.AudioLossless, "Musikk - Lossless");
AddCategoryMapping("main_cat[]=6", TorznabCatType.Books, "Tidsskrift");
AddCategoryMapping("main_cat[]=7", TorznabCatType.AudioAudiobook, "Lydbøker");
AddCategoryMapping("main_cat[]=8&sub2_cat[]=19", TorznabCatType.AudioVideo, "Musikkvideoer - HD-1080p/i");
AddCategoryMapping("main_cat[]=8&sub2_cat[]=20", TorznabCatType.AudioVideo, "Musikkvideoer - HD-720p");
AddCategoryMapping("main_cat[]=8&sub2_cat[]=22", TorznabCatType.AudioVideo, "Musikkvideoer - SD");
AddCategoryMapping("main_cat[]=40", TorznabCatType.AudioOther, "Podcasts");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping("main_cat[]=1&sub2_cat[]=49", TorznabCatType.MoviesUHD, "Filmer - UHD-2160p");
caps.Categories.AddCategoryMapping("main_cat[]=1&sub2_cat[]=19", TorznabCatType.MoviesHD, "Filmer - HD-1080p/i");
caps.Categories.AddCategoryMapping("main_cat[]=1&sub2_cat[]=20", TorznabCatType.MoviesHD, "Filmer - HD-720p");
caps.Categories.AddCategoryMapping("main_cat[]=1&sub2_cat[]=22", TorznabCatType.MoviesSD, "Filmer - SD");
caps.Categories.AddCategoryMapping("main_cat[]=2&sub2_cat[]=49", TorznabCatType.TVUHD, "TV - UHD-2160p");
caps.Categories.AddCategoryMapping("main_cat[]=2&sub2_cat[]=19", TorznabCatType.TVHD, "TV - HD-1080p/i");
caps.Categories.AddCategoryMapping("main_cat[]=2&sub2_cat[]=20", TorznabCatType.TVHD, "TV - HD-720p");
caps.Categories.AddCategoryMapping("main_cat[]=2&sub2_cat[]=22", TorznabCatType.TVSD, "TV - SD");
caps.Categories.AddCategoryMapping("main_cat[]=3", TorznabCatType.PC, "Programmer");
caps.Categories.AddCategoryMapping("main_cat[]=4", TorznabCatType.Console, "Spill");
caps.Categories.AddCategoryMapping("main_cat[]=5&sub2_cat[]=42", TorznabCatType.AudioMP3, "Musikk - 192");
caps.Categories.AddCategoryMapping("main_cat[]=5&sub2_cat[]=43", TorznabCatType.AudioMP3, "Musikk - 256");
caps.Categories.AddCategoryMapping("main_cat[]=5&sub2_cat[]=44", TorznabCatType.AudioMP3, "Musikk - 320");
caps.Categories.AddCategoryMapping("main_cat[]=5&sub2_cat[]=45", TorznabCatType.AudioMP3, "Musikk - VBR");
caps.Categories.AddCategoryMapping("main_cat[]=5&sub2_cat[]=46", TorznabCatType.AudioLossless, "Musikk - Lossless");
caps.Categories.AddCategoryMapping("main_cat[]=6", TorznabCatType.Books, "Tidsskrift");
caps.Categories.AddCategoryMapping("main_cat[]=7", TorznabCatType.AudioAudiobook, "Lydbøker");
caps.Categories.AddCategoryMapping("main_cat[]=8&sub2_cat[]=19", TorznabCatType.AudioVideo, "Musikkvideoer - HD-1080p/i");
caps.Categories.AddCategoryMapping("main_cat[]=8&sub2_cat[]=20", TorznabCatType.AudioVideo, "Musikkvideoer - HD-720p");
caps.Categories.AddCategoryMapping("main_cat[]=8&sub2_cat[]=22", TorznabCatType.AudioVideo, "Musikkvideoer - SD");
caps.Categories.AddCategoryMapping("main_cat[]=40", TorznabCatType.AudioOther, "Podcasts");
return caps;
}
/// <summary>

View File

@ -18,6 +18,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
// API Reference: https://github.com/OPSnet/Gazelle/wiki/JSON-API-Documentation
protected override string DownloadUrl => SiteLink + "ajax.php?action=download" + (useTokens ? "&usetoken=1" : "") + "&id=";
protected override string AuthorizationFormat => "token {0}";
@ -25,23 +27,7 @@ namespace Jackett.Common.Indexers
protected override string FlipOptionalTokenString(string requestLink) => requestLink.Replace("usetoken=1", "");
public Orpheus(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.Genre
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year, MusicSearchParam.Genre
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q, BookSearchParam.Genre
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -52,13 +38,35 @@ namespace Jackett.Common.Indexers
usePassKey: false,
instructionMessageOptional: "<ol><li>Go to Orpheus's site and open your account settings.</li><li>Under <b>Access Settings</b> click on 'Create a new token'</li><li>Give it a name you like and click <b>Generate</b>.</li><li>Copy the generated API Key and paste it in the above text field.</li></ol>")
{
AddCategoryMapping(1, TorznabCatType.Audio, "Music");
AddCategoryMapping(2, TorznabCatType.PC, "Applications");
AddCategoryMapping(3, TorznabCatType.Books, "E-Books");
AddCategoryMapping(4, TorznabCatType.AudioAudiobook, "Audiobooks");
AddCategoryMapping(5, TorznabCatType.Movies, "E-Learning Videos");
AddCategoryMapping(6, TorznabCatType.Audio, "Comedy");
AddCategoryMapping(7, TorznabCatType.Books, "Comics");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.Genre
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year, MusicSearchParam.Genre
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q, BookSearchParam.Genre
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.Audio, "Music");
caps.Categories.AddCategoryMapping(2, TorznabCatType.PC, "Applications");
caps.Categories.AddCategoryMapping(3, TorznabCatType.Books, "E-Books");
caps.Categories.AddCategoryMapping(4, TorznabCatType.AudioAudiobook, "Audiobooks");
caps.Categories.AddCategoryMapping(5, TorznabCatType.Movies, "E-Learning Videos");
caps.Categories.AddCategoryMapping(6, TorznabCatType.Audio, "Comedy");
caps.Categories.AddCategoryMapping(7, TorznabCatType.Books, "Comics");
return caps;
}
}
}

View File

@ -5,7 +5,6 @@ using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig;
@ -26,6 +25,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private static string SearchUrl => "https://passthepopcorn.me/torrents.php";
private string AuthKey { get; set; }
private string PassKey { get; set; }
@ -39,19 +40,7 @@ namespace Jackett.Common.Indexers
public PassThePopcorn(IIndexerConfigurationService configService, Utils.Clients.WebClient c, Logger l,
IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
}
},
configService: configService,
: base(configService: configService,
client: c,
logger: l,
p: ps,
@ -61,20 +50,37 @@ namespace Jackett.Common.Indexers
<br><code>GoldenPopcorn</code><br><code>Scene</code><br><code>Checked</code><br><code>Free</code>"))
{
webclient.requestDelay = 2; // 0.5 requests per second
}
AddCategoryMapping(1, TorznabCatType.Movies, "Feature Film");
AddCategoryMapping(1, TorznabCatType.MoviesForeign);
AddCategoryMapping(1, TorznabCatType.MoviesOther);
AddCategoryMapping(1, TorznabCatType.MoviesSD);
AddCategoryMapping(1, TorznabCatType.MoviesHD);
AddCategoryMapping(1, TorznabCatType.Movies3D);
AddCategoryMapping(1, TorznabCatType.MoviesBluRay);
AddCategoryMapping(1, TorznabCatType.MoviesDVD);
AddCategoryMapping(1, TorznabCatType.MoviesWEBDL);
AddCategoryMapping(2, TorznabCatType.Movies, "Short Film");
AddCategoryMapping(3, TorznabCatType.TV, "Miniseries");
AddCategoryMapping(4, TorznabCatType.TV, "Stand-up Comedy");
AddCategoryMapping(5, TorznabCatType.TV, "Live Performance");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.Movies, "Feature Film");
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesForeign);
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesOther);
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesSD);
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesHD);
caps.Categories.AddCategoryMapping(1, TorznabCatType.Movies3D);
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesBluRay);
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesDVD);
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesWEBDL);
caps.Categories.AddCategoryMapping(2, TorznabCatType.Movies, "Short Film");
caps.Categories.AddCategoryMapping(3, TorznabCatType.TV, "Miniseries");
caps.Categories.AddCategoryMapping(4, TorznabCatType.TV, "Stand-up Comedy");
caps.Categories.AddCategoryMapping(5, TorznabCatType.TV, "Live Performance");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -4,7 +4,6 @@ using System.Collections.Specialized;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AngleSharp.Dom;
using AngleSharp.Html.Parser;
@ -28,6 +27,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string SearchUrl => SiteLink + "torrentsutils.php";
private string LoginUrl => SiteLink + "takelogin.php";
private string CaptchaUrl => SiteLink + "simpleCaptcha.php?numImages=1";
@ -40,37 +41,43 @@ namespace Jackett.Common.Indexers
public PirateTheNet(IIndexerConfigurationService configService, WebClient w, Logger l,
IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
}
},
configService: configService,
: base(configService: configService,
client: w,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLoginWithRSSAndDisplay("Only the results from the first search result page are shown, adjust your profile settings to show the maximum."))
{
AddCategoryMapping("1080P", TorznabCatType.MoviesHD, "1080P");
AddCategoryMapping("2160P", TorznabCatType.MoviesHD, "2160P");
AddCategoryMapping("720P", TorznabCatType.MoviesHD, "720P");
AddCategoryMapping("BDRip", TorznabCatType.MoviesSD, "BDRip");
AddCategoryMapping("BluRay", TorznabCatType.MoviesBluRay, "BluRay");
AddCategoryMapping("BRRip", TorznabCatType.MoviesSD, "BRRip");
AddCategoryMapping("DVDR", TorznabCatType.MoviesDVD, "DVDR");
AddCategoryMapping("DVDRip", TorznabCatType.MoviesSD, "DVDRip");
AddCategoryMapping("FLAC", TorznabCatType.AudioLossless, "FLAC OST");
AddCategoryMapping("MP3", TorznabCatType.AudioMP3, "MP3 OST");
AddCategoryMapping("MP4", TorznabCatType.MoviesOther, "MP4");
AddCategoryMapping("Packs", TorznabCatType.MoviesOther, "Packs");
AddCategoryMapping("R5", TorznabCatType.MoviesDVD, "R5 / SCR");
AddCategoryMapping("Remux", TorznabCatType.MoviesOther, "Remux");
AddCategoryMapping("TVRip", TorznabCatType.MoviesOther, "TVRip");
AddCategoryMapping("WebRip", TorznabCatType.MoviesWEBDL, "WebRip");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
}
};
caps.Categories.AddCategoryMapping("1080P", TorznabCatType.MoviesHD, "1080P");
caps.Categories.AddCategoryMapping("2160P", TorznabCatType.MoviesHD, "2160P");
caps.Categories.AddCategoryMapping("720P", TorznabCatType.MoviesHD, "720P");
caps.Categories.AddCategoryMapping("BDRip", TorznabCatType.MoviesSD, "BDRip");
caps.Categories.AddCategoryMapping("BluRay", TorznabCatType.MoviesBluRay, "BluRay");
caps.Categories.AddCategoryMapping("BRRip", TorznabCatType.MoviesSD, "BRRip");
caps.Categories.AddCategoryMapping("DVDR", TorznabCatType.MoviesDVD, "DVDR");
caps.Categories.AddCategoryMapping("DVDRip", TorznabCatType.MoviesSD, "DVDRip");
caps.Categories.AddCategoryMapping("FLAC", TorznabCatType.AudioLossless, "FLAC OST");
caps.Categories.AddCategoryMapping("MP3", TorznabCatType.AudioMP3, "MP3 OST");
caps.Categories.AddCategoryMapping("MP4", TorznabCatType.MoviesOther, "MP4");
caps.Categories.AddCategoryMapping("Packs", TorznabCatType.MoviesOther, "Packs");
caps.Categories.AddCategoryMapping("R5", TorznabCatType.MoviesDVD, "R5 / SCR");
caps.Categories.AddCategoryMapping("Remux", TorznabCatType.MoviesOther, "Remux");
caps.Categories.AddCategoryMapping("TVRip", TorznabCatType.MoviesOther, "TVRip");
caps.Categories.AddCategoryMapping("WebRip", TorznabCatType.MoviesWEBDL, "WebRip");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -2,7 +2,6 @@ using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Diagnostics.CodeAnalysis;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Html.Parser;
@ -26,6 +25,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LoginUrl => SiteLink + "login.php";
private string BrowseUrl => SiteLink + "torrents.php";
@ -39,25 +40,29 @@ namespace Jackett.Common.Indexers
private string input_username = null;
private string input_password = null;
public PixelHD(IIndexerConfigurationService configService, WebClient webClient, Logger logger,
IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
}
},
configService: configService,
public PixelHD(IIndexerConfigurationService configService, WebClient webClient, Logger logger, IProtectionService ps, ICacheService cs)
: base(configService: configService,
logger: logger,
p: ps,
cacheService: cs,
client: webClient,
configData: new ConfigurationDataCaptchaLogin()
)
configData: new ConfigurationDataCaptchaLogin())
{
AddCategoryMapping(1, TorznabCatType.MoviesHD);
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesHD);
return caps;
}
public override async Task<ConfigurationData> GetConfigurationForSetup()

View File

@ -27,6 +27,8 @@ namespace Jackett.Common.Indexers
public override string Language => "ru-RU";
public override string Type => "semi-private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LoginUrl => SiteLink + "forum/login.php";
private string SearchUrl => SiteLink + "forum/tracker.php";
@ -41,152 +43,159 @@ namespace Jackett.Common.Indexers
}
public PornoLab(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(caps: new TorznabCapabilities(),
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataPornolab())
{
AddCategoryMapping(1670, TorznabCatType.XXX, "Эротическое видео / Erotic & Softcore");
AddCategoryMapping(1768, TorznabCatType.XXX, "Эротические фильмы / Erotic Movies");
AddCategoryMapping(60, TorznabCatType.XXX, "Документальные фильмы / Documentary & Reality");
AddCategoryMapping(1671, TorznabCatType.XXX, "Эротические ролики и сайтрипы / Erotic Clips & SiteRips");
AddCategoryMapping(1644, TorznabCatType.XXX, "Нудизм-Натуризм / Nudity");
}
AddCategoryMapping(1672, TorznabCatType.XXX, "Зарубежные порнофильмы / Full Length Movies");
AddCategoryMapping(1111, TorznabCatType.XXXPack, "Паки полных фильмов / Full Length Movies Packs");
AddCategoryMapping(508, TorznabCatType.XXX, "Классические фильмы / Classic");
AddCategoryMapping(555, TorznabCatType.XXX, "Фильмы с сюжетом / Feature & Vignettes");
AddCategoryMapping(1845, TorznabCatType.XXX, "Гонзо-фильмы 1991-2010 / Gonzo 1991-2010");
AddCategoryMapping(1673, TorznabCatType.XXX, "Гонзо-фильмы 2011-2023 / Gonzo 2011-2023");
AddCategoryMapping(1112, TorznabCatType.XXX, "Фильмы без сюжета 1991-2010 / All Sex & Amateur 1991-2010");
AddCategoryMapping(1718, TorznabCatType.XXX, "Фильмы без сюжета 2011-2023 / All Sex & Amateur 2011-2023");
AddCategoryMapping(553, TorznabCatType.XXX, "Лесбо-фильмы / All Girl & Solo");
AddCategoryMapping(1143, TorznabCatType.XXX, "Этнические фильмы / Ethnic-Themed");
AddCategoryMapping(1646, TorznabCatType.XXX, "Видео для телефонов и КПК / Pocket РС & Phone Video");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities();
AddCategoryMapping(1717, TorznabCatType.XXX, "Зарубежные фильмы в высоком качестве (DVD&HD) / Full Length Movies High-Quality");
AddCategoryMapping(1851, TorznabCatType.XXXDVD, "Эротические и Документальные видео (DVD) / Erotic, Documentary & Reality (DVD)");
AddCategoryMapping(1713, TorznabCatType.XXXDVD, "Фильмы с сюжетом, Классические (DVD) / Feature & Vignetts, Classic (DVD)");
AddCategoryMapping(512, TorznabCatType.XXXDVD, "Гонзо, Лесбо и Фильмы без сюжета (DVD) / Gonzo, All Girl & Solo, All Sex (DVD)");
AddCategoryMapping(1712, TorznabCatType.XXX, "Эротические и Документальные видео (HD Video) / Erotic, Documentary & Reality (HD Video)");
AddCategoryMapping(1775, TorznabCatType.XXX, "Фильмы с сюжетом, Классические (HD Video) / Feature & Vignettes, Classic (HD Video)");
AddCategoryMapping(1450, TorznabCatType.XXX, "Гонзо, Лесбо и Фильмы без сюжета (HD Video) / Gonzo, All Girl & Solo, All Sex (HD Video)");
caps.Categories.AddCategoryMapping(1670, TorznabCatType.XXX, "Эротическое видео / Erotic & Softcore");
caps.Categories.AddCategoryMapping(1768, TorznabCatType.XXX, "Эротические фильмы / Erotic Movies");
caps.Categories.AddCategoryMapping(60, TorznabCatType.XXX, "Документальные фильмы / Documentary & Reality");
caps.Categories.AddCategoryMapping(1671, TorznabCatType.XXX, "Эротические ролики и сайтрипы / Erotic Clips & SiteRips");
caps.Categories.AddCategoryMapping(1644, TorznabCatType.XXX, "Нудизм-Натуризм / Nudity");
AddCategoryMapping(1674, TorznabCatType.XXX, "Русское порно / Russian Video");
AddCategoryMapping(902, TorznabCatType.XXX, "Русские порнофильмы / Russian Full Length Movies");
AddCategoryMapping(1675, TorznabCatType.XXXPack, "Паки русских порнороликов / Russian Clips Packs");
AddCategoryMapping(36, TorznabCatType.XXX, "Сайтрипы с русскими актрисами 1991-2015 / Russian SiteRip's 1991-2015");
AddCategoryMapping(1830, TorznabCatType.XXX, "Сайтрипы с русскими актрисами 1991-2015 (HD Video) / Russian SiteRip's 1991-2015 (HD Video)");
AddCategoryMapping(1803, TorznabCatType.XXX, "Сайтрипы с русскими актрисами 2016-2023 / Russian SiteRip's 2016-2023");
AddCategoryMapping(1831, TorznabCatType.XXX, "Сайтрипы с русскими актрисами 2016-2023 (HD Video) / Russian SiteRip's 2016-2023 (HD Video)");
AddCategoryMapping(1741, TorznabCatType.XXX, "Русские Порноролики Разное / Russian Clips (various)");
AddCategoryMapping(1676, TorznabCatType.XXX, "Русское любительское видео / Russian Amateur Video");
caps.Categories.AddCategoryMapping(1672, TorznabCatType.XXX, "Зарубежные порнофильмы / Full Length Movies");
caps.Categories.AddCategoryMapping(1111, TorznabCatType.XXXPack, "Паки полных фильмов / Full Length Movies Packs");
caps.Categories.AddCategoryMapping(508, TorznabCatType.XXX, "Классические фильмы / Classic");
caps.Categories.AddCategoryMapping(555, TorznabCatType.XXX, "Фильмы с сюжетом / Feature & Vignettes");
caps.Categories.AddCategoryMapping(1845, TorznabCatType.XXX, "Гонзо-фильмы 1991-2010 / Gonzo 1991-2010");
caps.Categories.AddCategoryMapping(1673, TorznabCatType.XXX, "Гонзо-фильмы 2011-2023 / Gonzo 2011-2023");
caps.Categories.AddCategoryMapping(1112, TorznabCatType.XXX, "Фильмы без сюжета 1991-2010 / All Sex & Amateur 1991-2010");
caps.Categories.AddCategoryMapping(1718, TorznabCatType.XXX, "Фильмы без сюжета 2011-2023 / All Sex & Amateur 2011-2023");
caps.Categories.AddCategoryMapping(553, TorznabCatType.XXX, "Лесбо-фильмы / All Girl & Solo");
caps.Categories.AddCategoryMapping(1143, TorznabCatType.XXX, "Этнические фильмы / Ethnic-Themed");
caps.Categories.AddCategoryMapping(1646, TorznabCatType.XXX, "Видео для телефонов и КПК / Pocket РС & Phone Video");
AddCategoryMapping(1677, TorznabCatType.XXX, "Зарубежные порноролики / Clips");
AddCategoryMapping(1780, TorznabCatType.XXXPack, "Паки сайтрипов (HD Video) / SiteRip's Packs (HD Video)");
AddCategoryMapping(1110, TorznabCatType.XXXPack, "Паки сайтрипов (SD Video) / SiteRip's Packs (SD Video)");
AddCategoryMapping(1678, TorznabCatType.XXXPack, "Паки порнороликов по актрисам / Actresses Clips Packs");
AddCategoryMapping(1124, TorznabCatType.XXX, "Сайтрипы 1991-2010 (HD Video) / SiteRip's 1991-2010 (HD Video)");
AddCategoryMapping(1784, TorznabCatType.XXX, "Сайтрипы 2011-2012 (HD Video) / SiteRip's 2011-2012 (HD Video)");
AddCategoryMapping(1769, TorznabCatType.XXX, "Сайтрипы 2013 (HD Video) / SiteRip's 2013 (HD Video)");
AddCategoryMapping(1793, TorznabCatType.XXX, "Сайтрипы 2014 (HD Video) / SiteRip's 2014 (HD Video)");
AddCategoryMapping(1797, TorznabCatType.XXX, "Сайтрипы 2015 (HD Video) / SiteRip's 2015 (HD Video)");
AddCategoryMapping(1804, TorznabCatType.XXX, "Сайтрипы 2016 (HD Video) / SiteRip's 2016 (HD Video)");
AddCategoryMapping(1819, TorznabCatType.XXX, "Сайтрипы 2017 (HD Video) / SiteRip's 2017 (HD Video)");
AddCategoryMapping(1825, TorznabCatType.XXX, "Сайтрипы 2018 (HD Video) / SiteRip's 2018 (HD Video)");
AddCategoryMapping(1836, TorznabCatType.XXX, "Сайтрипы 2019 (HD Video) / SiteRip's 2019 (HD Video)");
AddCategoryMapping(1842, TorznabCatType.XXX, "Сайтрипы 2020 (HD Video) / SiteRip's 2020 (HD Video)");
AddCategoryMapping(1846, TorznabCatType.XXX, "Сайтрипы 2021 (HD Video) / SiteRip's 2021 (HD Video)");
AddCategoryMapping(1857, TorznabCatType.XXX, "Сайтрипы 2022 (HD Video) / SiteRip's 2022 (HD Video)");
AddCategoryMapping(1861, TorznabCatType.XXX, "Сайтрипы 2023 (HD Video) / SiteRip's 2023 (HD Video)");
AddCategoryMapping(1451, TorznabCatType.XXX, "Сайтрипы 1991-2010 / SiteRip's 1991-2010");
AddCategoryMapping(1788, TorznabCatType.XXX, "Сайтрипы 2011-2012 / SiteRip's 2011-2012");
AddCategoryMapping(1789, TorznabCatType.XXX, "Сайтрипы 2013 / SiteRip's 2013");
AddCategoryMapping(1792, TorznabCatType.XXX, "Сайтрипы 2014 / SiteRip's 2014");
AddCategoryMapping(1798, TorznabCatType.XXX, "Сайтрипы 2015 / SiteRip's 2015");
AddCategoryMapping(1805, TorznabCatType.XXX, "Сайтрипы 2016 / SiteRip's 2016");
AddCategoryMapping(1820, TorznabCatType.XXX, "Сайтрипы 2017 / SiteRip's 2017");
AddCategoryMapping(1826, TorznabCatType.XXX, "Сайтрипы 2018 / SiteRip's 2018");
AddCategoryMapping(1837, TorznabCatType.XXX, "Сайтрипы 2019 / SiteRip's 2019");
AddCategoryMapping(1843, TorznabCatType.XXX, "Сайтрипы 2020 / SiteRip's 2020");
AddCategoryMapping(1847, TorznabCatType.XXX, "Сайтрипы 2021 / SiteRip's 2021");
AddCategoryMapping(1856, TorznabCatType.XXX, "Сайтрипы 2022 / SiteRip's 2022");
AddCategoryMapping(1862, TorznabCatType.XXX, "Сайтрипы 2023 / SiteRip's 2023");
AddCategoryMapping(1707, TorznabCatType.XXX, "Сцены из фильмов / Movie Scenes (кроме SiteRip)");
AddCategoryMapping(284, TorznabCatType.XXX, "Порноролики Разное / Clips (various)");
AddCategoryMapping(1853, TorznabCatType.XXX, "Компиляции и Музыкальные порно клипы / Compilations & Porn Music Video (PMV)");
AddCategoryMapping(1823, TorznabCatType.XXX, "Порноролики в 3D и Virtual Reality (VR) / 3D & Virtual Reality Videos");
caps.Categories.AddCategoryMapping(1717, TorznabCatType.XXX, "Зарубежные фильмы в высоком качестве (DVD&HD) / Full Length Movies High-Quality");
caps.Categories.AddCategoryMapping(1851, TorznabCatType.XXXDVD, "Эротические и Документальные видео (DVD) / Erotic, Documentary & Reality (DVD)");
caps.Categories.AddCategoryMapping(1713, TorznabCatType.XXXDVD, "Фильмы с сюжетом, Классические (DVD) / Feature & Vignetts, Classic (DVD)");
caps.Categories.AddCategoryMapping(512, TorznabCatType.XXXDVD, "Гонзо, Лесбо и Фильмы без сюжета (DVD) / Gonzo, All Girl & Solo, All Sex (DVD)");
caps.Categories.AddCategoryMapping(1712, TorznabCatType.XXX, "Эротические и Документальные видео (HD Video) / Erotic, Documentary & Reality (HD Video)");
caps.Categories.AddCategoryMapping(1775, TorznabCatType.XXX, "Фильмы с сюжетом, Классические (HD Video) / Feature & Vignettes, Classic (HD Video)");
caps.Categories.AddCategoryMapping(1450, TorznabCatType.XXX, "Гонзо, Лесбо и Фильмы без сюжета (HD Video) / Gonzo, All Girl & Solo, All Sex (HD Video)");
AddCategoryMapping(1800, TorznabCatType.XXX, "Японское и китайское порно / Japanese & Chinese Adult Video (JAV)");
AddCategoryMapping(1801, TorznabCatType.XXXPack, "Паки японских фильмов и сайтрипов / Full Length Japanese Movies Packs & SiteRip's Packs");
AddCategoryMapping(1719, TorznabCatType.XXX, "Японские фильмы и сайтрипы (DVD и HD Video) / Japanese Movies & SiteRip's (DVD & HD Video)");
AddCategoryMapping(997, TorznabCatType.XXX, "Японские фильмы и сайтрипы 1991-2014 / Japanese Movies & SiteRip's 1991-2014");
AddCategoryMapping(1818, TorznabCatType.XXX, "Японские фильмы и сайтрипы 2015-2023 / Japanese Movies & SiteRip's 2015-2023");
AddCategoryMapping(1849, TorznabCatType.XXX, "Китайские фильмы и сайтрипы (DVD и HD Video) / Chinese Movies & SiteRip's (DVD & HD Video)");
AddCategoryMapping(1815, TorznabCatType.XXX, "Архив (Японское и китайское порно)");
caps.Categories.AddCategoryMapping(1674, TorznabCatType.XXX, "Русское порно / Russian Video");
caps.Categories.AddCategoryMapping(902, TorznabCatType.XXX, "Русские порнофильмы / Russian Full Length Movies");
caps.Categories.AddCategoryMapping(1675, TorznabCatType.XXXPack, "Паки русских порнороликов / Russian Clips Packs");
caps.Categories.AddCategoryMapping(36, TorznabCatType.XXX, "Сайтрипы с русскими актрисами 1991-2015 / Russian SiteRip's 1991-2015");
caps.Categories.AddCategoryMapping(1830, TorznabCatType.XXX, "Сайтрипы с русскими актрисами 1991-2015 (HD Video) / Russian SiteRip's 1991-2015 (HD Video)");
caps.Categories.AddCategoryMapping(1803, TorznabCatType.XXX, "Сайтрипы с русскими актрисами 2016-2023 / Russian SiteRip's 2016-2023");
caps.Categories.AddCategoryMapping(1831, TorznabCatType.XXX, "Сайтрипы с русскими актрисами 2016-2023 (HD Video) / Russian SiteRip's 2016-2023 (HD Video)");
caps.Categories.AddCategoryMapping(1741, TorznabCatType.XXX, "Русские Порноролики Разное / Russian Clips (various)");
caps.Categories.AddCategoryMapping(1676, TorznabCatType.XXX, "Русское любительское видео / Russian Amateur Video");
AddCategoryMapping(1723, TorznabCatType.XXX, "Фото и журналы / Photos & Magazines");
AddCategoryMapping(1726, TorznabCatType.XXX, "MetArt & MetModels");
AddCategoryMapping(883, TorznabCatType.XXXImageSet, "Эротические студии Разное / Erotic Picture Gallery (various)");
AddCategoryMapping(1759, TorznabCatType.XXXImageSet, "Паки сайтрипов эротических студий / Erotic Picture SiteRip's Packs");
AddCategoryMapping(1728, TorznabCatType.XXXImageSet, "Любительское фото / Amateur Picture Gallery");
AddCategoryMapping(1729, TorznabCatType.XXXPack, "Подборки по актрисам / Actresses Picture Packs");
AddCategoryMapping(38, TorznabCatType.XXXImageSet, "Подборки сайтрипов / SiteRip's Picture Packs");
AddCategoryMapping(1757, TorznabCatType.XXXImageSet, "Подборки сетов / Picture Sets Packs");
AddCategoryMapping(1735, TorznabCatType.XXXImageSet, "Тематическое и нетрадиционное фото / Misc & Special Interest Picture Packs");
AddCategoryMapping(1731, TorznabCatType.XXXImageSet, "Журналы / Magazines");
AddCategoryMapping(1802, TorznabCatType.XXX, "Архив (Фото)");
caps.Categories.AddCategoryMapping(1677, TorznabCatType.XXX, "Зарубежные порноролики / Clips");
caps.Categories.AddCategoryMapping(1780, TorznabCatType.XXXPack, "Паки сайтрипов (HD Video) / SiteRip's Packs (HD Video)");
caps.Categories.AddCategoryMapping(1110, TorznabCatType.XXXPack, "Паки сайтрипов (SD Video) / SiteRip's Packs (SD Video)");
caps.Categories.AddCategoryMapping(1678, TorznabCatType.XXXPack, "Паки порнороликов по актрисам / Actresses Clips Packs");
caps.Categories.AddCategoryMapping(1124, TorznabCatType.XXX, "Сайтрипы 1991-2010 (HD Video) / SiteRip's 1991-2010 (HD Video)");
caps.Categories.AddCategoryMapping(1784, TorznabCatType.XXX, "Сайтрипы 2011-2012 (HD Video) / SiteRip's 2011-2012 (HD Video)");
caps.Categories.AddCategoryMapping(1769, TorznabCatType.XXX, "Сайтрипы 2013 (HD Video) / SiteRip's 2013 (HD Video)");
caps.Categories.AddCategoryMapping(1793, TorznabCatType.XXX, "Сайтрипы 2014 (HD Video) / SiteRip's 2014 (HD Video)");
caps.Categories.AddCategoryMapping(1797, TorznabCatType.XXX, "Сайтрипы 2015 (HD Video) / SiteRip's 2015 (HD Video)");
caps.Categories.AddCategoryMapping(1804, TorznabCatType.XXX, "Сайтрипы 2016 (HD Video) / SiteRip's 2016 (HD Video)");
caps.Categories.AddCategoryMapping(1819, TorznabCatType.XXX, "Сайтрипы 2017 (HD Video) / SiteRip's 2017 (HD Video)");
caps.Categories.AddCategoryMapping(1825, TorznabCatType.XXX, "Сайтрипы 2018 (HD Video) / SiteRip's 2018 (HD Video)");
caps.Categories.AddCategoryMapping(1836, TorznabCatType.XXX, "Сайтрипы 2019 (HD Video) / SiteRip's 2019 (HD Video)");
caps.Categories.AddCategoryMapping(1842, TorznabCatType.XXX, "Сайтрипы 2020 (HD Video) / SiteRip's 2020 (HD Video)");
caps.Categories.AddCategoryMapping(1846, TorznabCatType.XXX, "Сайтрипы 2021 (HD Video) / SiteRip's 2021 (HD Video)");
caps.Categories.AddCategoryMapping(1857, TorznabCatType.XXX, "Сайтрипы 2022 (HD Video) / SiteRip's 2022 (HD Video)");
caps.Categories.AddCategoryMapping(1861, TorznabCatType.XXX, "Сайтрипы 2023 (HD Video) / SiteRip's 2023 (HD Video)");
caps.Categories.AddCategoryMapping(1451, TorznabCatType.XXX, "Сайтрипы 1991-2010 / SiteRip's 1991-2010");
caps.Categories.AddCategoryMapping(1788, TorznabCatType.XXX, "Сайтрипы 2011-2012 / SiteRip's 2011-2012");
caps.Categories.AddCategoryMapping(1789, TorznabCatType.XXX, "Сайтрипы 2013 / SiteRip's 2013");
caps.Categories.AddCategoryMapping(1792, TorznabCatType.XXX, "Сайтрипы 2014 / SiteRip's 2014");
caps.Categories.AddCategoryMapping(1798, TorznabCatType.XXX, "Сайтрипы 2015 / SiteRip's 2015");
caps.Categories.AddCategoryMapping(1805, TorznabCatType.XXX, "Сайтрипы 2016 / SiteRip's 2016");
caps.Categories.AddCategoryMapping(1820, TorznabCatType.XXX, "Сайтрипы 2017 / SiteRip's 2017");
caps.Categories.AddCategoryMapping(1826, TorznabCatType.XXX, "Сайтрипы 2018 / SiteRip's 2018");
caps.Categories.AddCategoryMapping(1837, TorznabCatType.XXX, "Сайтрипы 2019 / SiteRip's 2019");
caps.Categories.AddCategoryMapping(1843, TorznabCatType.XXX, "Сайтрипы 2020 / SiteRip's 2020");
caps.Categories.AddCategoryMapping(1847, TorznabCatType.XXX, "Сайтрипы 2021 / SiteRip's 2021");
caps.Categories.AddCategoryMapping(1856, TorznabCatType.XXX, "Сайтрипы 2022 / SiteRip's 2022");
caps.Categories.AddCategoryMapping(1862, TorznabCatType.XXX, "Сайтрипы 2023 / SiteRip's 2023");
caps.Categories.AddCategoryMapping(1707, TorznabCatType.XXX, "Сцены из фильмов / Movie Scenes (кроме SiteRip)");
caps.Categories.AddCategoryMapping(284, TorznabCatType.XXX, "Порноролики Разное / Clips (various)");
caps.Categories.AddCategoryMapping(1853, TorznabCatType.XXX, "Компиляции и Музыкальные порно клипы / Compilations & Porn Music Video (PMV)");
caps.Categories.AddCategoryMapping(1823, TorznabCatType.XXX, "Порноролики в 3D и Virtual Reality (VR) / 3D & Virtual Reality Videos");
AddCategoryMapping(1745, TorznabCatType.XXX, "Хентай и Манга, Мультфильмы и Комиксы, Рисунки / Hentai & Manga, Cartoons & Comics, Artwork");
AddCategoryMapping(1679, TorznabCatType.XXX, "Хентай: основной подраздел / Hentai: main subsection");
AddCategoryMapping(1740, TorznabCatType.XXX, "Хентай в высоком качестве (DVD и HD) / Hentai DVD & HD");
AddCategoryMapping(1834, TorznabCatType.XXX, "Хентай: ролики 2D / Hentai: 2D video");
AddCategoryMapping(1752, TorznabCatType.XXX, "Хентай: ролики 3D / Hentai: 3D video");
AddCategoryMapping(1760, TorznabCatType.XXX, "Хентай: Манга / Hentai: Manga");
AddCategoryMapping(1781, TorznabCatType.XXX, "Хентай: Арт и HCG / Hentai: Artwork & HCG");
AddCategoryMapping(1711, TorznabCatType.XXX, "Мультфильмы / Cartoons");
AddCategoryMapping(1296, TorznabCatType.XXX, "Комиксы и рисунки / Comics & Artwork");
caps.Categories.AddCategoryMapping(1800, TorznabCatType.XXX, "Японское и китайское порно / Japanese & Chinese Adult Video (JAV)");
caps.Categories.AddCategoryMapping(1801, TorznabCatType.XXXPack, "Паки японских фильмов и сайтрипов / Full Length Japanese Movies Packs & SiteRip's Packs");
caps.Categories.AddCategoryMapping(1719, TorznabCatType.XXX, "Японские фильмы и сайтрипы (DVD и HD Video) / Japanese Movies & SiteRip's (DVD & HD Video)");
caps.Categories.AddCategoryMapping(997, TorznabCatType.XXX, "Японские фильмы и сайтрипы 1991-2014 / Japanese Movies & SiteRip's 1991-2014");
caps.Categories.AddCategoryMapping(1818, TorznabCatType.XXX, "Японские фильмы и сайтрипы 2015-2023 / Japanese Movies & SiteRip's 2015-2023");
caps.Categories.AddCategoryMapping(1849, TorznabCatType.XXX, "Китайские фильмы и сайтрипы (DVD и HD Video) / Chinese Movies & SiteRip's (DVD & HD Video)");
caps.Categories.AddCategoryMapping(1815, TorznabCatType.XXX, "Архив (Японское и китайское порно)");
AddCategoryMapping(1838, TorznabCatType.XXX, "Игры / Games");
AddCategoryMapping(1750, TorznabCatType.XXX, "Игры: основной подраздел / Games: main subsection");
AddCategoryMapping(1756, TorznabCatType.XXX, "Игры: визуальные новеллы / Games: Visual Novels");
AddCategoryMapping(1785, TorznabCatType.XXX, "Игры: ролевые / Games: role-playing (RPG Maker and WOLF RPG Editor)");
AddCategoryMapping(1790, TorznabCatType.XXX, "Игры и Софт: Анимация / Software: Animation");
AddCategoryMapping(1827, TorznabCatType.XXX, "Игры: В разработке и Демо (основной подраздел) / Games: In Progress and Demo (main subsection)");
AddCategoryMapping(1828, TorznabCatType.XXX, "Игры: В разработке и Демо (ролевые) / Games: In Progress and Demo (role-playing - RPG Maker and WOLF RPG Editor)");
AddCategoryMapping(1829, TorznabCatType.XXX, "Обсуждение игр / Games Discussion");
caps.Categories.AddCategoryMapping(1723, TorznabCatType.XXX, "Фото и журналы / Photos & Magazines");
caps.Categories.AddCategoryMapping(1726, TorznabCatType.XXX, "MetArt & MetModels");
caps.Categories.AddCategoryMapping(883, TorznabCatType.XXXImageSet, "Эротические студии Разное / Erotic Picture Gallery (various)");
caps.Categories.AddCategoryMapping(1759, TorznabCatType.XXXImageSet, "Паки сайтрипов эротических студий / Erotic Picture SiteRip's Packs");
caps.Categories.AddCategoryMapping(1728, TorznabCatType.XXXImageSet, "Любительское фото / Amateur Picture Gallery");
caps.Categories.AddCategoryMapping(1729, TorznabCatType.XXXPack, "Подборки по актрисам / Actresses Picture Packs");
caps.Categories.AddCategoryMapping(38, TorznabCatType.XXXImageSet, "Подборки сайтрипов / SiteRip's Picture Packs");
caps.Categories.AddCategoryMapping(1757, TorznabCatType.XXXImageSet, "Подборки сетов / Picture Sets Packs");
caps.Categories.AddCategoryMapping(1735, TorznabCatType.XXXImageSet, "Тематическое и нетрадиционное фото / Misc & Special Interest Picture Packs");
caps.Categories.AddCategoryMapping(1731, TorznabCatType.XXXImageSet, "Журналы / Magazines");
caps.Categories.AddCategoryMapping(1802, TorznabCatType.XXX, "Архив (Фото)");
AddCategoryMapping(11, TorznabCatType.XXX, "Нетрадиционное порно / Special Interest Movies & Clips");
AddCategoryMapping(1715, TorznabCatType.XXX, "Транссексуалы (DVD и HD) / Transsexual (DVD & HD)");
AddCategoryMapping(1680, TorznabCatType.XXX, "Транссексуалы / Transsexual");
AddCategoryMapping(1758, TorznabCatType.XXX, "Бисексуалы / Bisexual");
AddCategoryMapping(1682, TorznabCatType.XXX, "БДСМ / BDSM");
AddCategoryMapping(1733, TorznabCatType.XXX, "Женское доминирование и страпон / Femdom & Strapon");
AddCategoryMapping(1754, TorznabCatType.XXX, "Подглядывание / Voyeur");
AddCategoryMapping(1734, TorznabCatType.XXX, "Фистинг и дилдо / Fisting & Dildo");
AddCategoryMapping(1791, TorznabCatType.XXX, "Беременные / Pregnant");
AddCategoryMapping(509, TorznabCatType.XXX, "Буккаке / Bukkake");
AddCategoryMapping(1859, TorznabCatType.XXX, "Гэнг-бэнг / GangBang");
AddCategoryMapping(1685, TorznabCatType.XXX, "Мочеиспускание / Peeing");
AddCategoryMapping(1762, TorznabCatType.XXX, "Фетиш / Fetish");
AddCategoryMapping(1681, TorznabCatType.XXX, "Дефекация / Scat");
caps.Categories.AddCategoryMapping(1745, TorznabCatType.XXX, "Хентай и Манга, Мультфильмы и Комиксы, Рисунки / Hentai & Manga, Cartoons & Comics, Artwork");
caps.Categories.AddCategoryMapping(1679, TorznabCatType.XXX, "Хентай: основной подраздел / Hentai: main subsection");
caps.Categories.AddCategoryMapping(1740, TorznabCatType.XXX, "Хентай в высоком качестве (DVD и HD) / Hentai DVD & HD");
caps.Categories.AddCategoryMapping(1834, TorznabCatType.XXX, "Хентай: ролики 2D / Hentai: 2D video");
caps.Categories.AddCategoryMapping(1752, TorznabCatType.XXX, "Хентай: ролики 3D / Hentai: 3D video");
caps.Categories.AddCategoryMapping(1760, TorznabCatType.XXX, "Хентай: Манга / Hentai: Manga");
caps.Categories.AddCategoryMapping(1781, TorznabCatType.XXX, "Хентай: Арт и HCG / Hentai: Artwork & HCG");
caps.Categories.AddCategoryMapping(1711, TorznabCatType.XXX, "Мультфильмы / Cartoons");
caps.Categories.AddCategoryMapping(1296, TorznabCatType.XXX, "Комиксы и рисунки / Comics & Artwork");
AddCategoryMapping(1683, TorznabCatType.XXX, "Архив (общий)");
caps.Categories.AddCategoryMapping(1838, TorznabCatType.XXX, "Игры / Games");
caps.Categories.AddCategoryMapping(1750, TorznabCatType.XXX, "Игры: основной подраздел / Games: main subsection");
caps.Categories.AddCategoryMapping(1756, TorznabCatType.XXX, "Игры: визуальные новеллы / Games: Visual Novels");
caps.Categories.AddCategoryMapping(1785, TorznabCatType.XXX, "Игры: ролевые / Games: role-playing (RPG Maker and WOLF RPG Editor)");
caps.Categories.AddCategoryMapping(1790, TorznabCatType.XXX, "Игры и Софт: Анимация / Software: Animation");
caps.Categories.AddCategoryMapping(1827, TorznabCatType.XXX, "Игры: В разработке и Демо (основной подраздел) / Games: In Progress and Demo (main subsection)");
caps.Categories.AddCategoryMapping(1828, TorznabCatType.XXX, "Игры: В разработке и Демо (ролевые) / Games: In Progress and Demo (role-playing - RPG Maker and WOLF RPG Editor)");
caps.Categories.AddCategoryMapping(1829, TorznabCatType.XXX, "Обсуждение игр / Games Discussion");
AddCategoryMapping(1688, TorznabCatType.XXX, "Гей-порно / Gay Forum");
AddCategoryMapping(903, TorznabCatType.XXX, "Полнометражные гей-фильмы / Full Length Movies (Gay)");
AddCategoryMapping(1765, TorznabCatType.XXX, "Полнометражные азиатские гей-фильмы / Full-length Asian (Gay)");
AddCategoryMapping(1767, TorznabCatType.XXX, "Классические гей-фильмы (до 1990 года) / Classic Gay Films (Pre-1990's)");
AddCategoryMapping(1755, TorznabCatType.XXX, "Гей-фильмы в высоком качестве (DVD и HD) / High-Quality Full Length Movies (Gay DVD & HD)");
AddCategoryMapping(1787, TorznabCatType.XXX, "Азиатские гей-фильмы в высоком качестве (DVD и HD) / High-Quality Full Length Asian Movies (Gay DVD & HD)");
AddCategoryMapping(1763, TorznabCatType.XXXPack, "ПАКи гей-роликов и сайтрипов / Clip's & SiteRip's Packs (Gay)");
AddCategoryMapping(1777, TorznabCatType.XXX, "Гей-ролики в высоком качестве (HD Video) / Gay Clips (HD Video)");
AddCategoryMapping(1691, TorznabCatType.XXX, "Ролики, SiteRip'ы и сцены из гей-фильмов / Clips & Movie Scenes (Gay)");
AddCategoryMapping(1692, TorznabCatType.XXXImageSet, "Гей-журналы, фото, разное / Magazines, Photo, Rest (Gay)");
AddCategoryMapping(1720, TorznabCatType.XXX, "Архив (Гей-порно)");
caps.Categories.AddCategoryMapping(11, TorznabCatType.XXX, "Нетрадиционное порно / Special Interest Movies & Clips");
caps.Categories.AddCategoryMapping(1715, TorznabCatType.XXX, "Транссексуалы (DVD и HD) / Transsexual (DVD & HD)");
caps.Categories.AddCategoryMapping(1680, TorznabCatType.XXX, "Транссексуалы / Transsexual");
caps.Categories.AddCategoryMapping(1758, TorznabCatType.XXX, "Бисексуалы / Bisexual");
caps.Categories.AddCategoryMapping(1682, TorznabCatType.XXX, "БДСМ / BDSM");
caps.Categories.AddCategoryMapping(1733, TorznabCatType.XXX, "Женское доминирование и страпон / Femdom & Strapon");
caps.Categories.AddCategoryMapping(1754, TorznabCatType.XXX, "Подглядывание / Voyeur");
caps.Categories.AddCategoryMapping(1734, TorznabCatType.XXX, "Фистинг и дилдо / Fisting & Dildo");
caps.Categories.AddCategoryMapping(1791, TorznabCatType.XXX, "Беременные / Pregnant");
caps.Categories.AddCategoryMapping(509, TorznabCatType.XXX, "Буккаке / Bukkake");
caps.Categories.AddCategoryMapping(1859, TorznabCatType.XXX, "Гэнг-бэнг / GangBang");
caps.Categories.AddCategoryMapping(1685, TorznabCatType.XXX, "Мочеиспускание / Peeing");
caps.Categories.AddCategoryMapping(1762, TorznabCatType.XXX, "Фетиш / Fetish");
caps.Categories.AddCategoryMapping(1681, TorznabCatType.XXX, "Дефекация / Scat");
caps.Categories.AddCategoryMapping(1683, TorznabCatType.XXX, "Архив (общий)");
caps.Categories.AddCategoryMapping(1688, TorznabCatType.XXX, "Гей-порно / Gay Forum");
caps.Categories.AddCategoryMapping(903, TorznabCatType.XXX, "Полнометражные гей-фильмы / Full Length Movies (Gay)");
caps.Categories.AddCategoryMapping(1765, TorznabCatType.XXX, "Полнометражные азиатские гей-фильмы / Full-length Asian (Gay)");
caps.Categories.AddCategoryMapping(1767, TorznabCatType.XXX, "Классические гей-фильмы (до 1990 года) / Classic Gay Films (Pre-1990's)");
caps.Categories.AddCategoryMapping(1755, TorznabCatType.XXX, "Гей-фильмы в высоком качестве (DVD и HD) / High-Quality Full Length Movies (Gay DVD & HD)");
caps.Categories.AddCategoryMapping(1787, TorznabCatType.XXX, "Азиатские гей-фильмы в высоком качестве (DVD и HD) / High-Quality Full Length Asian Movies (Gay DVD & HD)");
caps.Categories.AddCategoryMapping(1763, TorznabCatType.XXXPack, "ПАКи гей-роликов и сайтрипов / Clip's & SiteRip's Packs (Gay)");
caps.Categories.AddCategoryMapping(1777, TorznabCatType.XXX, "Гей-ролики в высоком качестве (HD Video) / Gay Clips (HD Video)");
caps.Categories.AddCategoryMapping(1691, TorznabCatType.XXX, "Ролики, SiteRip'ы и сцены из гей-фильмов / Clips & Movie Scenes (Gay)");
caps.Categories.AddCategoryMapping(1692, TorznabCatType.XXXImageSet, "Гей-журналы, фото, разное / Magazines, Photo, Rest (Gay)");
caps.Categories.AddCategoryMapping(1720, TorznabCatType.XXX, "Архив (Гей-порно)");
return caps;
}
public override async Task<ConfigurationData> GetConfigurationForSetup()

View File

@ -27,121 +27,128 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LoginUrl => SiteLink + "takelogin.php";
private string SearchUrl => SiteLink + "browse.php";
private new ConfigurationDataPinNumber configData => (ConfigurationDataPinNumber)base.configData;
public PreToMe(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
client: wc,
public PreToMe(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(client: wc,
configService: configService,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataPinNumber("For best results, change the 'Torrents per page' setting to 100 in 'Profile => Torrent browse settings'."))
{
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
// Unfortunately most of them are tags not categories and they return the parent category
// we have to re-add the tags with the parent category so the results are not removed with the filtering
// Applications
AddCategoryMapping("cat[]=22", TorznabCatType.PC, "Applications");
AddCategoryMapping("cat[]=22&tags=Windows", TorznabCatType.PC0day, "Applications/Windows");
AddCategoryMapping("cat[]=22&tags=MAC", TorznabCatType.PCMac, "Applications/MAC");
AddCategoryMapping("cat[]=22&tags=Linux", TorznabCatType.PC, "Applications/Linux");
caps.Categories.AddCategoryMapping("cat[]=22", TorznabCatType.PC, "Applications");
caps.Categories.AddCategoryMapping("cat[]=22&tags=Windows", TorznabCatType.PC0day, "Applications/Windows");
caps.Categories.AddCategoryMapping("cat[]=22&tags=MAC", TorznabCatType.PCMac, "Applications/MAC");
caps.Categories.AddCategoryMapping("cat[]=22&tags=Linux", TorznabCatType.PC, "Applications/Linux");
// Ebooks
AddCategoryMapping("cat[]=27", TorznabCatType.BooksEBook, "Ebooks");
caps.Categories.AddCategoryMapping("cat[]=27", TorznabCatType.BooksEBook, "Ebooks");
// Games
// NOTE: Console 1000 category is not working well because it contains pc and console results mixed
AddCategoryMapping("cat[]=4", TorznabCatType.Console, "Games");
AddCategoryMapping("cat[]=4&tags=PC", TorznabCatType.PCGames, "Games/PC");
AddCategoryMapping("cat[]=4&tags=RIP", TorznabCatType.PCGames, "Games/RIP");
AddCategoryMapping("cat[]=4&tags=ISO", TorznabCatType.PCGames, "Games/ISO");
AddCategoryMapping("cat[]=4&tags=NSW", TorznabCatType.ConsoleOther, "Games/NSW");
AddCategoryMapping("cat[]=4&tags=GAMES-NSW", TorznabCatType.ConsoleOther, "Games/NSW");
AddCategoryMapping("cat[]=4&tags=XBOX360", TorznabCatType.ConsoleXBox360, "Games/XBOX360");
AddCategoryMapping("cat[]=4&tags=PS3", TorznabCatType.ConsolePS3, "Games/PS3");
AddCategoryMapping("cat[]=4&tags=Wii", TorznabCatType.ConsoleWii, "Games/Wii");
AddCategoryMapping("cat[]=4&tags=PSP", TorznabCatType.ConsolePSP, "Games/PSP");
AddCategoryMapping("cat[]=4&tags=NDS", TorznabCatType.ConsoleNDS, "Games/NDS");
AddCategoryMapping("cat[]=4&tags=Xbox", TorznabCatType.ConsoleXBox, "Games/Xbox");
AddCategoryMapping("cat[]=4&tags=PS2", TorznabCatType.ConsoleOther, "Games/PS2");
caps.Categories.AddCategoryMapping("cat[]=4", TorznabCatType.Console, "Games");
caps.Categories.AddCategoryMapping("cat[]=4&tags=PC", TorznabCatType.PCGames, "Games/PC");
caps.Categories.AddCategoryMapping("cat[]=4&tags=RIP", TorznabCatType.PCGames, "Games/RIP");
caps.Categories.AddCategoryMapping("cat[]=4&tags=ISO", TorznabCatType.PCGames, "Games/ISO");
caps.Categories.AddCategoryMapping("cat[]=4&tags=NSW", TorznabCatType.ConsoleOther, "Games/NSW");
caps.Categories.AddCategoryMapping("cat[]=4&tags=GAMES-NSW", TorznabCatType.ConsoleOther, "Games/NSW");
caps.Categories.AddCategoryMapping("cat[]=4&tags=XBOX360", TorznabCatType.ConsoleXBox360, "Games/XBOX360");
caps.Categories.AddCategoryMapping("cat[]=4&tags=PS3", TorznabCatType.ConsolePS3, "Games/PS3");
caps.Categories.AddCategoryMapping("cat[]=4&tags=Wii", TorznabCatType.ConsoleWii, "Games/Wii");
caps.Categories.AddCategoryMapping("cat[]=4&tags=PSP", TorznabCatType.ConsolePSP, "Games/PSP");
caps.Categories.AddCategoryMapping("cat[]=4&tags=NDS", TorznabCatType.ConsoleNDS, "Games/NDS");
caps.Categories.AddCategoryMapping("cat[]=4&tags=Xbox", TorznabCatType.ConsoleXBox, "Games/Xbox");
caps.Categories.AddCategoryMapping("cat[]=4&tags=PS2", TorznabCatType.ConsoleOther, "Games/PS2");
// Miscellaneous
AddCategoryMapping("cat[]=31", TorznabCatType.Other, "Miscellaneous");
AddCategoryMapping("cat[]=31&tags=Ebook", TorznabCatType.BooksEBook, "Miscellaneous/Ebook");
AddCategoryMapping("cat[]=31&tags=RARFiX", TorznabCatType.Other, "Miscellaneous/RARFiX");
caps.Categories.AddCategoryMapping("cat[]=31", TorznabCatType.Other, "Miscellaneous");
caps.Categories.AddCategoryMapping("cat[]=31&tags=Ebook", TorznabCatType.BooksEBook, "Miscellaneous/Ebook");
caps.Categories.AddCategoryMapping("cat[]=31&tags=RARFiX", TorznabCatType.Other, "Miscellaneous/RARFiX");
// Movies
AddCategoryMapping("cat[]=19", TorznabCatType.Movies, "Movies");
AddCategoryMapping("cat[]=19&tags=1080p", TorznabCatType.MoviesHD, "Movies/1080p");
AddCategoryMapping("cat[]=19&tags=720p", TorznabCatType.MoviesHD, "Movies/720p");
AddCategoryMapping("cat[]=19&tags=2160p", TorznabCatType.MoviesUHD, "Movies/2160p");
AddCategoryMapping("cat[]=19&tags=x264", TorznabCatType.MoviesHD, "Movies/x264");
AddCategoryMapping("cat[]=19&tags=x265", TorznabCatType.MoviesHD, "Movies/x265");
AddCategoryMapping("cat[]=19&tags=BluRay", TorznabCatType.MoviesHD, "Movies/BluRay");
AddCategoryMapping("cat[]=19&tags=XviD", TorznabCatType.MoviesSD, "Movies/XviD");
AddCategoryMapping("cat[]=19&tags=DVDRiP", TorznabCatType.MoviesSD, "Movies/DVDRiP");
AddCategoryMapping("cat[]=19&tags=DVD", TorznabCatType.MoviesSD, "Movies/DVD");
AddCategoryMapping("cat[]=19&tags=DVDR", TorznabCatType.MoviesSD, "Movies/DVDR");
AddCategoryMapping("cat[]=19&tags=WMV", TorznabCatType.Movies, "Movies/WMV");
AddCategoryMapping("cat[]=19&tags=CAM", TorznabCatType.Movies, "Movies/CAM");
AddCategoryMapping("cat[]=19&tags=DolbyVision", TorznabCatType.Movies, "Movies/DolbyVision");
caps.Categories.AddCategoryMapping("cat[]=19", TorznabCatType.Movies, "Movies");
caps.Categories.AddCategoryMapping("cat[]=19&tags=1080p", TorznabCatType.MoviesHD, "Movies/1080p");
caps.Categories.AddCategoryMapping("cat[]=19&tags=720p", TorznabCatType.MoviesHD, "Movies/720p");
caps.Categories.AddCategoryMapping("cat[]=19&tags=2160p", TorznabCatType.MoviesUHD, "Movies/2160p");
caps.Categories.AddCategoryMapping("cat[]=19&tags=x264", TorznabCatType.MoviesHD, "Movies/x264");
caps.Categories.AddCategoryMapping("cat[]=19&tags=x265", TorznabCatType.MoviesHD, "Movies/x265");
caps.Categories.AddCategoryMapping("cat[]=19&tags=BluRay", TorznabCatType.MoviesHD, "Movies/BluRay");
caps.Categories.AddCategoryMapping("cat[]=19&tags=XviD", TorznabCatType.MoviesSD, "Movies/XviD");
caps.Categories.AddCategoryMapping("cat[]=19&tags=DVDRiP", TorznabCatType.MoviesSD, "Movies/DVDRiP");
caps.Categories.AddCategoryMapping("cat[]=19&tags=DVD", TorznabCatType.MoviesSD, "Movies/DVD");
caps.Categories.AddCategoryMapping("cat[]=19&tags=DVDR", TorznabCatType.MoviesSD, "Movies/DVDR");
caps.Categories.AddCategoryMapping("cat[]=19&tags=WMV", TorznabCatType.Movies, "Movies/WMV");
caps.Categories.AddCategoryMapping("cat[]=19&tags=CAM", TorznabCatType.Movies, "Movies/CAM");
caps.Categories.AddCategoryMapping("cat[]=19&tags=DolbyVision", TorznabCatType.Movies, "Movies/DolbyVision");
// Music
AddCategoryMapping("cat[]=6", TorznabCatType.Audio, "Music");
AddCategoryMapping("cat[]=6&tags=MP3", TorznabCatType.AudioMP3, "Music/MP3");
AddCategoryMapping("cat[]=6&tags=V2", TorznabCatType.AudioMP3, "Music/V2");
AddCategoryMapping("cat[]=6&tags=FLAC", TorznabCatType.AudioLossless, "Music/FLAC");
AddCategoryMapping("cat[]=6&tags=320kbps", TorznabCatType.AudioMP3, "Music/320kbps");
caps.Categories.AddCategoryMapping("cat[]=6", TorznabCatType.Audio, "Music");
caps.Categories.AddCategoryMapping("cat[]=6&tags=MP3", TorznabCatType.AudioMP3, "Music/MP3");
caps.Categories.AddCategoryMapping("cat[]=6&tags=V2", TorznabCatType.AudioMP3, "Music/V2");
caps.Categories.AddCategoryMapping("cat[]=6&tags=FLAC", TorznabCatType.AudioLossless, "Music/FLAC");
caps.Categories.AddCategoryMapping("cat[]=6&tags=320kbps", TorznabCatType.AudioMP3, "Music/320kbps");
// TV
AddCategoryMapping("cat[]=7", TorznabCatType.TV, "TV");
AddCategoryMapping("cat[]=7&tags=1080p", TorznabCatType.TVHD, "TV/1080p");
AddCategoryMapping("cat[]=7&tags=720p", TorznabCatType.TVHD, "TV/720p");
AddCategoryMapping("cat[]=7&tags=2160p", TorznabCatType.TVUHD, "TV/2160p");
AddCategoryMapping("cat[]=7&tags=x264", TorznabCatType.TVHD, "TV/x264");
AddCategoryMapping("cat[]=7&tags=x265", TorznabCatType.TVHD, "TV/x265");
AddCategoryMapping("cat[]=7&tags=HDTV", TorznabCatType.TVHD, "TV/HDTV");
AddCategoryMapping("cat[]=7&tags=BluRay", TorznabCatType.TVHD, "TV/BluRay");
AddCategoryMapping("cat[]=7&tags=Documentary", TorznabCatType.TVDocumentary, "TV/Documentary");
AddCategoryMapping("cat[]=7&tags=PDTV", TorznabCatType.TVSD, "TV/PDTV");
AddCategoryMapping("cat[]=7&tags=DolbyVision", TorznabCatType.TVUHD, "TV/DolbyVision");
AddCategoryMapping("cat[]=7&tags=DVDRiP", TorznabCatType.TVSD, "TV/DVDRiP");
AddCategoryMapping("cat[]=7&tags=XviD", TorznabCatType.TVSD, "TV/XviD");
AddCategoryMapping("cat[]=7&tags=DVD", TorznabCatType.TVSD, "TV/DVD");
AddCategoryMapping("cat[]=7&tags=HD-DVD", TorznabCatType.TVSD, "TV/HD-DVD");
caps.Categories.AddCategoryMapping("cat[]=7", TorznabCatType.TV, "TV");
caps.Categories.AddCategoryMapping("cat[]=7&tags=1080p", TorznabCatType.TVHD, "TV/1080p");
caps.Categories.AddCategoryMapping("cat[]=7&tags=720p", TorznabCatType.TVHD, "TV/720p");
caps.Categories.AddCategoryMapping("cat[]=7&tags=2160p", TorznabCatType.TVUHD, "TV/2160p");
caps.Categories.AddCategoryMapping("cat[]=7&tags=x264", TorznabCatType.TVHD, "TV/x264");
caps.Categories.AddCategoryMapping("cat[]=7&tags=x265", TorznabCatType.TVHD, "TV/x265");
caps.Categories.AddCategoryMapping("cat[]=7&tags=HDTV", TorznabCatType.TVHD, "TV/HDTV");
caps.Categories.AddCategoryMapping("cat[]=7&tags=BluRay", TorznabCatType.TVHD, "TV/BluRay");
caps.Categories.AddCategoryMapping("cat[]=7&tags=Documentary", TorznabCatType.TVDocumentary, "TV/Documentary");
caps.Categories.AddCategoryMapping("cat[]=7&tags=PDTV", TorznabCatType.TVSD, "TV/PDTV");
caps.Categories.AddCategoryMapping("cat[]=7&tags=DolbyVision", TorznabCatType.TVUHD, "TV/DolbyVision");
caps.Categories.AddCategoryMapping("cat[]=7&tags=DVDRiP", TorznabCatType.TVSD, "TV/DVDRiP");
caps.Categories.AddCategoryMapping("cat[]=7&tags=XviD", TorznabCatType.TVSD, "TV/XviD");
caps.Categories.AddCategoryMapping("cat[]=7&tags=DVD", TorznabCatType.TVSD, "TV/DVD");
caps.Categories.AddCategoryMapping("cat[]=7&tags=HD-DVD", TorznabCatType.TVSD, "TV/HD-DVD");
// XXX
AddCategoryMapping("cat[]=51", TorznabCatType.XXX, "XXX");
AddCategoryMapping("cat[]=51&tags=1080p", TorznabCatType.XXXx264, "XXX/1080p");
AddCategoryMapping("cat[]=51&tags=720p", TorznabCatType.XXXx264, "XXX/720p");
AddCategoryMapping("cat[]=51&tags=2160p", TorznabCatType.XXXUHD, "XXX/2160p");
AddCategoryMapping("cat[]=51&tags=x264", TorznabCatType.XXXx264, "XXX/x264");
AddCategoryMapping("cat[]=51&tags=x265", TorznabCatType.XXXx264, "XXX/x265");
AddCategoryMapping("cat[]=51&tags=XviD", TorznabCatType.XXXXviD, "XXX/XviD");
AddCategoryMapping("cat[]=51&tags=DVDRiP", TorznabCatType.XXXDVD, "XXX/DVDRiP");
caps.Categories.AddCategoryMapping("cat[]=51", TorznabCatType.XXX, "XXX");
caps.Categories.AddCategoryMapping("cat[]=51&tags=1080p", TorznabCatType.XXXx264, "XXX/1080p");
caps.Categories.AddCategoryMapping("cat[]=51&tags=720p", TorznabCatType.XXXx264, "XXX/720p");
caps.Categories.AddCategoryMapping("cat[]=51&tags=2160p", TorznabCatType.XXXUHD, "XXX/2160p");
caps.Categories.AddCategoryMapping("cat[]=51&tags=x264", TorznabCatType.XXXx264, "XXX/x264");
caps.Categories.AddCategoryMapping("cat[]=51&tags=x265", TorznabCatType.XXXx264, "XXX/x265");
caps.Categories.AddCategoryMapping("cat[]=51&tags=XviD", TorznabCatType.XXXXviD, "XXX/XviD");
caps.Categories.AddCategoryMapping("cat[]=51&tags=DVDRiP", TorznabCatType.XXXDVD, "XXX/DVDRiP");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -16,38 +16,46 @@ namespace Jackett.Common.Indexers
public override string Description => "BitTorrent site for High Quality, High Definition (HD) movies and TV Shows";
public override string SiteLink { get; protected set; } = "https://privatehd.to/";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
public PrivateHD(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
LimitsDefault = 50,
LimitsMax = 50,
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.TvdbId, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId, MovieSearchParam.Genre
},
TvSearchImdbAvailable = true
},
configService: configService,
ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cs: cs
)
{
AddCategoryMapping(1, TorznabCatType.Movies);
AddCategoryMapping(1, TorznabCatType.MoviesUHD);
AddCategoryMapping(1, TorznabCatType.MoviesHD);
AddCategoryMapping(1, TorznabCatType.MoviesSD);
AddCategoryMapping(2, TorznabCatType.TV);
AddCategoryMapping(2, TorznabCatType.TVUHD);
AddCategoryMapping(2, TorznabCatType.TVHD);
AddCategoryMapping(2, TorznabCatType.TVSD);
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
LimitsDefault = 50,
LimitsMax = 50,
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.TvdbId, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId, MovieSearchParam.Genre
},
TvSearchImdbAvailable = true
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.Movies);
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesUHD);
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesHD);
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesSD);
caps.Categories.AddCategoryMapping(2, TorznabCatType.TV);
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVUHD);
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVHD);
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVSD);
return caps;
}
}
}

View File

@ -29,6 +29,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "public";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
// API doc: https://torrentapi.org/apidocs_v2.txt?app_id=Jackett
private string ApiEndpoint => ((StringConfigurationItem)configData.GetDynamic("apiEndpoint")).Value;
private readonly TimeSpan TokenDuration = TimeSpan.FromMinutes(14); // 15 minutes expiration
@ -41,24 +43,7 @@ namespace Jackett.Common.Indexers
public RarBG(IIndexerConfigurationService configService, Utils.Clients.WebClient wc, Logger l,
IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.TmdbId, TvSearchParam.TvdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
TvSearchImdbAvailable = true
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -79,35 +64,57 @@ namespace Jackett.Common.Indexers
{ Value = "last" };
configData.AddDynamic("sort", sort);
//AddCategoryMapping(4, TorznabCatType.XXX, "XXX (18+)"); // 3x is not supported by API #11848
AddCategoryMapping(14, TorznabCatType.MoviesSD, "Movies/XVID");
AddCategoryMapping(17, TorznabCatType.MoviesSD, "Movies/x264");
AddCategoryMapping(18, TorznabCatType.TVSD, "TV Episodes");
AddCategoryMapping(23, TorznabCatType.AudioMP3, "Music/MP3");
AddCategoryMapping(25, TorznabCatType.AudioLossless, "Music/FLAC");
AddCategoryMapping(27, TorznabCatType.PCGames, "Games/PC ISO");
AddCategoryMapping(28, TorznabCatType.PCGames, "Games/PC RIP");
AddCategoryMapping(32, TorznabCatType.ConsoleXBox360, "Games/XBOX-360");
AddCategoryMapping(33, TorznabCatType.PCISO, "Software/PC ISO");
AddCategoryMapping(40, TorznabCatType.ConsolePS3, "Games/PS3");
AddCategoryMapping(41, TorznabCatType.TVHD, "TV HD Episodes");
AddCategoryMapping(42, TorznabCatType.MoviesBluRay, "Movies/Full BD");
AddCategoryMapping(44, TorznabCatType.MoviesHD, "Movies/x264/1080");
AddCategoryMapping(45, TorznabCatType.MoviesHD, "Movies/x264/720");
AddCategoryMapping(46, TorznabCatType.MoviesBluRay, "Movies/BD Remux");
AddCategoryMapping(47, TorznabCatType.Movies3D, "Movies/x264/3D");
AddCategoryMapping(48, TorznabCatType.MoviesHD, "Movies/XVID/720");
AddCategoryMapping(49, TorznabCatType.TVUHD, "TV UHD Episodes");
_appId = "ttekcaJ_" + EnvironmentUtil.JackettVersion();
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.TmdbId, TvSearchParam.TvdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
TvSearchImdbAvailable = true
};
//caps.Categories.AddCategoryMapping(4, TorznabCatType.XXX, "XXX (18+)"); // 3x is not supported by API #11848
caps.Categories.AddCategoryMapping(14, TorznabCatType.MoviesSD, "Movies/XVID");
caps.Categories.AddCategoryMapping(17, TorznabCatType.MoviesSD, "Movies/x264");
caps.Categories.AddCategoryMapping(18, TorznabCatType.TVSD, "TV Episodes");
caps.Categories.AddCategoryMapping(23, TorznabCatType.AudioMP3, "Music/MP3");
caps.Categories.AddCategoryMapping(25, TorznabCatType.AudioLossless, "Music/FLAC");
caps.Categories.AddCategoryMapping(27, TorznabCatType.PCGames, "Games/PC ISO");
caps.Categories.AddCategoryMapping(28, TorznabCatType.PCGames, "Games/PC RIP");
caps.Categories.AddCategoryMapping(32, TorznabCatType.ConsoleXBox360, "Games/XBOX-360");
caps.Categories.AddCategoryMapping(33, TorznabCatType.PCISO, "Software/PC ISO");
caps.Categories.AddCategoryMapping(40, TorznabCatType.ConsolePS3, "Games/PS3");
caps.Categories.AddCategoryMapping(41, TorznabCatType.TVHD, "TV HD Episodes");
caps.Categories.AddCategoryMapping(42, TorznabCatType.MoviesBluRay, "Movies/Full BD");
caps.Categories.AddCategoryMapping(44, TorznabCatType.MoviesHD, "Movies/x264/1080");
caps.Categories.AddCategoryMapping(45, TorznabCatType.MoviesHD, "Movies/x264/720");
caps.Categories.AddCategoryMapping(46, TorznabCatType.MoviesBluRay, "Movies/BD Remux");
caps.Categories.AddCategoryMapping(47, TorznabCatType.Movies3D, "Movies/x264/3D");
caps.Categories.AddCategoryMapping(48, TorznabCatType.MoviesHD, "Movies/XVID/720");
caps.Categories.AddCategoryMapping(49, TorznabCatType.TVUHD, "TV UHD Episodes");
// torrentapi.org returns "Movies/TV-UHD-episodes" for some reason
// possibly because thats what the category is called on the /top100.php page
AddCategoryMapping(49, TorznabCatType.TVUHD, "Movies/TV-UHD-episodes");
AddCategoryMapping(50, TorznabCatType.MoviesUHD, "Movies/x264/4k");
AddCategoryMapping(51, TorznabCatType.MoviesUHD, "Movies/x265/4k");
AddCategoryMapping(52, TorznabCatType.MoviesUHD, "Movs/x265/4k/HDR");
AddCategoryMapping(53, TorznabCatType.ConsolePS4, "Games/PS4");
AddCategoryMapping(54, TorznabCatType.MoviesHD, "Movies/x265/1080");
caps.Categories.AddCategoryMapping(49, TorznabCatType.TVUHD, "Movies/TV-UHD-episodes");
caps.Categories.AddCategoryMapping(50, TorznabCatType.MoviesUHD, "Movies/x264/4k");
caps.Categories.AddCategoryMapping(51, TorznabCatType.MoviesUHD, "Movies/x265/4k");
caps.Categories.AddCategoryMapping(52, TorznabCatType.MoviesUHD, "Movs/x265/4k/HDR");
caps.Categories.AddCategoryMapping(53, TorznabCatType.ConsolePS4, "Games/PS4");
caps.Categories.AddCategoryMapping(54, TorznabCatType.MoviesHD, "Movies/x265/1080");
_appId = "ttekcaJ_" + EnvironmentUtil.JackettVersion();
return caps;
}
public override void LoadValuesFromJson(JToken jsonConfig, bool useProtectionService = false)

View File

@ -20,27 +20,12 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
protected override string DownloadUrl => SiteLink + "ajax.php?action=download&usetoken=" + (useTokens ? "1" : "0") + "&id=";
public Redacted(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.Genre
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year, MusicSearchParam.Genre
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q, BookSearchParam.Genre
}
},
configService: configService,
public Redacted(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -52,14 +37,35 @@ namespace Jackett.Common.Indexers
)
{
webclient.EmulateBrowser = false; // Issue #9751
}
AddCategoryMapping(1, TorznabCatType.Audio, "Music");
AddCategoryMapping(2, TorznabCatType.PC, "Applications");
AddCategoryMapping(3, TorznabCatType.Books, "E-Books");
AddCategoryMapping(4, TorznabCatType.AudioAudiobook, "Audiobooks");
AddCategoryMapping(5, TorznabCatType.Movies, "E-Learning Videos");
AddCategoryMapping(6, TorznabCatType.Audio, "Comedy");
AddCategoryMapping(7, TorznabCatType.Books, "Comics");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.Genre
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year, MusicSearchParam.Genre
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q, BookSearchParam.Genre
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.Audio, "Music");
caps.Categories.AddCategoryMapping(2, TorznabCatType.PC, "Applications");
caps.Categories.AddCategoryMapping(3, TorznabCatType.Books, "E-Books");
caps.Categories.AddCategoryMapping(4, TorznabCatType.AudioAudiobook, "Audiobooks");
caps.Categories.AddCategoryMapping(5, TorznabCatType.Movies, "E-Learning Videos");
caps.Categories.AddCategoryMapping(6, TorznabCatType.Audio, "Comedy");
caps.Categories.AddCategoryMapping(7, TorznabCatType.Books, "Comics");
return caps;
}
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)

View File

@ -1,6 +1,5 @@
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Text;
using Jackett.Common.Indexers.Abstract;
using Jackett.Common.Models;
using Jackett.Common.Services.Interfaces;
@ -23,46 +22,53 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
protected override bool UseP2PReleaseName => true;
protected override int minimumSeedTime => 432000; // 120h
public RetroFlix(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
client: wc,
logger: l,
p: ps,
cs: cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cs: cs)
{
// requestDelay for API Limit (1 request per 2 seconds)
webclient.requestDelay = 2.1;
}
AddCategoryMapping(401, TorznabCatType.Movies, "Movies");
AddCategoryMapping(402, TorznabCatType.TV, "TV Series");
AddCategoryMapping(406, TorznabCatType.AudioVideo, "Music Videos");
AddCategoryMapping(407, TorznabCatType.TVSport, "Sports");
AddCategoryMapping(409, TorznabCatType.Books, "Books");
AddCategoryMapping(408, TorznabCatType.Audio, "HQ Audio");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(401, TorznabCatType.Movies, "Movies");
caps.Categories.AddCategoryMapping(402, TorznabCatType.TV, "TV Series");
caps.Categories.AddCategoryMapping(406, TorznabCatType.AudioVideo, "Music Videos");
caps.Categories.AddCategoryMapping(407, TorznabCatType.TVSport, "Sports");
caps.Categories.AddCategoryMapping(409, TorznabCatType.Books, "Books");
caps.Categories.AddCategoryMapping(408, TorznabCatType.Audio, "HQ Audio");
return caps;
}
}
}

View File

@ -27,6 +27,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LandingPageURL => SiteLink + "login.php";
private string LoginUrl => SiteLink + "takelogin.php";
private string SearchUrl => SiteLink + "browse.php";
@ -35,65 +37,71 @@ namespace Jackett.Common.Indexers
public RevolutionTT(IIndexerConfigurationService configService, Utils.Clients.WebClient wc, Logger l,
IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLogin("For best results, change the 'Torrents per page' setting to 100 in your Profile."))
{
AddCategoryMapping("23", TorznabCatType.TVAnime);
AddCategoryMapping("22", TorznabCatType.PC0day);
AddCategoryMapping("1", TorznabCatType.PCISO);
AddCategoryMapping("36", TorznabCatType.Books);
AddCategoryMapping("36", TorznabCatType.BooksEBook);
AddCategoryMapping("4", TorznabCatType.PCGames);
AddCategoryMapping("21", TorznabCatType.PCGames);
AddCategoryMapping("16", TorznabCatType.ConsolePS3);
AddCategoryMapping("40", TorznabCatType.ConsoleWii);
AddCategoryMapping("39", TorznabCatType.ConsoleXBox360);
AddCategoryMapping("35", TorznabCatType.ConsoleNDS);
AddCategoryMapping("34", TorznabCatType.ConsolePSP);
AddCategoryMapping("2", TorznabCatType.PCMac);
AddCategoryMapping("10", TorznabCatType.MoviesBluRay);
AddCategoryMapping("20", TorznabCatType.MoviesDVD);
AddCategoryMapping("12", TorznabCatType.MoviesHD);
AddCategoryMapping("44", TorznabCatType.MoviesOther);
AddCategoryMapping("11", TorznabCatType.MoviesSD);
AddCategoryMapping("19", TorznabCatType.MoviesSD);
AddCategoryMapping("6", TorznabCatType.Audio);
AddCategoryMapping("8", TorznabCatType.AudioLossless);
AddCategoryMapping("46", TorznabCatType.AudioOther);
AddCategoryMapping("29", TorznabCatType.AudioVideo);
AddCategoryMapping("43", TorznabCatType.TVOther);
AddCategoryMapping("42", TorznabCatType.TVHD);
AddCategoryMapping("45", TorznabCatType.TVOther);
AddCategoryMapping("41", TorznabCatType.TVSD);
AddCategoryMapping("7", TorznabCatType.TVSD);
AddCategoryMapping("9", TorznabCatType.XXX);
AddCategoryMapping("49", TorznabCatType.XXX);
AddCategoryMapping("47", TorznabCatType.XXXDVD);
AddCategoryMapping("48", TorznabCatType.XXX);
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping("23", TorznabCatType.TVAnime);
caps.Categories.AddCategoryMapping("22", TorznabCatType.PC0day);
caps.Categories.AddCategoryMapping("1", TorznabCatType.PCISO);
caps.Categories.AddCategoryMapping("36", TorznabCatType.Books);
caps.Categories.AddCategoryMapping("36", TorznabCatType.BooksEBook);
caps.Categories.AddCategoryMapping("4", TorznabCatType.PCGames);
caps.Categories.AddCategoryMapping("21", TorznabCatType.PCGames);
caps.Categories.AddCategoryMapping("16", TorznabCatType.ConsolePS3);
caps.Categories.AddCategoryMapping("40", TorznabCatType.ConsoleWii);
caps.Categories.AddCategoryMapping("39", TorznabCatType.ConsoleXBox360);
caps.Categories.AddCategoryMapping("35", TorznabCatType.ConsoleNDS);
caps.Categories.AddCategoryMapping("34", TorznabCatType.ConsolePSP);
caps.Categories.AddCategoryMapping("2", TorznabCatType.PCMac);
caps.Categories.AddCategoryMapping("10", TorznabCatType.MoviesBluRay);
caps.Categories.AddCategoryMapping("20", TorznabCatType.MoviesDVD);
caps.Categories.AddCategoryMapping("12", TorznabCatType.MoviesHD);
caps.Categories.AddCategoryMapping("44", TorznabCatType.MoviesOther);
caps.Categories.AddCategoryMapping("11", TorznabCatType.MoviesSD);
caps.Categories.AddCategoryMapping("19", TorznabCatType.MoviesSD);
caps.Categories.AddCategoryMapping("6", TorznabCatType.Audio);
caps.Categories.AddCategoryMapping("8", TorznabCatType.AudioLossless);
caps.Categories.AddCategoryMapping("46", TorznabCatType.AudioOther);
caps.Categories.AddCategoryMapping("29", TorznabCatType.AudioVideo);
caps.Categories.AddCategoryMapping("43", TorznabCatType.TVOther);
caps.Categories.AddCategoryMapping("42", TorznabCatType.TVHD);
caps.Categories.AddCategoryMapping("45", TorznabCatType.TVOther);
caps.Categories.AddCategoryMapping("41", TorznabCatType.TVSD);
caps.Categories.AddCategoryMapping("7", TorznabCatType.TVSD);
caps.Categories.AddCategoryMapping("9", TorznabCatType.XXX);
caps.Categories.AddCategoryMapping("49", TorznabCatType.XXX);
caps.Categories.AddCategoryMapping("47", TorznabCatType.XXXDVD);
caps.Categories.AddCategoryMapping("48", TorznabCatType.XXX);
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

File diff suppressed because it is too large Load Diff

View File

@ -26,6 +26,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string SearchUrl => SiteLink + "browse.php?";
private string DetailsUrl => SiteLink + "details.php?";
private string DownloadUrl => SiteLink + "download.php?";
@ -35,21 +37,6 @@ namespace Jackett.Common.Indexers
public SceneHD(IIndexerConfigurationService configService, WebClient c, Logger l, IProtectionService ps,
ICacheService cs)
: base(configService: configService,
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
}
},
client: c,
logger: l,
p: ps,
@ -58,19 +45,40 @@ namespace Jackett.Common.Indexers
"feed link. It's the last parameter in the URL."))
{
webclient.AddTrustedCertificate(new Uri(SiteLink).Host, "3A4090096DD95D31306B14BFDD8F8C98F52A8EA8");
}
AddCategoryMapping(2, TorznabCatType.MoviesUHD, "Movie/2160");
AddCategoryMapping(1, TorznabCatType.MoviesHD, "Movie/1080");
AddCategoryMapping(4, TorznabCatType.MoviesHD, "Movie/720");
AddCategoryMapping(8, TorznabCatType.MoviesBluRay, "Movie/BD5/9");
AddCategoryMapping(6, TorznabCatType.TVUHD, "TV/2160");
AddCategoryMapping(5, TorznabCatType.TVHD, "TV/1080");
AddCategoryMapping(7, TorznabCatType.TVHD, "TV/720");
AddCategoryMapping(22, TorznabCatType.MoviesBluRay, "Bluray/Complete");
AddCategoryMapping(10, TorznabCatType.XXX, "XXX");
AddCategoryMapping(16, TorznabCatType.MoviesOther, "Subpacks");
AddCategoryMapping(13, TorznabCatType.AudioVideo, "MVID");
AddCategoryMapping(9, TorznabCatType.Other, "Other");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(2, TorznabCatType.MoviesUHD, "Movie/2160");
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesHD, "Movie/1080");
caps.Categories.AddCategoryMapping(4, TorznabCatType.MoviesHD, "Movie/720");
caps.Categories.AddCategoryMapping(8, TorznabCatType.MoviesBluRay, "Movie/BD5/9");
caps.Categories.AddCategoryMapping(6, TorznabCatType.TVUHD, "TV/2160");
caps.Categories.AddCategoryMapping(5, TorznabCatType.TVHD, "TV/1080");
caps.Categories.AddCategoryMapping(7, TorznabCatType.TVHD, "TV/720");
caps.Categories.AddCategoryMapping(22, TorznabCatType.MoviesBluRay, "Bluray/Complete");
caps.Categories.AddCategoryMapping(10, TorznabCatType.XXX, "XXX");
caps.Categories.AddCategoryMapping(16, TorznabCatType.MoviesOther, "Subpacks");
caps.Categories.AddCategoryMapping(13, TorznabCatType.AudioVideo, "MVID");
caps.Categories.AddCategoryMapping(9, TorznabCatType.Other, "Other");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -4,7 +4,6 @@ using System.Collections.Specialized;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using AngleSharp.Html.Parser;
using Jackett.Common.Models;
@ -27,6 +26,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string SearchUrl => SiteLink + "browse.php";
private string DownloadUrl => SiteLink + "download.php/{0}/download.torrent";
@ -34,58 +35,64 @@ namespace Jackett.Common.Indexers
public SceneTime(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
},
TvSearchImdbAvailable = true
},
configService: configService,
: base(configService: configService,
client: w,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataSceneTime())
{
AddCategoryMapping(10, TorznabCatType.XXX, "Movies Adult");
AddCategoryMapping(47, TorznabCatType.Movies, "Movie Packs");
AddCategoryMapping(57, TorznabCatType.MoviesSD, "Movies SD");
AddCategoryMapping(59, TorznabCatType.MoviesHD, "Movies HD");
AddCategoryMapping(64, TorznabCatType.Movies3D, "Movies 3D");
AddCategoryMapping(82, TorznabCatType.MoviesOther, "Movies CAM-TS");
AddCategoryMapping(16, TorznabCatType.MoviesUHD, "Movies UHD");
AddCategoryMapping(2, TorznabCatType.TVUHD, "TV UHD");
AddCategoryMapping(43, TorznabCatType.TV, "TV Packs");
AddCategoryMapping(9, TorznabCatType.TVHD, "TV HD");
AddCategoryMapping(77, TorznabCatType.TVSD, "TV SD");
AddCategoryMapping(6, TorznabCatType.PCGames, "Games PC ISO");
AddCategoryMapping(48, TorznabCatType.ConsoleXBox, "Games XBOX");
AddCategoryMapping(51, TorznabCatType.ConsoleWii, "Games Wii");
AddCategoryMapping(55, TorznabCatType.ConsoleNDS, "Games Nintendo DS");
AddCategoryMapping(12, TorznabCatType.ConsolePS4, "Games/PS");
AddCategoryMapping(15, TorznabCatType.ConsoleOther, "Games Dreamcast");
AddCategoryMapping(52, TorznabCatType.PCMac, "Mac/Linux");
AddCategoryMapping(53, TorznabCatType.PC0day, "Apps");
AddCategoryMapping(24, TorznabCatType.PCMobileOther, "Mobile Apps");
AddCategoryMapping(7, TorznabCatType.Books, "Books and Magazines");
AddCategoryMapping(65, TorznabCatType.BooksComics, "Books Comic");
AddCategoryMapping(4, TorznabCatType.Audio, "Music");
AddCategoryMapping(116, TorznabCatType.Audio, "Music Pack");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
},
TvSearchImdbAvailable = true
};
caps.Categories.AddCategoryMapping(10, TorznabCatType.XXX, "Movies Adult");
caps.Categories.AddCategoryMapping(47, TorznabCatType.Movies, "Movie Packs");
caps.Categories.AddCategoryMapping(57, TorznabCatType.MoviesSD, "Movies SD");
caps.Categories.AddCategoryMapping(59, TorznabCatType.MoviesHD, "Movies HD");
caps.Categories.AddCategoryMapping(64, TorznabCatType.Movies3D, "Movies 3D");
caps.Categories.AddCategoryMapping(82, TorznabCatType.MoviesOther, "Movies CAM-TS");
caps.Categories.AddCategoryMapping(16, TorznabCatType.MoviesUHD, "Movies UHD");
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVUHD, "TV UHD");
caps.Categories.AddCategoryMapping(43, TorznabCatType.TV, "TV Packs");
caps.Categories.AddCategoryMapping(9, TorznabCatType.TVHD, "TV HD");
caps.Categories.AddCategoryMapping(77, TorznabCatType.TVSD, "TV SD");
caps.Categories.AddCategoryMapping(6, TorznabCatType.PCGames, "Games PC ISO");
caps.Categories.AddCategoryMapping(48, TorznabCatType.ConsoleXBox, "Games XBOX");
caps.Categories.AddCategoryMapping(51, TorznabCatType.ConsoleWii, "Games Wii");
caps.Categories.AddCategoryMapping(55, TorznabCatType.ConsoleNDS, "Games Nintendo DS");
caps.Categories.AddCategoryMapping(12, TorznabCatType.ConsolePS4, "Games/PS");
caps.Categories.AddCategoryMapping(15, TorznabCatType.ConsoleOther, "Games Dreamcast");
caps.Categories.AddCategoryMapping(52, TorznabCatType.PCMac, "Mac/Linux");
caps.Categories.AddCategoryMapping(53, TorznabCatType.PC0day, "Apps");
caps.Categories.AddCategoryMapping(24, TorznabCatType.PCMobileOther, "Mobile Apps");
caps.Categories.AddCategoryMapping(7, TorznabCatType.Books, "Books and Magazines");
caps.Categories.AddCategoryMapping(65, TorznabCatType.BooksComics, "Books Comic");
caps.Categories.AddCategoryMapping(4, TorznabCatType.Audio, "Music");
caps.Categories.AddCategoryMapping(116, TorznabCatType.Audio, "Music Pack");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -21,31 +21,39 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
public SecretCinema(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year
}
},
configService: configService,
ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cs: cs,
supportsFreeleechTokens: false) // ratioless tracker
{
AddCategoryMapping(1, TorznabCatType.Movies, "Movies");
AddCategoryMapping(2, TorznabCatType.Audio, "Music");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.Movies, "Movies");
caps.Categories.AddCategoryMapping(2, TorznabCatType.Audio, "Music");
// cat=3 exists but it's required a refactor in Gazelle abstract to make it work
//AddCategoryMapping(3, TorznabCatType.Books, "E-Books");
//caps.Categories.AddCategoryMapping(3, TorznabCatType.Books, "E-Books");
return caps;
}
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)

View File

@ -4,7 +4,6 @@ using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Jackett.Common.Models;
@ -30,6 +29,8 @@ namespace Jackett.Common.Indexers
public override string Language => "fr-FR";
public override string Type => "semi-private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private readonly Dictionary<string, string> _apiHeaders = new Dictionary<string, string>
{
{"Accept", "application/json"},
@ -39,96 +40,17 @@ namespace Jackett.Common.Indexers
private string SearchUrl => SiteLink + "api/" + configData.Passkey.Value;
private new ConfigurationDataPasskey configData => (ConfigurationDataPasskey)base.configData;
public ShareWood(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
},
SupportsRawSearch = true
},
configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataPasskey()
)
public ShareWood(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataPasskey())
{
// requestDelay for API Limit (1 request per 2 seconds)
webclient.requestDelay = 2.1;
//CATEGORIES
//AddCategoryMapping(1, TorznabCatType.Movies, "Vidéos");
//AddCategoryMapping(1, TorznabCatType.TV, "Vidéos");
//AddCategoryMapping(2, TorznabCatType.Audio, "Audio");
//AddCategoryMapping(3, TorznabCatType.PC, "Application");
//AddCategoryMapping(4, TorznabCatType.Books, "Ebooks");
//AddCategoryMapping(5, TorznabCatType.PCGames, "Jeu-Vidéo");
//AddCategoryMapping(6, TorznabCatType.OtherMisc, "Formation");
//AddCategoryMapping(7, TorznabCatType.XXX, "XXX");
//SUBCATEGORIES
AddCategoryMapping(9, TorznabCatType.Movies, "Films");
AddCategoryMapping(10, TorznabCatType.TV, "Série");
AddCategoryMapping(11, TorznabCatType.MoviesOther, "Film Animation");
AddCategoryMapping(12, TorznabCatType.TVAnime, "Série Animation");
AddCategoryMapping(13, TorznabCatType.TVDocumentary, "Documentaire");
AddCategoryMapping(14, TorznabCatType.TVOther, "Emission TV");
AddCategoryMapping(15, TorznabCatType.TVOther, "Spectacle/Concert");
AddCategoryMapping(16, TorznabCatType.TVSport, "Sport");
AddCategoryMapping(17, TorznabCatType.AudioOther, "Karaoké Vidéo");
AddCategoryMapping(18, TorznabCatType.AudioOther, "Karaoké");
AddCategoryMapping(20, TorznabCatType.Audio, "Musique");
AddCategoryMapping(21, TorznabCatType.AudioOther, "Podcast");
AddCategoryMapping(22, TorznabCatType.Audio, "Sample");
AddCategoryMapping(23, TorznabCatType.AudioAudiobook, "Ebook Audio");
AddCategoryMapping(24, TorznabCatType.Books, "BD");
AddCategoryMapping(25, TorznabCatType.BooksComics, "Comic");
AddCategoryMapping(26, TorznabCatType.BooksOther, "Manga");
AddCategoryMapping(27, TorznabCatType.Books, "Livre");
AddCategoryMapping(28, TorznabCatType.BooksMags, "Presse");
AddCategoryMapping(29, TorznabCatType.Audio, "Application Linux");
AddCategoryMapping(30, TorznabCatType.PC, "Application Window");
AddCategoryMapping(31, TorznabCatType.PCMac, "Application Mac");
AddCategoryMapping(34, TorznabCatType.PCMobileiOS, "Application Smartphone/Tablette");
AddCategoryMapping(34, TorznabCatType.PCMobileAndroid, "Application Smartphone/Tablette");
AddCategoryMapping(35, TorznabCatType.Other, "GPS");
AddCategoryMapping(36, TorznabCatType.Audio, "Jeux Linux");
AddCategoryMapping(37, TorznabCatType.PCGames, "Jeux Windows");
AddCategoryMapping(39, TorznabCatType.ConsoleNDS, "Jeux Nintendo");
AddCategoryMapping(39, TorznabCatType.ConsoleWii, "Jeux Nintendo");
AddCategoryMapping(39, TorznabCatType.ConsoleWiiware, "Jeux Nintendo");
AddCategoryMapping(39, TorznabCatType.Console3DS, "Jeux Nintendo");
AddCategoryMapping(39, TorznabCatType.ConsoleWiiU, "Jeux Nintendo");
AddCategoryMapping(41, TorznabCatType.PCMobileAndroid, "PC/Mobile-Android");
AddCategoryMapping(42, TorznabCatType.PCGames, "Jeux Microsoft");
AddCategoryMapping(44, TorznabCatType.XXX, "XXX Films");
AddCategoryMapping(45, TorznabCatType.XXXOther, "XXX Hentai");
AddCategoryMapping(47, TorznabCatType.XXXImageSet, "XXX Images");
AddCategoryMapping(48, TorznabCatType.XXXOther, "XXX Jeu-Vidéo");
AddCategoryMapping(50, TorznabCatType.OtherMisc, "Formation Logiciels");
AddCategoryMapping(49, TorznabCatType.OtherMisc, "Formations Vidéos");
AddCategoryMapping(51, TorznabCatType.XXXOther, "XXX Ebooks");
AddCategoryMapping(52, TorznabCatType.AudioVideo, "Vidéos-Clips");
AddCategoryMapping(51, TorznabCatType.XXXOther, "XXX Ebooks");
AddCategoryMapping(51, TorznabCatType.XXXOther, "XXX Ebooks");
var FreeLeechOnly = new BoolConfigurationItem("Search freeleech only");
configData.AddDynamic("freeleechonly", FreeLeechOnly);
@ -155,6 +77,88 @@ namespace Jackett.Common.Indexers
EnableConfigurableRetryAttempts();
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
},
SupportsRawSearch = true
};
//CATEGORIES
//caps.Categories.AddCategoryMapping(1, TorznabCatType.Movies, "Vidéos");
//caps.Categories.AddCategoryMapping(1, TorznabCatType.TV, "Vidéos");
//caps.Categories.AddCategoryMapping(2, TorznabCatType.Audio, "Audio");
//caps.Categories.AddCategoryMapping(3, TorznabCatType.PC, "Application");
//caps.Categories.AddCategoryMapping(4, TorznabCatType.Books, "Ebooks");
//caps.Categories.AddCategoryMapping(5, TorznabCatType.PCGames, "Jeu-Vidéo");
//caps.Categories.AddCategoryMapping(6, TorznabCatType.OtherMisc, "Formation");
//caps.Categories.AddCategoryMapping(7, TorznabCatType.XXX, "XXX");
//SUBCATEGORIES
caps.Categories.AddCategoryMapping(9, TorznabCatType.Movies, "Films");
caps.Categories.AddCategoryMapping(10, TorznabCatType.TV, "Série");
caps.Categories.AddCategoryMapping(11, TorznabCatType.MoviesOther, "Film Animation");
caps.Categories.AddCategoryMapping(12, TorznabCatType.TVAnime, "Série Animation");
caps.Categories.AddCategoryMapping(13, TorznabCatType.TVDocumentary, "Documentaire");
caps.Categories.AddCategoryMapping(14, TorznabCatType.TVOther, "Emission TV");
caps.Categories.AddCategoryMapping(15, TorznabCatType.TVOther, "Spectacle/Concert");
caps.Categories.AddCategoryMapping(16, TorznabCatType.TVSport, "Sport");
caps.Categories.AddCategoryMapping(17, TorznabCatType.AudioOther, "Karaoké Vidéo");
caps.Categories.AddCategoryMapping(18, TorznabCatType.AudioOther, "Karaoké");
caps.Categories.AddCategoryMapping(20, TorznabCatType.Audio, "Musique");
caps.Categories.AddCategoryMapping(21, TorznabCatType.AudioOther, "Podcast");
caps.Categories.AddCategoryMapping(22, TorznabCatType.Audio, "Sample");
caps.Categories.AddCategoryMapping(23, TorznabCatType.AudioAudiobook, "Ebook Audio");
caps.Categories.AddCategoryMapping(24, TorznabCatType.Books, "BD");
caps.Categories.AddCategoryMapping(25, TorznabCatType.BooksComics, "Comic");
caps.Categories.AddCategoryMapping(26, TorznabCatType.BooksOther, "Manga");
caps.Categories.AddCategoryMapping(27, TorznabCatType.Books, "Livre");
caps.Categories.AddCategoryMapping(28, TorznabCatType.BooksMags, "Presse");
caps.Categories.AddCategoryMapping(29, TorznabCatType.Audio, "Application Linux");
caps.Categories.AddCategoryMapping(30, TorznabCatType.PC, "Application Window");
caps.Categories.AddCategoryMapping(31, TorznabCatType.PCMac, "Application Mac");
caps.Categories.AddCategoryMapping(34, TorznabCatType.PCMobileiOS, "Application Smartphone/Tablette");
caps.Categories.AddCategoryMapping(34, TorznabCatType.PCMobileAndroid, "Application Smartphone/Tablette");
caps.Categories.AddCategoryMapping(35, TorznabCatType.Other, "GPS");
caps.Categories.AddCategoryMapping(36, TorznabCatType.Audio, "Jeux Linux");
caps.Categories.AddCategoryMapping(37, TorznabCatType.PCGames, "Jeux Windows");
caps.Categories.AddCategoryMapping(39, TorznabCatType.ConsoleNDS, "Jeux Nintendo");
caps.Categories.AddCategoryMapping(39, TorznabCatType.ConsoleWii, "Jeux Nintendo");
caps.Categories.AddCategoryMapping(39, TorznabCatType.ConsoleWiiware, "Jeux Nintendo");
caps.Categories.AddCategoryMapping(39, TorznabCatType.Console3DS, "Jeux Nintendo");
caps.Categories.AddCategoryMapping(39, TorznabCatType.ConsoleWiiU, "Jeux Nintendo");
caps.Categories.AddCategoryMapping(41, TorznabCatType.PCMobileAndroid, "PC/Mobile-Android");
caps.Categories.AddCategoryMapping(42, TorznabCatType.PCGames, "Jeux Microsoft");
caps.Categories.AddCategoryMapping(44, TorznabCatType.XXX, "XXX Films");
caps.Categories.AddCategoryMapping(45, TorznabCatType.XXXOther, "XXX Hentai");
caps.Categories.AddCategoryMapping(47, TorznabCatType.XXXImageSet, "XXX Images");
caps.Categories.AddCategoryMapping(48, TorznabCatType.XXXOther, "XXX Jeu-Vidéo");
caps.Categories.AddCategoryMapping(50, TorznabCatType.OtherMisc, "Formation Logiciels");
caps.Categories.AddCategoryMapping(49, TorznabCatType.OtherMisc, "Formations Vidéos");
caps.Categories.AddCategoryMapping(51, TorznabCatType.XXXOther, "XXX Ebooks");
caps.Categories.AddCategoryMapping(52, TorznabCatType.AudioVideo, "Vidéos-Clips");
caps.Categories.AddCategoryMapping(51, TorznabCatType.XXXOther, "XXX Ebooks");
caps.Categories.AddCategoryMapping(51, TorznabCatType.XXXOther, "XXX Ebooks");
return caps;
}
private string MultiRename(string term, string replacement)
{
replacement = " " + replacement + " ";

View File

@ -2,7 +2,6 @@ using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Dom;
@ -27,6 +26,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LoginUrl => SiteLink + "login";
private string SearchUrl => SiteLink + "search";
private string TorrentsUrl => SiteLink + "torrents";
@ -37,15 +38,7 @@ namespace Jackett.Common.Indexers
public Shazbat(IIndexerConfigurationService configService, WebClient c, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
}
},
configService: configService,
: base(configService: configService,
client: c,
logger: l,
p: ps,
@ -53,10 +46,23 @@ namespace Jackett.Common.Indexers
configData: new ConfigurationDataShazbat())
{
webclient.requestDelay = 5.1;
}
AddCategoryMapping(1, TorznabCatType.TV);
AddCategoryMapping(2, TorznabCatType.TVSD);
AddCategoryMapping(3, TorznabCatType.TVHD);
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.TV);
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVSD);
caps.Categories.AddCategoryMapping(3, TorznabCatType.TVHD);
return caps;
}
private int ShowPagesFetchLimit => int.TryParse(configData.ShowPagesFetchLimit.Value, out var limit) && limit > 0 && limit <= 5 ? limit : 2;

View File

@ -1,6 +1,5 @@
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Text;
using Jackett.Common.Indexers.Abstract;
using Jackett.Common.Models;
using Jackett.Common.Services.Interfaces;
@ -30,28 +29,12 @@ namespace Jackett.Common.Indexers
public override string Language => "ro-RO";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
public SpeedApp(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(configService: configService,
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
client: wc,
logger: l,
p: ps,
@ -59,50 +42,75 @@ namespace Jackett.Common.Indexers
{
// requestDelay for API Limit (1 request per 2 seconds)
webclient.requestDelay = 2.1;
}
AddCategoryMapping(38, TorznabCatType.Movies, "Movie Packs");
AddCategoryMapping(10, TorznabCatType.MoviesSD, "Movies: SD");
AddCategoryMapping(35, TorznabCatType.MoviesSD, "Movies: SD Ro");
AddCategoryMapping(8, TorznabCatType.MoviesHD, "Movies: HD");
AddCategoryMapping(29, TorznabCatType.MoviesHD, "Movies: HD Ro");
AddCategoryMapping(7, TorznabCatType.MoviesDVD, "Movies: DVD");
AddCategoryMapping(2, TorznabCatType.MoviesDVD, "Movies: DVD Ro");
AddCategoryMapping(17, TorznabCatType.MoviesBluRay, "Movies: BluRay");
AddCategoryMapping(24, TorznabCatType.MoviesBluRay, "Movies: BluRay Ro");
AddCategoryMapping(59, TorznabCatType.Movies, "Movies: Ro");
AddCategoryMapping(57, TorznabCatType.MoviesUHD, "Movies: 4K (2160p) Ro");
AddCategoryMapping(61, TorznabCatType.MoviesUHD, "Movies: 4K (2160p)");
AddCategoryMapping(41, TorznabCatType.TV, "TV Packs");
AddCategoryMapping(66, TorznabCatType.TV, "TV Packs Ro");
AddCategoryMapping(45, TorznabCatType.TVSD, "TV Episodes");
AddCategoryMapping(46, TorznabCatType.TVSD, "TV Episodes Ro");
AddCategoryMapping(43, TorznabCatType.TVHD, "TV Episodes HD");
AddCategoryMapping(44, TorznabCatType.TVHD, "TV Episodes HD Ro");
AddCategoryMapping(60, TorznabCatType.TV, "TV Ro");
AddCategoryMapping(11, TorznabCatType.PCGames, "Games: PC-ISO");
AddCategoryMapping(52, TorznabCatType.Console, "Games: Console");
AddCategoryMapping(1, TorznabCatType.PC0day, "Applications");
AddCategoryMapping(14, TorznabCatType.PC, "Applications: Linux");
AddCategoryMapping(37, TorznabCatType.PCMac, "Applications: Mac");
AddCategoryMapping(19, TorznabCatType.PCMobileOther, "Applications: Mobile");
AddCategoryMapping(62, TorznabCatType.TV, "TV Cartoons");
AddCategoryMapping(3, TorznabCatType.TVAnime, "TV Anime / Hentai");
AddCategoryMapping(6, TorznabCatType.BooksEBook, "E-books");
AddCategoryMapping(5, TorznabCatType.Audio, "Music");
AddCategoryMapping(64, TorznabCatType.AudioVideo, "Music Video");
AddCategoryMapping(18, TorznabCatType.Other, "Images");
AddCategoryMapping(22, TorznabCatType.TVSport, "TV Sports");
AddCategoryMapping(58, TorznabCatType.TVSport, "TV Sports Ro");
AddCategoryMapping(9, TorznabCatType.TVDocumentary, "TV Documentary");
AddCategoryMapping(63, TorznabCatType.TVDocumentary, "TV Documentary Ro");
AddCategoryMapping(65, TorznabCatType.Other, "Tutorial");
AddCategoryMapping(67, TorznabCatType.OtherMisc, "Miscellaneous");
AddCategoryMapping(15, TorznabCatType.XXX, "XXX Movies");
AddCategoryMapping(47, TorznabCatType.XXX, "XXX DVD");
AddCategoryMapping(48, TorznabCatType.XXX, "XXX HD");
AddCategoryMapping(49, TorznabCatType.XXXImageSet, "XXX Images");
AddCategoryMapping(50, TorznabCatType.XXX, "XXX Packs");
AddCategoryMapping(51, TorznabCatType.XXX, "XXX SD");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(38, TorznabCatType.Movies, "Movie Packs");
caps.Categories.AddCategoryMapping(10, TorznabCatType.MoviesSD, "Movies: SD");
caps.Categories.AddCategoryMapping(35, TorznabCatType.MoviesSD, "Movies: SD Ro");
caps.Categories.AddCategoryMapping(8, TorznabCatType.MoviesHD, "Movies: HD");
caps.Categories.AddCategoryMapping(29, TorznabCatType.MoviesHD, "Movies: HD Ro");
caps.Categories.AddCategoryMapping(7, TorznabCatType.MoviesDVD, "Movies: DVD");
caps.Categories.AddCategoryMapping(2, TorznabCatType.MoviesDVD, "Movies: DVD Ro");
caps.Categories.AddCategoryMapping(17, TorznabCatType.MoviesBluRay, "Movies: BluRay");
caps.Categories.AddCategoryMapping(24, TorznabCatType.MoviesBluRay, "Movies: BluRay Ro");
caps.Categories.AddCategoryMapping(59, TorznabCatType.Movies, "Movies: Ro");
caps.Categories.AddCategoryMapping(57, TorznabCatType.MoviesUHD, "Movies: 4K (2160p) Ro");
caps.Categories.AddCategoryMapping(61, TorznabCatType.MoviesUHD, "Movies: 4K (2160p)");
caps.Categories.AddCategoryMapping(41, TorznabCatType.TV, "TV Packs");
caps.Categories.AddCategoryMapping(66, TorznabCatType.TV, "TV Packs Ro");
caps.Categories.AddCategoryMapping(45, TorznabCatType.TVSD, "TV Episodes");
caps.Categories.AddCategoryMapping(46, TorznabCatType.TVSD, "TV Episodes Ro");
caps.Categories.AddCategoryMapping(43, TorznabCatType.TVHD, "TV Episodes HD");
caps.Categories.AddCategoryMapping(44, TorznabCatType.TVHD, "TV Episodes HD Ro");
caps.Categories.AddCategoryMapping(60, TorznabCatType.TV, "TV Ro");
caps.Categories.AddCategoryMapping(11, TorznabCatType.PCGames, "Games: PC-ISO");
caps.Categories.AddCategoryMapping(52, TorznabCatType.Console, "Games: Console");
caps.Categories.AddCategoryMapping(1, TorznabCatType.PC0day, "Applications");
caps.Categories.AddCategoryMapping(14, TorznabCatType.PC, "Applications: Linux");
caps.Categories.AddCategoryMapping(37, TorznabCatType.PCMac, "Applications: Mac");
caps.Categories.AddCategoryMapping(19, TorznabCatType.PCMobileOther, "Applications: Mobile");
caps.Categories.AddCategoryMapping(62, TorznabCatType.TV, "TV Cartoons");
caps.Categories.AddCategoryMapping(3, TorznabCatType.TVAnime, "TV Anime / Hentai");
caps.Categories.AddCategoryMapping(6, TorznabCatType.BooksEBook, "E-books");
caps.Categories.AddCategoryMapping(5, TorznabCatType.Audio, "Music");
caps.Categories.AddCategoryMapping(64, TorznabCatType.AudioVideo, "Music Video");
caps.Categories.AddCategoryMapping(18, TorznabCatType.Other, "Images");
caps.Categories.AddCategoryMapping(22, TorznabCatType.TVSport, "TV Sports");
caps.Categories.AddCategoryMapping(58, TorznabCatType.TVSport, "TV Sports Ro");
caps.Categories.AddCategoryMapping(9, TorznabCatType.TVDocumentary, "TV Documentary");
caps.Categories.AddCategoryMapping(63, TorznabCatType.TVDocumentary, "TV Documentary Ro");
caps.Categories.AddCategoryMapping(65, TorznabCatType.Other, "Tutorial");
caps.Categories.AddCategoryMapping(67, TorznabCatType.OtherMisc, "Miscellaneous");
caps.Categories.AddCategoryMapping(15, TorznabCatType.XXX, "XXX Movies");
caps.Categories.AddCategoryMapping(47, TorznabCatType.XXX, "XXX DVD");
caps.Categories.AddCategoryMapping(48, TorznabCatType.XXX, "XXX HD");
caps.Categories.AddCategoryMapping(49, TorznabCatType.XXXImageSet, "XXX Images");
caps.Categories.AddCategoryMapping(50, TorznabCatType.XXX, "XXX Packs");
caps.Categories.AddCategoryMapping(51, TorznabCatType.XXX, "XXX SD");
return caps;
}
}
}

View File

@ -3,7 +3,6 @@ using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Html.Parser;
@ -36,6 +35,8 @@ namespace Jackett.Common.Indexers
public override bool SupportsPagination => true;
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LoginUrl1 => SiteLink + "checkpoint/API";
private string LoginUrl2 => SiteLink + "checkpoint/";
private string SearchUrl => SiteLink + "browse/";
@ -44,27 +45,7 @@ namespace Jackett.Common.Indexers
public SpeedCD(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -74,38 +55,64 @@ namespace Jackett.Common.Indexers
in your Speed.Cd profile. Eg. Geo Locking, your seedbox may be in a different country to the one where you login via your
web browser.<br><br>For best results, change the 'Torrents per page' setting to 100 in 'Profile Settings > Torrents'."))
{
AddCategoryMapping(1, TorznabCatType.MoviesOther, "Movies/XviD");
AddCategoryMapping(42, TorznabCatType.Movies, "Movies/Packs");
AddCategoryMapping(32, TorznabCatType.Movies, "Movies/Kids");
AddCategoryMapping(43, TorznabCatType.MoviesHD, "Movies/HD");
AddCategoryMapping(47, TorznabCatType.Movies, "Movies/DiVERSiTY");
AddCategoryMapping(28, TorznabCatType.MoviesBluRay, "Movies/B-Ray");
AddCategoryMapping(48, TorznabCatType.Movies3D, "Movies/3D");
AddCategoryMapping(40, TorznabCatType.MoviesDVD, "Movies/DVD-R");
AddCategoryMapping(56, TorznabCatType.Movies, "Movies/Anime");
AddCategoryMapping(50, TorznabCatType.TVSport, "TV/Sports");
AddCategoryMapping(52, TorznabCatType.TVHD, "TV/B-Ray");
AddCategoryMapping(53, TorznabCatType.TVSD, "TV/DVD-R");
AddCategoryMapping(41, TorznabCatType.TV, "TV/Packs");
AddCategoryMapping(55, TorznabCatType.TV, "TV/Kids");
AddCategoryMapping(57, TorznabCatType.TV, "TV/DiVERSiTY");
AddCategoryMapping(49, TorznabCatType.TVHD, "TV/HD");
AddCategoryMapping(2, TorznabCatType.TVSD, "TV/Episodes");
AddCategoryMapping(30, TorznabCatType.TVAnime, "TV/Anime");
AddCategoryMapping(25, TorznabCatType.PCISO, "Games/PC ISO");
AddCategoryMapping(39, TorznabCatType.ConsoleWii, "Games/Wii");
AddCategoryMapping(45, TorznabCatType.ConsolePS3, "Games/PS3");
AddCategoryMapping(35, TorznabCatType.Console, "Games/Nintendo");
AddCategoryMapping(33, TorznabCatType.ConsoleXBox360, "Games/XboX360");
AddCategoryMapping(46, TorznabCatType.PCMobileOther, "Mobile");
AddCategoryMapping(24, TorznabCatType.PC0day, "Apps/0DAY");
AddCategoryMapping(51, TorznabCatType.PCMac, "Mac");
AddCategoryMapping(54, TorznabCatType.Books, "Educational");
AddCategoryMapping(27, TorznabCatType.Books, "Books-Mags");
AddCategoryMapping(26, TorznabCatType.Audio, "Music/Audio");
AddCategoryMapping(3, TorznabCatType.Audio, "Music/Flac");
AddCategoryMapping(44, TorznabCatType.Audio, "Music/Pack");
AddCategoryMapping(29, TorznabCatType.AudioVideo, "Music/Video");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesOther, "Movies/XviD");
caps.Categories.AddCategoryMapping(42, TorznabCatType.Movies, "Movies/Packs");
caps.Categories.AddCategoryMapping(32, TorznabCatType.Movies, "Movies/Kids");
caps.Categories.AddCategoryMapping(43, TorznabCatType.MoviesHD, "Movies/HD");
caps.Categories.AddCategoryMapping(47, TorznabCatType.Movies, "Movies/DiVERSiTY");
caps.Categories.AddCategoryMapping(28, TorznabCatType.MoviesBluRay, "Movies/B-Ray");
caps.Categories.AddCategoryMapping(48, TorznabCatType.Movies3D, "Movies/3D");
caps.Categories.AddCategoryMapping(40, TorznabCatType.MoviesDVD, "Movies/DVD-R");
caps.Categories.AddCategoryMapping(56, TorznabCatType.Movies, "Movies/Anime");
caps.Categories.AddCategoryMapping(50, TorznabCatType.TVSport, "TV/Sports");
caps.Categories.AddCategoryMapping(52, TorznabCatType.TVHD, "TV/B-Ray");
caps.Categories.AddCategoryMapping(53, TorznabCatType.TVSD, "TV/DVD-R");
caps.Categories.AddCategoryMapping(41, TorznabCatType.TV, "TV/Packs");
caps.Categories.AddCategoryMapping(55, TorznabCatType.TV, "TV/Kids");
caps.Categories.AddCategoryMapping(57, TorznabCatType.TV, "TV/DiVERSiTY");
caps.Categories.AddCategoryMapping(49, TorznabCatType.TVHD, "TV/HD");
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVSD, "TV/Episodes");
caps.Categories.AddCategoryMapping(30, TorznabCatType.TVAnime, "TV/Anime");
caps.Categories.AddCategoryMapping(25, TorznabCatType.PCISO, "Games/PC ISO");
caps.Categories.AddCategoryMapping(39, TorznabCatType.ConsoleWii, "Games/Wii");
caps.Categories.AddCategoryMapping(45, TorznabCatType.ConsolePS3, "Games/PS3");
caps.Categories.AddCategoryMapping(35, TorznabCatType.Console, "Games/Nintendo");
caps.Categories.AddCategoryMapping(33, TorznabCatType.ConsoleXBox360, "Games/XboX360");
caps.Categories.AddCategoryMapping(46, TorznabCatType.PCMobileOther, "Mobile");
caps.Categories.AddCategoryMapping(24, TorznabCatType.PC0day, "Apps/0DAY");
caps.Categories.AddCategoryMapping(51, TorznabCatType.PCMac, "Mac");
caps.Categories.AddCategoryMapping(54, TorznabCatType.Books, "Educational");
caps.Categories.AddCategoryMapping(27, TorznabCatType.Books, "Books-Mags");
caps.Categories.AddCategoryMapping(26, TorznabCatType.Audio, "Music/Audio");
caps.Categories.AddCategoryMapping(3, TorznabCatType.Audio, "Music/Flac");
caps.Categories.AddCategoryMapping(44, TorznabCatType.Audio, "Music/Pack");
caps.Categories.AddCategoryMapping(29, TorznabCatType.AudioVideo, "Music/Video");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -43,26 +43,34 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "public";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string ApiEndpoint => SiteLink + "api/?";
public SubsPlease(IIndexerConfigurationService configService, Utils.Clients.WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationData())
{
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
}
};
// Configure the category mappings
AddCategoryMapping(1, TorznabCatType.TVAnime, "Anime");
caps.Categories.AddCategoryMapping(1, TorznabCatType.TVAnime, "Anime");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -28,6 +28,8 @@ namespace Jackett.Common.Indexers
public override string Language => "hu-HU";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private readonly Dictionary<int, long> _imdbLookup = new Dictionary<int, long>(); // _imdbLookup[internalId] = imdbId
private readonly Dictionary<long, int>
@ -39,30 +41,35 @@ namespace Jackett.Common.Indexers
private readonly Regex _seriesInfoSearchRegex = new Regex(
@"S(?<season>\d{1,3})(?:E(?<episode>\d{1,3}))?$", RegexOptions.IgnoreCase);
public TVStore(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs) :
base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
}
},
configService: configService,
public TVStore(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs) :
base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataTVstore())
{
AddCategoryMapping(1, TorznabCatType.TV);
AddCategoryMapping(2, TorznabCatType.TVHD);
AddCategoryMapping(3, TorznabCatType.TVSD);
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.TV);
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVHD);
caps.Categories.AddCategoryMapping(3, TorznabCatType.TVSD);
return caps;
}
private string LoginUrl => SiteLink + "takelogin.php";

View File

@ -26,6 +26,8 @@ namespace Jackett.Common.Indexers
public override string Language => "uk-UA";
public override string Type => "semi-private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private new ConfigurationDataToloka configData
{
get => (ConfigurationDataToloka)base.configData;
@ -37,164 +39,170 @@ namespace Jackett.Common.Indexers
private string SearchUrl => SiteLink + "tracker.php";
public Toloka(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataToloka())
{
AddCategoryMapping(117, TorznabCatType.Movies, "Українське кіно");
AddCategoryMapping(84, TorznabCatType.Movies, "|-Мультфільми і казки");
AddCategoryMapping(42, TorznabCatType.Movies, "|-Художні фільми");
AddCategoryMapping(124, TorznabCatType.TV, "|-Телесеріали");
AddCategoryMapping(125, TorznabCatType.TV, "|-Мультсеріали");
AddCategoryMapping(129, TorznabCatType.Movies, "|-АртХаус");
AddCategoryMapping(219, TorznabCatType.Movies, "|-Аматорське відео");
AddCategoryMapping(118, TorznabCatType.Movies, "Українське озвучення");
AddCategoryMapping(16, TorznabCatType.Movies, "|-Фільми");
AddCategoryMapping(32, TorznabCatType.TV, "|-Телесеріали");
AddCategoryMapping(19, TorznabCatType.Movies, "|-Мультфільми");
AddCategoryMapping(44, TorznabCatType.TV, "|-Мультсеріали");
AddCategoryMapping(127, TorznabCatType.TVAnime, "|-Аніме");
AddCategoryMapping(55, TorznabCatType.Movies, "|-АртХаус");
AddCategoryMapping(94, TorznabCatType.MoviesOther, "|-Трейлери");
AddCategoryMapping(144, TorznabCatType.Movies, "|-Короткометражні");
}
AddCategoryMapping(190, TorznabCatType.Movies, "Українські субтитри");
AddCategoryMapping(70, TorznabCatType.Movies, "|-Фільми");
AddCategoryMapping(192, TorznabCatType.TV, "|-Телесеріали");
AddCategoryMapping(193, TorznabCatType.Movies, "|-Мультфільми");
AddCategoryMapping(195, TorznabCatType.TV, "|-Мультсеріали");
AddCategoryMapping(194, TorznabCatType.TVAnime, "|-Аніме");
AddCategoryMapping(196, TorznabCatType.Movies, "|-АртХаус");
AddCategoryMapping(197, TorznabCatType.Movies, "|-Короткометражні");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
AddCategoryMapping(225, TorznabCatType.TVDocumentary, "Документальні фільми українською");
AddCategoryMapping(21, TorznabCatType.TVDocumentary, "|-Українські наукові документальні фільми");
AddCategoryMapping(131, TorznabCatType.TVDocumentary, "|-Українські історичні документальні фільми");
AddCategoryMapping(226, TorznabCatType.TVDocumentary, "|-BBC");
AddCategoryMapping(227, TorznabCatType.TVDocumentary, "|-Discovery");
AddCategoryMapping(228, TorznabCatType.TVDocumentary, "|-National Geographic");
AddCategoryMapping(229, TorznabCatType.TVDocumentary, "|-History Channel");
AddCategoryMapping(230, TorznabCatType.TVDocumentary, "|-Інші іноземні документальні фільми");
caps.Categories.AddCategoryMapping(117, TorznabCatType.Movies, "Українське кіно");
caps.Categories.AddCategoryMapping(84, TorznabCatType.Movies, "|-Мультфільми і казки");
caps.Categories.AddCategoryMapping(42, TorznabCatType.Movies, "|-Художні фільми");
caps.Categories.AddCategoryMapping(124, TorznabCatType.TV, "|-Телесеріали");
caps.Categories.AddCategoryMapping(125, TorznabCatType.TV, "|-Мультсеріали");
caps.Categories.AddCategoryMapping(129, TorznabCatType.Movies, "|-АртХаус");
caps.Categories.AddCategoryMapping(219, TorznabCatType.Movies, "|-Аматорське відео");
caps.Categories.AddCategoryMapping(118, TorznabCatType.Movies, "Українське озвучення");
caps.Categories.AddCategoryMapping(16, TorznabCatType.Movies, "|-Фільми");
caps.Categories.AddCategoryMapping(32, TorznabCatType.TV, "|-Телесеріали");
caps.Categories.AddCategoryMapping(19, TorznabCatType.Movies, "|-Мультфільми");
caps.Categories.AddCategoryMapping(44, TorznabCatType.TV, "|-Мультсеріали");
caps.Categories.AddCategoryMapping(127, TorznabCatType.TVAnime, "|-Аніме");
caps.Categories.AddCategoryMapping(55, TorznabCatType.Movies, "|-АртХаус");
caps.Categories.AddCategoryMapping(94, TorznabCatType.MoviesOther, "|-Трейлери");
caps.Categories.AddCategoryMapping(144, TorznabCatType.Movies, "|-Короткометражні");
AddCategoryMapping(119, TorznabCatType.TVOther, "Телепередачі українською");
AddCategoryMapping(18, TorznabCatType.TVOther, "|-Музичне відео");
AddCategoryMapping(132, TorznabCatType.TVOther, "|-Телевізійні шоу та програми");
caps.Categories.AddCategoryMapping(190, TorznabCatType.Movies, "Українські субтитри");
caps.Categories.AddCategoryMapping(70, TorznabCatType.Movies, "|-Фільми");
caps.Categories.AddCategoryMapping(192, TorznabCatType.TV, "|-Телесеріали");
caps.Categories.AddCategoryMapping(193, TorznabCatType.Movies, "|-Мультфільми");
caps.Categories.AddCategoryMapping(195, TorznabCatType.TV, "|-Мультсеріали");
caps.Categories.AddCategoryMapping(194, TorznabCatType.TVAnime, "|-Аніме");
caps.Categories.AddCategoryMapping(196, TorznabCatType.Movies, "|-АртХаус");
caps.Categories.AddCategoryMapping(197, TorznabCatType.Movies, "|-Короткометражні");
AddCategoryMapping(157, TorznabCatType.TVSport, "Український спорт");
AddCategoryMapping(235, TorznabCatType.TVSport, "|-Олімпіада");
AddCategoryMapping(170, TorznabCatType.TVSport, "|-Чемпіонати Європи з футболу");
AddCategoryMapping(162, TorznabCatType.TVSport, "|-Чемпіонати світу з футболу");
AddCategoryMapping(166, TorznabCatType.TVSport, "|-Чемпіонат та Кубок України з футболу");
AddCategoryMapping(167, TorznabCatType.TVSport, "|-Єврокубки");
AddCategoryMapping(168, TorznabCatType.TVSport, "|-Збірна України");
AddCategoryMapping(169, TorznabCatType.TVSport, "|-Закордонні чемпіонати");
AddCategoryMapping(54, TorznabCatType.TVSport, "|-Футбольне відео");
AddCategoryMapping(158, TorznabCatType.TVSport, "|-Баскетбол, хоккей, волейбол, гандбол, футзал");
AddCategoryMapping(159, TorznabCatType.TVSport, "|-Бокс, реслінг, бойові мистецтва");
AddCategoryMapping(160, TorznabCatType.TVSport, "|-Авто, мото");
AddCategoryMapping(161, TorznabCatType.TVSport, "|-Інший спорт, активний відпочинок");
caps.Categories.AddCategoryMapping(225, TorznabCatType.TVDocumentary, "Документальні фільми українською");
caps.Categories.AddCategoryMapping(21, TorznabCatType.TVDocumentary, "|-Українські наукові документальні фільми");
caps.Categories.AddCategoryMapping(131, TorznabCatType.TVDocumentary, "|-Українські історичні документальні фільми");
caps.Categories.AddCategoryMapping(226, TorznabCatType.TVDocumentary, "|-BBC");
caps.Categories.AddCategoryMapping(227, TorznabCatType.TVDocumentary, "|-Discovery");
caps.Categories.AddCategoryMapping(228, TorznabCatType.TVDocumentary, "|-National Geographic");
caps.Categories.AddCategoryMapping(229, TorznabCatType.TVDocumentary, "|-History Channel");
caps.Categories.AddCategoryMapping(230, TorznabCatType.TVDocumentary, "|-Інші іноземні документальні фільми");
// AddCategoryMapping(136, TorznabCatType.Other, "HD українською");
AddCategoryMapping(96, TorznabCatType.MoviesHD, "|-Фільми в HD");
AddCategoryMapping(173, TorznabCatType.TVHD, "|-Серіали в HD");
AddCategoryMapping(139, TorznabCatType.MoviesHD, "|-Мультфільми в HD");
AddCategoryMapping(174, TorznabCatType.TVHD, "|-Мультсеріали в HD");
AddCategoryMapping(140, TorznabCatType.TVDocumentary, "|-Документальні фільми в HD");
AddCategoryMapping(120, TorznabCatType.MoviesDVD, "DVD українською");
AddCategoryMapping(66, TorznabCatType.MoviesDVD, "|-Художні фільми та серіали в DVD");
AddCategoryMapping(137, TorznabCatType.MoviesDVD, "|-Мультфільми та мультсеріали в DVD");
AddCategoryMapping(137, TorznabCatType.TV, "|-Мультфільми та мультсеріали в DVD");
AddCategoryMapping(138, TorznabCatType.MoviesDVD, "|-Документальні фільми в DVD");
caps.Categories.AddCategoryMapping(119, TorznabCatType.TVOther, "Телепередачі українською");
caps.Categories.AddCategoryMapping(18, TorznabCatType.TVOther, "|-Музичне відео");
caps.Categories.AddCategoryMapping(132, TorznabCatType.TVOther, "|-Телевізійні шоу та програми");
AddCategoryMapping(237, TorznabCatType.Movies, "Відео для мобільних (iOS, Android, Windows Phone)");
caps.Categories.AddCategoryMapping(157, TorznabCatType.TVSport, "Український спорт");
caps.Categories.AddCategoryMapping(235, TorznabCatType.TVSport, "|-Олімпіада");
caps.Categories.AddCategoryMapping(170, TorznabCatType.TVSport, "|-Чемпіонати Європи з футболу");
caps.Categories.AddCategoryMapping(162, TorznabCatType.TVSport, "|-Чемпіонати світу з футболу");
caps.Categories.AddCategoryMapping(166, TorznabCatType.TVSport, "|-Чемпіонат та Кубок України з футболу");
caps.Categories.AddCategoryMapping(167, TorznabCatType.TVSport, "|-Єврокубки");
caps.Categories.AddCategoryMapping(168, TorznabCatType.TVSport, "|-Збірна України");
caps.Categories.AddCategoryMapping(169, TorznabCatType.TVSport, "|-Закордонні чемпіонати");
caps.Categories.AddCategoryMapping(54, TorznabCatType.TVSport, "|-Футбольне відео");
caps.Categories.AddCategoryMapping(158, TorznabCatType.TVSport, "|-Баскетбол, хоккей, волейбол, гандбол, футзал");
caps.Categories.AddCategoryMapping(159, TorznabCatType.TVSport, "|-Бокс, реслінг, бойові мистецтва");
caps.Categories.AddCategoryMapping(160, TorznabCatType.TVSport, "|-Авто, мото");
caps.Categories.AddCategoryMapping(161, TorznabCatType.TVSport, "|-Інший спорт, активний відпочинок");
AddCategoryMapping(33, TorznabCatType.AudioVideo, "Звукові доріжки та субтитри");
// caps.Categories.AddCategoryMapping(136, TorznabCatType.Other, "HD українською");
caps.Categories.AddCategoryMapping(96, TorznabCatType.MoviesHD, "|-Фільми в HD");
caps.Categories.AddCategoryMapping(173, TorznabCatType.TVHD, "|-Серіали в HD");
caps.Categories.AddCategoryMapping(139, TorznabCatType.MoviesHD, "|-Мультфільми в HD");
caps.Categories.AddCategoryMapping(174, TorznabCatType.TVHD, "|-Мультсеріали в HD");
caps.Categories.AddCategoryMapping(140, TorznabCatType.TVDocumentary, "|-Документальні фільми в HD");
caps.Categories.AddCategoryMapping(120, TorznabCatType.MoviesDVD, "DVD українською");
caps.Categories.AddCategoryMapping(66, TorznabCatType.MoviesDVD, "|-Художні фільми та серіали в DVD");
caps.Categories.AddCategoryMapping(137, TorznabCatType.MoviesDVD, "|-Мультфільми та мультсеріали в DVD");
caps.Categories.AddCategoryMapping(137, TorznabCatType.TV, "|-Мультфільми та мультсеріали в DVD");
caps.Categories.AddCategoryMapping(138, TorznabCatType.MoviesDVD, "|-Документальні фільми в DVD");
AddCategoryMapping(8, TorznabCatType.Audio, "Українська музика (lossy)");
AddCategoryMapping(23, TorznabCatType.Audio, "|-Поп, Естрада");
AddCategoryMapping(24, TorznabCatType.Audio, "|-Джаз, Блюз");
AddCategoryMapping(43, TorznabCatType.Audio, "|-Етно, Фольклор, Народна, Бардівська");
AddCategoryMapping(35, TorznabCatType.Audio, "|-Інструментальна, Класична та неокласична");
AddCategoryMapping(37, TorznabCatType.Audio, "|-Рок, Метал, Альтернатива, Панк, СКА");
AddCategoryMapping(36, TorznabCatType.Audio, "|-Реп, Хіп-хоп, РнБ");
AddCategoryMapping(38, TorznabCatType.Audio, "|-Електронна музика");
AddCategoryMapping(56, TorznabCatType.Audio, "|-Невидане");
caps.Categories.AddCategoryMapping(237, TorznabCatType.Movies, "Відео для мобільних (iOS, Android, Windows Phone)");
AddCategoryMapping(98, TorznabCatType.AudioLossless, "Українська музика (lossless)");
AddCategoryMapping(100, TorznabCatType.AudioLossless, "|-Поп, Естрада");
AddCategoryMapping(101, TorznabCatType.AudioLossless, "|-Джаз, Блюз");
AddCategoryMapping(102, TorznabCatType.AudioLossless, "|-Етно, Фольклор, Народна, Бардівська");
AddCategoryMapping(103, TorznabCatType.AudioLossless, "|-Інструментальна, Класична та неокласична");
AddCategoryMapping(104, TorznabCatType.AudioLossless, "|-Рок, Метал, Альтернатива, Панк, СКА");
AddCategoryMapping(105, TorznabCatType.AudioLossless, "|-Реп, Хіп-хоп, РнБ");
AddCategoryMapping(106, TorznabCatType.AudioLossless, "|-Електронна музика");
caps.Categories.AddCategoryMapping(33, TorznabCatType.AudioVideo, "Звукові доріжки та субтитри");
AddCategoryMapping(11, TorznabCatType.Books, "Друкована література");
AddCategoryMapping(134, TorznabCatType.Books, "|-Українська художня література (до 1991 р.)");
AddCategoryMapping(177, TorznabCatType.Books, "|-Українська художня література (після 1991 р.)");
AddCategoryMapping(178, TorznabCatType.Books, "|-Зарубіжна художня література");
AddCategoryMapping(179, TorznabCatType.Books, "|-Наукова література (гуманітарні дисципліни)");
AddCategoryMapping(180, TorznabCatType.Books, "|-Наукова література (природничі дисципліни)");
AddCategoryMapping(183, TorznabCatType.Books, "|-Навчальна та довідкова");
AddCategoryMapping(181, TorznabCatType.BooksMags, "|-Періодика");
AddCategoryMapping(182, TorznabCatType.Books, "|-Батькам та малятам");
AddCategoryMapping(184, TorznabCatType.BooksComics, "|-Графіка (комікси, манґа, BD та інше)");
caps.Categories.AddCategoryMapping(8, TorznabCatType.Audio, "Українська музика (lossy)");
caps.Categories.AddCategoryMapping(23, TorznabCatType.Audio, "|-Поп, Естрада");
caps.Categories.AddCategoryMapping(24, TorznabCatType.Audio, "|-Джаз, Блюз");
caps.Categories.AddCategoryMapping(43, TorznabCatType.Audio, "|-Етно, Фольклор, Народна, Бардівська");
caps.Categories.AddCategoryMapping(35, TorznabCatType.Audio, "|-Інструментальна, Класична та неокласична");
caps.Categories.AddCategoryMapping(37, TorznabCatType.Audio, "|-Рок, Метал, Альтернатива, Панк, СКА");
caps.Categories.AddCategoryMapping(36, TorznabCatType.Audio, "|-Реп, Хіп-хоп, РнБ");
caps.Categories.AddCategoryMapping(38, TorznabCatType.Audio, "|-Електронна музика");
caps.Categories.AddCategoryMapping(56, TorznabCatType.Audio, "|-Невидане");
AddCategoryMapping(185, TorznabCatType.AudioAudiobook, "Аудіокниги українською");
AddCategoryMapping(135, TorznabCatType.AudioAudiobook, "|-Українська художня література");
AddCategoryMapping(186, TorznabCatType.AudioAudiobook, "|-Зарубіжна художня література");
AddCategoryMapping(187, TorznabCatType.AudioAudiobook, "|-Історія, біографістика, спогади");
AddCategoryMapping(189, TorznabCatType.AudioAudiobook, "|-Сирий матеріал");
caps.Categories.AddCategoryMapping(98, TorznabCatType.AudioLossless, "Українська музика (lossless)");
caps.Categories.AddCategoryMapping(100, TorznabCatType.AudioLossless, "|-Поп, Естрада");
caps.Categories.AddCategoryMapping(101, TorznabCatType.AudioLossless, "|-Джаз, Блюз");
caps.Categories.AddCategoryMapping(102, TorznabCatType.AudioLossless, "|-Етно, Фольклор, Народна, Бардівська");
caps.Categories.AddCategoryMapping(103, TorznabCatType.AudioLossless, "|-Інструментальна, Класична та неокласична");
caps.Categories.AddCategoryMapping(104, TorznabCatType.AudioLossless, "|-Рок, Метал, Альтернатива, Панк, СКА");
caps.Categories.AddCategoryMapping(105, TorznabCatType.AudioLossless, "|-Реп, Хіп-хоп, РнБ");
caps.Categories.AddCategoryMapping(106, TorznabCatType.AudioLossless, "|-Електронна музика");
AddCategoryMapping(9, TorznabCatType.PC, "Windows");
AddCategoryMapping(25, TorznabCatType.PC, "|-Windows");
AddCategoryMapping(199, TorznabCatType.PC, "|-Офіс");
AddCategoryMapping(200, TorznabCatType.PC, "|-Антивіруси та безпека");
AddCategoryMapping(201, TorznabCatType.PC, "|-Мультимедія");
AddCategoryMapping(202, TorznabCatType.PC, "|-Утиліти, обслуговування, мережа");
AddCategoryMapping(239, TorznabCatType.PC, "Linux, Mac OS");
AddCategoryMapping(26, TorznabCatType.PC, "|-Linux");
AddCategoryMapping(27, TorznabCatType.PCMac, "|-Mac OS");
// AddCategoryMapping(240, TorznabCatType.PC, "Інші OS");
AddCategoryMapping(211, TorznabCatType.PCMobileAndroid, "|-Android");
AddCategoryMapping(122, TorznabCatType.PCMobileiOS, "|-iOS");
AddCategoryMapping(40, TorznabCatType.PCMobileOther, "|-Інші мобільні платформи");
caps.Categories.AddCategoryMapping(11, TorznabCatType.Books, "Друкована література");
caps.Categories.AddCategoryMapping(134, TorznabCatType.Books, "|-Українська художня література (до 1991 р.)");
caps.Categories.AddCategoryMapping(177, TorznabCatType.Books, "|-Українська художня література (після 1991 р.)");
caps.Categories.AddCategoryMapping(178, TorznabCatType.Books, "|-Зарубіжна художня література");
caps.Categories.AddCategoryMapping(179, TorznabCatType.Books, "|-Наукова література (гуманітарні дисципліни)");
caps.Categories.AddCategoryMapping(180, TorznabCatType.Books, "|-Наукова література (природничі дисципліни)");
caps.Categories.AddCategoryMapping(183, TorznabCatType.Books, "|-Навчальна та довідкова");
caps.Categories.AddCategoryMapping(181, TorznabCatType.BooksMags, "|-Періодика");
caps.Categories.AddCategoryMapping(182, TorznabCatType.Books, "|-Батькам та малятам");
caps.Categories.AddCategoryMapping(184, TorznabCatType.BooksComics, "|-Графіка (комікси, манґа, BD та інше)");
// AddCategoryMapping(241, TorznabCatType.Other, "Інше");
// AddCategoryMapping(203, TorznabCatType.Other, "|-Інфодиски, електронні підручники, відеоуроки");
// AddCategoryMapping(12, TorznabCatType.Other, "|-Шпалери, фотографії та зображення");
// AddCategoryMapping(249, TorznabCatType.Other, "|-Веб-скрипти");
AddCategoryMapping(10, TorznabCatType.PCGames, "Ігри українською");
AddCategoryMapping(28, TorznabCatType.PCGames, "|-PC ігри");
AddCategoryMapping(259, TorznabCatType.PCGames, "|-Mac ігри");
AddCategoryMapping(29, TorznabCatType.PCGames, "|-Українізації, доповнення, патчі...");
AddCategoryMapping(30, TorznabCatType.PCGames, "|-Мобільні та консольні ігри");
AddCategoryMapping(41, TorznabCatType.PCMobileiOS, "|-iOS");
AddCategoryMapping(212, TorznabCatType.PCMobileAndroid, "|-Android");
AddCategoryMapping(205, TorznabCatType.PCGames, "Переклад ігор українською");
caps.Categories.AddCategoryMapping(185, TorznabCatType.AudioAudiobook, "Аудіокниги українською");
caps.Categories.AddCategoryMapping(135, TorznabCatType.AudioAudiobook, "|-Українська художня література");
caps.Categories.AddCategoryMapping(186, TorznabCatType.AudioAudiobook, "|-Зарубіжна художня література");
caps.Categories.AddCategoryMapping(187, TorznabCatType.AudioAudiobook, "|-Історія, біографістика, спогади");
caps.Categories.AddCategoryMapping(189, TorznabCatType.AudioAudiobook, "|-Сирий матеріал");
caps.Categories.AddCategoryMapping(9, TorznabCatType.PC, "Windows");
caps.Categories.AddCategoryMapping(25, TorznabCatType.PC, "|-Windows");
caps.Categories.AddCategoryMapping(199, TorznabCatType.PC, "|-Офіс");
caps.Categories.AddCategoryMapping(200, TorznabCatType.PC, "|-Антивіруси та безпека");
caps.Categories.AddCategoryMapping(201, TorznabCatType.PC, "|-Мультимедія");
caps.Categories.AddCategoryMapping(202, TorznabCatType.PC, "|-Утиліти, обслуговування, мережа");
caps.Categories.AddCategoryMapping(239, TorznabCatType.PC, "Linux, Mac OS");
caps.Categories.AddCategoryMapping(26, TorznabCatType.PC, "|-Linux");
caps.Categories.AddCategoryMapping(27, TorznabCatType.PCMac, "|-Mac OS");
// caps.Categories.AddCategoryMapping(240, TorznabCatType.PC, "Інші OS");
caps.Categories.AddCategoryMapping(211, TorznabCatType.PCMobileAndroid, "|-Android");
caps.Categories.AddCategoryMapping(122, TorznabCatType.PCMobileiOS, "|-iOS");
caps.Categories.AddCategoryMapping(40, TorznabCatType.PCMobileOther, "|-Інші мобільні платформи");
// caps.Categories.AddCategoryMapping(241, TorznabCatType.Other, "Інше");
// caps.Categories.AddCategoryMapping(203, TorznabCatType.Other, "|-Інфодиски, електронні підручники, відеоуроки");
// caps.Categories.AddCategoryMapping(12, TorznabCatType.Other, "|-Шпалери, фотографії та зображення");
// caps.Categories.AddCategoryMapping(249, TorznabCatType.Other, "|-Веб-скрипти");
caps.Categories.AddCategoryMapping(10, TorznabCatType.PCGames, "Ігри українською");
caps.Categories.AddCategoryMapping(28, TorznabCatType.PCGames, "|-PC ігри");
caps.Categories.AddCategoryMapping(259, TorznabCatType.PCGames, "|-Mac ігри");
caps.Categories.AddCategoryMapping(29, TorznabCatType.PCGames, "|-Українізації, доповнення, патчі...");
caps.Categories.AddCategoryMapping(30, TorznabCatType.PCGames, "|-Мобільні та консольні ігри");
caps.Categories.AddCategoryMapping(41, TorznabCatType.PCMobileiOS, "|-iOS");
caps.Categories.AddCategoryMapping(212, TorznabCatType.PCMobileAndroid, "|-Android");
caps.Categories.AddCategoryMapping(205, TorznabCatType.PCGames, "Переклад ігор українською");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -27,70 +27,77 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LoginUrl => SiteLink + "takelogin.php";
private string SearchUrl => SiteLink + "browse.php";
private new ConfigurationDataBasicLogin configData => (ConfigurationDataBasicLogin)base.configData;
public TorrentBytes(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
}
},
configService: configService,
public TorrentBytes(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLogin("For best results, change the 'Torrents per page' setting to 100 in your profile on the TorrentBytes webpage."))
{
AddCategoryMapping(23, TorznabCatType.TVAnime, "Anime");
AddCategoryMapping(52, TorznabCatType.PCMac, "Apple/All");
AddCategoryMapping(22, TorznabCatType.PC, "Apps/misc");
AddCategoryMapping(1, TorznabCatType.PC, "Apps/PC");
AddCategoryMapping(28, TorznabCatType.TVForeign, "Foreign Titles");
AddCategoryMapping(50, TorznabCatType.Console, "Games/Consoles");
AddCategoryMapping(42, TorznabCatType.PCGames, "Games/Pack");
AddCategoryMapping(4, TorznabCatType.PCGames, "Games/PC");
AddCategoryMapping(51, TorznabCatType.PC, "Linux/All");
AddCategoryMapping(31, TorznabCatType.OtherMisc, "Misc");
AddCategoryMapping(20, TorznabCatType.MoviesDVD, "Movies/DVD-R");
AddCategoryMapping(12, TorznabCatType.MoviesBluRay, "Movies/Full Blu-ray");
AddCategoryMapping(5, TorznabCatType.MoviesHD, "Movies/HD");
AddCategoryMapping(40, TorznabCatType.Movies, "Movies/Pack");
AddCategoryMapping(19, TorznabCatType.MoviesSD, "Movies/SD");
AddCategoryMapping(49, TorznabCatType.MoviesUHD, "Movies/UHD");
AddCategoryMapping(25, TorznabCatType.Audio, "Music/DVDR");
AddCategoryMapping(48, TorznabCatType.AudioLossless, "Music/Flac");
AddCategoryMapping(6, TorznabCatType.AudioMP3, "Music/MP3");
AddCategoryMapping(43, TorznabCatType.Audio, "Music/Pack");
AddCategoryMapping(34, TorznabCatType.AudioVideo, "Music/Videos");
AddCategoryMapping(45, TorznabCatType.MoviesBluRay, "NonScene/BRrip");
AddCategoryMapping(46, TorznabCatType.MoviesHD, "NonScene/x264");
AddCategoryMapping(44, TorznabCatType.MoviesSD, "NonScene/Xvid");
AddCategoryMapping(37, TorznabCatType.TVHD, "TV/BRrip");
AddCategoryMapping(38, TorznabCatType.TVHD, "TV/HD");
AddCategoryMapping(41, TorznabCatType.TV, "TV/Pack");
AddCategoryMapping(33, TorznabCatType.TVSD, "TV/SD");
AddCategoryMapping(32, TorznabCatType.TVUHD, "TV/UHD");
AddCategoryMapping(39, TorznabCatType.XXXx264, "XXX/HD");
AddCategoryMapping(24, TorznabCatType.XXXImageSet, "XXX/IMGSET");
AddCategoryMapping(21, TorznabCatType.XXXPack, "XXX/Pack");
AddCategoryMapping(9, TorznabCatType.XXXXviD, "XXX/SD");
AddCategoryMapping(29, TorznabCatType.XXX, "XXX/Web");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(23, TorznabCatType.TVAnime, "Anime");
caps.Categories.AddCategoryMapping(52, TorznabCatType.PCMac, "Apple/All");
caps.Categories.AddCategoryMapping(22, TorznabCatType.PC, "Apps/misc");
caps.Categories.AddCategoryMapping(1, TorznabCatType.PC, "Apps/PC");
caps.Categories.AddCategoryMapping(28, TorznabCatType.TVForeign, "Foreign Titles");
caps.Categories.AddCategoryMapping(50, TorznabCatType.Console, "Games/Consoles");
caps.Categories.AddCategoryMapping(42, TorznabCatType.PCGames, "Games/Pack");
caps.Categories.AddCategoryMapping(4, TorznabCatType.PCGames, "Games/PC");
caps.Categories.AddCategoryMapping(51, TorznabCatType.PC, "Linux/All");
caps.Categories.AddCategoryMapping(31, TorznabCatType.OtherMisc, "Misc");
caps.Categories.AddCategoryMapping(20, TorznabCatType.MoviesDVD, "Movies/DVD-R");
caps.Categories.AddCategoryMapping(12, TorznabCatType.MoviesBluRay, "Movies/Full Blu-ray");
caps.Categories.AddCategoryMapping(5, TorznabCatType.MoviesHD, "Movies/HD");
caps.Categories.AddCategoryMapping(40, TorznabCatType.Movies, "Movies/Pack");
caps.Categories.AddCategoryMapping(19, TorznabCatType.MoviesSD, "Movies/SD");
caps.Categories.AddCategoryMapping(49, TorznabCatType.MoviesUHD, "Movies/UHD");
caps.Categories.AddCategoryMapping(25, TorznabCatType.Audio, "Music/DVDR");
caps.Categories.AddCategoryMapping(48, TorznabCatType.AudioLossless, "Music/Flac");
caps.Categories.AddCategoryMapping(6, TorznabCatType.AudioMP3, "Music/MP3");
caps.Categories.AddCategoryMapping(43, TorznabCatType.Audio, "Music/Pack");
caps.Categories.AddCategoryMapping(34, TorznabCatType.AudioVideo, "Music/Videos");
caps.Categories.AddCategoryMapping(45, TorznabCatType.MoviesBluRay, "NonScene/BRrip");
caps.Categories.AddCategoryMapping(46, TorznabCatType.MoviesHD, "NonScene/x264");
caps.Categories.AddCategoryMapping(44, TorznabCatType.MoviesSD, "NonScene/Xvid");
caps.Categories.AddCategoryMapping(37, TorznabCatType.TVHD, "TV/BRrip");
caps.Categories.AddCategoryMapping(38, TorznabCatType.TVHD, "TV/HD");
caps.Categories.AddCategoryMapping(41, TorznabCatType.TV, "TV/Pack");
caps.Categories.AddCategoryMapping(33, TorznabCatType.TVSD, "TV/SD");
caps.Categories.AddCategoryMapping(32, TorznabCatType.TVUHD, "TV/UHD");
caps.Categories.AddCategoryMapping(39, TorznabCatType.XXXx264, "XXX/HD");
caps.Categories.AddCategoryMapping(24, TorznabCatType.XXXImageSet, "XXX/IMGSET");
caps.Categories.AddCategoryMapping(21, TorznabCatType.XXXPack, "XXX/Pack");
caps.Categories.AddCategoryMapping(9, TorznabCatType.XXXXviD, "XXX/SD");
caps.Categories.AddCategoryMapping(29, TorznabCatType.XXX, "XXX/Web");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -2,7 +2,6 @@ using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Jackett.Common.Helpers;
using Jackett.Common.Models;
@ -54,33 +53,15 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string SearchUrl => SiteLink + "t.json";
private new ConfigurationDataCookie configData => (ConfigurationDataCookie)base.configData;
public TorrentDay(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -91,58 +72,83 @@ namespace Jackett.Common.Indexers
wc.EmulateBrowser = false;
configData.AddDynamic("freeleech", new BoolConfigurationItem("Search freeleech only") { Value = false });
}
AddCategoryMapping(96, TorznabCatType.MoviesUHD, "Movie/4K");
AddCategoryMapping(25, TorznabCatType.MoviesSD, "Movies/480p");
AddCategoryMapping(11, TorznabCatType.MoviesBluRay, "Movies/Bluray");
AddCategoryMapping(5, TorznabCatType.MoviesBluRay, "Movies/Bluray-Full");
AddCategoryMapping(3, TorznabCatType.MoviesDVD, "Movies/DVD-R");
AddCategoryMapping(21, TorznabCatType.MoviesSD, "Movies/MP4");
AddCategoryMapping(22, TorznabCatType.MoviesForeign, "Movies/Non-English");
AddCategoryMapping(13, TorznabCatType.Movies, "Movies/Packs");
AddCategoryMapping(44, TorznabCatType.MoviesSD, "Movies/SD/x264");
AddCategoryMapping(48, TorznabCatType.Movies, "Movies/x265");
AddCategoryMapping(1, TorznabCatType.MoviesSD, "Movies/XviD");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
AddCategoryMapping(24, TorznabCatType.TVSD, "TV/480p");
AddCategoryMapping(32, TorznabCatType.TVHD, "TV/Bluray");
AddCategoryMapping(31, TorznabCatType.TVSD, "TV/DVD-R");
AddCategoryMapping(33, TorznabCatType.TVSD, "TV/DVD-Rip");
AddCategoryMapping(46, TorznabCatType.TVSD, "TV/Mobile");
AddCategoryMapping(82, TorznabCatType.TVForeign, "TV/Non-English");
AddCategoryMapping(14, TorznabCatType.TV, "TV/Packs");
AddCategoryMapping(26, TorznabCatType.TVSD, "TV/SD/x264");
AddCategoryMapping(7, TorznabCatType.TVHD, "TV/x264");
AddCategoryMapping(34, TorznabCatType.TVUHD, "TV/x265");
AddCategoryMapping(2, TorznabCatType.TVSD, "TV/XviD");
caps.Categories.AddCategoryMapping(96, TorznabCatType.MoviesUHD, "Movie/4K");
caps.Categories.AddCategoryMapping(25, TorznabCatType.MoviesSD, "Movies/480p");
caps.Categories.AddCategoryMapping(11, TorznabCatType.MoviesBluRay, "Movies/Bluray");
caps.Categories.AddCategoryMapping(5, TorznabCatType.MoviesBluRay, "Movies/Bluray-Full");
caps.Categories.AddCategoryMapping(3, TorznabCatType.MoviesDVD, "Movies/DVD-R");
caps.Categories.AddCategoryMapping(21, TorznabCatType.MoviesSD, "Movies/MP4");
caps.Categories.AddCategoryMapping(22, TorznabCatType.MoviesForeign, "Movies/Non-English");
caps.Categories.AddCategoryMapping(13, TorznabCatType.Movies, "Movies/Packs");
caps.Categories.AddCategoryMapping(44, TorznabCatType.MoviesSD, "Movies/SD/x264");
caps.Categories.AddCategoryMapping(48, TorznabCatType.Movies, "Movies/x265");
caps.Categories.AddCategoryMapping(1, TorznabCatType.MoviesSD, "Movies/XviD");
AddCategoryMapping(4, TorznabCatType.PCGames, "PC/Games");
AddCategoryMapping(18, TorznabCatType.ConsolePS3, "PS");
AddCategoryMapping(8, TorznabCatType.ConsolePSP, "PSP");
AddCategoryMapping(10, TorznabCatType.ConsoleNDS, "Nintendo");
AddCategoryMapping(9, TorznabCatType.ConsoleXBox, "Xbox");
caps.Categories.AddCategoryMapping(24, TorznabCatType.TVSD, "TV/480p");
caps.Categories.AddCategoryMapping(32, TorznabCatType.TVHD, "TV/Bluray");
caps.Categories.AddCategoryMapping(31, TorznabCatType.TVSD, "TV/DVD-R");
caps.Categories.AddCategoryMapping(33, TorznabCatType.TVSD, "TV/DVD-Rip");
caps.Categories.AddCategoryMapping(46, TorznabCatType.TVSD, "TV/Mobile");
caps.Categories.AddCategoryMapping(82, TorznabCatType.TVForeign, "TV/Non-English");
caps.Categories.AddCategoryMapping(14, TorznabCatType.TV, "TV/Packs");
caps.Categories.AddCategoryMapping(26, TorznabCatType.TVSD, "TV/SD/x264");
caps.Categories.AddCategoryMapping(7, TorznabCatType.TVHD, "TV/x264");
caps.Categories.AddCategoryMapping(34, TorznabCatType.TVUHD, "TV/x265");
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVSD, "TV/XviD");
AddCategoryMapping(17, TorznabCatType.AudioMP3, "Music/Audio");
AddCategoryMapping(27, TorznabCatType.Audio, "Music/Flac");
AddCategoryMapping(23, TorznabCatType.AudioForeign, "Music/Non-English");
AddCategoryMapping(41, TorznabCatType.Audio, "Music/Packs");
AddCategoryMapping(16, TorznabCatType.AudioVideo, "Music/Video");
caps.Categories.AddCategoryMapping(4, TorznabCatType.PCGames, "PC/Games");
caps.Categories.AddCategoryMapping(18, TorznabCatType.ConsolePS3, "PS");
caps.Categories.AddCategoryMapping(8, TorznabCatType.ConsolePSP, "PSP");
caps.Categories.AddCategoryMapping(10, TorznabCatType.ConsoleNDS, "Nintendo");
caps.Categories.AddCategoryMapping(9, TorznabCatType.ConsoleXBox, "Xbox");
AddCategoryMapping(29, TorznabCatType.TVAnime, "Anime");
AddCategoryMapping(42, TorznabCatType.AudioAudiobook, "Audio Books");
AddCategoryMapping(20, TorznabCatType.Books, "Books");
AddCategoryMapping(102, TorznabCatType.BooksForeign, "Books/Non-English");
AddCategoryMapping(30, TorznabCatType.TVDocumentary, "Documentary");
AddCategoryMapping(95, TorznabCatType.TVDocumentary, "Educational");
AddCategoryMapping(47, TorznabCatType.Other, "Fonts");
AddCategoryMapping(43, TorznabCatType.PCMac, "Mac");
AddCategoryMapping(45, TorznabCatType.AudioOther, "Podcast");
AddCategoryMapping(28, TorznabCatType.PC, "Softwa/Packs");
AddCategoryMapping(12, TorznabCatType.PC, "Software");
caps.Categories.AddCategoryMapping(17, TorznabCatType.AudioMP3, "Music/Audio");
caps.Categories.AddCategoryMapping(27, TorznabCatType.Audio, "Music/Flac");
caps.Categories.AddCategoryMapping(23, TorznabCatType.AudioForeign, "Music/Non-English");
caps.Categories.AddCategoryMapping(41, TorznabCatType.Audio, "Music/Packs");
caps.Categories.AddCategoryMapping(16, TorznabCatType.AudioVideo, "Music/Video");
AddCategoryMapping(19, TorznabCatType.XXX, "XXX/0Day");
AddCategoryMapping(6, TorznabCatType.XXX, "XXX/Movies");
AddCategoryMapping(15, TorznabCatType.XXXPack, "XXX/Packs");
caps.Categories.AddCategoryMapping(29, TorznabCatType.TVAnime, "Anime");
caps.Categories.AddCategoryMapping(42, TorznabCatType.AudioAudiobook, "Audio Books");
caps.Categories.AddCategoryMapping(20, TorznabCatType.Books, "Books");
caps.Categories.AddCategoryMapping(102, TorznabCatType.BooksForeign, "Books/Non-English");
caps.Categories.AddCategoryMapping(30, TorznabCatType.TVDocumentary, "Documentary");
caps.Categories.AddCategoryMapping(95, TorznabCatType.TVDocumentary, "Educational");
caps.Categories.AddCategoryMapping(47, TorznabCatType.Other, "Fonts");
caps.Categories.AddCategoryMapping(43, TorznabCatType.PCMac, "Mac");
caps.Categories.AddCategoryMapping(45, TorznabCatType.AudioOther, "Podcast");
caps.Categories.AddCategoryMapping(28, TorznabCatType.PC, "Softwa/Packs");
caps.Categories.AddCategoryMapping(12, TorznabCatType.PC, "Software");
caps.Categories.AddCategoryMapping(19, TorznabCatType.XXX, "XXX/0Day");
caps.Categories.AddCategoryMapping(6, TorznabCatType.XXX, "XXX/Movies");
caps.Categories.AddCategoryMapping(15, TorznabCatType.XXXPack, "XXX/Packs");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -32,34 +32,15 @@ namespace Jackett.Common.Indexers
public override string Language => "de-DE";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private new ConfigurationDataCaptchaLogin configData => (ConfigurationDataCaptchaLogin)base.configData;
private string IndexUrl => SiteLink + "index.php";
private string LoginCompleteUrl => SiteLink + "index.php?strWebValue=account&strWebAction=login_complete&ancestry=verify";
public TorrentHeaven(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
public TorrentHeaven(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -68,50 +49,75 @@ namespace Jackett.Common.Indexers
{
// incomplete CA chain
wc.AddTrustedCertificate(new Uri(SiteLink).Host, "8612e46b2abd418b6398dbf2382ebcf44b10f378");
}
AddCategoryMapping(1, TorznabCatType.PCGames, "GAMES/PC");
AddCategoryMapping(3, TorznabCatType.Console, "GAMES/Sonstige");
AddCategoryMapping(59, TorznabCatType.ConsolePS4, "GAMES/PlayStation");
AddCategoryMapping(60, TorznabCatType.ConsolePSP, "GAMES/PSP");
AddCategoryMapping(63, TorznabCatType.ConsoleWii, "GAMES/Wii");
AddCategoryMapping(67, TorznabCatType.ConsoleXBox360, "GAMES/XBOX 360");
AddCategoryMapping(68, TorznabCatType.PCMobileOther, "GAMES/PDA / Handy");
AddCategoryMapping(72, TorznabCatType.ConsoleNDS, "GAMES/NDS");
AddCategoryMapping(7, TorznabCatType.MoviesDVD, "MOVIES/DVD");
AddCategoryMapping(8, TorznabCatType.MoviesSD, "MOVIES/SD");
AddCategoryMapping(37, TorznabCatType.MoviesDVD, "MOVIES/DVD Spezial");
AddCategoryMapping(41, TorznabCatType.MoviesForeign, "MOVIES/International");
AddCategoryMapping(101, TorznabCatType.MoviesHD, "MOVIES/720p");
AddCategoryMapping(102, TorznabCatType.MoviesHD, "MOVIES/1080p");
AddCategoryMapping(103, TorznabCatType.MoviesHD, "MOVIES/AVCHD");
AddCategoryMapping(104, TorznabCatType.MoviesBluRay, "MOVIES/Bluray");
AddCategoryMapping(106, TorznabCatType.Movies3D, "MOVIES/3D");
AddCategoryMapping(109, TorznabCatType.MoviesUHD, "MOVIES/4K");
AddCategoryMapping(14, TorznabCatType.Audio, "AUDIO/Musik");
AddCategoryMapping(15, TorznabCatType.AudioAudiobook, "AUDIO/Hörbücher");
AddCategoryMapping(16, TorznabCatType.AudioAudiobook, "AUDIO/Hörspiele");
AddCategoryMapping(36, TorznabCatType.AudioLossless, "AUDIO/Flac");
AddCategoryMapping(42, TorznabCatType.AudioOther, "AUDIO/Soundtracks");
AddCategoryMapping(58, TorznabCatType.AudioVideo, "AUDIO/Musikvideos");
AddCategoryMapping(18, TorznabCatType.TVSD, "TV/Serien SD");
AddCategoryMapping(19, TorznabCatType.TVHD, "TV/Serien HD 720p");
AddCategoryMapping(20, TorznabCatType.TVHD, "TV/Serien HD 1080p");
AddCategoryMapping(49, TorznabCatType.TVSD, "TV/Serien DVD");
AddCategoryMapping(51, TorznabCatType.TVDocumentary, "TV/Doku SD");
AddCategoryMapping(52, TorznabCatType.TVDocumentary, "TV/Doku HD");
AddCategoryMapping(53, TorznabCatType.TV, "TV/Serien Complete Packs");
AddCategoryMapping(54, TorznabCatType.TVSport, "TV/Sport");
AddCategoryMapping(66, TorznabCatType.TVForeign, "TV/International");
AddCategoryMapping(110, TorznabCatType.TVUHD, "TV/Serien - 4K");
AddCategoryMapping(22, TorznabCatType.Books, "MISC/EBooks");
AddCategoryMapping(24, TorznabCatType.Other, "MISC/Sonstiges");
AddCategoryMapping(25, TorznabCatType.Other, "MISC/Tonspuren");
AddCategoryMapping(108, TorznabCatType.TVAnime, "MISC/Anime");
AddCategoryMapping(28, TorznabCatType.PC, "APPLICATIONS/PC");
AddCategoryMapping(29, TorznabCatType.PCMobileOther, "APPLICATIONS/Mobile");
AddCategoryMapping(30, TorznabCatType.PC, "APPLICATIONS/Sonstige");
AddCategoryMapping(70, TorznabCatType.PC, "APPLICATIONS/Linux");
AddCategoryMapping(71, TorznabCatType.PCMac, "APPLICATIONS/Mac");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(1, TorznabCatType.PCGames, "GAMES/PC");
caps.Categories.AddCategoryMapping(3, TorznabCatType.Console, "GAMES/Sonstige");
caps.Categories.AddCategoryMapping(59, TorznabCatType.ConsolePS4, "GAMES/PlayStation");
caps.Categories.AddCategoryMapping(60, TorznabCatType.ConsolePSP, "GAMES/PSP");
caps.Categories.AddCategoryMapping(63, TorznabCatType.ConsoleWii, "GAMES/Wii");
caps.Categories.AddCategoryMapping(67, TorznabCatType.ConsoleXBox360, "GAMES/XBOX 360");
caps.Categories.AddCategoryMapping(68, TorznabCatType.PCMobileOther, "GAMES/PDA / Handy");
caps.Categories.AddCategoryMapping(72, TorznabCatType.ConsoleNDS, "GAMES/NDS");
caps.Categories.AddCategoryMapping(7, TorznabCatType.MoviesDVD, "MOVIES/DVD");
caps.Categories.AddCategoryMapping(8, TorznabCatType.MoviesSD, "MOVIES/SD");
caps.Categories.AddCategoryMapping(37, TorznabCatType.MoviesDVD, "MOVIES/DVD Spezial");
caps.Categories.AddCategoryMapping(41, TorznabCatType.MoviesForeign, "MOVIES/International");
caps.Categories.AddCategoryMapping(101, TorznabCatType.MoviesHD, "MOVIES/720p");
caps.Categories.AddCategoryMapping(102, TorznabCatType.MoviesHD, "MOVIES/1080p");
caps.Categories.AddCategoryMapping(103, TorznabCatType.MoviesHD, "MOVIES/AVCHD");
caps.Categories.AddCategoryMapping(104, TorznabCatType.MoviesBluRay, "MOVIES/Bluray");
caps.Categories.AddCategoryMapping(106, TorznabCatType.Movies3D, "MOVIES/3D");
caps.Categories.AddCategoryMapping(109, TorznabCatType.MoviesUHD, "MOVIES/4K");
caps.Categories.AddCategoryMapping(14, TorznabCatType.Audio, "AUDIO/Musik");
caps.Categories.AddCategoryMapping(15, TorznabCatType.AudioAudiobook, "AUDIO/Hörbücher");
caps.Categories.AddCategoryMapping(16, TorznabCatType.AudioAudiobook, "AUDIO/Hörspiele");
caps.Categories.AddCategoryMapping(36, TorznabCatType.AudioLossless, "AUDIO/Flac");
caps.Categories.AddCategoryMapping(42, TorznabCatType.AudioOther, "AUDIO/Soundtracks");
caps.Categories.AddCategoryMapping(58, TorznabCatType.AudioVideo, "AUDIO/Musikvideos");
caps.Categories.AddCategoryMapping(18, TorznabCatType.TVSD, "TV/Serien SD");
caps.Categories.AddCategoryMapping(19, TorznabCatType.TVHD, "TV/Serien HD 720p");
caps.Categories.AddCategoryMapping(20, TorznabCatType.TVHD, "TV/Serien HD 1080p");
caps.Categories.AddCategoryMapping(49, TorznabCatType.TVSD, "TV/Serien DVD");
caps.Categories.AddCategoryMapping(51, TorznabCatType.TVDocumentary, "TV/Doku SD");
caps.Categories.AddCategoryMapping(52, TorznabCatType.TVDocumentary, "TV/Doku HD");
caps.Categories.AddCategoryMapping(53, TorznabCatType.TV, "TV/Serien Complete Packs");
caps.Categories.AddCategoryMapping(54, TorznabCatType.TVSport, "TV/Sport");
caps.Categories.AddCategoryMapping(66, TorznabCatType.TVForeign, "TV/International");
caps.Categories.AddCategoryMapping(110, TorznabCatType.TVUHD, "TV/Serien - 4K");
caps.Categories.AddCategoryMapping(22, TorznabCatType.Books, "MISC/EBooks");
caps.Categories.AddCategoryMapping(24, TorznabCatType.Other, "MISC/Sonstiges");
caps.Categories.AddCategoryMapping(25, TorznabCatType.Other, "MISC/Tonspuren");
caps.Categories.AddCategoryMapping(108, TorznabCatType.TVAnime, "MISC/Anime");
caps.Categories.AddCategoryMapping(28, TorznabCatType.PC, "APPLICATIONS/PC");
caps.Categories.AddCategoryMapping(29, TorznabCatType.PCMobileOther, "APPLICATIONS/Mobile");
caps.Categories.AddCategoryMapping(30, TorznabCatType.PC, "APPLICATIONS/Sonstige");
caps.Categories.AddCategoryMapping(70, TorznabCatType.PC, "APPLICATIONS/Linux");
caps.Categories.AddCategoryMapping(71, TorznabCatType.PCMac, "APPLICATIONS/Mac");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -27,6 +27,8 @@ namespace Jackett.Common.Indexers
public override string Language => "de-DE";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string APIUrl => SiteLink + "api/";
private string passkey;
@ -41,29 +43,8 @@ namespace Jackett.Common.Indexers
set => base.configData = value;
}
public TorrentNetwork(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.Genre
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q, MusicSearchParam.Genre
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q, BookSearchParam.Genre
}
},
configService: configService,
public TorrentNetwork(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
@ -72,55 +53,80 @@ namespace Jackett.Common.Indexers
{
configData.AddDynamic("token", new HiddenStringConfigurationItem("token"));
configData.AddDynamic("passkey", new HiddenStringConfigurationItem("passkey"));
}
AddCategoryMapping(24, TorznabCatType.MoviesSD, "Movies GER/SD");
AddCategoryMapping(18, TorznabCatType.MoviesHD, "Movies GER/720p");
AddCategoryMapping(17, TorznabCatType.MoviesHD, "Movies GER/1080p");
AddCategoryMapping(20, TorznabCatType.MoviesUHD, "Movies GER/2160p");
AddCategoryMapping(45, TorznabCatType.MoviesOther, "Movies GER/Remux");
AddCategoryMapping(19, TorznabCatType.MoviesBluRay, "Movies GER/BluRay");
AddCategoryMapping(34, TorznabCatType.TVAnime, "Movies GER/Anime");
AddCategoryMapping(36, TorznabCatType.Movies3D, "Movies GER/3D");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.Genre
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.Genre
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q, MusicSearchParam.Genre
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q, BookSearchParam.Genre
}
};
AddCategoryMapping(22, TorznabCatType.MoviesSD, "Movies ENG/SD");
AddCategoryMapping(35, TorznabCatType.MoviesHD, "Movies ENG/720p");
AddCategoryMapping(43, TorznabCatType.MoviesHD, "Movies ENG/1080p");
AddCategoryMapping(48, TorznabCatType.MoviesUHD, "Movies ENG/2160p");
AddCategoryMapping(46, TorznabCatType.MoviesOther, "Movies ENG/Remux");
AddCategoryMapping(38, TorznabCatType.MoviesBluRay, "Movies ENG/BluRay");
AddCategoryMapping(39, TorznabCatType.TVAnime, "Movies ENG/Anime");
caps.Categories.AddCategoryMapping(24, TorznabCatType.MoviesSD, "Movies GER/SD");
caps.Categories.AddCategoryMapping(18, TorznabCatType.MoviesHD, "Movies GER/720p");
caps.Categories.AddCategoryMapping(17, TorznabCatType.MoviesHD, "Movies GER/1080p");
caps.Categories.AddCategoryMapping(20, TorznabCatType.MoviesUHD, "Movies GER/2160p");
caps.Categories.AddCategoryMapping(45, TorznabCatType.MoviesOther, "Movies GER/Remux");
caps.Categories.AddCategoryMapping(19, TorznabCatType.MoviesBluRay, "Movies GER/BluRay");
caps.Categories.AddCategoryMapping(34, TorznabCatType.TVAnime, "Movies GER/Anime");
caps.Categories.AddCategoryMapping(36, TorznabCatType.Movies3D, "Movies GER/3D");
AddCategoryMapping(27, TorznabCatType.TVSD, "Series GER/SD");
AddCategoryMapping(28, TorznabCatType.TVHD, "Series GER/HD");
AddCategoryMapping(2, TorznabCatType.TVAnime, "Series GER/Anime");
AddCategoryMapping(16, TorznabCatType.TV, "Series GER/Pack");
AddCategoryMapping(6, TorznabCatType.TVDocumentary, "Docu/SD");
AddCategoryMapping(7, TorznabCatType.TVDocumentary, "Docu/HD");
caps.Categories.AddCategoryMapping(22, TorznabCatType.MoviesSD, "Movies ENG/SD");
caps.Categories.AddCategoryMapping(35, TorznabCatType.MoviesHD, "Movies ENG/720p");
caps.Categories.AddCategoryMapping(43, TorznabCatType.MoviesHD, "Movies ENG/1080p");
caps.Categories.AddCategoryMapping(48, TorznabCatType.MoviesUHD, "Movies ENG/2160p");
caps.Categories.AddCategoryMapping(46, TorznabCatType.MoviesOther, "Movies ENG/Remux");
caps.Categories.AddCategoryMapping(38, TorznabCatType.MoviesBluRay, "Movies ENG/BluRay");
caps.Categories.AddCategoryMapping(39, TorznabCatType.TVAnime, "Movies ENG/Anime");
AddCategoryMapping(29, TorznabCatType.TVSD, "Series ENG/SD");
AddCategoryMapping(40, TorznabCatType.TVHD, "Series ENG/HD");
AddCategoryMapping(41, TorznabCatType.TVAnime, "Series ENG/Anime");
AddCategoryMapping(42, TorznabCatType.TV, "Series ENG/Pack");
AddCategoryMapping(31, TorznabCatType.TVSport, "Sport");
caps.Categories.AddCategoryMapping(27, TorznabCatType.TVSD, "Series GER/SD");
caps.Categories.AddCategoryMapping(28, TorznabCatType.TVHD, "Series GER/HD");
caps.Categories.AddCategoryMapping(2, TorznabCatType.TVAnime, "Series GER/Anime");
caps.Categories.AddCategoryMapping(16, TorznabCatType.TV, "Series GER/Pack");
caps.Categories.AddCategoryMapping(6, TorznabCatType.TVDocumentary, "Docu/SD");
caps.Categories.AddCategoryMapping(7, TorznabCatType.TVDocumentary, "Docu/HD");
AddCategoryMapping(10, TorznabCatType.PCGames, "Games/Win");
AddCategoryMapping(12, TorznabCatType.ConsoleWii, "Games/Wii");
AddCategoryMapping(13, TorznabCatType.ConsolePS4, "Games/PSX");
AddCategoryMapping(14, TorznabCatType.ConsoleXBox, "Games/XBOX");
caps.Categories.AddCategoryMapping(29, TorznabCatType.TVSD, "Series ENG/SD");
caps.Categories.AddCategoryMapping(40, TorznabCatType.TVHD, "Series ENG/HD");
caps.Categories.AddCategoryMapping(41, TorznabCatType.TVAnime, "Series ENG/Anime");
caps.Categories.AddCategoryMapping(42, TorznabCatType.TV, "Series ENG/Pack");
caps.Categories.AddCategoryMapping(31, TorznabCatType.TVSport, "Sport");
AddCategoryMapping(4, TorznabCatType.PCMac, "Apps/Mac");
AddCategoryMapping(5, TorznabCatType.PC0day, "Apps/Win");
caps.Categories.AddCategoryMapping(10, TorznabCatType.PCGames, "Games/Win");
caps.Categories.AddCategoryMapping(12, TorznabCatType.ConsoleWii, "Games/Wii");
caps.Categories.AddCategoryMapping(13, TorznabCatType.ConsolePS4, "Games/PSX");
caps.Categories.AddCategoryMapping(14, TorznabCatType.ConsoleXBox, "Games/XBOX");
AddCategoryMapping(1, TorznabCatType.AudioAudiobook, "Misc/aBook");
AddCategoryMapping(8, TorznabCatType.Books, "Misc/eBook");
AddCategoryMapping(30, TorznabCatType.Other, "Misc/Sonstiges");
caps.Categories.AddCategoryMapping(4, TorznabCatType.PCMac, "Apps/Mac");
caps.Categories.AddCategoryMapping(5, TorznabCatType.PC0day, "Apps/Win");
AddCategoryMapping(44, TorznabCatType.AudioLossless, "Musik/Flac");
AddCategoryMapping(25, TorznabCatType.AudioMP3, "Musik/MP3");
AddCategoryMapping(26, TorznabCatType.AudioVideo, "Musik/Video");
caps.Categories.AddCategoryMapping(1, TorznabCatType.AudioAudiobook, "Misc/aBook");
caps.Categories.AddCategoryMapping(8, TorznabCatType.Books, "Misc/eBook");
caps.Categories.AddCategoryMapping(30, TorznabCatType.Other, "Misc/Sonstiges");
AddCategoryMapping(32, TorznabCatType.XXX, "XXX/XXX");
AddCategoryMapping(33, TorznabCatType.XXX, "XXX/XXX|HD");
caps.Categories.AddCategoryMapping(44, TorznabCatType.AudioLossless, "Musik/Flac");
caps.Categories.AddCategoryMapping(25, TorznabCatType.AudioMP3, "Musik/MP3");
caps.Categories.AddCategoryMapping(26, TorznabCatType.AudioVideo, "Musik/Video");
caps.Categories.AddCategoryMapping(32, TorznabCatType.XXX, "XXX/XXX");
caps.Categories.AddCategoryMapping(33, TorznabCatType.XXX, "XXX/XXX|HD");
return caps;
}
public override void LoadValuesFromJson(JToken jsonConfig, bool useProtectionService = false)

View File

@ -28,6 +28,8 @@ namespace Jackett.Common.Indexers
public override string Language => "de-DE";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string ApiBase => SiteLink + "api_9djWe8Tb2NE3p6opyqnh/v1";
private bool ProductsOnly => ((BoolConfigurationItem)configData.GetDynamic("productsOnly")).Value;
@ -41,78 +43,13 @@ namespace Jackett.Common.Indexers
public TorrentSyndikat(IIndexerConfigurationService configService, WebClient w, Logger l,
IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: w,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataAPIKey())
{
AddCategoryMapping(2, TorznabCatType.PC, "Apps / Windows");
AddCategoryMapping(13, TorznabCatType.PC, "Apps / Linux");
AddCategoryMapping(4, TorznabCatType.PCMac, "Apps / MacOS");
AddCategoryMapping(6, TorznabCatType.PC, "Apps / Misc");
AddCategoryMapping(50, TorznabCatType.PCGames, "Spiele / Windows");
AddCategoryMapping(51, TorznabCatType.PCGames, "Spiele / MacOS");
AddCategoryMapping(52, TorznabCatType.PCGames, "Spiele / Linux");
AddCategoryMapping(8, TorznabCatType.ConsoleOther, "Spiele / Playstation");
AddCategoryMapping(7, TorznabCatType.ConsoleOther, "Spiele / Nintendo");
AddCategoryMapping(32, TorznabCatType.ConsoleOther, "Spiele / XBOX");
AddCategoryMapping(42, TorznabCatType.MoviesUHD, "Filme / 2160p");
AddCategoryMapping(9, TorznabCatType.MoviesHD, "Filme / 1080p");
AddCategoryMapping(20, TorznabCatType.MoviesHD, "Filme / 720p");
AddCategoryMapping(10, TorznabCatType.MoviesSD, "Filme / SD");
AddCategoryMapping(43, TorznabCatType.TVUHD, "Serien / 2160p");
AddCategoryMapping(53, TorznabCatType.TVHD, "Serien / 1080p");
AddCategoryMapping(54, TorznabCatType.TVHD, "Serien / 720p");
AddCategoryMapping(15, TorznabCatType.TVSD, "Serien / SD");
AddCategoryMapping(30, TorznabCatType.TVSport, "Serien / Sport");
AddCategoryMapping(44, TorznabCatType.TVUHD, "Serienpacks / 2160p");
AddCategoryMapping(55, TorznabCatType.TVHD, "Serienpacks / 1080p");
AddCategoryMapping(56, TorznabCatType.TVHD, "Serienpacks / 720p");
AddCategoryMapping(27, TorznabCatType.TVSD, "Serienpacks / SD");
AddCategoryMapping(24, TorznabCatType.AudioLossless, "Audio / Musik / FLAC");
AddCategoryMapping(25, TorznabCatType.AudioMP3, "Audio / Musik / MP3");
AddCategoryMapping(35, TorznabCatType.AudioOther, "Audio / Other");
AddCategoryMapping(18, TorznabCatType.AudioAudiobook, "Audio / aBooks");
AddCategoryMapping(33, TorznabCatType.AudioVideo, "Audio / Videos");
AddCategoryMapping(17, TorznabCatType.Books, "Misc / eBooks");
AddCategoryMapping(5, TorznabCatType.PCMobileOther, "Misc / Mobile");
AddCategoryMapping(39, TorznabCatType.Other, "Misc / Bildung");
AddCategoryMapping(36, TorznabCatType.TVForeign, "Englisch / Serien");
AddCategoryMapping(57, TorznabCatType.TVForeign, "Englisch / Serienpacks");
AddCategoryMapping(37, TorznabCatType.MoviesForeign, "Englisch / Filme");
AddCategoryMapping(47, TorznabCatType.Books, "Englisch / eBooks");
AddCategoryMapping(48, TorznabCatType.Other, "Englisch / Bildung");
AddCategoryMapping(49, TorznabCatType.TVSport, "Englisch / Sport");
ConfigData.AddDynamic("keyInfo", new DisplayInfoConfigurationItem(String.Empty, "Generate a new key <a href=\"https://torrent-syndikat.org/keymgm/keys.php\" target=_blank>here</a>, set <i>download</i> and <i>browse</i> scopes."));
ConfigData.AddDynamic("productsOnly", new BoolConfigurationItem("Products only"));
ConfigData.AddDynamic("productsOnlyInfo", new DisplayInfoConfigurationItem(String.Empty, "Limit search to torrents linked to a product."));
@ -128,6 +65,76 @@ namespace Jackett.Common.Indexers
ConfigData.AddDynamic("releaseTypeInfo", new DisplayInfoConfigurationItem(String.Empty, "Limit search to specific release types."));
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(2, TorznabCatType.PC, "Apps / Windows");
caps.Categories.AddCategoryMapping(13, TorznabCatType.PC, "Apps / Linux");
caps.Categories.AddCategoryMapping(4, TorznabCatType.PCMac, "Apps / MacOS");
caps.Categories.AddCategoryMapping(6, TorznabCatType.PC, "Apps / Misc");
caps.Categories.AddCategoryMapping(50, TorznabCatType.PCGames, "Spiele / Windows");
caps.Categories.AddCategoryMapping(51, TorznabCatType.PCGames, "Spiele / MacOS");
caps.Categories.AddCategoryMapping(52, TorznabCatType.PCGames, "Spiele / Linux");
caps.Categories.AddCategoryMapping(8, TorznabCatType.ConsoleOther, "Spiele / Playstation");
caps.Categories.AddCategoryMapping(7, TorznabCatType.ConsoleOther, "Spiele / Nintendo");
caps.Categories.AddCategoryMapping(32, TorznabCatType.ConsoleOther, "Spiele / XBOX");
caps.Categories.AddCategoryMapping(42, TorznabCatType.MoviesUHD, "Filme / 2160p");
caps.Categories.AddCategoryMapping(9, TorznabCatType.MoviesHD, "Filme / 1080p");
caps.Categories.AddCategoryMapping(20, TorznabCatType.MoviesHD, "Filme / 720p");
caps.Categories.AddCategoryMapping(10, TorznabCatType.MoviesSD, "Filme / SD");
caps.Categories.AddCategoryMapping(43, TorznabCatType.TVUHD, "Serien / 2160p");
caps.Categories.AddCategoryMapping(53, TorznabCatType.TVHD, "Serien / 1080p");
caps.Categories.AddCategoryMapping(54, TorznabCatType.TVHD, "Serien / 720p");
caps.Categories.AddCategoryMapping(15, TorznabCatType.TVSD, "Serien / SD");
caps.Categories.AddCategoryMapping(30, TorznabCatType.TVSport, "Serien / Sport");
caps.Categories.AddCategoryMapping(44, TorznabCatType.TVUHD, "Serienpacks / 2160p");
caps.Categories.AddCategoryMapping(55, TorznabCatType.TVHD, "Serienpacks / 1080p");
caps.Categories.AddCategoryMapping(56, TorznabCatType.TVHD, "Serienpacks / 720p");
caps.Categories.AddCategoryMapping(27, TorznabCatType.TVSD, "Serienpacks / SD");
caps.Categories.AddCategoryMapping(24, TorznabCatType.AudioLossless, "Audio / Musik / FLAC");
caps.Categories.AddCategoryMapping(25, TorznabCatType.AudioMP3, "Audio / Musik / MP3");
caps.Categories.AddCategoryMapping(35, TorznabCatType.AudioOther, "Audio / Other");
caps.Categories.AddCategoryMapping(18, TorznabCatType.AudioAudiobook, "Audio / aBooks");
caps.Categories.AddCategoryMapping(33, TorznabCatType.AudioVideo, "Audio / Videos");
caps.Categories.AddCategoryMapping(17, TorznabCatType.Books, "Misc / eBooks");
caps.Categories.AddCategoryMapping(5, TorznabCatType.PCMobileOther, "Misc / Mobile");
caps.Categories.AddCategoryMapping(39, TorznabCatType.Other, "Misc / Bildung");
caps.Categories.AddCategoryMapping(36, TorznabCatType.TVForeign, "Englisch / Serien");
caps.Categories.AddCategoryMapping(57, TorznabCatType.TVForeign, "Englisch / Serienpacks");
caps.Categories.AddCategoryMapping(37, TorznabCatType.MoviesForeign, "Englisch / Filme");
caps.Categories.AddCategoryMapping(47, TorznabCatType.Books, "Englisch / eBooks");
caps.Categories.AddCategoryMapping(48, TorznabCatType.Other, "Englisch / Bildung");
caps.Categories.AddCategoryMapping(49, TorznabCatType.TVSport, "Englisch / Sport");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
{
LoadValuesFromJson(configJson);

View File

@ -25,35 +25,43 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "public";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string SearchEndpoint => SiteLink + "service/search";
private new ConfigurationData configData => base.configData;
public TorrentsCSV(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
}
},
configService: configService,
public TorrentsCSV(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationData())
{
// torrents.csv doesn't return categories
AddCategoryMapping(1, TorznabCatType.Other);
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
}
};
// torrents.csv doesn't return categories
caps.Categories.AddCategoryMapping(1, TorznabCatType.Other);
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
{
LoadValuesFromJson(configJson);

View File

@ -25,46 +25,54 @@ namespace Jackett.Common.Indexers
public override string Language => "pt-BR";
public override string Type => "semi-private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
public Uniotaku(IIndexerConfigurationService configService, Utils.Clients.WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataUniotaku())
{
AddCategoryMapping(28, TorznabCatType.TVAnime, "Anime");
AddCategoryMapping(47, TorznabCatType.MoviesOther, "Filme");
AddCategoryMapping(48, TorznabCatType.TVAnime, "OVA");
AddCategoryMapping(49, TorznabCatType.BooksComics, "Mangá");
AddCategoryMapping(50, TorznabCatType.TVOther, "Dorama");
AddCategoryMapping(51, TorznabCatType.Audio, "OST");
AddCategoryMapping(52, TorznabCatType.TVAnime, "Anime Completo");
AddCategoryMapping(53, TorznabCatType.BooksComics, "Mangá Completo");
AddCategoryMapping(54, TorznabCatType.TVOther, "Dorama Completo");
AddCategoryMapping(55, TorznabCatType.XXX, "Hentai");
AddCategoryMapping(56, TorznabCatType.XXXOther, "H Doujinshi");
AddCategoryMapping(57, TorznabCatType.TVOther, "Tokusatsu");
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(28, TorznabCatType.TVAnime, "Anime");
caps.Categories.AddCategoryMapping(47, TorznabCatType.MoviesOther, "Filme");
caps.Categories.AddCategoryMapping(48, TorznabCatType.TVAnime, "OVA");
caps.Categories.AddCategoryMapping(49, TorznabCatType.BooksComics, "Mangá");
caps.Categories.AddCategoryMapping(50, TorznabCatType.TVOther, "Dorama");
caps.Categories.AddCategoryMapping(51, TorznabCatType.Audio, "OST");
caps.Categories.AddCategoryMapping(52, TorznabCatType.TVAnime, "Anime Completo");
caps.Categories.AddCategoryMapping(53, TorznabCatType.BooksComics, "Mangá Completo");
caps.Categories.AddCategoryMapping(54, TorznabCatType.TVOther, "Dorama Completo");
caps.Categories.AddCategoryMapping(55, TorznabCatType.XXX, "Hentai");
caps.Categories.AddCategoryMapping(56, TorznabCatType.XXXOther, "H Doujinshi");
caps.Categories.AddCategoryMapping(57, TorznabCatType.TVOther, "Tokusatsu");
return caps;
}
private new ConfigurationDataUniotaku configData => (ConfigurationDataUniotaku)base.configData;

View File

@ -2,7 +2,6 @@ using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Html.Parser;
@ -27,6 +26,8 @@ namespace Jackett.Common.Indexers
public override string Language => "en-US";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string LandingUrl => SiteLink + "login.php";
private string LoginUrl => SiteLink + "takelogin.php";
private string GetRSSKeyUrl => SiteLink + "getrss.php";
@ -36,112 +37,14 @@ namespace Jackett.Common.Indexers
private new ConfigurationDataBasicLoginWithRSSAndDisplay configData =>
(ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData;
public XSpeeds(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
public XSpeeds(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLoginWithRSSAndDisplay())
{
AddCategoryMapping(92, TorznabCatType.MoviesUHD, "4K Movies");
AddCategoryMapping(91, TorznabCatType.TVUHD, "4K TV");
AddCategoryMapping(94, TorznabCatType.TVUHD, "4K TV Boxsets");
AddCategoryMapping(70, TorznabCatType.TVAnime, "Anime");
AddCategoryMapping(80, TorznabCatType.AudioAudiobook, "Audiobooks");
AddCategoryMapping(66, TorznabCatType.MoviesBluRay, "Blu-Ray");
AddCategoryMapping(48, TorznabCatType.Books, "Books Magazines");
AddCategoryMapping(68, TorznabCatType.MoviesOther, "Cams/TS");
AddCategoryMapping(65, TorznabCatType.TVDocumentary, "Documentaries");
AddCategoryMapping(10, TorznabCatType.MoviesDVD, "DVDR");
AddCategoryMapping(72, TorznabCatType.MoviesForeign, "Foreign");
AddCategoryMapping(74, TorznabCatType.TVOther, "Kids");
AddCategoryMapping(95, TorznabCatType.PCMac, "Mac Games");
AddCategoryMapping(44, TorznabCatType.TVSport, "MMA");
AddCategoryMapping(11, TorznabCatType.Movies, "Movie Boxsets");
AddCategoryMapping(12, TorznabCatType.Movies, "Movies");
AddCategoryMapping(100, TorznabCatType.MoviesHD, "Movies HEVC");
AddCategoryMapping(13, TorznabCatType.Audio, "Music");
AddCategoryMapping(15, TorznabCatType.AudioVideo, "Music Videos");
AddCategoryMapping(32, TorznabCatType.ConsoleNDS, "NDS Games");
AddCategoryMapping(9, TorznabCatType.Other, "Other");
AddCategoryMapping(6, TorznabCatType.PCGames, "PC Games");
AddCategoryMapping(45, TorznabCatType.Other, "Pictures");
AddCategoryMapping(31, TorznabCatType.ConsolePS4, "Playstation");
AddCategoryMapping(71, TorznabCatType.TV, "PPV");
AddCategoryMapping(54, TorznabCatType.TV, "Soaps");
AddCategoryMapping(20, TorznabCatType.TVSport, "Sports");
AddCategoryMapping(102, TorznabCatType.TVSport, "Sports FIFA World Cup");
AddCategoryMapping(86, TorznabCatType.TVSport, "Sports MotorSports");
AddCategoryMapping(89, TorznabCatType.TVSport, "Sports Olympics");
AddCategoryMapping(88, TorznabCatType.TVSport, "Sports UK Football");
AddCategoryMapping(83, TorznabCatType.Movies, "TOTM");
AddCategoryMapping(21, TorznabCatType.TVSD, "TV Boxsets");
AddCategoryMapping(76, TorznabCatType.TVHD, "TV HD Boxsets");
AddCategoryMapping(97, TorznabCatType.TVHD, "TV HECV Boxsets");
AddCategoryMapping(47, TorznabCatType.TVHD, "TV HD");
AddCategoryMapping(96, TorznabCatType.TVHD, "TV HD HEVC");
AddCategoryMapping(16, TorznabCatType.TVSD, "TV SD");
AddCategoryMapping(7, TorznabCatType.ConsoleWii, "Wii Games");
AddCategoryMapping(43, TorznabCatType.TVSport, "Wrestling");
AddCategoryMapping(8, TorznabCatType.ConsoleXBox, "Xbox Games");
// RSS Textual categories
AddCategoryMapping("4K Movies", TorznabCatType.MoviesUHD);
AddCategoryMapping("4K TV", TorznabCatType.TVUHD);
AddCategoryMapping("4K TV Boxsets", TorznabCatType.TVUHD);
AddCategoryMapping("Anime", TorznabCatType.TVAnime);
AddCategoryMapping("Audiobooks", TorznabCatType.AudioAudiobook);
AddCategoryMapping("Blu-Ray", TorznabCatType.MoviesBluRay);
AddCategoryMapping("Books Magazines", TorznabCatType.Books);
AddCategoryMapping("Cams/TS", TorznabCatType.MoviesOther);
AddCategoryMapping("Documentaries", TorznabCatType.TVDocumentary);
AddCategoryMapping("DVDR", TorznabCatType.MoviesDVD);
AddCategoryMapping("Foreign", TorznabCatType.MoviesForeign);
AddCategoryMapping("Kids", TorznabCatType.TVOther);
AddCategoryMapping("MMA", TorznabCatType.TVSport);
AddCategoryMapping("Movie Boxsets", TorznabCatType.Movies);
AddCategoryMapping("Movies", TorznabCatType.Movies);
AddCategoryMapping("Music", TorznabCatType.Audio);
AddCategoryMapping("Music Videos", TorznabCatType.AudioVideo);
AddCategoryMapping("NDS Games", TorznabCatType.ConsoleNDS);
AddCategoryMapping("Other", TorznabCatType.Other);
AddCategoryMapping("PC Games", TorznabCatType.PCGames);
AddCategoryMapping("Pictures", TorznabCatType.Other);
AddCategoryMapping("Playstation", TorznabCatType.ConsolePS4);
AddCategoryMapping("PPV", TorznabCatType.TV);
AddCategoryMapping("Soaps", TorznabCatType.TV);
AddCategoryMapping("Sports", TorznabCatType.TVSport);
AddCategoryMapping("FIFA World Cup", TorznabCatType.TVSport);
AddCategoryMapping("MotorSports", TorznabCatType.TVSport);
AddCategoryMapping("Olympics", TorznabCatType.TVSport);
AddCategoryMapping("UK Football", TorznabCatType.TVSport);
AddCategoryMapping("TOTM", TorznabCatType.Movies);
AddCategoryMapping("TV Boxsets", TorznabCatType.TVSD);
AddCategoryMapping("HD Boxsets", TorznabCatType.TVHD);
AddCategoryMapping("TV-HD", TorznabCatType.TVHD);
AddCategoryMapping("TV-SD", TorznabCatType.TVSD);
AddCategoryMapping("Wii Games", TorznabCatType.ConsoleWii);
AddCategoryMapping("Wrestling", TorznabCatType.TVSport);
AddCategoryMapping("Xbox Games", TorznabCatType.ConsoleXBox);
// Configure the sort selects
var sortBySelect = new SingleSelectConfigurationItem(
"Sort by",
@ -166,6 +69,108 @@ namespace Jackett.Common.Indexers
configData.AddDynamic("orderrequestedfromsite", orderSelect);
}
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
};
caps.Categories.AddCategoryMapping(92, TorznabCatType.MoviesUHD, "4K Movies");
caps.Categories.AddCategoryMapping(91, TorznabCatType.TVUHD, "4K TV");
caps.Categories.AddCategoryMapping(94, TorznabCatType.TVUHD, "4K TV Boxsets");
caps.Categories.AddCategoryMapping(70, TorznabCatType.TVAnime, "Anime");
caps.Categories.AddCategoryMapping(80, TorznabCatType.AudioAudiobook, "Audiobooks");
caps.Categories.AddCategoryMapping(66, TorznabCatType.MoviesBluRay, "Blu-Ray");
caps.Categories.AddCategoryMapping(48, TorznabCatType.Books, "Books Magazines");
caps.Categories.AddCategoryMapping(68, TorznabCatType.MoviesOther, "Cams/TS");
caps.Categories.AddCategoryMapping(65, TorznabCatType.TVDocumentary, "Documentaries");
caps.Categories.AddCategoryMapping(10, TorznabCatType.MoviesDVD, "DVDR");
caps.Categories.AddCategoryMapping(72, TorznabCatType.MoviesForeign, "Foreign");
caps.Categories.AddCategoryMapping(74, TorznabCatType.TVOther, "Kids");
caps.Categories.AddCategoryMapping(95, TorznabCatType.PCMac, "Mac Games");
caps.Categories.AddCategoryMapping(44, TorznabCatType.TVSport, "MMA");
caps.Categories.AddCategoryMapping(11, TorznabCatType.Movies, "Movie Boxsets");
caps.Categories.AddCategoryMapping(12, TorznabCatType.Movies, "Movies");
caps.Categories.AddCategoryMapping(100, TorznabCatType.MoviesHD, "Movies HEVC");
caps.Categories.AddCategoryMapping(13, TorznabCatType.Audio, "Music");
caps.Categories.AddCategoryMapping(15, TorznabCatType.AudioVideo, "Music Videos");
caps.Categories.AddCategoryMapping(32, TorznabCatType.ConsoleNDS, "NDS Games");
caps.Categories.AddCategoryMapping(9, TorznabCatType.Other, "Other");
caps.Categories.AddCategoryMapping(6, TorznabCatType.PCGames, "PC Games");
caps.Categories.AddCategoryMapping(45, TorznabCatType.Other, "Pictures");
caps.Categories.AddCategoryMapping(31, TorznabCatType.ConsolePS4, "Playstation");
caps.Categories.AddCategoryMapping(71, TorznabCatType.TV, "PPV");
caps.Categories.AddCategoryMapping(54, TorznabCatType.TV, "Soaps");
caps.Categories.AddCategoryMapping(20, TorznabCatType.TVSport, "Sports");
caps.Categories.AddCategoryMapping(102, TorznabCatType.TVSport, "Sports FIFA World Cup");
caps.Categories.AddCategoryMapping(86, TorznabCatType.TVSport, "Sports MotorSports");
caps.Categories.AddCategoryMapping(89, TorznabCatType.TVSport, "Sports Olympics");
caps.Categories.AddCategoryMapping(88, TorznabCatType.TVSport, "Sports UK Football");
caps.Categories.AddCategoryMapping(83, TorznabCatType.Movies, "TOTM");
caps.Categories.AddCategoryMapping(21, TorznabCatType.TVSD, "TV Boxsets");
caps.Categories.AddCategoryMapping(76, TorznabCatType.TVHD, "TV HD Boxsets");
caps.Categories.AddCategoryMapping(97, TorznabCatType.TVHD, "TV HECV Boxsets");
caps.Categories.AddCategoryMapping(47, TorznabCatType.TVHD, "TV HD");
caps.Categories.AddCategoryMapping(96, TorznabCatType.TVHD, "TV HD HEVC");
caps.Categories.AddCategoryMapping(16, TorznabCatType.TVSD, "TV SD");
caps.Categories.AddCategoryMapping(7, TorznabCatType.ConsoleWii, "Wii Games");
caps.Categories.AddCategoryMapping(43, TorznabCatType.TVSport, "Wrestling");
caps.Categories.AddCategoryMapping(8, TorznabCatType.ConsoleXBox, "Xbox Games");
// RSS Textual categories
caps.Categories.AddCategoryMapping("4K Movies", TorznabCatType.MoviesUHD);
caps.Categories.AddCategoryMapping("4K TV", TorznabCatType.TVUHD);
caps.Categories.AddCategoryMapping("4K TV Boxsets", TorznabCatType.TVUHD);
caps.Categories.AddCategoryMapping("Anime", TorznabCatType.TVAnime);
caps.Categories.AddCategoryMapping("Audiobooks", TorznabCatType.AudioAudiobook);
caps.Categories.AddCategoryMapping("Blu-Ray", TorznabCatType.MoviesBluRay);
caps.Categories.AddCategoryMapping("Books Magazines", TorznabCatType.Books);
caps.Categories.AddCategoryMapping("Cams/TS", TorznabCatType.MoviesOther);
caps.Categories.AddCategoryMapping("Documentaries", TorznabCatType.TVDocumentary);
caps.Categories.AddCategoryMapping("DVDR", TorznabCatType.MoviesDVD);
caps.Categories.AddCategoryMapping("Foreign", TorznabCatType.MoviesForeign);
caps.Categories.AddCategoryMapping("Kids", TorznabCatType.TVOther);
caps.Categories.AddCategoryMapping("MMA", TorznabCatType.TVSport);
caps.Categories.AddCategoryMapping("Movie Boxsets", TorznabCatType.Movies);
caps.Categories.AddCategoryMapping("Movies", TorznabCatType.Movies);
caps.Categories.AddCategoryMapping("Music", TorznabCatType.Audio);
caps.Categories.AddCategoryMapping("Music Videos", TorznabCatType.AudioVideo);
caps.Categories.AddCategoryMapping("NDS Games", TorznabCatType.ConsoleNDS);
caps.Categories.AddCategoryMapping("Other", TorznabCatType.Other);
caps.Categories.AddCategoryMapping("PC Games", TorznabCatType.PCGames);
caps.Categories.AddCategoryMapping("Pictures", TorznabCatType.Other);
caps.Categories.AddCategoryMapping("Playstation", TorznabCatType.ConsolePS4);
caps.Categories.AddCategoryMapping("PPV", TorznabCatType.TV);
caps.Categories.AddCategoryMapping("Soaps", TorznabCatType.TV);
caps.Categories.AddCategoryMapping("Sports", TorznabCatType.TVSport);
caps.Categories.AddCategoryMapping("FIFA World Cup", TorznabCatType.TVSport);
caps.Categories.AddCategoryMapping("MotorSports", TorznabCatType.TVSport);
caps.Categories.AddCategoryMapping("Olympics", TorznabCatType.TVSport);
caps.Categories.AddCategoryMapping("UK Football", TorznabCatType.TVSport);
caps.Categories.AddCategoryMapping("TOTM", TorznabCatType.Movies);
caps.Categories.AddCategoryMapping("TV Boxsets", TorznabCatType.TVSD);
caps.Categories.AddCategoryMapping("HD Boxsets", TorznabCatType.TVHD);
caps.Categories.AddCategoryMapping("TV-HD", TorznabCatType.TVHD);
caps.Categories.AddCategoryMapping("TV-SD", TorznabCatType.TVSD);
caps.Categories.AddCategoryMapping("Wii Games", TorznabCatType.ConsoleWii);
caps.Categories.AddCategoryMapping("Wrestling", TorznabCatType.TVSport);
caps.Categories.AddCategoryMapping("Xbox Games", TorznabCatType.ConsoleXBox);
return caps;
}
private string GetSortBy => ((SingleSelectConfigurationItem)configData.GetDynamic("sortrequestedfromsite")).Value;
private string GetOrder => ((SingleSelectConfigurationItem)configData.GetDynamic("orderrequestedfromsite")).Value;

View File

@ -31,6 +31,8 @@ namespace Jackett.Common.Indexers
public override string Language => "es-ES";
public override string Type => "private";
public override TorznabCapabilities TorznabCaps => SetCapabilities();
private string Login1Url => SiteLink + "index.php";
private string Login2Url => SiteLink + "paDentro.php";
private string Login3Url => SiteLink + "retorno/include/puerta_8_ajax.php";
@ -39,87 +41,91 @@ namespace Jackett.Common.Indexers
private new ConfigurationDataBasicLogin configData => (ConfigurationDataBasicLogin)base.configData;
public ZonaQ(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
}
},
configService: configService,
public ZonaQ(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps, ICacheService cs)
: base(configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLogin("For best results, change the 'Torrents por página' option to 100 in 'Mi Panel' page."))
{
AddCategoryMapping("cat[]=1&subcat[]=1", TorznabCatType.MoviesDVD, "Películas/DVD");
AddCategoryMapping("cat[]=1&subcat[]=2", TorznabCatType.MoviesDVD, "Películas/BDVD + Autorías");
AddCategoryMapping("cat[]=1&subcat[]=3", TorznabCatType.MoviesBluRay, "Películas/BD");
AddCategoryMapping("cat[]=1&subcat[]=4", TorznabCatType.MoviesUHD, "Películas/BD 4K");
AddCategoryMapping("cat[]=1&subcat[]=5", TorznabCatType.Movies3D, "Películas/BD 3D");
AddCategoryMapping("cat[]=1&subcat[]=6", TorznabCatType.MoviesBluRay, "Películas/BD Remux");
AddCategoryMapping("cat[]=1&subcat[]=7", TorznabCatType.MoviesHD, "Películas/MKV");
AddCategoryMapping("cat[]=1&subcat[]=8", TorznabCatType.MoviesUHD, "Películas/MKV 4K");
AddCategoryMapping("cat[]=1&subcat[]=9", TorznabCatType.MoviesUHD, "Películas/BD Remux 4K");
}
AddCategoryMapping("cat[]=2&subcat[]=1", TorznabCatType.MoviesDVD, "Animación/DVD");
AddCategoryMapping("cat[]=2&subcat[]=2", TorznabCatType.MoviesDVD, "Animación/BDVD + Autorías");
AddCategoryMapping("cat[]=2&subcat[]=3", TorznabCatType.MoviesBluRay, "Animación/BD");
AddCategoryMapping("cat[]=2&subcat[]=4", TorznabCatType.MoviesUHD, "Animación/BD 4K");
AddCategoryMapping("cat[]=2&subcat[]=5", TorznabCatType.Movies3D, "Animación/BD 3D");
AddCategoryMapping("cat[]=2&subcat[]=6", TorznabCatType.MoviesBluRay, "Animación/BD Remux");
AddCategoryMapping("cat[]=2&subcat[]=7", TorznabCatType.MoviesHD, "Animación/MKV");
AddCategoryMapping("cat[]=2&subcat[]=8", TorznabCatType.MoviesUHD, "Animación/MKV 4K");
AddCategoryMapping("cat[]=2&subcat[]=9", TorznabCatType.MoviesUHD, "Animación/BD Remux 4K");
private TorznabCapabilities SetCapabilities()
{
var caps = new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
}
};
AddCategoryMapping("cat[]=3&subcat[]=1", TorznabCatType.AudioVideo, "Música/DVD");
AddCategoryMapping("cat[]=3&subcat[]=2", TorznabCatType.AudioVideo, "Música/BDVD + Autorías");
AddCategoryMapping("cat[]=3&subcat[]=3", TorznabCatType.AudioVideo, "Música/BD");
AddCategoryMapping("cat[]=3&subcat[]=4", TorznabCatType.AudioVideo, "Música/BD 4K");
AddCategoryMapping("cat[]=3&subcat[]=5", TorznabCatType.AudioVideo, "Música/BD 3D");
AddCategoryMapping("cat[]=3&subcat[]=6", TorznabCatType.AudioVideo, "Música/BD Remux");
AddCategoryMapping("cat[]=3&subcat[]=7", TorznabCatType.AudioVideo, "Música/MKV");
AddCategoryMapping("cat[]=3&subcat[]=8", TorznabCatType.AudioVideo, "Música/MKV 4K");
AddCategoryMapping("cat[]=3&subcat[]=9", TorznabCatType.AudioVideo, "Música/BD Remux 4K");
caps.Categories.AddCategoryMapping("cat[]=1&subcat[]=1", TorznabCatType.MoviesDVD, "Películas/DVD");
caps.Categories.AddCategoryMapping("cat[]=1&subcat[]=2", TorznabCatType.MoviesDVD, "Películas/BDVD + Autorías");
caps.Categories.AddCategoryMapping("cat[]=1&subcat[]=3", TorznabCatType.MoviesBluRay, "Películas/BD");
caps.Categories.AddCategoryMapping("cat[]=1&subcat[]=4", TorznabCatType.MoviesUHD, "Películas/BD 4K");
caps.Categories.AddCategoryMapping("cat[]=1&subcat[]=5", TorznabCatType.Movies3D, "Películas/BD 3D");
caps.Categories.AddCategoryMapping("cat[]=1&subcat[]=6", TorznabCatType.MoviesBluRay, "Películas/BD Remux");
caps.Categories.AddCategoryMapping("cat[]=1&subcat[]=7", TorznabCatType.MoviesHD, "Películas/MKV");
caps.Categories.AddCategoryMapping("cat[]=1&subcat[]=8", TorznabCatType.MoviesUHD, "Películas/MKV 4K");
caps.Categories.AddCategoryMapping("cat[]=1&subcat[]=9", TorznabCatType.MoviesUHD, "Películas/BD Remux 4K");
AddCategoryMapping("cat[]=4&subcat[]=1", TorznabCatType.TVSD, "Series/DVD");
AddCategoryMapping("cat[]=4&subcat[]=2", TorznabCatType.TVSD, "Series/BDVD + Autorías");
AddCategoryMapping("cat[]=4&subcat[]=3", TorznabCatType.TVHD, "Series/BD");
AddCategoryMapping("cat[]=4&subcat[]=4", TorznabCatType.TVUHD, "Series/BD 4K");
AddCategoryMapping("cat[]=4&subcat[]=5", TorznabCatType.TVOther, "Series/BD 3D");
AddCategoryMapping("cat[]=4&subcat[]=6", TorznabCatType.TVHD, "Series/BD Remux");
AddCategoryMapping("cat[]=4&subcat[]=7", TorznabCatType.TVHD, "Series/MKV");
AddCategoryMapping("cat[]=4&subcat[]=8", TorznabCatType.TVUHD, "Series/MKV 4K");
AddCategoryMapping("cat[]=4&subcat[]=9", TorznabCatType.TVUHD, "Series/BD Remux 4K");
caps.Categories.AddCategoryMapping("cat[]=2&subcat[]=1", TorznabCatType.MoviesDVD, "Animación/DVD");
caps.Categories.AddCategoryMapping("cat[]=2&subcat[]=2", TorznabCatType.MoviesDVD, "Animación/BDVD + Autorías");
caps.Categories.AddCategoryMapping("cat[]=2&subcat[]=3", TorznabCatType.MoviesBluRay, "Animación/BD");
caps.Categories.AddCategoryMapping("cat[]=2&subcat[]=4", TorznabCatType.MoviesUHD, "Animación/BD 4K");
caps.Categories.AddCategoryMapping("cat[]=2&subcat[]=5", TorznabCatType.Movies3D, "Animación/BD 3D");
caps.Categories.AddCategoryMapping("cat[]=2&subcat[]=6", TorznabCatType.MoviesBluRay, "Animación/BD Remux");
caps.Categories.AddCategoryMapping("cat[]=2&subcat[]=7", TorznabCatType.MoviesHD, "Animación/MKV");
caps.Categories.AddCategoryMapping("cat[]=2&subcat[]=8", TorznabCatType.MoviesUHD, "Animación/MKV 4K");
caps.Categories.AddCategoryMapping("cat[]=2&subcat[]=9", TorznabCatType.MoviesUHD, "Animación/BD Remux 4K");
AddCategoryMapping("cat[]=5&subcat[]=1", TorznabCatType.TVDocumentary, "Docus/DVD");
AddCategoryMapping("cat[]=5&subcat[]=2", TorznabCatType.TVDocumentary, "Docus/BDVD + Autorías");
AddCategoryMapping("cat[]=5&subcat[]=3", TorznabCatType.TVDocumentary, "Docus/BD");
AddCategoryMapping("cat[]=5&subcat[]=4", TorznabCatType.TVDocumentary, "Docus/BD 4K");
AddCategoryMapping("cat[]=5&subcat[]=5", TorznabCatType.TVDocumentary, "Docus/BD 3D");
AddCategoryMapping("cat[]=5&subcat[]=6", TorznabCatType.TVDocumentary, "Docus/BD Remux");
AddCategoryMapping("cat[]=5&subcat[]=7", TorznabCatType.TVDocumentary, "Docus/MKV");
AddCategoryMapping("cat[]=5&subcat[]=8", TorznabCatType.TVDocumentary, "Docus/MKV 4K");
AddCategoryMapping("cat[]=5&subcat[]=9", TorznabCatType.TVDocumentary, "Docus/BD Remux 4K");
caps.Categories.AddCategoryMapping("cat[]=3&subcat[]=1", TorznabCatType.AudioVideo, "Música/DVD");
caps.Categories.AddCategoryMapping("cat[]=3&subcat[]=2", TorznabCatType.AudioVideo, "Música/BDVD + Autorías");
caps.Categories.AddCategoryMapping("cat[]=3&subcat[]=3", TorznabCatType.AudioVideo, "Música/BD");
caps.Categories.AddCategoryMapping("cat[]=3&subcat[]=4", TorznabCatType.AudioVideo, "Música/BD 4K");
caps.Categories.AddCategoryMapping("cat[]=3&subcat[]=5", TorznabCatType.AudioVideo, "Música/BD 3D");
caps.Categories.AddCategoryMapping("cat[]=3&subcat[]=6", TorznabCatType.AudioVideo, "Música/BD Remux");
caps.Categories.AddCategoryMapping("cat[]=3&subcat[]=7", TorznabCatType.AudioVideo, "Música/MKV");
caps.Categories.AddCategoryMapping("cat[]=3&subcat[]=8", TorznabCatType.AudioVideo, "Música/MKV 4K");
caps.Categories.AddCategoryMapping("cat[]=3&subcat[]=9", TorznabCatType.AudioVideo, "Música/BD Remux 4K");
AddCategoryMapping("cat[]=6&subcat[]=1", TorznabCatType.OtherMisc, "Deportes y Otros/DVD");
AddCategoryMapping("cat[]=6&subcat[]=2", TorznabCatType.OtherMisc, "Deportes y Otros/BDVD + Autorías");
AddCategoryMapping("cat[]=6&subcat[]=3", TorznabCatType.OtherMisc, "Deportes y Otros/BD");
AddCategoryMapping("cat[]=6&subcat[]=4", TorznabCatType.OtherMisc, "Deportes y Otros/BD 4K");
AddCategoryMapping("cat[]=6&subcat[]=5", TorznabCatType.OtherMisc, "Deportes y Otros/BD 3D");
AddCategoryMapping("cat[]=6&subcat[]=6", TorznabCatType.OtherMisc, "Deportes y Otros/BD Remux");
AddCategoryMapping("cat[]=6&subcat[]=7", TorznabCatType.OtherMisc, "Deportes y Otros/MKV");
AddCategoryMapping("cat[]=6&subcat[]=8", TorznabCatType.OtherMisc, "Deportes y Otros/MKV 4K");
AddCategoryMapping("cat[]=6&subcat[]=9", TorznabCatType.OtherMisc, "Deportes y Otros/BD Remux 4K");
caps.Categories.AddCategoryMapping("cat[]=4&subcat[]=1", TorznabCatType.TVSD, "Series/DVD");
caps.Categories.AddCategoryMapping("cat[]=4&subcat[]=2", TorznabCatType.TVSD, "Series/BDVD + Autorías");
caps.Categories.AddCategoryMapping("cat[]=4&subcat[]=3", TorznabCatType.TVHD, "Series/BD");
caps.Categories.AddCategoryMapping("cat[]=4&subcat[]=4", TorznabCatType.TVUHD, "Series/BD 4K");
caps.Categories.AddCategoryMapping("cat[]=4&subcat[]=5", TorznabCatType.TVOther, "Series/BD 3D");
caps.Categories.AddCategoryMapping("cat[]=4&subcat[]=6", TorznabCatType.TVHD, "Series/BD Remux");
caps.Categories.AddCategoryMapping("cat[]=4&subcat[]=7", TorznabCatType.TVHD, "Series/MKV");
caps.Categories.AddCategoryMapping("cat[]=4&subcat[]=8", TorznabCatType.TVUHD, "Series/MKV 4K");
caps.Categories.AddCategoryMapping("cat[]=4&subcat[]=9", TorznabCatType.TVUHD, "Series/BD Remux 4K");
caps.Categories.AddCategoryMapping("cat[]=5&subcat[]=1", TorznabCatType.TVDocumentary, "Docus/DVD");
caps.Categories.AddCategoryMapping("cat[]=5&subcat[]=2", TorznabCatType.TVDocumentary, "Docus/BDVD + Autorías");
caps.Categories.AddCategoryMapping("cat[]=5&subcat[]=3", TorznabCatType.TVDocumentary, "Docus/BD");
caps.Categories.AddCategoryMapping("cat[]=5&subcat[]=4", TorznabCatType.TVDocumentary, "Docus/BD 4K");
caps.Categories.AddCategoryMapping("cat[]=5&subcat[]=5", TorznabCatType.TVDocumentary, "Docus/BD 3D");
caps.Categories.AddCategoryMapping("cat[]=5&subcat[]=6", TorznabCatType.TVDocumentary, "Docus/BD Remux");
caps.Categories.AddCategoryMapping("cat[]=5&subcat[]=7", TorznabCatType.TVDocumentary, "Docus/MKV");
caps.Categories.AddCategoryMapping("cat[]=5&subcat[]=8", TorznabCatType.TVDocumentary, "Docus/MKV 4K");
caps.Categories.AddCategoryMapping("cat[]=5&subcat[]=9", TorznabCatType.TVDocumentary, "Docus/BD Remux 4K");
caps.Categories.AddCategoryMapping("cat[]=6&subcat[]=1", TorznabCatType.OtherMisc, "Deportes y Otros/DVD");
caps.Categories.AddCategoryMapping("cat[]=6&subcat[]=2", TorznabCatType.OtherMisc, "Deportes y Otros/BDVD + Autorías");
caps.Categories.AddCategoryMapping("cat[]=6&subcat[]=3", TorznabCatType.OtherMisc, "Deportes y Otros/BD");
caps.Categories.AddCategoryMapping("cat[]=6&subcat[]=4", TorznabCatType.OtherMisc, "Deportes y Otros/BD 4K");
caps.Categories.AddCategoryMapping("cat[]=6&subcat[]=5", TorznabCatType.OtherMisc, "Deportes y Otros/BD 3D");
caps.Categories.AddCategoryMapping("cat[]=6&subcat[]=6", TorznabCatType.OtherMisc, "Deportes y Otros/BD Remux");
caps.Categories.AddCategoryMapping("cat[]=6&subcat[]=7", TorznabCatType.OtherMisc, "Deportes y Otros/MKV");
caps.Categories.AddCategoryMapping("cat[]=6&subcat[]=8", TorznabCatType.OtherMisc, "Deportes y Otros/MKV 4K");
caps.Categories.AddCategoryMapping("cat[]=6&subcat[]=9", TorznabCatType.OtherMisc, "Deportes y Otros/BD Remux 4K");
return caps;
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)

View File

@ -48,6 +48,8 @@ namespace Jackett.Common.Models
return newFlatList;
}
public void AddCategoryMapping(int trackerCategory, TorznabCategory torznabCategory, string trackerCategoryDesc = null) => AddCategoryMapping(trackerCategory.ToString(), torznabCategory, trackerCategoryDesc);
public void AddCategoryMapping(string trackerCategory, TorznabCategory torznabCategory, string trackerCategoryDesc = null)
{
_categoryMapping.Add(new CategoryMapping(trackerCategory, trackerCategoryDesc, torznabCategory.ID));

View File

@ -28,14 +28,10 @@ namespace Jackett.Test.TestHelpers
public override string Language { get; protected set; } = "en-us";
public override string Type { get; protected set; } = "private";
public TestWebIndexer() :
base(caps: new TorznabCapabilities(),
client: null,
configService: null,
logger: null,
configData: new ConfigurationData(),
p: null,
cacheService: null)
public override TorznabCapabilities TorznabCaps { get; protected set; } = new TorznabCapabilities();
public TestWebIndexer()
: base(client: null, configService: null, logger: null, configData: new ConfigurationData(), p: null, cacheService: null)
{
}