Пример #1
0
 public ConfigurationDataNCore()
 {
     Username = new StringItem { Name = "Username", Value = "" };
     Password = new StringItem { Name = "Password", Value = "" };
     Hungarian = new BoolItem { Name = "Hungarian", Value = true };
     English = new BoolItem { Name = "English", Value = true };
 }
Пример #2
0
        public ConfigurationDataNCore(JToken json)
        {
            ConfigurationDataNCore configData = new ConfigurationDataNCore();

            dynamic configArray = JsonConvert.DeserializeObject(json.ToString());
            foreach (var config in configArray)
            {
                string propertyName = UppercaseFirst((string)config.id);
                switch (propertyName)
                {
                    case "Username":
                        Username = new StringItem { Name = propertyName, Value = config.value };
                        break;
                    case "Password":
                        Password = new StringItem { Name = propertyName, Value = config.value };
                        break;
                    case "Hungarian":
                        Hungarian = new BoolItem { Name = propertyName, Value = config.value };
                        break;
                    case "English":
                        English = new BoolItem { Name = propertyName, Value = config.value };
                        break;
                    default:
                        break;
                }
            }
        }
 public ConfigurationDataEliteTracker()
     : base()
 {
     TorrentHTTPSMode = new BoolItem {
         Name = "Use https for tracker URL (Experimental)", Value = false
     };
 }
Пример #4
0
        private static async Task GetBoolOptions(int aItemId, BoolItem bItem)
        {
            List <DBItemBool> allBoolItems = (await Firebase
                                              .Child("ActivityLists")
                                              .Child("ActivityItemExtras")
                                              .Child("BoolItems")
                                              .OnceAsync <DBItemBool>()).Select(item => new DBItemBool
            {
                ItemBoolId     = item.Object.ItemBoolId,
                ActivityItemId = item.Object.ActivityItemId,
                OptionOne      = item.Object.OptionOne,
                OptionTwo      = item.Object.OptionTwo
            }).ToList();

            if (allBoolItems.Count == 0)
            {
                bItem.SetOptions("False", "True");
            }

            foreach (DBItemBool item in allBoolItems)
            {
                if (aItemId == item.ActivityItemId)
                {
                    bItem.SetOptions(item.OptionOne, item.OptionTwo);
                    return;
                }
            }
        }
Пример #5
0
        public MejorTorrent(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps)
            : base(name: "MejorTorrent",
                   description: "MejorTorrent - Hay veces que un torrent viene mejor! :)",
                   link: "https://www.mejortorrentt.net/",
                   caps: new TorznabCapabilities(),
                   configService: configService,
                   client: w,
                   logger: l,
                   p: ps,
                   configData: new ConfigurationData())
        {
            Encoding = Encoding.UTF8;
            Language = "es-es";
            Type     = "public";

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

            configData.AddDynamic("MatchWords", matchWords);

            AddCategoryMapping(MejorTorrentCatType.Pelicula, TorznabCatType.Movies);
            AddCategoryMapping(MejorTorrentCatType.Serie, TorznabCatType.TVSD);
            AddCategoryMapping(MejorTorrentCatType.SerieHd, TorznabCatType.TVHD);
            AddCategoryMapping(MejorTorrentCatType.Musica, TorznabCatType.Audio);
            AddCategoryMapping(MejorTorrentCatType.Otro, TorznabCatType.Other);
        }
 public ConfigurationDataAnimeBytes(string instructionMessageOptional = null)
     : base()
 {
     IncludeRaw = new BoolItem()
     {
         Name = "IncludeRaw", Value = false
     };
     //DateWarning = new DisplayItem("This tracker does not supply upload dates so they are based off year of release.") { Name = "DateWarning" };
     InsertSeason = new BoolItem()
     {
         Name = "Prefix episode number with E0 for Sonarr Compatability", Value = false
     };
     AddSynonyms = new BoolItem()
     {
         Name = "Add releases for each synonym title", Value = true
     };
     FilterSeasonEpisode = new BoolItem()
     {
         Name = "Filter results by season/episode", Value = false
     };
     Instructions = new DisplayItem(instructionMessageOptional)
     {
         Name = ""
     };
 }
