PolishTracker: update for new reaper engine

This commit is contained in:
kaso17 2017-09-11 15:10:54 +02:00
parent 40ab7280ca
commit c2cf5adeb2
5 changed files with 634 additions and 120 deletions

View File

@ -192,6 +192,7 @@ namespace Jackett.Updater
"Definitions/qctorrent.yml",
"Definitions/dragonworld.yml",
"Definitions/hdclub.yml",
"Definitions/polishtracker.yml",
};
foreach (var oldFIle in oldFiles)

View File

@ -1,118 +0,0 @@
---
site: polishtracker
name: PolishTracker
language: pl-pl
type: private
encoding: UTF-8
links:
- https://polishtracker.net/
certificates:
- 95EAB2795D8E35A14A9B35619C2568F974AE4D95 # expired
caps:
categorymappings:
- {id: 32, cat: PC/0day, desc: "0day"}
- {id: 21, cat: TV/Anime, desc: "Anime"}
- {id: 1, cat: PC/ISO, desc: "Apps"}
- {id: 17, cat: Console, desc: "Consoles"}
- {id: 33, cat: Movies/DVD, desc: "DVDR Custom"}
- {id: 3, cat: Books, desc: "E-Books"}
- {id: 28, cat: Movies/BluRay, desc: "Movies BDiSC"}
- {id: 20, cat: Movies/DVD, desc: "Movies DVD"}
- {id: 26, cat: Movies/HD, desc: "Movies HD"}
- {id: 19, cat: Movies/SD, desc: "Movies SD"}
- {id: 6, cat: Audio, desc: "Music"}
- {id: 24, cat: Audio/Other, desc: "Music DVD"}
- {id: 8, cat: Audio/Video, desc: "Music Video"}
- {id: 4, cat: PC/Games, desc: "PC Games"}
- {id: 29, cat: TV/SD, desc: "TV DVDRip"}
- {id: 31, cat: TV/HD, desc: "TV HD"}
- {id: 7, cat: TV/SD, desc: "TV SD"}
- {id: 9, cat: XXX, desc: "XXX"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: login.php
method: form
cookies: ["language=1", "eid=123", "dabg=yes", "dasc=yes", "dafx=yes", "dabo=yes", "dapi=yes"]
captcha:
type: image
image: img[src^="/login.php?rand="]
input: kodzik
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("FAILED"))
test:
path: browse.php
selector: a[href^="logout.php?"]
search:
path: browse.php
inputs:
search: "{{ .Query.Keywords }}"
rows:
selector: div#bro1 > table.shad1 > tbody > tr[class^="rowfx"]
error:
- selector: table.textfx2 td:contains("In order to use PolishTracker we require users to familiarize with FAQ, Rules and any News from Home Page.")
fields:
download:
selector: a[href^="/download.php/"]
attribute: href
title:
selector: a[href^="/details.php?id="]
title:
selector: a[href^="/details.php?id="][onmouseover]
optional: true
attribute: title
filters:
- name: strdump
- name: regexp
args: "<td class=nobotol>(.*?)</td>"
details:
selector: a[href^="/details.php?id="]
attribute: href
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
imdb:
selector: a[href^="http://www.imdb.com/title/tt"]
optional: true
attribute: href
date:
selector: td:nth-child(4)
filters:
- name: append
args: " +00:00"
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(6) > b
size:
selector: td:nth-child(5)
remove: font
downloadvolumefactor:
case:
img[alt^="Freebie torrent."]: "0"
img[alt*="-50% download"]: "0.5"
"*": "1"
uploadvolumefactor:
case:
img[alt*="+50% upload"]: "1.5"
"*": "1"
description:
selector: td:nth-child(2)
remove: a

View File

@ -24,7 +24,7 @@ namespace Jackett.Indexers
}
public string SiteLink { get; protected set; }
public string[] LegacySiteLinks { get; protected set; }
public virtual string[] LegacySiteLinks { get; protected set; }
public string DefaultSiteLink { get; protected set; }
public virtual string[] AlternativeSiteLinks { get; protected set; } = new string[] { };
public string DisplayDescription { get; protected set; }

View File

