public QuantumDatatypeFactoryConfiguration(string ID)
     : base(ID)
 {
     itemLogEncoding = ConfigurationFactory.CreateBoolConfigurationItem(idLogEncoding);
     itemLogEncoding.Value = itemLogEncodingValue;
     this.addObject(itemLogEncoding);
 }
 public ConfigurationDataBeyondHDApi(string instructionMessageOptional)
 {
     ApiKey                   = new StringConfigurationItem("API Key");
     RSSKey                   = new StringConfigurationItem("RSS Key");
     Instructions             = new DisplayInfoConfigurationItem("", instructionMessageOptional);
     AddHybridFeaturesToTitle = new BoolConfigurationItem("Include DV/HDR10 in title when release has multiple HDR formats.");
 }
        public BB84ProtocolConfiguration(string ID)
            : base(ID)
        {
            itemUseGlobalConfiguration = ConfigurationFactory.CreateBoolConfigurationItem(idUseGlobalConfiguration);
            itemUseGlobalConfiguration.Value = itemUseGlobalConfigurationValue;
            this.addObject(itemUseGlobalConfiguration);

            itemLogEnabled = ConfigurationFactory.CreateBoolConfigurationItem(idLogEnabled);
            itemLogEnabled.Value = ((BoolConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idLogEnabled)).Value;
            this.addObject(itemLogEnabled);

            itemBulkLog = ConfigurationFactory.CreateBoolConfigurationItem(idBulkLog);
            itemBulkLog.Value = ((BoolConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idBulkLog)).Value;
            this.addObject(itemBulkLog);

            itemDelta = ConfigurationFactory.CreateIntegerConfigurationItem(idDelta);
            itemDelta.MaxValue = ((IntegerConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idDelta)).MaxValue;
            itemDelta.MinValue = ((IntegerConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idDelta)).MinValue;
            itemDelta.Value = ((IntegerConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idDelta)).Value;
            this.addObject(itemDelta);

            itemPerformKeyPartialComparison = ConfigurationFactory.CreateBoolConfigurationItem(idPerformKeyPartialComparison);
            itemPerformKeyPartialComparison.Value = ((BoolConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idPerformKeyPartialComparison)).Value;
            this.addObject(itemPerformKeyPartialComparison);

            itemPerformPrivacyAmplification = ConfigurationFactory.CreateBoolConfigurationItem(idPerformPrivacyAmplification);
            itemPerformPrivacyAmplification.Value = ((BoolConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idPerformPrivacyAmplification)).Value;
            this.addObject(itemPerformPrivacyAmplification);

            itemErrorToleranceLevel = ConfigurationFactory.CreateFloatConfigurationItem(idErrorToleranceLevel);
            itemErrorToleranceLevel.MaxValue = ((FloatConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idErrorToleranceLevel)).MaxValue;
            itemErrorToleranceLevel.MinValue = ((FloatConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idErrorToleranceLevel)).MinValue;
            itemErrorToleranceLevel.Value = ((FloatConfigurationItem)BB84ProtocolFactory.Configuration.findProperty(BB84ProtocolFactory.Configuration.idErrorToleranceLevel)).Value;
            this.addObject(itemErrorToleranceLevel);
        }
        public RandomnessAlgorithmConfiguration(string ID)
            : base(ID)
        {
            itemUseDefaultConfiguration = ConfigurationFactory.CreateBoolConfigurationItem(idUseGlobalConfiguration);
            itemUseDefaultConfiguration.Value = itemUseDefaultConfigurationValue;
            this.addObject(itemUseDefaultConfiguration);

            itemSeed = ConfigurationFactory.CreateIntegerConfigurationItem(idSeed);
            itemSeed.MaxValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idSeed)).MaxValue;
            itemSeed.MinValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idSeed)).MinValue;
            itemSeed.Value = RandomnessAlgorithmFactory.Configuration.Seed;
            this.addObject(itemSeed);

            itemCapacity = ConfigurationFactory.CreateIntegerConfigurationItem(idCapacity);
            itemCapacity.MaxValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idCapacity)).MaxValue;
            itemCapacity.MinValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idCapacity)).MinValue;
            itemCapacity.Value = RandomnessAlgorithmFactory.Configuration.Capacity;
            this.addObject(itemCapacity);

            itemMin = ConfigurationFactory.CreateIntegerConfigurationItem(idMin);
            itemMin.MaxValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idMin)).MaxValue;
            itemMin.MinValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idMin)).MinValue;
            itemMin.Value = RandomnessAlgorithmFactory.Configuration.Min;
            this.addObject(itemMin);

            itemMax = ConfigurationFactory.CreateIntegerConfigurationItem(idMax);
            itemMax.MaxValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idMax)).MaxValue;
            itemMax.MinValue = ((IntegerConfigurationItem)RandomnessAlgorithmFactory.Configuration.findProperty(RandomnessAlgorithmFactory.Configuration.idMax)).MinValue;
            itemMax.Value = RandomnessAlgorithmFactory.Configuration.Max;
            this.addObject(itemMax);
        }
 public ConfigurationDataNorbits()
 {
     CredentialsWarning = new DisplayInfoConfigurationItem("Credentials", "<b>Credentials Configuration</b> (<i>Private Tracker</i>),<br /><br /> <ul><li><b>Username</b> is your account name on this tracker.</li><li><b>Password</b> is your password associated to your account name.</li></ul>");
     Username = new StringConfigurationItem("Username") { Value = "" };
     Password = new StringConfigurationItem("Password") { Value = "" };
     PagesWarning = new DisplayInfoConfigurationItem("Preferences", "<b>Preferences Configuration</b> (<i>Tweak your search settings</i>),<br /><br /> <ul><li><b>Max Pages to Process</b> let you specify how many page (max) Jackett can process when doing a search. Setting a value <b>higher than 4 is dangerous</b> for you account ! (<b>Result of too many requests to tracker...that <u>will be suspect</u></b>).</li></ul>");
     Pages = new StringConfigurationItem("Max Pages to Process (Required)") { Value = "4" };
     UseFullSearch = new BoolConfigurationItem("Enable search in description.") { Value = false };
     SecurityWarning = new DisplayInfoConfigurationItem("Security", "<b>Security Configuration</b> (<i>Read this area carefully !</i>),<br /><br /> <ul><li><b>Latency Simulation</b> will simulate human browsing with Jacket by pausing Jacket for an random time between each request, to fake a real content browsing.</li><li><b>Browser Simulation</b> will simulate a real human browser by injecting additionals headers when doing requests to tracker.<b>You must enable it to use this provider!</b></li></ul>");
     Latency = new BoolConfigurationItem("Latency Simulation (Optional)") { Value = false };
     Browser = new BoolConfigurationItem("Browser Simulation (Forced)") { Value = true };
     LatencyWarning = new DisplayInfoConfigurationItem("Simulate Latency", "<b>Latency Configuration</b> (<i>Required if latency simulation enabled</i>),<br /><br/> <ul><li>By filling this range, <b>Jackett will make a random timed pause</b> <u>between requests</u> to tracker <u>to simulate a real browser</u>.</li><li>MilliSeconds <b>only</b></li></ul>");
     LatencyStart = new StringConfigurationItem("Minimum Latency (ms)") { Value = "1589" };
     LatencyEnd = new StringConfigurationItem("Maximum Latency (ms)") { Value = "3674" };
     HeadersWarning = new DisplayInfoConfigurationItem("Injecting headers", "<b>Browser Headers Configuration</b> (<i>Required if browser simulation enabled</i>),<br /><br /> <ul><li>By filling these fields, <b>Jackett will inject headers</b> with your values <u>to simulate a real browser</u>.</li><li>You can get <b>your browser values</b> here: <a href='https://www.whatismybrowser.com/detect/what-http-headers-is-my-browser-sending' target='blank'>www.whatismybrowser.com</a></li></ul><br /><i><b>Note that</b> some headers are not necessary because they are injected automatically by this provider such as Accept_Encoding, Connection, Host or X-Requested-With</i>");
     HeaderAccept = new StringConfigurationItem("Accept") { Value = "" };
     HeaderAcceptLang = new StringConfigurationItem("Accept-Language") { Value = "" };
     HeaderDnt = new BoolConfigurationItem("DNT") { Value = false };
     HeaderUpgradeInsecure = new BoolConfigurationItem("Upgrade-Insecure-Requests") { Value = false };
     HeaderUserAgent = new StringConfigurationItem("User-Agent") { Value = "" };
     DevWarning = new DisplayInfoConfigurationItem("Development", "<b>Development Facility</b> (<i>For Developers ONLY</i>),<br /><br /> <ul><li>By enabling development mode, <b>Jackett will bypass his cache</b> and will <u>output debug messages to console</u> instead of his log file.</li><li>By enabling Hard Drive Cache, <b>This provider</b> will <u>save each query answers from tracker</u> in temp directory, in fact this reduce drastically HTTP requests when building a provider at parsing step for example. So, <b> Jackett will search for a cached query answer on hard drive before executing query on tracker side !</b> <i>DEV MODE must be enabled to use it !</li></ul>");
     DevMode = new BoolConfigurationItem("Enable DEV MODE (Developers ONLY)") { Value = false };
     HardDriveCache = new BoolConfigurationItem("Enable HARD DRIVE CACHE (Developers ONLY)") { Value = false };
     HardDriveCacheKeepTime = new StringConfigurationItem("Keep Cached files for (ms)") { Value = "300000" };
 }