Пример #7
0
 public ConfigurationDataWiHD()
     : base()
 {
     CredentialsWarning = new DisplayItem("<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>") { Name = "Credentials" };
     Username = new StringItem { Name = "Username (Required)", Value = "" };
     Password = new StringItem { Name = "Password (Required)", Value = "" };
     PagesWarning = new DisplayItem("<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><li><b>Exclusive Only</b> let you search <u>only</u> for torrents which are marked Exclusive.</li><li><b>Freeleech Only</b> let you search <u>only</u> for torrents which are marked Freeleech.</li><li><b>Reseed Only</b> let you search <u>only</u> for torrents which need to be seeded.</li></ul>") { Name  = "Preferences" };
     Pages = new StringItem { Name = "Max Pages to Process (Required)", Value = "4" };
     Exclusive = new BoolItem() { Name = "Exclusive Only (Optional)", Value = false };
     Freeleech = new BoolItem() { Name = "Freeleech Only (Optional)", Value = false };
     Reseed = new BoolItem() { Name = "Reseed Needed Only (Optional)", Value = false };
     SecurityWarning = new DisplayItem("<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.</li></ul>") { Name = "Security" };
     Latency = new BoolItem() { Name = "Latency Simulation (Optional)", Value = true };
     Browser = new BoolItem() { Name = "Browser Simulation (Optional)", Value = true };
     LatencyWarning = new DisplayItem("<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>") { Name = "Simulate Latency" };
     LatencyStart = new StringItem { Name = "Minimum Latency (ms)", Value = "1589" };
     LatencyEnd = new StringItem { Name = "Maximum Latency (ms)", Value = "3674" };
     HeadersWarning = new DisplayItem("<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>") { Name = "Injecting headers" };
     HeaderAccept = new StringItem { Name = "Accept", Value = "" };
     HeaderAcceptLang = new StringItem { Name = "Accept-Language", Value = "" };
     HeaderDNT = new BoolItem { Name = "DNT", Value = false };
     HeaderUpgradeInsecure = new BoolItem { Name = "Upgrade-Insecure-Requests", Value = false };
     HeaderUserAgent = new StringItem { Name = "User-Agent", Value = "" };
     DevWarning = new DisplayItem("<b>Devlopement Facility</b> (<i>For Developers ONLY</i>),<br /><br /> <ul><li>By enabling devlopement mode, <b>Jackett will bypass his cache</b> and will <u>output debug messages to console</u> instead of his log file.</li></ul>") { Name = "Devlopement" };
     DevMode = new BoolItem { Name = "Enable DEV MODE (Developers ONLY)", Value = false };
 }
 public ConfigurationDataAnimeBytes(string instructionMessageOptional = null)
     : base()
 {
     IncludeRaw = new BoolItem()
     {
         Name = "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 BoolItem()
     {
         Name = "Pad episode number for Sonarr compatability", Value = false
     };
     AddJapaneseTitle = new BoolItem()
     {
         Name = "Add releases for Japanese Title", Value = false
     };
     AddRomajiTitle = new BoolItem()
     {
         Name = "Add releases for Romaji Title", Value = false
     };
     AddAlternativeTitles = new BoolItem()
     {
         Name = "Add releases for Alternative Title(s)", Value = false
     };
     FilterSeasonEpisode = new BoolItem()
     {
         Name = "Filter results by season/episode", Value = false
     };
     Instructions = new DisplayItem(instructionMessageOptional)
     {
         Name = ""
     };
 }
Пример #9
0
        public async Task AddBoolItem(int parentId, BoolItem aItem)
        {
            List <DBItemBool> KnownBoolItems = (await Firebase
                                                .Child("ActivityLists")
                                                .Child("ActivityItemExtras")
                                                .Child("BoolItems")
                                                .OnceAsync <DBItemBool>()).Select(item => new DBItemBool
            {
                ItemBoolId     = item.Object.ItemBoolId,
                ActivityItemId = item.Object.ActivityItemId,
                OptionOne      = item.Object.OptionOne,
                OptionTwo      = item.Object.OptionTwo
            }).ToList();

            int id = 0;

            if (KnownBoolItems != null)
            {
                id = KnownBoolItems.Count + 1;
            }

            await Firebase
            .Child("ActivityLists")
            .Child("ActivityItemExtras")
            .Child("BoolItems")
            .PostAsync(new DBItemBool()
            {
                ItemBoolId     = id,
                ActivityItemId = parentId,
                OptionOne      = aItem.OptionOne,
                OptionTwo      = aItem.OptionTwo
            });
        }
Пример #10
0
 public ConfigurationDataPhxBit()
     : base()
 {
     PassKey = new HiddenItem { Name = "PassKey", Value = "" };
     CredentialsWarning = new DisplayItem("<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>") { Name = "Credentials" };
     Username = new StringItem { Name = "Username (Required)", Value = "" };
     Password = new StringItem { Name = "Password (Required)", Value = "" };
     PagesWarning = new DisplayItem("<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>") { Name  = "Preferences" };
     Pages = new StringItem { Name = "Max Pages to Process (Required)", Value = "4" };
     SecurityWarning = new DisplayItem("<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.</li></ul>") { Name = "Security" };
     Latency = new BoolItem() { Name = "Latency Simulation (Optional)", Value = false };
     Browser = new BoolItem() { Name = "Browser Simulation (Optional)", Value = true };
     LatencyWarning = new DisplayItem("<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>") { Name = "Simulate Latency" };
     LatencyStart = new StringItem { Name = "Minimum Latency (ms)", Value = "1589" };
     LatencyEnd = new StringItem { Name = "Maximum Latency (ms)", Value = "3674" };
     HeadersWarning = new DisplayItem("<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>") { Name = "Injecting headers" };
     HeaderAccept = new StringItem { Name = "Accept", Value = "" };
     HeaderAcceptLang = new StringItem { Name = "Accept-Language", Value = "" };
     HeaderDNT = new BoolItem { Name = "DNT", Value = false };
     HeaderUpgradeInsecure = new BoolItem { Name = "Upgrade-Insecure-Requests", Value = false };
     HeaderUserAgent = new StringItem { Name = "User-Agent", Value = "" };
     DevWarning = new DisplayItem("<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>") { Name = "Development" };
     DevMode = new BoolItem { Name = "Enable DEV MODE (Developers ONLY)", Value = false };
     HardDriveCache = new BoolItem { Name = "Enable HARD DRIVE CACHE (Developers ONLY)", Value = false };
     HardDriveCacheKeepTime = new StringItem { Name = "Keep Cached files for (ms)", Value = "300000" };
     }
Пример #11
0
 public ConfigurationDataAnimeBytes()
     : base()
 {
     IncludeRaw = new BoolItem() { Name = "IncludeRaw", Value = false };
     DateWarning = new DisplayItem("This tracker does not supply upload dates so they are based off year of release.") { Name = "DateWarning" };
     InsertSeason = new BoolItem() { Name = "Prefix episode number with S01 for Sonarr Compatability", Value = false };
 }
Пример #12
0
 public ConfigurationDataXthor()
     : base()
 {
     CredentialsWarning = new DisplayItem("<b>Credentials Configuration</b> (<i>Private Tracker</i>),<br /><br /> <ul><li><b>PassKey</b> is your private key on your account</li></ul>")
     {
         Name = "Credentials"
     };
     PassKey = new StringItem {
         Name = "PassKey", Value = ""
     };
     PagesWarning = new DisplayItem("<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></ul>")
     {
         Name = "Preferences"
     };
     Freeleech = new BoolItem()
     {
         Name = "Freeleech Only (Optional)", Value = false
     };
     DevWarning = new DisplayItem("<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>")
     {
         Name = "Development"
     };
     DevMode = new BoolItem {
         Name = "Enable DEV MODE (Developers ONLY)", Value = false
     };
     HardDriveCache = new BoolItem {
         Name = "Enable HARD DRIVE CACHE (Developers ONLY)", Value = false
     };
     HardDriveCacheKeepTime = new StringItem {
         Name = "Keep Cached files for (ms)", Value = "300000"
     };
 }
Пример #13
0
        //public BoolItem TranslateMediaNamesToEnglish { get; private set; }

        public ConfigurationDataHDCity()
            : base()
        {
            FormatExplication = new DisplayItem("<b>HDCity naming formats:</b><br/>HDCity tv shows usually have this format (<i>Tv Show Name Temporada 1</i> or <i> TV Show 2x03) <br/> " +
                                                "sonarr and other english applications requires (<i> TV Show Name S02E15)<br/>Check <b>TV Show English Format</b> if you want jackett automatically replace the format")
            {
                Name = "Format"
            };
            TVShowEnglishMode = new BoolItem()
            {
                Name = "TV Show English Format", Value = false
            };

            ResultFilters = new DisplayItem("<b>Filters:</b><br/>If the field <i>Filters</i> is not empty, Jackett will expect a regular expression.<br/>" +
                                            "This regular expression will be used for filter results, for exemple maybe you want jackett only return result where the name have \"dual\" or \"subs\"<br/>" +
                                            "All the titles will be lower case for easiest regular expression matching.")
            {
                Name = "Regular expresions Filters"
            };

            TVShowsFilter = new StringItem {
                Name = "TV Show Filters", Value = "(dual|triaudio|multi)|((es|spa|cast?)( *)[ /|-]( *)(eng?|v( *)(\\.?)( *)o)( *))|((eng?|v( *)(\\.?)( *)o)( *)[ /|-]( *)(es|spa|cast?))"
            };
            MoviesFilter = new StringItem {
                Name = "Movies Filters", Value = ""
            };

            /*TranslateExplication = new DisplayItem("<b>Translations:</b><br/>Sonarr and Couch potato will always check for Original/English media names<br/>"+
             *  "Check <b>Automated Translations</b> if you want Jackett try to transform the names for better matchings")
             * { Name = "Translations" };
             * TranslateMediaNamesToEnglish = new BoolItem() { Name = "Automatic Translation", Value = false };*/
        }
Пример #14
0
        public HDOlimpo(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps)
            : base(name: "HD-Olimpo",
                   description: "HD-Olimpo is a SPANISH site for HD content",
                   link: "https://hdolimpo.co/",
                   caps: new TorznabCapabilities(),
                   configService: configService,
                   client: w,
                   logger: l,
                   p: ps,
                   configData: new ConfigurationDataBasicLoginWithEmail())
        {
            Encoding = Encoding.UTF8;
            Language = "es-es";
            Type     = "private";

            var premiumItem = new BoolItem()
            {
                Name = "Include Premium torrents in search results", Value = false
            };

            configData.AddDynamic("IncludePremium", premiumItem);

            // TODO: add subcategories
            AddCategoryMapping(1, TorznabCatType.Movies, "Movies");
            AddCategoryMapping(2, TorznabCatType.TV, "TV");
            AddCategoryMapping(3, TorznabCatType.TVDocumentary, "Documentary");
            AddCategoryMapping(4, TorznabCatType.TVAnime, "Anime");
            AddCategoryMapping(8, TorznabCatType.TVSport, "Sports");
            AddCategoryMapping(9, TorznabCatType.XXX, "XXX");
            AddCategoryMapping(10, TorznabCatType.Audio, "Music");
        }
Пример #15
0
 public ConfigurationDataRutracker()
     : base()
 {
     StripRussianLetters = new BoolItem()
     {
         Name = "Strip Russian Letters", Value = true
     };
     MoveTagsInfo = new DisplayItem("<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.")
     {
         Name = "Move Tags Info"
     };
     MoveFirstTagsToEndOfReleaseTitle = new BoolItem()
     {
         Name = "Move first tags to end of release title", Value = false
     };
     MoveAllTagsToEndOfReleaseTitle = new BoolItem()
     {
         Name = "Move all tags to end of release title", Value = false
     };
     CaptchaWarning = new DisplayItem("<b>About Captcha:</b> If the Captcha Image is missing then leave the Captcha Text empty.")
     {
         Name = "Captcha Info"
     };
 }
Пример #16
0
        public DivxTotal(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps)
            : base(name: "DivxTotal",
                   description: "DivxTotal is a SPANISH site for Movies, TV series and Software",
                   link: "https://www.divxtotal.la/",
                   caps: new TorznabCapabilities(),
                   configService: configService,
                   client: w,
                   logger: l,
                   p: ps,
                   configData: new ConfigurationData())
        {
            Encoding = Encoding.UTF8;
            Language = "es-es";
            Type     = "public";

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

            configData.AddDynamic("MatchWords", matchWords);

            AddCategoryMapping(DivxTotalCategories.Peliculas, TorznabCatType.MoviesSD);
            AddCategoryMapping(DivxTotalCategories.PeliculasHd, TorznabCatType.MoviesSD);
            AddCategoryMapping(DivxTotalCategories.Peliculas3D, TorznabCatType.MoviesHD);
            AddCategoryMapping(DivxTotalCategories.PeliculasDvdr, TorznabCatType.MoviesDVD);
            AddCategoryMapping(DivxTotalCategories.Series, TorznabCatType.TVSD);
            AddCategoryMapping(DivxTotalCategories.Programas, TorznabCatType.PC);
            AddCategoryMapping(DivxTotalCategories.Otros, TorznabCatType.OtherMisc);
        }
Пример #17
0
        public Newpct(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps)
            : base(name: "Newpct",
                   description: "Newpct - descargar torrent peliculas, series",
                   link: SiteLinkUri.AbsoluteUri,
                   caps: new TorznabCapabilities(TorznabCatType.TV,
                                                 TorznabCatType.TVSD,
                                                 TorznabCatType.TVHD,
                                                 TorznabCatType.Movies),
                   configService: configService,
                   client: wc,
                   logger: l,
                   p: ps,
                   configData: new ConfigurationData())
        {
            Encoding = Encoding.GetEncoding("windows-1252");
            Language = "es-es";
            Type     = "public";

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

            configData.AddDynamic("IncludeVo", voItem);
        }
Пример #18
0
 public ConfigurationDataAniDub() : base()
 {
     StripRussianTitle = new BoolItem
     {
         Name  = "Strip Russian Title",
         Value = true
     };
 }
Пример #19
0
 public ConfigurationDataToloka()
     : base()
 {
     StripCyrillicLetters = new BoolItem()
     {
         Name = "Strip Cyrillic Letters", Value = true
     };
 }
Пример #20
0
 public ConfigurationDataPornolab()
     : base()
 {
     StripRussianLetters = new BoolItem()
     {
         Name = "Strip Russian Letters", Value = false
     };
 }
 public ConfigurationDataRutracker()
     : base()
 {
     StripRussianLetters = new BoolItem()
     {
         Name = "Strip Russian Letters", Value = true
     };
 }
Пример #22
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 BoolItem()
     {
         Name = "Freeleech Only (Optional)", Value = false
     };
 }