@ -0,0 +1,201 @@
using Jackett.Utils.Clients;
using NLog;
using Jackett.Services;
using Jackett.Utils;
using Jackett.Models;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
using System.Collections.Generic;
using System;
using Jackett.Models.IndexerConfig;
using System.Collections.Specialized;
using System.Text;
using Newtonsoft.Json;
using static Jackett.Models.IndexerConfig.ConfigurationData;
using System.Globalization;
namespace Jackett.Indexers
{
public class PolishTracker : BaseWebIndexer
{
string LoginUrl { get { return SiteLink + "login"; } }
string TorrentApiUrl { get { return SiteLink + "apitorrents"; } }
string CDNUrl { get { return "https://cdn.pte.nu/"; } }
public override string[] LegacySiteLinks { get; protected set; } = new string[] {
"https://polishtracker.net/",
};
new ConfigurationDataBasicLoginWithRSSAndDisplay configData
{
get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; }
set { base.configData = value; }
}
public PolishTracker(IIndexerConfigurationService configService, IWebClient wc, Logger l, IProtectionService ps)
: base(name: "PolishTracker",
description: null,
link: "https://pte.nu/",
caps: new TorznabCapabilities(),
configService: configService,
client: wc,
logger: l,
p: ps,
configData: new ConfigurationDataBasicLoginWithRSSAndDisplay())
{
Encoding = Encoding.GetEncoding("UTF-8");
Language = "pl-pl";
Type = "private";
AddCategoryMapping(1, TorznabCatType.PC0day, "0-Day");
AddCategoryMapping(3, TorznabCatType.PC0day, "Apps");
AddCategoryMapping(4, TorznabCatType.Console, "Consoles");
AddCategoryMapping(5, TorznabCatType.Books, "E-book");
AddCategoryMapping(6, TorznabCatType.MoviesHD, "Movies HD");
AddCategoryMapping(7, TorznabCatType.MoviesSD, "Movies SD");
AddCategoryMapping(8, TorznabCatType.Audio, "Music");
AddCategoryMapping(9, TorznabCatType.AudioVideo, "MusicVideo");
AddCategoryMapping(10, TorznabCatType.PCGames, "PcGames");
AddCategoryMapping(11, TorznabCatType.TVHD, "TV HD");
AddCategoryMapping(12, TorznabCatType.TVSD, "TV SD");
AddCategoryMapping(13, TorznabCatType.XXX, "XXX");
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
{
LoadValuesFromJson(configJson);
var pairs = new Dictionary<string, string>
{
{ "email", configData.Username.Value },
{ "pass", configData.Password.Value }
};
var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, SiteLink);
await ConfigureIfOK(result.Cookies, result.Cookies != null && result.Cookies.Contains("id="), () =>
{
var errorMessage = result.Content;
throw new ExceptionWithConfigData(errorMessage, configData);
});
return IndexerConfigurationStatus.RequiresTesting;
}
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{
var releases = new List<ReleaseInfo>();
var searchUrl = TorrentApiUrl;
var searchString = query.GetQueryString();
var queryCollection = new NameValueCollection();
queryCollection.Add("tpage", "1");
foreach (var cat in MapTorznabCapsToTrackers(query))
{
queryCollection.Add("cat[]", cat);
}
if (!string.IsNullOrWhiteSpace(searchString))
queryCollection.Add("search", searchString);
var cats = MapTorznabCapsToTrackers(query);
if (cats.Count > 0)
queryCollection.Add("cats", string.Join(",", cats));
searchUrl += "?" + queryCollection.GetQueryString();
var result = await RequestStringWithCookiesAndRetry(searchUrl, null, TorrentApiUrl);
if (result.IsRedirect)
{
// re-login
await ApplyConfiguration(null);
result = await RequestStringWithCookiesAndRetry(searchUrl, null, TorrentApiUrl);
}
if (!result.Content.StartsWith("{")) // not JSON => error
throw new ExceptionWithConfigData(result.Content, configData);
dynamic json = JsonConvert.DeserializeObject<dynamic>(result.Content);
try
{
dynamic torrents = json["torrents"]; // latest torrents
if (json["hits"] != null) // is search result
torrents = json.SelectTokens("$.hits[?(@._type == 'torrent')]._source");
/*
{
"id":426868,
"name":"Realease-nameE",
"size":"2885494332",
"category":11,
"added":"2017-09-11T11:36:26.936Z",
"comments":0,
"leechers":0,
"seeders":1,
"completed":0,
"poster":true,
"imdb_id":"3743822",
"cdu_id":null,
"steam_id":null,
"subs":null,
"language":"en"
},
*/
foreach (var torrent in torrents)
{
var release = new ReleaseInfo();
var descriptions = new List<string>();
release.MinimumRatio = 1;
release.MinimumSeedTime = 0;
release.Category = MapTrackerCatToNewznab(torrent.category.ToString());
release.Title = torrent.name.ToString();
var torrentID = (long)torrent.id;
release.Comments = new Uri(SiteLink + "torrents/" + torrentID);
release.Guid = release.Comments;
release.Link = new Uri(SiteLink + "download/" + torrentID);
var date = (DateTime)torrent.added;
release.PublishDate = date;
release.Size = ParseUtil.CoerceLong(torrent.size.ToString());
release.Seeders = (int)torrent.seeders;
release.Peers = release.Seeders + (int)torrent.leechers;
var imdbid = torrent.imdb_id.ToString();
if (!string.IsNullOrEmpty(imdbid))
release.Imdb = ParseUtil.CoerceLong(imdbid);
if ((bool)torrent.poster == true)
{
if (release.Imdb != null)
release.BannerUrl = new Uri(CDNUrl + "images/torrents/poster/imd/l/" + imdbid + ".jpg");
else if (torrent["cdu_id"] != null)
release.BannerUrl = new Uri(CDNUrl + "images/torrents/poster/cdu/b/" + torrent["cdu_id"] + "_front.jpg");
else if (torrent["steam_id"] != null)
release.BannerUrl = new Uri(CDNUrl + "images/torrents/poster/ste/l/" + torrent["steam_id"] + ".jpg");
}
release.UploadVolumeFactor = 1;
release.DownloadVolumeFactor = 1;
release.Grabs = (long)torrent.completed;
var language = (string)torrent.language;
if (!string.IsNullOrEmpty(language))
descriptions.Add("Language: " + language);
else if ((bool?)torrent.polish == true)
descriptions.Add("Language: pl");
if (descriptions.Count > 0)
release.Description = string.Join("<br />\n", descriptions);
releases.Add(release);
}
}
catch (Exception ex)
{
OnParseError(result.ToString(), ex);
}
return releases;
}
}
}