示例#6
0
        public NewPCT(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
                      ICacheService cs)
            : base(id: "newpct",
                   name: "NewPCT",
                   description: "NewPCT - Descargar peliculas, series y estrenos torrent gratis",
                   link: "https://pctmix.com/",
                   caps: new TorznabCapabilities {
            TvSearchParams = new List <TvSearchParam>
            {
                TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
            },
            MovieSearchParams = new List <MovieSearchParam>
            {
                MovieSearchParam.Q
            }
        },
                   configService: configService,
                   client: wc,
                   logger: l,
                   p: ps,
                   cacheService: cs,
                   configData: new ConfigurationData())
        {
            Encoding = Encoding.GetEncoding("windows-1252");
            Language = "es-es";
            Type     = "public";

            var voItem = new BoolConfigurationItem("Include original versions in search results")
            {
                Value = false
            };

            configData.AddDynamic("IncludeVo", voItem);

            var filterMoviesItem = new BoolConfigurationItem("Only full match movies")
            {
                Value = true
            };

            configData.AddDynamic("FilterMovies", filterMoviesItem);

            var removeMovieAccentsItem = new BoolConfigurationItem("Remove accents in movie searches")
            {
                Value = true
            };

            configData.AddDynamic("RemoveMovieAccents", removeMovieAccentsItem);

            var removeMovieYearItem = new BoolConfigurationItem("Remove year from movie results (enable for Radarr)")
            {
                Value = false
            };

            configData.AddDynamic("RemoveMovieYear", removeMovieYearItem);

            AddCategoryMapping(1, TorznabCatType.Movies);
            AddCategoryMapping(2, TorznabCatType.TV);
            AddCategoryMapping(3, TorznabCatType.TVSD);
            AddCategoryMapping(4, TorznabCatType.TVHD);
        }
示例#7
0
 public ConfigurationDataAniDub() : base()
 {
     StripRussianTitle = new BoolConfigurationItem("Strip Russian Title")
     {
         Value = true
     };
 }
示例#8
0
 public ConfigurationDataMyAnonamouse()
 {
     MamId        = new StringConfigurationItem("mam_id");
     MamIdHint    = new DisplayInfoConfigurationItem("mam_id instructions", "Go to your <a href=\"https://www.myanonamouse.net/preferences/index.php?view=security\" target=\"_blank\">security preferences</a> and create a new session for the IP used by the Jackett server. Then paste the resulting mam_id value into the mam_id field here.");
     ExcludeVip   = new BoolConfigurationItem("Exclude VIP torrents");
     Instructions = new DisplayInfoConfigurationItem("", "For best results, change the 'Torrents per page' setting to 100 in your Profile => Torrent tab.");
 }
 public AbstractOperatorConfiguration(string ID)
     : base(ID)
 {
     itemUseDefaultConfiguration = ConfigurationFactory.CreateBoolConfigurationItem(idUseGlobalConfiguration);
     itemUseDefaultConfiguration.Value = itemUseDefaultConfigurationValue;
     this.addObject(itemUseDefaultConfiguration);
 }