Пример #23
0
        public InternetArchive(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps)
            : 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(),
                   configService: configService,
                   client: wc,
                   logger: l,
                   p: ps,
                   configData: new ConfigurationData())
        {
            Encoding = Encoding.UTF8;
            Language = "en-us";
            Type     = "public";

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

            configData.AddDynamic("sort", sort);

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

            configData.AddDynamic("order", order);

            var titleOnly = new BoolItem()
            {
                Name = "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);
        }
Пример #24
0
 public ConfigurationDataBlueTigers(string displayInstructions)
 {
     Username = new StringItem { Name = "Username", Value = "" };
     Password = new StringItem { Name = "Password", Value = "" };
     Instructions = new DisplayItem(displayInstructions) { Name = "" };
     French = new BoolItem { Name = "French", Value = true };
     English = new BoolItem { Name = "English", Value = true };
     Spanish = new BoolItem { Name = "Spanish", Value = true };
 }
Пример #25
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 BoolItem {
                Name = "Include original versions in search results", Value = false
            };

            configData.AddDynamic("IncludeVo", voItem);

            var filterMoviesItem = new BoolItem {
                Name = "Only full match movies", Value = true
            };

            configData.AddDynamic("FilterMovies", filterMoviesItem);

            var removeMovieAccentsItem = new BoolItem {
                Name = "Remove accents in movie searches", Value = true
            };

            configData.AddDynamic("RemoveMovieAccents", removeMovieAccentsItem);

            var removeMovieYearItem = new BoolItem {
                Name = "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);
        }
Пример #26
0
 public ConfigurationDataRuTor(string defaultUrl)
 {
     Url = new StringItem {
         Name = "Url", Value = defaultUrl
     };
     StripRussian = new BoolItem()
     {
         Name = "StripRusNamePrefix", Value = true
     };
 }
Пример #27
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 BoolItem {
         Name = "IncludeRomanianReleases", Value = false
     };
     CatWarning = new DisplayItem("When mapping TV ensure you add category 5000 in addition to 5030, 5040.")
     {
         Name = "CatWarning"
     };
 }