View File

@ -183,6 +183,7 @@
<Compile Include="Indexers\PiXELHD.cs" />
<Compile Include="Indexers\Hardbay.cs" />
<Compile Include="Indexers\Synthesiz3r.cs" />
<Compile Include="Indexers\PolishTracker.cs" />
<Compile Include="Indexers\yts.cs" />
<Compile Include="Indexers\Rarbg.cs" />
<Compile Include="Indexers\Psytorrents.cs" />
@ -442,7 +443,436 @@
<Content Include="Content\libs\handlebarsextend.js">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\**\*.yml">
<Content Include="Definitions\2fast4you.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\3dtorrents.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\acidlounge.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\anidex.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\anirena.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\aox.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\apollo.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\arabafenice.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\asiandvdclub.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\ast4u.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\audiobooktorrents.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\awesomehd.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\b2s-share.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\bigtorrent.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\bithq.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\bithumen.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\bitspyder.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\blubits.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\bluebird.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\blutopia.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\btnext.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\carpathians.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\chdbits.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\cinemageddon.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\cinematik.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\classix.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\cpabien.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\czteam.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\cztorrent.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\datascene.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\deildu.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\diablotorrent.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\dragonworldreloaded.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\dreamteam.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\eotforum.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\estone.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\ethor.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\eztv.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\fanoin.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\freedomhd.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\fullmixmusic.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\funkytorrents.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\gay-torrents.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\gaytorrentru.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\gfxpeers.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\gigatorrents.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\gods.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\gormogon.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\greekteam.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\hdbits.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\hdbitscom.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\hdchina.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\hdhome.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\hdme.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\hdsky.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\hdtorrentsit.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\hon3yhd.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\horriblesubs.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\hyperay.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\icetorrent.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\ilcorsaronero.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\iloveclassics.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\infinityt.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\inperil.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\insanetracker.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\isohunt.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\jpopsuki.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\kapaki.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\karagarga.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\kickasstorrent-kathow.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\kickasstorrent.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\limetorrents.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\linkomanija.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\losslessclub.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\magico.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\majomparade.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\manicomioshare.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\mononokebt.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\mteamtp.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\myspleen.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\nethd.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\newretro.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\nexttorrent.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\nyaa-pantsu.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\nyaasi.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\nyoo.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\ourbits.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\passionetorrent.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\polishsource.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\polishtracker.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\ptfiles.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\rockhardlossless.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\rodvd.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\sdbits.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\secretcinema.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\shareisland.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\sharespacedb.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\shellife.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\skytorrents.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\speedtorrentreloaded.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\sporthd.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\sportscult.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\t411v2.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\tasmanit.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\tenyardtracker.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\theempire.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\thegeeks.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\thehorrorcharnel.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\theoccult.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\thepiratebay.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\theplace.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\theshinning.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\theshow.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\thetorrents.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\thevault.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\tntvillage.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\tokyotosho.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\torlock.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\torrent9.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\torrentbd.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\torrentccf.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\torrentdownloads.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\torrenthr.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\torrenting.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\torrentproject.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\torrentsectorcrew.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\torrentsmd.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\torrentvault.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\torrentz2.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\torviet.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\totheglory.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\trancetraffic.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\uhdbits.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\ultimategamerclub.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\ultrahdclub.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\utorrents.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\waffles.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\worldofp2p.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\xtremezone.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\yggtorrent.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\zamundanet.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\zelkaorg.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\zetorrents.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Definitions\ztracker.yml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>