示例#10
0
 public ConfigurationDataXthor()
     : base()
 {
     CredentialsWarning = new DisplayInfoConfigurationItem("Credentials", "<b>Credentials Configuration</b> (<i>Private Tracker</i>),<br /><br /> <ul><li><b>PassKey</b> is your private key on your account</li></ul>");
     PassKey            = new StringConfigurationItem("PassKey")
     {
         Value = ""
     };
     Accent = new StringConfigurationItem("Accent")
     {
         Value = ""
     };
     PagesWarning = new DisplayInfoConfigurationItem("Preferences", "<b>Preferences Configuration</b> (<i>Tweak your search settings</i>),<br /><br /> <ul><li><b>Freeleech Only</b> let you search <u>only</u> for torrents which are marked Freeleech.</li><li><b>Replace MULTI</b>, replace multi keyword in the resultset (leave empty  to deactivate)</li><li><b>Enhanced anime search</b>, Enhance sonarr compatibility with Xthor. Only effective on requests with the <u>TVAnime Torznab category</u>.</li><li><b>Accent</b> is the french accent you want. 1 for VFF (Truefrench) 2 for VFQ (FRENCH, canada). When one is selected, the other will not be searched.</li></ul>");
     Freeleech    = new BoolConfigurationItem("Freeleech Only (Optional)")
     {
         Value = false
     };
     ReplaceMulti = new StringConfigurationItem("Replace MULTI")
     {
         Value = "MULTI.FRENCH"
     };
     EnhancedAnime = new BoolConfigurationItem("Enhanced anime search")
     {
         Value = false
     };
     Vostfr = new BoolConfigurationItem("Replace VOSTFR or SUBFRENCH with ENGLISH")
     {
         Value = false
     };
 }
        public BB84ProtocolFactoryConfiguration(string ID)
            : base(ID)
        {
            itemLogEnabled = ConfigurationFactory.CreateBoolConfigurationItem(idLogEnabled);
            itemLogEnabled.Value = itemLogEnabledValue;
            this.addObject(itemLogEnabled);

            itemBulkLog = ConfigurationFactory.CreateBoolConfigurationItem(idBulkLog);
            itemBulkLog.Value = itemBulkLogValue;
            this.addObject(itemBulkLog);

            itemDelta = ConfigurationFactory.CreateIntegerConfigurationItem(idDelta);
            itemDelta.MaxValue = itemDeltaMax;
            itemDelta.MinValue = itemDeltaMin;
            itemDelta.Value = itemDeltaValue;
            itemDelta.Comment = itemDeltaComment;
            this.addObject(itemDelta);

            itemPerformKeyPartialComparison = ConfigurationFactory.CreateBoolConfigurationItem(idPerformKeyPartialComparison);
            itemPerformKeyPartialComparison.Value = itemPerformKeyPartialComparisonValue;
            this.addObject(itemPerformKeyPartialComparison);

            itemPerformPrivacyAmplification = ConfigurationFactory.CreateBoolConfigurationItem(idPerformPrivacyAmplification);
            itemPerformPrivacyAmplification.Value = itemPerformPrivacyAmplificationValue;
            this.addObject(itemPerformPrivacyAmplification);

            itemErrorToleranceLevel = ConfigurationFactory.CreateFloatConfigurationItem(idErrorToleranceLevel);
            itemErrorToleranceLevel.MaxValue = itemErrorToleranceLevelMax;
            itemErrorToleranceLevel.MinValue = itemErrorToleranceLevelMin;
            itemErrorToleranceLevel.Value = itemErrorToleranceLevelValue;
            this.addObject(itemErrorToleranceLevel);
        }
 public QuantumOperatorConfiguration(string ID)
     : base(ID)
 {
     itemLogEnabled = ConfigurationFactory.CreateBoolConfigurationItem(idLogEnabled);
     itemLogEnabled.Value = ClassicOperatorFactory.Configuration.LogEnabled;
     this.addObject(itemLogEnabled);
 }
 public ConfigurationDataAnimeBytes(string instructionMessageOptional = null)
     : base()
 {
     IncludeRaw = new BoolConfigurationItem("IncludeRaw")
     {
         Value = false
     };
     //DateWarning = new DisplayItem("This tracker does not supply upload dates so they are based off year of release.") { Name = "DateWarning" };
     PadEpisode = new BoolConfigurationItem("Pad episode number for Sonarr compatability")
     {
         Value = false
     };
     AddJapaneseTitle = new BoolConfigurationItem("Add releases for Japanese Title")
     {
         Value = false
     };
     AddRomajiTitle = new BoolConfigurationItem("Add releases for Romaji Title")
     {
         Value = false
     };
     AddAlternativeTitles = new BoolConfigurationItem("Add releases for Alternative Title(s)")
     {
         Value = false
     };
     FilterSeasonEpisode = new BoolConfigurationItem("Filter results by season/episode")
     {
         Value = false
     };
     Instructions = new DisplayInfoConfigurationItem("", instructionMessageOptional);
 }
示例#14
0
 public ConfigurationDataSceneTime()
     : base("For best results, change the 'Torrents per page' setting to the maximum in your profile on the SceneTime webpage.")
 {
     Freeleech = new BoolConfigurationItem("Freeleech Only (Optional)")
     {
         Value = false
     };
 }
示例#15
0
 public ConfigurationDataFileList()
     : base("Note this is <b>not</b> your <i>password</i>.<ul><li>Login to the FileList Website</li><li>Click on the <b>Profile</b> link</li><li>Scroll down to the <b>Reset Passkey</b> section</li><li>Copy the <b>passkey</b>.</li><li>Also be aware of not leaving a trailing blank at the end of the passkey after pasting it here.</li></ul>")
 {
     IncludeRomanianReleases = new BoolConfigurationItem("IncludeRomanianReleases")
     {
         Value = false
     };
     CatWarning = new DisplayInfoConfigurationItem("CatWarning", "When mapping TV ensure you add category 5000 in addition to 5030, 5040.");
 }
 public ConfigurationDataBakaBT(string instructionMessageOptional = null)
     : base(instructionMessageOptional)
 {
     AddRomajiTitle = new BoolConfigurationItem("Add releases for Romaji Title")
     {
         Value = true
     };
     AppendSeason = new BoolConfigurationItem("Append Season for Sonarr Compatibility")
     {
         Value = false
     };
 }
        public ClassicOperatorDelayConfiguration(string ID)
            : base(ID)
        {
            itemDelayEnabled = ConfigurationFactory.CreateBoolConfigurationItem(idDelayEnabled);
            itemDelayEnabled.Value = itemDelayEnabledValue;
            this.addObject(itemDelayEnabled);

            itemDelayMilliseconds = ConfigurationFactory.CreateIntegerConfigurationItem(idDelayMilliseconds);
            itemDelayMilliseconds.MaxValue = itemDelayMillisecondsMax;
            itemDelayMilliseconds.MinValue = itemDelayMillisecondsMin;
            itemDelayMilliseconds.Value = itemDelayMillisecondsValue;
            this.addObject(itemDelayMilliseconds);
        }
        public QuantumOperatorNoiseConfiguration(string ID)
            : base(ID)
        {
            itemNoiseEnabled = ConfigurationFactory.CreateBoolConfigurationItem(idNoiseEnabled);
            itemNoiseEnabled.Value = itemNoiseEnabledValue;
            this.addObject(itemNoiseEnabled);

            itemNoiseFactor = ConfigurationFactory.CreateFloatConfigurationItem(idNoiseFactor);
            itemNoiseFactor.MaxValue = itemNoiseFactorMax;
            itemNoiseFactor.MinValue = itemNoiseFactorMin;
            itemNoiseFactor.Value = itemNoiseFactorValue;
            this.addObject(itemNoiseFactor);
        }
示例#19
0
        public ConfigurationDataNCore(JToken json)
        {
            var configData = new ConfigurationDataNCore();

            dynamic configArray = JsonConvert.DeserializeObject(json.ToString());

            foreach (var config in configArray)
            {
                var propertyName = UppercaseFirst((string)config.id);
                switch (propertyName)
                {
                case "Username":
                    Username = new StringConfigurationItem(propertyName)
                    {
                        Value = config.value
                    };
                    break;

                case "Password":
                    Password = new StringConfigurationItem(propertyName)
                    {
                        Value = config.value
                    };
                    break;

                case "Twofactor":
                    TwoFactor = new StringConfigurationItem(propertyName)
                    {
                        Value = config.value
                    };
                    break;

                case "Hungarian":
                    Hungarian = new BoolConfigurationItem(propertyName)
                    {
                        Value = config.value
                    };
                    break;

                case "English":
                    English = new BoolConfigurationItem(propertyName)
                    {
                        Value = config.value
                    };
                    break;

                default:
                    break;
                }
            }
        }