Пример #28
0
 public ConfigurationDataFileList()
     : base("Note this is <b>not</b> your <i>password</i>. Access your FileList account profile and copy the <b>passkey</b>.")
 {
     IncludeRomanianReleases = new BoolItem {
         Name = "IncludeRomanianReleases", Value = false
     };
     CatWarning = new DisplayItem("When mapping TV ensure you add category 5000 in addition to 5030, 5040.")
     {
         Name = "CatWarning"
     };
 }
Пример #29
0
        public ConfigurationDataGazelleTracker(bool has2Fa    = false, bool supportsFreeleechToken       = false,
                                               bool useApiKey = false, string instructionMessageOptional = null)
        {
            if (useApiKey)
            {
                ApiKey = new StringItem {
                    Name = "APIKey"
                }
            }
            ;
            else
            {
                Username = new StringItem {
                    Name = "Username"
                };
                Password = new StringItem {
                    Name = "Password"
                };
            }

            if (has2Fa)
            {
                CookieHint = new DisplayItem(
                    @"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>")
                {
                    Name = "CookieHint"
                };
                CookieItem = new StringItem {
                    Name = "Cookie", Value = ""
                };
            }

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

            Instructions = new DisplayItem(instructionMessageOptional)
            {
                Name = ""
            };
        }
    }
