Skip to content

Commit

Permalink
speedapp: merge Xtreme Zone, SceneFZ and Ice Torrent. resolves Jacket…
Browse files Browse the repository at this point in the history
  • Loading branch information
ngosang authored Nov 22, 2020
1 parent e452437 commit 81d53d3
Show file tree
Hide file tree
Showing 6 changed files with 93 additions and 304 deletions.
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Horror Site
* HQSource (HQS)
* HuSh [![(invite needed)][inviteneeded]](#)
* ICE Torrent
* IPTorrents (IPT)
* ImmortalSeed (iS)
* Immortuos
Expand Down Expand Up @@ -469,7 +468,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* RevolutionTT
* Romanian Metal Torrents (RMT) [![(invite needed)][inviteneeded]](#)
* RPTorrents
* SceneFZ
* SceneHD
* ScenePalace (SP)
* SceneRush
Expand All @@ -484,6 +482,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* SiamBIT
* SnowPT (SSPT)
* SoulVoice [![(invite needed)][inviteneeded]](#)
* SpeedApp (SceneFZ, XtreMeZone / MYXZ, ICE Torrent)
* SpaceTorrent
* SpeedCD
* Speedmaster HD
Expand Down Expand Up @@ -561,7 +560,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* XWT-Classics
* XWTorrents (XWT)
* Xthor
* XtreMeZone (MYXZ)
* YDYPT
* YingK
* Zamunda.net
Expand Down
94 changes: 0 additions & 94 deletions src/Jackett.Common/Indexers/IceTorrent.cs

This file was deleted.

95 changes: 0 additions & 95 deletions src/Jackett.Common/Indexers/SceneFZ.cs

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@
using NLog;
using WebClient = Jackett.Common.Utils.Clients.WebClient;

namespace Jackett.Common.Indexers.Abstract
namespace Jackett.Common.Indexers
{
[ExcludeFromCodeCoverage]
public abstract class XtremeZoneTracker : BaseWebIndexer
public class SpeedApp : BaseWebIndexer
{
private readonly Dictionary<string, string> ApiHeaders = new Dictionary<string, string>
private readonly Dictionary<string, string> _apiHeaders = new Dictionary<string, string>
{
{"Accept", "application/json"},
{"Content-Type", "application/json"}
Expand All @@ -32,26 +32,98 @@ public abstract class XtremeZoneTracker : BaseWebIndexer

private new ConfigurationDataBasicLogin configData => (ConfigurationDataBasicLogin)base.configData;

protected XtremeZoneTracker(string link, string id, string name, string description,
IIndexerConfigurationService configService, WebClient client, Logger logger,
IProtectionService p, TorznabCapabilities caps)
: base(id: id,
name: name,
description: description,
link: link,
caps: caps,
configService: configService,
client: client,
logger: logger,
p: p,
configData: new ConfigurationDataBasicLogin())
public override string[] LegacySiteLinks { get; protected set; } = {
"https://www.icetorrent.org/",
"https://icetorrent.org/",
"https://scenefz.me/",
"https://www.scenefz.me/",
"https://www.u-torrents.ro/",
"https://myxz.eu/",
"https://www.myxz.eu/",
"https://www.myxz.org/"
};

public SpeedApp(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps)
: base(
id: "speedapp",
name: "SpeedApp",
description: "SpeedApp is a ROMANIAN Private Torrent Tracker for MOVIES / TV / GENERAL",
link: "https://speedapp.io/",
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
client: wc,
logger: l,
p: ps,
configData: new ConfigurationDataBasicLogin())
{
Encoding = Encoding.UTF8;
Language = "ro-ro";
Type = "private";

// requestDelay for API Limit (1 request per 2 seconds)
webclient.requestDelay = 2.1;

AddCategoryMapping(38, TorznabCatType.Movies, "Movie Packs");
AddCategoryMapping(10, TorznabCatType.MoviesSD, "Movies: SD");
AddCategoryMapping(35, TorznabCatType.MoviesSD, "Movies: SD Ro");
AddCategoryMapping(8, TorznabCatType.MoviesHD, "Movies: HD");
AddCategoryMapping(29, TorznabCatType.MoviesHD, "Movies: HD Ro");
AddCategoryMapping(7, TorznabCatType.MoviesDVD, "Movies: DVD");
AddCategoryMapping(2, TorznabCatType.MoviesDVD, "Movies: DVD Ro");
AddCategoryMapping(17, TorznabCatType.MoviesBluRay, "Movies: BluRay");
AddCategoryMapping(24, TorznabCatType.MoviesBluRay, "Movies: BluRay Ro");
AddCategoryMapping(59, TorznabCatType.Movies, "Movies: Ro");
AddCategoryMapping(57, TorznabCatType.MoviesUHD, "Movies: 4K (2160p) Ro");
AddCategoryMapping(61, TorznabCatType.MoviesUHD, "Movies: 4K (2160p)");
AddCategoryMapping(41, TorznabCatType.TV, "TV Packs");
AddCategoryMapping(66, TorznabCatType.TV, "TV Packs Ro");
AddCategoryMapping(45, TorznabCatType.TVSD, "TV Episodes");
AddCategoryMapping(46, TorznabCatType.TVSD, "TV Episodes Ro");
AddCategoryMapping(43, TorznabCatType.TVHD, "TV Episodes HD");
AddCategoryMapping(44, TorznabCatType.TVHD, "TV Episodes HD Ro");
AddCategoryMapping(60, TorznabCatType.TV, "TV Ro");
AddCategoryMapping(11, TorznabCatType.PCGames, "Games: PC-ISO");
AddCategoryMapping(52, TorznabCatType.Console, "Games: Console");
AddCategoryMapping(1, TorznabCatType.PC0day, "Applications");
AddCategoryMapping(14, TorznabCatType.PC, "Applications: Linux");
AddCategoryMapping(37, TorznabCatType.PCMac, "Applications: Mac");
AddCategoryMapping(19, TorznabCatType.PCMobileOther, "Applications: Mobile");
AddCategoryMapping(62, TorznabCatType.TV, "TV Cartoons");
AddCategoryMapping(3, TorznabCatType.TVAnime, "TV Anime / Hentai");
AddCategoryMapping(6, TorznabCatType.BooksEBook, "E-books");
AddCategoryMapping(5, TorznabCatType.Audio, "Music");
AddCategoryMapping(64, TorznabCatType.AudioVideo, "Music Video");
AddCategoryMapping(18, TorznabCatType.Other, "Images");
AddCategoryMapping(22, TorznabCatType.TVSport, "TV Sports");
AddCategoryMapping(58, TorznabCatType.TVSport, "TV Sports Ro");
AddCategoryMapping(9, TorznabCatType.TVDocumentary, "TV Documentary");
AddCategoryMapping(63, TorznabCatType.TVDocumentary, "TV Documentary Ro");
AddCategoryMapping(65, TorznabCatType.Other, "Tutorial");
AddCategoryMapping(67, TorznabCatType.OtherMisc, "Miscellaneous");
AddCategoryMapping(15, TorznabCatType.XXX, "XXX Movies");
AddCategoryMapping(47, TorznabCatType.XXX, "XXX DVD");
AddCategoryMapping(48, TorznabCatType.XXX, "XXX HD");
AddCategoryMapping(49, TorznabCatType.XXXImageSet, "XXX Images");
AddCategoryMapping(50, TorznabCatType.XXX, "XXX Packs");
AddCategoryMapping(51, TorznabCatType.XXX, "XXX SD");
}

public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
Expand All @@ -76,7 +148,7 @@ private async Task RenewalTokenAsync()
};
var jsonData = JsonConvert.SerializeObject(body);
var result = await RequestWithCookiesAsync(
LoginUrl, method: RequestType.POST, headers: ApiHeaders, rawbody: jsonData);
LoginUrl, method: RequestType.POST, headers: _apiHeaders, rawbody: jsonData);
var json = JObject.Parse(result.ContentString);
_token = json.Value<string>("token");
if (_token == null)
Expand Down
Loading

0 comments on commit 81d53d3

Please sign in to comment.