2023-04-05 12:36:00 +00:00
using System.Collections.Generic ;
using System.Diagnostics.CodeAnalysis ;
using Jackett.Common.Indexers.Abstract ;
using Jackett.Common.Models ;
using Jackett.Common.Services.Interfaces ;
using NLog ;
using WebClient = Jackett . Common . Utils . Clients . WebClient ;
namespace Jackett.Common.Indexers
{
[ExcludeFromCodeCoverage]
public class iAnon : GazelleTracker
{
public override string Id = > "ianon" ;
public override string Name = > "iAnon" ;
public override string Description = > "MacOS software tracker" ;
public override string SiteLink { get ; protected set ; } = "https://ianon.app/" ;
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" + ( useTokens ? "&usetoken=1" : "" ) + "&id=" ;
protected override string AuthorizationFormat = > "token {0}" ;
protected override int ApiKeyLength = > 118 ;
public iAnon ( IIndexerConfigurationService configService , WebClient wc , Logger l , IProtectionService ps , ICacheService cs )
: base ( configService : configService ,
client : wc ,
logger : l ,
p : ps ,
cs : cs ,
supportsFreeleechTokens : true ,
useApiKey : true ,
instructionMessageOptional : "<ol><li>Go to iAnon's site and open your account settings.</li><li>Go to <b>Access Settings</b> tab use the <b>click here to create a new token</b> link.</li><li>Give it a name and click <b>Generate</b>.</li><li>Finally, copy/paste the token to your Jackett config APIKey input box.</li></ol>"
)
{
}
protected override string FlipOptionalTokenString ( string requestLink ) = > requestLink . Replace ( "&usetoken=1" , "" ) ;
private TorznabCapabilities SetCapabilities ( )
{
var caps = new TorznabCapabilities
{
BookSearchParams = new List < BookSearchParam >
{
2023-04-09 18:10:06 +00:00
BookSearchParam . Q , BookSearchParam . Genre
2023-04-05 12:36:00 +00:00
}
} ;
caps . Categories . AddCategoryMapping ( 1 , TorznabCatType . Audio , "Music" ) ;
caps . Categories . AddCategoryMapping ( 2 , TorznabCatType . PCMac , "Applications" ) ;
2023-04-09 18:05:33 +00:00
caps . Categories . AddCategoryMapping ( 3 , TorznabCatType . BooksEBook , "E-Books" ) ;
2023-04-05 12:36:00 +00:00
caps . Categories . AddCategoryMapping ( 4 , TorznabCatType . AudioAudiobook , "Audiobooks" ) ;
2023-04-09 18:05:33 +00:00
caps . Categories . AddCategoryMapping ( 5 , TorznabCatType . Other , "E-Learning Videos" ) ;
caps . Categories . AddCategoryMapping ( 6 , TorznabCatType . Other , "Comedy" ) ;
caps . Categories . AddCategoryMapping ( 7 , TorznabCatType . BooksComics , "Comics" ) ;
2023-04-05 12:36:00 +00:00
return caps ;
}
}
}