Пример #30
0
 public NxtGnConfigurationData()
 {
     Username = new StringItem {
         Name = "Username"
     };
     Password = new StringItem {
         Name = "Password"
     };
     OnlyDanishCategories = new BoolItem {
         Name = "Only Danish Categories"
     };
 }
Пример #31
0
 public ConfigurationDataFileList()
     : base()
 {
     IncludeRomanianReleases = new BoolItem()
     {
         Name = "IncludeRomanianReleases", Value = false
     };
     CatWarning = new DisplayItem("When mapping TV ensure you add category 5000 in addition to 5030,5040.")
     {
         Name = "CatWarning"
     };
 }
Пример #32
0
 public ConfigurationDataRutracker()
     : base()
 {
     StripRussianLetters = new BoolItem()
     {
         Name = "Strip Russian Letters", Value = true
     };
     CaptchaWarning = new DisplayItem("<b>About Captcha:</b> If the Captcha Image is missing then leave the Captcha Text empty.")
     {
         Name = "Captcha Info"
     };
 }
Пример #33
0
 public ConfigurationDataAnimeBytes()
     : base()
 {
     IncludeRaw = new BoolItem()
     {
         Name = "IncludeRaw", Value = false
     };
     DateWarning = new DisplayItem("This tracker does not supply upload dates so they are based off year of release.")
     {
         Name = "DateWarning"
     };
 }