示例#20
0
        public MejorTorrent(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps,
                            ICacheService cs)
            : base(id: "mejortorrent",
                   name: "MejorTorrent",
                   description: "MejorTorrent - Hay veces que un torrent viene mejor! :)",
                   link: "https://mejortorrent.wtf/",
                   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,
                   client: w,
                   logger: l,
                   p: ps,
                   cacheService: cs,
                   configData: new ConfigurationData())
        {
            Encoding = Encoding.UTF8;
            Language = "es-ES";
            Type     = "public";

            var matchWords = new BoolConfigurationItem("Match words in title")
            {
                Value = true
            };

            configData.AddDynamic("MatchWords", matchWords);

            // 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");
            // Other category is disabled because we have problems parsing documentaries
            //AddCategoryMapping(MejorTorrentCatType.Otro, TorznabCatType.Other, "Otro");
        }
示例#21
0
        public ConfigurationDataGazelleTracker(bool has2Fa    = false, bool supportsFreeleechToken = false,
                                               bool useApiKey = false, bool usePassKey             = false,
                                               string instructionMessageOptional = null)
        {
            if (useApiKey)
            {
                ApiKey = new StringConfigurationItem("APIKey");
            }
            else
            {
                Username = new StringConfigurationItem("Username");
                Password = new PasswordConfigurationItem("Password");
            }

            if (has2Fa)
            {
                CookieHint = new DisplayInfoConfigurationItem("CookieHint",
                                                              @"Use the Cookie field only if 2FA is enabled for your account, let it empty otherwise.
<ol><li>Login to this tracker with your browser
<li>Open the <b>DevTools</b> panel by pressing <b>F12</b>
<li>Select the <b>Network</b> tab
<li>Click on the <b>Doc</b> button
<li>Refresh the page by pressing <b>F5</b>
<li>Select the <b>Headers</b> tab
<li>Find 'cookie:' in the <b>Request Headers</b> section
<li>Copy & paste the whole cookie string to here.</ol>");
                CookieItem = new StringConfigurationItem("Cookie")
                {
                    Value = ""
                };
            }

            if (usePassKey)
            {
                PassKey = new StringConfigurationItem("Passkey");
            }

            if (supportsFreeleechToken)
            {
                UseTokenItem = new BoolConfigurationItem("Use Freeleech Tokens when Available")
                {
                    Value = false
                }
            }
            ;

            Instructions = new DisplayInfoConfigurationItem("", instructionMessageOptional);
        }
    }
示例#22
0
 public ConfigurationDataEliteTracker()
 {
     TorrentHTTPSMode = new BoolConfigurationItem("Use HTTPS for tracker URL")
     {
         Value = false
     };
     PagesWarning = new DisplayInfoConfigurationItem("Preferences", "<b>Preferences Configuration</b> (<i>Tweak your search settings</i>),<br /><br /> <ul><li><b>Replace MULTI</b>, replace multi keyword in the resultset (leave empty  to deactivate)</li><li><b>Replace VOSTFR with ENGLISH</b> lets you change the titles by replacing VOSTFR with ENGLISH.</li></ul>");
     ReplaceMulti = new StringConfigurationItem("Replace MULTI")
     {
         Value = "MULTI.FRENCH"
     };
     Vostfr = new BoolConfigurationItem("Replace VOSTFR with ENGLISH")
     {
         Value = false
     };
 }
示例#23
0
        public DonTorrent(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps,
                          ICacheService cs)
            : base(id: "dontorrent",
                   name: "DonTorrent",
                   description: "DonTorrent is a SPANISH public tracker for MOVIES / TV / GENERAL",
                   link: "https://dontorrent.top/",
                   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,
                   client: w,
                   logger: l,
                   p: ps,
                   cacheService: cs,
                   configData: new ConfigurationData())
        {
            Encoding = Encoding.UTF8;
            Language = "es-ES";
            Type     = "public";

            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");
        }
示例#24
0
        public DivxTotal(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps,
                         ICacheService cs)
            : base(id: "divxtotal",
                   name: "DivxTotal",
                   description: "DivxTotal is a SPANISH site for Movies, TV series and Software",
                   link: "https://www.divxtotal.nu/",
                   caps: new TorznabCapabilities
        {
            TvSearchParams = new List <TvSearchParam>
            {
                TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
            },
            MovieSearchParams = new List <MovieSearchParam>
            {
                MovieSearchParam.Q
            }
        },
                   configService: configService,
                   client: w,
                   logger: l,
                   p: ps,
                   cacheService: cs,
                   configData: new ConfigurationData())
        {
            Encoding = Encoding.UTF8;
            Language = "es-ES";
            Type     = "public";

            var matchWords = new BoolConfigurationItem("Match words in title")
            {
                Value = true
            };

            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\">FlareSolver</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");
        }
        public ConfigurationDataHDBitsApi()
        {
            FilterFreeleech = new BoolConfigurationItem("Filter FreeLeech only")
            {
                Value = false
            };

            Codecs = new MultiSelectConfigurationItem("Codec", new Dictionary <string, string>()
            {
                { "0", "Undefined" },
                { "1", "H.264" },
                { "5", "HEVC" },
                { "2", "MPEG-2" },
                { "3", "VC-1" },
                { "6", "VP9" },
                { "4", "XviD" }
            })
            {
                Values = new[] { "0", "1", "5", "2", "3", "6", "4" }
            };

            Mediums = new MultiSelectConfigurationItem("Medium", new Dictionary <string, string>()
            {
                { "0", "Undefined" },
                { "1", "Blu-ray/HD DVD" },
                { "4", "Capture" },
                { "3", "Encode" },
                { "5", "Remux" },
                { "6", "WEB-DL" }
            })
            {
                Values = new[] { "0", "1", "4", "3", "5", "6" }
            };

            Origins = new MultiSelectConfigurationItem("Origin", new Dictionary <string, string>()
            {
                { "0", "Undefined" },
                { "1", "Internal" }
            })
            {
                Values = new[] { "0", "1" }
            };
        }
