2020-09-29 03:05:47 +00:00
using System.Collections.Generic ;
2020-05-03 23:35:52 +00:00
using System.Diagnostics.CodeAnalysis ;
2020-09-29 03:05:47 +00:00
using System.Threading.Tasks ;
2020-02-09 02:35:16 +00:00
using Jackett.Common.Indexers.Abstract ;
2018-03-10 08:05:56 +00:00
using Jackett.Common.Models ;
using Jackett.Common.Services.Interfaces ;
2020-04-04 06:56:51 +00:00
using Jackett.Common.Utils.Clients ;
2017-10-29 06:21:18 +00:00
using NLog ;
2024-03-01 03:37:56 +00:00
using static Jackett . Common . Models . IndexerConfig . ConfigurationData ;
2017-04-15 08:45:10 +00:00
2018-03-10 08:05:56 +00:00
namespace Jackett.Common.Indexers
2017-04-15 08:45:10 +00:00
{
2020-05-03 23:35:52 +00:00
[ExcludeFromCodeCoverage]
2017-10-25 15:46:23 +00:00
public class AlphaRatio : GazelleTracker
2017-04-15 08:45:10 +00:00
{
2023-03-09 14:06:12 +00:00
public override string Id = > "alpharatio" ;
public override string Name = > "AlphaRatio" ;
public override string Description = > "AlphaRatio (AR) is a Private Torrent Tracker for 0DAY / GENERAL" ;
public override string SiteLink { get ; protected set ; } = "https://alpharatio.cc/" ;
public override string Language = > "en-US" ;
public override string Type = > "private" ;
2023-03-10 11:20:29 +00:00
public override TorznabCapabilities TorznabCaps = > SetCapabilities ( ) ;
2020-12-11 22:14:21 +00:00
public AlphaRatio ( IIndexerConfigurationService configService , WebClient wc , Logger l , IProtectionService ps ,
2023-03-10 11:20:29 +00:00
ICacheService cs )
: base ( configService : configService ,
2020-04-04 06:56:51 +00:00
client : wc ,
logger : l ,
p : ps ,
2020-12-11 22:14:21 +00:00
cs : cs ,
2020-04-04 06:56:51 +00:00
supportsFreeleechTokens : true ,
2023-03-07 18:35:28 +00:00
supportsFreeleechOnly : true ,
2020-04-04 06:56:51 +00:00
imdbInTags : true )
2017-04-15 08:45:10 +00:00
{
2024-03-01 03:37:56 +00:00
configData . AddDynamic ( "Account Inactivity" , new DisplayInfoConfigurationItem ( "Account Inactivity" , "Users must login to the site at least once every 90 days. Failure to do so results in the user account being suspended and automatically demoted to Exiled user class." ) ) ;
2023-03-10 11:20:29 +00:00
}
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 ;
2017-04-15 08:45:10 +00:00
}
2018-04-17 09:03:40 +00:00
2020-09-29 03:05:47 +00:00
protected override async Task < IEnumerable < ReleaseInfo > > PerformQuery ( TorznabQuery query )
{
var releases = await base . PerformQuery ( query ) ;
foreach ( var release in releases )
{
release . MinimumRatio = 1 ;
release . MinimumSeedTime = 259200 ;
}
return releases ;
}
2017-04-15 08:45:10 +00:00
}
}