Пример #34
0
 public ConfigurationDataBakaBT(string instructionMessageOptional = null)
     : base(instructionMessageOptional)
 {
     AddRomajiTitle = new BoolItem()
     {
         Name = "Add releases for Romaji Title", Value = true
     };
     AppendSeason = new BoolItem()
     {
         Name = "Append Season for Sonarr Compatibility", Value = false
     };
 }
Пример #35
0
 public ConfigurationDataXthor()
     : base()
 {
     CredentialsWarning = new DisplayItem("<b>Credentials Configuration</b> (<i>Private Tracker</i>),<br /><br /> <ul><li><b>PassKey</b> is your private key on your account</li></ul>") { Name = "Credentials" };
     PassKey = new StringItem { Name = "PassKey", Value = "" };
     PagesWarning = new DisplayItem("<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></ul>") { Name  = "Preferences" };
     Freeleech = new BoolItem() { Name = "Freeleech Only (Optional)", Value = false };
     DevWarning = new DisplayItem("<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>") { Name = "Development" };
     DevMode = new BoolItem { Name = "Enable DEV MODE (Developers ONLY)", Value = false };
     HardDriveCache = new BoolItem { Name = "Enable HARD DRIVE CACHE (Developers ONLY)", Value = false };
     HardDriveCacheKeepTime = new StringItem { Name = "Keep Cached files for (ms)", Value = "300000" };
     }