示例#26
0
 public ConfigurationDataXthor()
     : base()
 {
     CredentialsWarning = new DisplayInfoConfigurationItem("Credentials", "<b>Credentials Configuration</b> (<i>Private Tracker</i>),<br /><br /> <ul><li><b>PassKey</b> is your private key on your account</li></ul>");
     PassKey            = new StringConfigurationItem("PassKey")
     {
         Value = ""
     };
     Accent = new StringConfigurationItem("Accent")
     {
         Value = ""
     };
     PagesWarning = new DisplayInfoConfigurationItem("Preferences", "<b>Preferences Configuration</b> (<i>Tweak your search settings</i>),<br /><br /> <ul><li><b>Freeleech Only</b> let you search <u>only</u> for torrents which are marked Freeleech.</li><li><b>Replace MULTI</b>, replace multi keyword in the resultset (leave empty  to deactivate)</li><li><b>Enhanced anime search</b>, Enhance sonarr compatibility with Xthor. Only effective on requests with the <u>TVAnime Torznab category</u>.</li><li><b>Accent</b> is the french accent you want. 1 for VFF (Truefrench) 2 for VFQ (FRENCH, canada). When one is selected, the other will not be searched.</li></ul>");
     Freeleech    = new BoolConfigurationItem("Freeleech Only (Optional)")
     {
         Value = false
     };
     ReplaceMulti = new StringConfigurationItem("Replace MULTI")
     {
         Value = "MULTI.FRENCH"
     };
     EnhancedAnime = new BoolConfigurationItem("Enhanced anime search")
     {
         Value = false
     };
     DevWarning = new DisplayInfoConfigurationItem("Development", "<b>Development Facility</b> (<i>For Developers ONLY</i>),<br /><br /> <ul><li>By enabling development mode, <b>Jackett will bypass his cache</b> and will <u>output debug messages to console</u> instead of his log file.</li><li>By enabling Hard Drive Cache, <b>This provider</b> will <u>save each query answers from tracker</u> in temp directory, in fact this reduce drastically HTTP requests when building a provider at parsing step for example. So, <b> Jackett will search for a cached query answer on hard drive before executing query on tracker side !</b> <i>DEV MODE must be enabled to use it !</li></ul>");
     DevMode    = new BoolConfigurationItem("Enable DEV MODE (Developers ONLY)")
     {
         Value = false
     };
     HardDriveCache = new BoolConfigurationItem("Enable HARD DRIVE CACHE (Developers ONLY)")
     {
         Value = false
     };
     HardDriveCacheKeepTime = new StringConfigurationItem("Keep Cached files for (ms)")
     {
         Value = "300000"
     };
     Vostfr = new BoolConfigurationItem("Replace VOSTFR or SUBFRENCH with ENGLISH")
     {
         Value = false
     };
 }
示例#27
0
 public ConfigurationDataNorbits()
 {
     CredentialsWarning = new DisplayInfoConfigurationItem("Credentials", "<b>Credentials Configuration</b> (<i>Private Tracker</i>),<br /><br /> <ul><li><b>Username</b> is your account name on this tracker.</li><li><b>Password</b> is your password associated to your account name.</li></ul>");
     Username           = new StringConfigurationItem("Username")
     {
         Value = ""
     };
     Password = new StringConfigurationItem("Password")
     {
         Value = ""
     };
     PagesWarning = new DisplayInfoConfigurationItem("Preferences", "<b>Preferences Configuration</b> (<i>Tweak your search settings</i>),<br /><br /> <ul><li><b>Max Pages to Process</b> let you specify how many page (max) Jackett can process when doing a search. Setting a value <b>higher than 4 is dangerous</b> for you account ! (<b>Result of too many requests to tracker...that <u>will be suspect</u></b>).</li></ul>");
     Pages        = new StringConfigurationItem("Max Pages to Process (Required)")
     {
         Value = "4"
     };
     UseFullSearch = new BoolConfigurationItem("Enable search in description.")
     {
         Value = false
     };
 }
 public ConfigurationDataRutracker()
     : base()
 {
     StripRussianLetters = new BoolConfigurationItem("Strip Russian Letters")
     {
         Value = true
     };
     MoveTagsInfo = new DisplayInfoConfigurationItem("Move Tags Info", "<b>About moving tags:</b> " +
                                                     "We define a tag as a part of the release title between round or square brackets. " +
                                                     "If the release title contains tags then these options will move those tags and their brackets to the end of the release title. " +
                                                     "Moving only the first tags will try to detect where the actual title of the release begins, and move only the tags that are found before that point. " +
                                                     "Enabling both options will enable moving of all tags.");
     MoveFirstTagsToEndOfReleaseTitle = new BoolConfigurationItem("Move first tags to end of release title")
     {
         Value = false
     };
     MoveAllTagsToEndOfReleaseTitle = new BoolConfigurationItem("Move all tags to end of release title")
     {
         Value = false
     };
     CaptchaWarning = new DisplayInfoConfigurationItem("Captcha Info", "<b>About Captcha:</b> If the Captcha Image is missing then leave the Captcha Text empty.");
 }
示例#29
0
 public ConfigurationDataNCore()
 {
     Username = new StringConfigurationItem("Username")
     {
         Value = ""
     };
     Password = new StringConfigurationItem("Password")
     {
         Value = ""
     };
     TwoFactor = new StringConfigurationItem("Twofactor")
     {
         Value = ""
     };
     Hungarian = new BoolConfigurationItem("Hungarian")
     {
         Value = true
     };
     English = new BoolConfigurationItem("English")
     {
         Value = true
     };
 }
示例#30
0
        public Xthor(IIndexerConfigurationService configService, Utils.Clients.WebClient w, Logger l,
                     IProtectionService ps, ICacheService cs)
            : base(id: "xthor-api",
                   name: "Xthor API",
                   description: "General French Private Tracker",
                   link: "https://xthor.tk/",
                   caps: new TorznabCapabilities
        {
            TvSearchParams = new List <TvSearchParam>
            {
                TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
            },
            MovieSearchParams = new List <MovieSearchParam>
            {
                MovieSearchParam.Q, MovieSearchParam.TmdbId
            },
            MusicSearchParams = new List <MusicSearchParam>
            {
                MusicSearchParam.Q
            },
            BookSearchParams = new List <BookSearchParam>
            {
                BookSearchParam.Q
            }
        },
                   configService: configService,
                   client: w,
                   logger: l,
                   p: ps,
                   cacheService: cs,
                   downloadBase: "https://xthor.tk/download.php?torrent=",
                   configData: new ConfigurationDataPasskey()
                   )
        {
            Encoding = Encoding.UTF8;
            Language = "fr-fr";
            Type     = "private";

            // Movies / Films
            AddCategoryMapping(118, TorznabCatType.MoviesBluRay, "Films 2160p/Bluray");
            AddCategoryMapping(119, TorznabCatType.MoviesBluRay, "Films 2160p/Remux");
            AddCategoryMapping(107, TorznabCatType.MoviesUHD, "Films 2160p/x265");
            AddCategoryMapping(1, TorznabCatType.MoviesBluRay, "Films 1080p/BluRay");
            AddCategoryMapping(2, TorznabCatType.MoviesBluRay, "Films 1080p/Remux");
            AddCategoryMapping(100, TorznabCatType.MoviesHD, "Films 1080p/x265");
            AddCategoryMapping(4, TorznabCatType.MoviesHD, "Films 1080p/x264");
            AddCategoryMapping(5, TorznabCatType.MoviesHD, "Films 720p/x264");
            AddCategoryMapping(7, TorznabCatType.MoviesSD, "Films SD/x264");
            AddCategoryMapping(3, TorznabCatType.Movies3D, "Films 3D");
            AddCategoryMapping(6, TorznabCatType.MoviesSD, "Films XviD");
            AddCategoryMapping(8, TorznabCatType.MoviesDVD, "Films DVD");
            AddCategoryMapping(122, TorznabCatType.MoviesHD, "Films HDTV");
            AddCategoryMapping(94, TorznabCatType.MoviesWEBDL, "Films WEBDL");
            AddCategoryMapping(95, TorznabCatType.MoviesWEBDL, "Films WEBRiP");
            AddCategoryMapping(12, TorznabCatType.TVDocumentary, "Films Documentaire");
            AddCategoryMapping(31, TorznabCatType.MoviesOther, "Films Animation");
            AddCategoryMapping(33, TorznabCatType.MoviesOther, "Films Spectacle");
            AddCategoryMapping(125, TorznabCatType.TVSport, "Films Sports");
            AddCategoryMapping(20, TorznabCatType.AudioVideo, "Films Concerts, Clips");
            AddCategoryMapping(9, TorznabCatType.MoviesOther, "Films VOSTFR");

            // TV / Series
            AddCategoryMapping(104, TorznabCatType.TVOther, "Series BluRay");
            AddCategoryMapping(13, TorznabCatType.TVOther, "Series Pack VF");
            AddCategoryMapping(15, TorznabCatType.TVHD, "Series HD VF");
            AddCategoryMapping(14, TorznabCatType.TVSD, "Series SD VF");
            AddCategoryMapping(98, TorznabCatType.TVOther, "Series Pack VOSTFR");
            AddCategoryMapping(17, TorznabCatType.TVHD, "Series HD VOSTFR");
            AddCategoryMapping(16, TorznabCatType.TVSD, "Series SD VOSTFR");
            AddCategoryMapping(101, TorznabCatType.TVAnime, "Series Packs Anime");
            AddCategoryMapping(32, TorznabCatType.TVAnime, "Series Animes");
            AddCategoryMapping(110, TorznabCatType.TVAnime, "Series Anime VOSTFR");
            AddCategoryMapping(123, TorznabCatType.TVOther, "Series Animation");
            AddCategoryMapping(109, TorznabCatType.TVDocumentary, "Series DOC");
            AddCategoryMapping(34, TorznabCatType.TVOther, "Series Sport");
            AddCategoryMapping(30, TorznabCatType.TVOther, "Series Emission TV");

            // XxX / MISC
            AddCategoryMapping(36, TorznabCatType.XXX, "MISC XxX/Films");
            AddCategoryMapping(105, TorznabCatType.XXX, "MISC XxX/Séries");
            AddCategoryMapping(114, TorznabCatType.XXX, "MISC XxX/Lesbiennes");
            AddCategoryMapping(115, TorznabCatType.XXX, "MISC XxX/Gays");
            AddCategoryMapping(113, TorznabCatType.XXX, "MISC XxX/Hentai");
            AddCategoryMapping(120, TorznabCatType.XXX, "MISC XxX/Magazines");

            // Books / Livres
            AddCategoryMapping(24, TorznabCatType.BooksEBook, "Livres Romans");
            AddCategoryMapping(124, TorznabCatType.AudioAudiobook, "Livres Audio Books");
            AddCategoryMapping(96, TorznabCatType.BooksMags, "Livres  Magazines");
            AddCategoryMapping(99, TorznabCatType.BooksOther, "Livres Bandes dessinées");
            AddCategoryMapping(116, TorznabCatType.BooksEBook, "Livres Romans Jeunesse");
            AddCategoryMapping(102, TorznabCatType.BooksComics, "Livres Comics");
            AddCategoryMapping(103, TorznabCatType.BooksOther, "Livres Mangas");

            // SOFTWARE / Logiciels
            AddCategoryMapping(25, TorznabCatType.PCGames, "Logiciels Jeux PC");
            AddCategoryMapping(27, TorznabCatType.ConsolePS3, "Logiciels Playstation");
            AddCategoryMapping(111, TorznabCatType.PCMac, "Logiciels Jeux MAC");
            AddCategoryMapping(26, TorznabCatType.ConsoleXBox360, "Logiciels XboX");
            AddCategoryMapping(112, TorznabCatType.PC, "Logiciels Jeux Linux");
            AddCategoryMapping(28, TorznabCatType.ConsoleWii, "Logiciels Nintendo");
            AddCategoryMapping(29, TorznabCatType.ConsoleNDS, "Logiciels NDS");
            AddCategoryMapping(117, TorznabCatType.PC, "Logiciels ROM");
            AddCategoryMapping(21, TorznabCatType.PC, "Logiciels Applis PC");
            AddCategoryMapping(22, TorznabCatType.PCMac, "Logiciels Applis Mac");
            AddCategoryMapping(23, TorznabCatType.PCMobileAndroid, "Logiciels Smartphone");

            // Dynamic Configuration
            ConfigData.AddDynamic("optionsConfigurationWarning", new DisplayInfoConfigurationItem(string.Empty, "<center><b>Available Options</b></center>,<br /><br /> <ul><li><b>Freeleech Only</b>: (<i>Restrictive</i>) If you want to discover only freeleech torrents to not impact your ratio, check the related box. So only torrents marked as freeleech will be returned instead of all.</li><br /><li><b>Specific Language</b>: (<i>Restrictive</i>) You can scope your searches with a specific language / accent.</li></ul>"));

            var ConfigFreeleechOnly = new BoolConfigurationItem("Do you want to discover only freeleech tagged torrents ?");

            ConfigData.AddDynamic("freeleechOnly", ConfigFreeleechOnly);

            var ConfigSpecificLanguageAccent = new SingleSelectConfigurationItem("Do you want to scope your searches with a specific language ? (Accent)", new Dictionary <string, string>
            {
                { "0", "All Voices (default)" },
                { "1", "Françaises" },
                { "2", "Quebecoises" },
                { "47", "Françaises et Québécoises" },
                { "3", "Anglaises" },
                { "4", "Japonaises" },
                { "5", "Espagnoles" },
                { "6", "Allemandes" },
                { "7", "Chinoises" },
                { "8", "Italiennes" },
                { "9", "Coréennes" },
                { "10", "Danoises" },
                { "11", "Russes" },
                { "12", "Portugaises" },
                { "13", "Hindi" },
                { "14", "Hollandaises" },
                { "15", "Suédoises" },
                { "16", "Norvégiennes" },
                { "17", "Thaïlandaises" },
                { "18", "Hébreu" },
                { "19", "Persanes" },
                { "20", "Arabes" },
                { "21", "Turques" },
                { "22", "Hongroises" },
                { "23", "Polonaises" },
                { "24", "Finnoises" },
                { "25", "Indonésiennes" },
                { "26", "Roumaines" },
                { "27", "Malaisiennes" },
                { "28", "Estoniennes" },
                { "29", "Islandaises" },
                { "30", "Grecques" },
                { "31", "Serbes" },
                { "32", "Norvégiennes" },
                { "33", "Ukrainiennes" },
                { "34", "Bulgares" },
                { "35", "Tagalogues" },
                { "36", "Xhosa" },
                { "37", "Kurdes" },
                { "38", "Bengali" },
                { "39", "Amhariques" },
                { "40", "Bosniaques" },
                { "41", "Malayalam" },
                { "42", "Télougou" },
                { "43", "Bambara" },
                { "44", "Catalanes" },
                { "45", "Tchèques" },
                { "46", "Afrikaans" }
            })
            {
                Value = "0"
            };

            ConfigData.AddDynamic("specificLanguageAccent", ConfigSpecificLanguageAccent);

            ConfigData.AddDynamic("advancedConfigurationWarning", new DisplayInfoConfigurationItem(string.Empty, "<center><b>Advanced Configuration</b></center>,<br /><br /> <center><b><u>WARNING !</u></b> <i>Be sure to read instructions before editing options bellow, you can <b>drastically reduce performance</b> of queries or have <b>non-accurate results</b>.</i></center><br/><br/><ul><li><b>Delay betwwen Requests</b>: (<i>not recommended</i>) you can increase delay to requests made to the tracker, but a minimum of 2.1s is enforced as there is an anti-spam protection.</li><br /><li><b>Max Pages</b>: (<i>not recommended</i>) you can increase max pages to follow when making a request. But be aware that others apps can consider this indexer not working if jackett take too many times to return results. Another thing is that API is very buggy on tracker side, most of time, results of next pages are same ... as the first page. Even if we deduplicate rows, you will loose performance for the same results. You can check logs to see if an higher pages following is not benefical, you will see an error percentage (duplicates) with recommandations.</li><br /><li><b>Bypass for TMDB</b>: (<i>recommended</i>) this indexer is compatible with TMDB queries (<i>for movies only</i>), so when requesting content with an TMDB ID, we will search directly ID on API instead of name. Results will be more accurate, so you can enable a max pages bypass for this query type. You will be at least limited by the hard limit of 4 pages.</li><br /><li><b>Drop categories</b>: (<i>recommended</i>) this indexer has some problems when too many categories are requested for filtering, so you will have better results by dropping categories from TMDB queries or selecting fewer categories in 3rd apps.</li><br /><li><b>Enhanced Anime</b>: if you have \"Anime\", this will improve queries made to this tracker related to this type when making searches.</li><br /><li><b>Multi Replacement</b>: you can dynamically replace the word \"MULTI\" with another of your choice like \"MULTI.FRENCH\" for better analysis of 3rd party softwares.</li><br /><li><b>Sub Replacement</b>: you can dynamically replace the word \"VOSTFR\" or \"SUBFRENCH\" with the word \"ENGLISH\" for better analysis of 3rd party softwares.</li></ul>"));

            var ConfigWebRequestDelay = new SingleSelectConfigurationItem("Which delay do you want to apply between each requests made to tracker ?", new Dictionary <string, string>
            {
                { "2.1", "2.1s (minimum)" },
                { "2.2", "2.2s" },
                { "2.3", "2.3s" },
                { "2.4", "2.4s" },
                { "2.5", "2.5s" },
                { "2.6", "2.6s" }
            })
            {
                Value = "2.1"
            };

            ConfigData.AddDynamic("webRequestDelay", ConfigWebRequestDelay);

            var ConfigMaxPages = new SingleSelectConfigurationItem("How many pages do you want to follow ?", new Dictionary <string, string>
            {
                { "1", "1 (32 results - default / best perf.)" },
                { "2", "2 (64 results)" },
                { "3", "3 (96 results)" },
                { "4", "4 (128 results - hard limit max)" },
            })
            {
                Value = "1"
            };

            ConfigData.AddDynamic("maxPages", ConfigMaxPages);

            var ConfigMaxPagesBypassForTMDB = new BoolConfigurationItem("Do you want to bypass max pages for TMDB searches ? (Radarr) - Hard limit of 4")
            {
                Value = true
            };

            ConfigData.AddDynamic("maxPagesBypassForTMDB", ConfigMaxPagesBypassForTMDB);

            var ConfigDropCategories = new SingleSelectConfigurationItem("Drop requested categories", new Dictionary <string, string>
            {
                { "0", "Disabled" },
                { "1", "Yes, only for TMDB requests (default)" },
                { "2", "Yes, for all requests" },
            })
            {
                Value = "1"
            };

            ConfigData.AddDynamic("dropCategories", ConfigDropCategories);

            var ConfigEnhancedAnimeSearch = new BoolConfigurationItem("Do you want to use enhanced ANIME search ?")
            {
                Value = false
            };

            ConfigData.AddDynamic("enhancedAnimeSearch", ConfigEnhancedAnimeSearch);

            var ConfigMultiReplacement = new StringConfigurationItem("Do you want to replace \"MULTI\" keyword in release title by another word ?")
            {
                Value = "MULTI.FRENCH"
            };

            ConfigData.AddDynamic("multiReplacement", ConfigMultiReplacement);

            var ConfigSubReplacement = new BoolConfigurationItem("Do you want to replace \"VOSTFR\" and \"SUBFRENCH\" with \"ENGLISH\" word ?")
            {
                Value = false
            };

            ConfigData.AddDynamic("subReplacement", ConfigSubReplacement);

            // Api has 1req/2s limit (minimum)
            webclient.requestDelay = Convert.ToDouble(WebRequestDelay);
        }