Пример #36
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://www.mejortorrents1.com/",
                   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 BoolItem {
                Name = "Match words in title", Value = true
            };

            configData.AddDynamic("MatchWords", matchWords);

            configData.AddDynamic("flaresolverr", new DisplayItem("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.")
            {
                Name = "FlareSolverr"
            });

            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");
        }
Пример #37
0
 public ConfigurationDataNCore()
 {
     Username = new StringItem {
         Name = "Username", Value = ""
     };
     Password = new StringItem {
         Name = "Password", Value = ""
     };
     Hungarian = new BoolItem {
         Name = "Hungarian", Value = true
     };
     English = new BoolItem {
         Name = "English", Value = true
     };
 }
Пример #38
0
 public ConfigurationDataFileList()
     : base()
 {
     IncludeRomanianReleases = new BoolItem() { Name = "IncludeRomanianReleases", Value = false };
     CatWarning = new DisplayItem("When mapping TV ensure you add category 5000 in addition to 5030,5040.") { Name = "CatWarning" };
 }
Пример #39
0
 public ConfigurationDataAnimeBytes()
     : base()
 {
     IncludeRaw = new BoolItem() { Name = "IncludeRaw", Value = false };
     DateWarning = new DisplayItem("This tracker does not supply upload dates so they are based off year of release.") { Name = "DateWarning" };
 }
Пример #40
0
 public NxtGnConfigurationData()
 {
     Username = new StringItem { Name = "Username" };
     Password = new StringItem { Name = "Password" };
     OnlyDanishCategories = new BoolItem { Name = "Only Danish Categories" };
 }
Пример #41
0
 public ConfigurationDataRuTor(string defaultUrl)
 {
     Url = new StringItem { Name = "Url", Value = defaultUrl };
     StripRussian = new BoolItem() { Name = "StripRusNamePrefix", Value = true };
 }