示例#31
0
        public ShareWood(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
                         ICacheService cs)
            : base(
                id: "sharewoodapi",
                name: "Sharewood API",
                description: "Sharewood is a Semi-Private FRENCH Torrent Tracker for GENERAL",
                link: "https://www.sharewood.tv/",
                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,
                client: wc,
                logger: l,
                p: ps,
                cacheService: cs,
                configData: new ConfigurationDataPasskey()
                )
        {
            Encoding = Encoding.UTF8;
            Language = "fr-fr";
            Type     = "semi-private";

            // 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);

            var ReplaceMulti = new BoolConfigurationItem("Replace MULTI by another language in release name");

            configData.AddDynamic("replacemulti", ReplaceMulti);

            // Configure the language select option for MULTI
            var languageSelect = new SingleSelectConfigurationItem("Replace MULTI by this language", new Dictionary <string, string>
            {
                { "FRENCH", "FRENCH" },
                { "MULTI.FRENCH", "MULTI.FRENCH" },
                { "ENGLISH", "ENGLISH" },
                { "MULTI.ENGLISH", "MULTI.ENGLISH" },
                { "VOSTFR", "VOSTFR" },
                { "MULTI.VOSTFR", "MULTI.VOSTFR" }
            })
            {
                Value = "FRENCH"
            };

            ;
            configData.AddDynamic("languageid", languageSelect);

            var ReplaceVostfr = new BoolConfigurationItem("Replace VOSTFR with ENGLISH");

            configData.AddDynamic("replacevostfr", ReplaceVostfr);

            EnableConfigurableRetryAttempts();
        }
示例#32
0
        public Abnormal(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps,
                        ICacheService cs)
            : base(id: "abnormal",
                   name: "Abnormal",
                   description: "General French Private Tracker",
                   link: "https://abn.lol/",
                   caps: new TorznabCapabilities
        {
            TvSearchParams = new List <TvSearchParam>
            {
                TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
            },
            MovieSearchParams = new List <MovieSearchParam>
            {
                MovieSearchParam.Q
            },
            BookSearchParams = new List <BookSearchParam>
            {
                BookSearchParam.Q
            }
        },
                   configService: configService,
                   client: w,
                   logger: l,
                   p: ps,
                   cacheService: cs,
                   downloadBase: "https://abn.lol/Torrent/Download?ReleaseId=",
                   configData: new ConfigurationDataBasicLogin()
                   )
        {
            Encoding = Encoding.UTF8;
            Language = "fr-FR";
            Type     = "private";

            AddCategoryMapping(1, TorznabCatType.TV, "Series");
            AddCategoryMapping(2, TorznabCatType.Movies, "Movies");
            AddCategoryMapping(3, TorznabCatType.TVDocumentary, "Documentaries");
            AddCategoryMapping(4, TorznabCatType.TVAnime, "Anime");
            AddCategoryMapping(5, TorznabCatType.PCGames, "Games");
            AddCategoryMapping(6, TorznabCatType.PC, "Applications");
            AddCategoryMapping(7, TorznabCatType.BooksEBook, "Ebooks");
            AddCategoryMapping(9, TorznabCatType.TV, "Emissions");

            // Dynamic Configuration
            ConfigData.AddDynamic("advancedConfigurationWarning", new DisplayInfoConfigurationItem(string.Empty, "<center><b>Advanced Configuration</b></center>,<br /><br /> <center><b><u>WARNING !</u></b> <i>Be sure to read instructions before editing options bellow, you can <b>drastically reduce performance</b> of queries or have <b>non-accurate results</b>.</i></center><br/><br/><ul><li><b>Delay between Requests</b>: (<i>not recommended</i>) you can increase delay to requests made to the tracker, but a minimum of 2.1s is enforced as there is an anti-spam protection.</li><br /><li><b>Max Pages</b>: (<i>not recommended</i>) you can increase max pages to follow when making a request. But be aware that others apps can consider this indexer not working if jackett take too many times to return results. </li><br /><li><b>Enhanced Anime</b>: if you have \"Anime\", this will improve queries made to this tracker related to this type when making searches.</li><br /><li><b>Multi Replacement</b>: you can dynamically replace the word \"MULTI\" with another of your choice like \"MULTI.FRENCH\" for better analysis of 3rd party softwares.</li><br /><li><b>Sub Replacement</b>: you can dynamically replace the word \"VOSTFR\" or \"SUBFRENCH\" with the word \"ENGLISH\" for better analysis of 3rd party softwares.</li></ul>"));

            var ConfigWebRequestDelay = new SingleSelectConfigurationItem("Which delay do you want to apply between each requests made to tracker ?", new Dictionary <string, string>
            {
                { "0", "0s (disabled)" },
                { "0.1", "0.1s" },
                { "0.3", "0.3s" },
                { "0.5", "0.5s (default)" },
                { "0.7", "0.7s" },
                { "1.0", "1.0s" },
                { "1.25", "1.25s" },
                { "1.50", "1.50s" }
            })
            {
                Value = "0.5"
            };

            ConfigData.AddDynamic("webRequestDelay", ConfigWebRequestDelay);

            var ConfigMaxPages = new SingleSelectConfigurationItem("How many pages do you want to follow ?", new Dictionary <string, string>
            {
                { "1", "1 (50 results - default / best perf.)" },
                { "2", "2 (100 results)" },
                { "3", "3 (150 results)" },
                { "4", "4 (200 results - hard limit max)" },
            })
            {
                Value = "1"
            };

            ConfigData.AddDynamic("maxPages", ConfigMaxPages);

            var ConfigEnhancedAnimeSearch = new BoolConfigurationItem("Do you want to use enhanced ANIME search ?")
            {
                Value = false
            };

            ConfigData.AddDynamic("enhancedAnimeSearch", ConfigEnhancedAnimeSearch);

            var ConfigMultiReplacement = new StringConfigurationItem("Do you want to replace \"MULTI\" keyword in release title by another word ?")
            {
                Value = "MULTI.FRENCH"
            };

            ConfigData.AddDynamic("multiReplacement", ConfigMultiReplacement);

            var ConfigSubReplacement = new BoolConfigurationItem("Do you want to replace \"VOSTFR\" and \"SUBFRENCH\" with \"ENGLISH\" word ?")
            {
                Value = false
            };

            ConfigData.AddDynamic("subReplacement", ConfigSubReplacement);

            webclient.requestDelay = Convert.ToDouble(WebRequestDelay);
        }
示例#33
0
        public InternetArchive(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
                               ICacheService cs)
            : base(id: "internetarchive",
                   name: "Internet Archive",
                   description: "Internet Archive is a non-profit digital library offering free universal access to books, movies & music, as well as 406 billion archived web pages",
                   link: "https://archive.org/",
                   caps: new TorznabCapabilities
        {
            TvSearchParams = new List <TvSearchParam>
            {
                TvSearchParam.Q
            },
            MovieSearchParams = new List <MovieSearchParam>
            {
                MovieSearchParam.Q
            },
            MusicSearchParams = new List <MusicSearchParam>
            {
                MusicSearchParam.Q
            },
            BookSearchParams = new List <BookSearchParam>
            {
                BookSearchParam.Q
            }
        },
                   configService: configService,
                   client: wc,
                   logger: l,
                   p: ps,
                   cacheService: cs,
                   configData: new ConfigurationData())
        {
            Encoding = Encoding.UTF8;
            Language = "en-us";
            Type     = "public";

            var sort = new SingleSelectConfigurationItem("Sort requested from site", new Dictionary <string, string>
            {
                { "publicdate", "created" },
                { "downloads", "downloads" },
                { "item_size", "size" }
            })
            {
                Value = "publicdate"
            };

            configData.AddDynamic("sort", sort);

            var order = new SingleSelectConfigurationItem("Order requested from site", new Dictionary <string, string>
            {
                { "desc", "desc" },
                { "asc", "asc" }
            })
            {
                Value = "desc"
            };

            configData.AddDynamic("order", order);

            var titleOnly = new BoolConfigurationItem("Search only in title")
            {
                Value = true
            };

            configData.AddDynamic("titleOnly", titleOnly);

            AddCategoryMapping("audio", TorznabCatType.Audio);
            AddCategoryMapping("etree", TorznabCatType.Audio);
            AddCategoryMapping("movies", TorznabCatType.Movies);
            AddCategoryMapping("image", TorznabCatType.OtherMisc);
            AddCategoryMapping("texts", TorznabCatType.Books);
            AddCategoryMapping("software", TorznabCatType.PC);
            AddCategoryMapping("web", TorznabCatType.Other);
            AddCategoryMapping("collection", TorznabCatType.Other);
            AddCategoryMapping("account", TorznabCatType.Other);
            AddCategoryMapping("data", TorznabCatType.Other);
            AddCategoryMapping("other", TorznabCatType.Other);
        }
 public static BoolConfigurationItem CreateBoolConfigurationItem(string ID, bool volatil)
 {
     BoolConfigurationItem item = new BoolConfigurationItem(ID, volatil);
     return item;
 }