Compare commits

...

18 Commits

Author SHA1 Message Date
Garfield69
83720c6982 hdplus: enable imdbid support. for #4859 2019-03-13 20:21:50 +13:00
Garfield69
43213b8ff4 worldofp2p: enable imdbid support. for #4859 2019-03-13 20:16:34 +13:00
Garfield69
77e9db411e cartoonchaos: enable imdbid support. for #4859 2019-03-13 20:07:31 +13:00
Garfield69
9d3eac2594 update torznabcattype.tt template
correct namespace
add UHD for movies and TV
2019-03-13 15:58:55 +13:00
Garfield69
52e89581cf mejortorrent: new domain .tv
also add volumefactors to results.
2019-03-13 13:54:08 +13:00
Garfield69
895fc4d077 kinozal: oops, forgot a setting. for #4767 2019-03-13 13:20:14 +13:00
Garfield69
bda30d7193 skytorrentsclone: they have switched from itorretns to btdb.eu 2019-03-13 13:04:51 +13:00
Garfield69
08a7641fb9 add moviesUHD to torznabQuery fallback. 2019-03-13 12:12:29 +13:00
leomoty
77e3db2f88 Add missing properties to TorznabQuery#Clone (#4879) 2019-03-13 12:09:09 +13:00
Garfield69
18ed7c88fb hdtorrents: add imdb selector for #4859 2019-03-13 09:15:16 +13:00
Garfield69
f2c7de0845 blutopia: add imdb selector for #4859 2019-03-13 09:01:13 +13:00
Garfield69
ee0d092c2f kinozal: add same title filters as nnm-club. resolves #4767 2019-03-13 08:44:53 +13:00
Garfield69
5ec8045fe0 delete torrof 2019-03-13 08:33:01 +13:00
Garfield69
924a8e9f96 metaltracker: fix login (now forcing https) resolves #4870 2019-03-13 08:11:41 +13:00
Garfield69
5389995b6d blutopia: add alternate freeleech flag. resolves #4872 2019-03-13 06:54:31 +13:00
leomoty
609a222d98 BJShare: Only set quality if available (#4860) 2019-03-13 06:11:58 +13:00
Garfield69
9f913d73f4 cztorrent: support new layout. resolves #4869 2019-03-12 21:04:59 +13:00
Garfield69
0c39616c12 xspeeds: add imdbid search support for #4859 2019-03-12 16:10:50 +13:00
18 changed files with 117 additions and 173 deletions

View File

@@ -77,7 +77,6 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Torrent9
* Torernt9 clone (torrents9.ch)
* Torrentz2
* Torrof (Torrentoff)
* World Wide Torrents
* YTS.ag
* Zooqle

View File

@@ -72,6 +72,10 @@
filters:
- name: regexp
args: ([\d\.]+)
imdb:
optional: true
selector: a[href^="https://www.imdb.com/title/"]
attribute: href
date:
selector: time
filters:
@@ -102,6 +106,7 @@
case:
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
"*": "1"
uploadvolumefactor:
case:

View File

@@ -40,9 +40,9 @@
- {id: 45, cat: TV/Documentary, desc: "Documentaries"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
search: [q, imdbid]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: index.php?page=login
@@ -63,9 +63,10 @@
- path: index.php
inputs:
page: torrents
search: "{{ if .Keywords }}{{ .Keywords }}{{else}}{{end}}"
search: "{{if .Query.IMDBID}}{{.Query.IMDBID}}{{else}}{{.Keywords}}{{end}}"
category: "{{if .Categories}}{{range .Categories}}{{.}};{{end}}{{else}}0{{end}}"
options: 0
# options: 0=title, 1=title&descr, 2=descr
options: "{{if .Query.IMDBID}}1{{else}}0{{end}}"
active: 0
rows:

View File

@@ -9,13 +9,12 @@
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Filmy"}
- {id: 25, cat: TV, desc: "Seriály"}
- {id: 23, cat: TV/Documentary, desc: "Filmy - dokument"}
- {id: 22, cat: PC, desc: "Aplikace"}
- {id: 1, cat: Movies, desc: "Filmy"}
- {id: 36, cat: Movies/3D, desc: "Filmy - 3D"}
- {id: 35, cat: Movies/Other, desc: "Filmy - anime"}
- {id: 37, cat: Movies/BluRay, desc: "Filmy - Blu-ray"}
- {id: 33, cat: TV/Documentary, desc: "Filmy - dokument"}
- {id: 11, cat: Movies/DVD, desc: "Filmy - DVD"}
- {id: 30, cat: Movies/DVD, desc: "Filmy - DVD full"}
- {id: 5, cat: Movies, desc: "Filmy - kreslené"}
@@ -29,6 +28,7 @@
- {id: 32, cat: Audio, desc: "Mluvené slovo"}
- {id: 16, cat: PC/Phone-Other, desc: "Mobil, PDA"}
- {id: 4, cat: Other, desc: "Ostatní"}
- {id: 25, cat: TV, desc: "Seriály"}
- {id: 29, cat: Audio, desc: "Soundtrack"}
- {id: 19, cat: Audio/Video, desc: "Videoklipy"}
- {id: 24, cat: XXX, desc: "xXx"}
@@ -88,11 +88,11 @@
- name: re_replace
args: ["(\\d{1})\\.", "S0$1"]
category:
selector: td:nth-child(2)
selector: td.categorie
case:
":contains(\"Filmy\")": 1
":contains(\"Seriály\")": 25
":contains(\"Filmy - dokument\")": 23
":contains(\"Filmy - dokument\")": 33
":contains(\"Aplikace\")": 22
":contains(\"Filmy - 3D\")": 36
":contains(\"Filmy - anime\")": 35
@@ -123,20 +123,16 @@
selector: td.detaily
filters:
- name: split
args: [ "|", 0 ]
- name: regexp
args: "Velikost: (.+?) ?$"
args: [ "|", 1 ]
date:
selector: td:nth-child(4)
selector: td.detaily
filters:
- name: split
args: [ "|", 1 ]
- name: regexp
args: "Přidán: (.+?) ?$"
args: [ "|", 2 ]
- name: append
args: " +02:00"
- name: dateparse
args: "2.1.2006 15:04 -07:00"
args: "2.1.2006 15:04 -07:00"
seeders:
selector: td:nth-child(7) span
leechers:

View File

@@ -15,7 +15,7 @@
- {id: 3, cat: Audio, desc: "Music"}
modes:
search: [q]
search: [q, imdbid]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]

View File

@@ -88,6 +88,10 @@
"10" : "9.5GB or higher"
"11": "Gold (FreeLeech)"
"12": "Silver (50%DL)"
- name: striprussian
type: checkbox
label: Strip Russian Letters
default: true
login:
path: takelogin.php
@@ -154,6 +158,21 @@
fields:
title:
selector: td.nam a[href^="/details.php?id="]
filters:
- name: re_replace
args: ["\\b(\\d)\\b", "0$1"]
- name: replace
args: ["Кураж-Бамбей", "kurazh"]
- name: re_replace
args: ["(\\([Сс]езон\\s+(\\d+).+[Сс]ери[ия]\\s+(?:(\\d+-*\\d*).*\\d+)*\\))", "(S$2E$3) RUS"]
- name: re_replace
args: ["(\\([А-Яа-я\\W]+\\))|(^[А-Яа-я\\W\\d]+\\/ )|([а-яА-Я \\-]+,+)|([а-яА-Я]+)", "{{ if .Config.striprussian }}{{ else }}$1$2$3$4{{ end }}"]
- name: replace
args: ["WEBDLRip", "WEBDL"]
- name: replace
args: ["WEB-DLRip", "WEBDL"]
- name: replace
args: ["HDTVRip", "HDTV"]
details:
selector: td.nam a[href^="/details.php?id="]
attribute: href

View File

@@ -6,6 +6,8 @@
type: semi-private
encoding: UTF-8
links:
- https://en.metal-tracker.com/
legacylinks:
- http://en.metal-tracker.com/
caps:
@@ -20,7 +22,7 @@
login:
path: user/login.html
method: form
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"

View File

@@ -29,14 +29,14 @@
movie-search: [q]
settings:
- name: itorrents-links
- name: btdb.eu-links
type: checkbox
label: Add download links via itorrents.org
label: Add download links via btdb.eu
default: true
- name: info
type: info
label: ITorrents Note
default: Without the itorrents option only magnet links will be provided.
label: btdb.eu Note
default: Without the btdb.eu option only magnet links will be provided.
search:
# https://www.skytorrents.lol/?search=mr+mercedes+s02e05&sort=created
@@ -62,11 +62,11 @@
details:
selector: td a
attribute: href
download-itorrents:
selector: a[href^="//itorrents"]
download-btdb.eu:
selector: a[href^="//btdb.eu"]
attribute: href
download:
text: "{{if .Config.itorrents-links}}{{ .Result.download-itorrents }}{{else}}{{end}}"
text: "{{if .Config.btdb.eu-links}}{{ .Result.download-btdb.eu }}{{else}}{{end}}"
magnet:
selector: a[href^="magnet:?"]
attribute: href

View File

@@ -1,117 +0,0 @@
---
site: torrof
name: Torrof
description: "Torrof (Torrentoff) is meta-search engine for torrents"
language: en-us
type: public
encoding: UTF-8
links:
- http://www.torrof.com/
caps:
categories:
"Software": PC
"Book": Books
"Video": Movies
"Music": Audio
"Other": Other
"Picture": Other/Misc
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: category
type: select
label: Category
default: "_"
options:
"_": "All"
"Book": "Book"
"Music": "Music"
"Other": "Other"
"Picture": "Picture"
"Software": "Software"
"Video": "Video"
- name: verified
type: select
label: Verified
default: "_"
options:
"_": "Any"
"1": "Verified Only"
- name: sort
type: select
label: Sort
default: "_"
options:
"_": "Default"
"creation_date desc": "Age desc"
"creation_date asc": "Age asc"
"total_size desc": "Size desc"
"total_size asc": "Size asc"
download:
selector: section.file-info a:nth-child(2)
search:
paths:
- path: "{{if .Keywords}}{{.Keywords}}{{else}}test{{end}}"
method: post
inputs:
# torrof does not support trending/latest/new pages
text: "{{if .Keywords}}{{.Keywords}}{{else}}test{{end}}"
size: "0:inf"
date: "0:inf"
verified_only: "{{ re_replace .Config.verified \"_\" \"\" }}"
category: "{{ re_replace .Config.category \"_\" \"\" }}"
tags: ""
mode: "titles"
sort: "{{ re_replace .Config.sort \"_\" \"\" }}"
page: "0"
rows:
# ignore adverts
selector: tr:has(a[href^="/view/"])
filters:
# torrof uses fuzzy search logic
- name: andmatch
fields:
title:
selector: td:nth-child(2) a:nth-child(1)
category:
selector: td:nth-child(1) span
attribute: title
filters:
# grab first word
- name: split
args: [" ", 0]
details:
selector: td:nth-child(2) a:nth-child(1)
attribute: href
download:
selector: td:nth-child(2) a:nth-child(1)
attribute: href
date:
selector: td:nth-child(4)
filters:
- name: dateparse
args: "Jan 2006"
size:
selector: td:nth-child(3) span:nth-child(1)
files:
selector: td:nth-child(3) span:nth-last-child(1)
filters:
- name: replace
args: [" Files", ""]
seeders:
text: "1"
leechers:
text: "1"
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -68,8 +68,9 @@
- {id: 6, cat: XXX/XviD, desc: "xXx-XviD"}
modes:
search: [q]
tv-search: [q, season, ep]
search: [q, imdbid]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: login.php
@@ -89,9 +90,10 @@
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
search: "{{if .Query.IMDBID}}{{.Query.IMDBID}}{{else}}{{.Keywords}}{{end}}"
incldead: "1"
searchin: "title"
# searchin: title, descr, genre, all
searchin: "{{if .Query.IMDBID}}all{{else}}title{{end}}"
rows:
selector: table > tbody > tr:has(a[href^="download.php?torrent="])

View File

@@ -198,18 +198,21 @@ namespace Jackett.Common.Indexers
var catStr = qCatLink.GetAttribute("href").Split('=')[1];
release.Title = FixAbsoluteNumbering(release.Title);
var quality = qQuality.TextContent;
switch (quality)
if (qQuality != null)
{
case "Full HD":
release.Title += " 1080p";
break;
case "HD":
release.Title += " 720p";
break;
default:
release.Title += " 480p";
break;
var quality = qQuality.TextContent;
switch (quality)
{
case "Full HD":
release.Title += " 1080p";
break;
case "HD":
release.Title += " 720p";
break;
default:
release.Title += " 480p";
break;
}
}
release.Category = MapTrackerCatToNewznab(catStr);

View File

@@ -216,6 +216,9 @@ namespace Jackett.Common.Indexers
else
release.DownloadVolumeFactor = 1;
var imdblink = qRow.Find("a[href^=\"https://www.imdb.com/title/\"]").Attr("href");
release.Imdb = ParseUtil.GetLongFromString(imdblink);
releases.Add(release);
}
}

View File

@@ -18,11 +18,15 @@ namespace Jackett.Common.Indexers
{
class MejorTorrent : BaseWebIndexer
{
public static Uri WebUri = new Uri("http://www.mejortorrent.org/");
public static Uri WebUri = new Uri("http://www.mejortorrent.tv/");
public static Uri DownloadUri = new Uri(WebUri, "secciones.php?sec=descargas&ap=contar_varios");
private static Uri SearchUriBase = new Uri(WebUri, "secciones.php");
public static Uri NewTorrentsUri = new Uri(WebUri, "secciones.php?sec=ultimos_torrents");
public static Encoding MEEncoding = Encoding.GetEncoding("windows-1252");
public static Encoding MEEncoding = Encoding.GetEncoding("iso-8859-1");
public override string[] LegacySiteLinks { get; protected set; } = new string[] {
"http://www.mejortorrent.org/"
};
public MejorTorrent(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps)
: base(name: "MejorTorrent",
@@ -458,6 +462,8 @@ namespace Jackett.Common.Indexers
this.Seeders = 1;
this.Size = ReleaseInfo.BytesFromGB(1);
this._originalTitle = "";
this.DownloadVolumeFactor = 0;
this.UploadVolumeFactor = 1;
}
public int Season { get { return _season; } set { _season = value; TitleOriginal = _originalTitle; } }

View File

@@ -53,6 +53,8 @@ namespace Jackett.Common.Indexers
configData.DisplayText.Value = "Expect an initial delay (often around 10 seconds) due to XSpeeds CloudFlare DDoS protection";
configData.DisplayText.Name = "Notice";
TorznabCaps.SupportsImdbSearch = true;
AddCategoryMapping(92, TorznabCatType.MoviesUHD, "4K Movies");
AddCategoryMapping(91, TorznabCatType.TVUHD, "4K TV");
AddCategoryMapping(94, TorznabCatType.TVUHD, "4K TV Boxsets");
@@ -214,6 +216,8 @@ namespace Jackett.Common.Indexers
var releases = new List<ReleaseInfo>();
var searchString = query.GetQueryString();
var prevCook = CookieHeader + "";
Regex IMDBRegEx = new Regex(@"tt(\d+)", RegexOptions.Compiled);
var searchStringIsImdbQuery = (ParseUtil.GetImdbID(searchString) != null);
// If we have no query use the RSS Page as their server is slow enough at times!
// ~15.01.2019 they removed the description tag making the RSS feed almost useless, we don't use it for now. See #4458
@@ -286,11 +290,26 @@ namespace Jackett.Common.Indexers
*/
var searchParams = new Dictionary<string, string> {
{ "do", "search" },
{ "keywords", searchString },
{ "search_type", "t_name" },
{ "category", "0" },
{ "include_dead_torrents", "no" }
};
if (query.IsImdbQuery)
{
searchParams.Add("keywords", query.ImdbID);
searchParams.Add("search_type", "t_both");
}
else if (searchStringIsImdbQuery)
{
searchParams.Add("keywords", searchString);
searchParams.Add("search_type", "t_both");
}
else
{
searchParams.Add("keywords", searchString);
searchParams.Add("search_type", "t_name");
}
var pairs = new Dictionary<string, string> {
{ "username", configData.Username.Value },
{ "password", configData.Password.Value }

View File

@@ -45,10 +45,10 @@ namespace Jackett.Common.Models
public static readonly TorznabCategory MoviesSD = new TorznabCategory(2030, "Movies/SD");
public static readonly TorznabCategory MoviesHD = new TorznabCategory(2040, "Movies/HD");
public static readonly TorznabCategory MoviesUHD = new TorznabCategory(2045, "Movies/UHD");
public static readonly TorznabCategory Movies3D = new TorznabCategory(2050, "Movies/3D");
public static readonly TorznabCategory MoviesUHD = new TorznabCategory(2045, "Movies/UHD");
public static readonly TorznabCategory Movies3D = new TorznabCategory(2050, "Movies/3D");
public static readonly TorznabCategory MoviesBluRay = new TorznabCategory(2060, "Movies/BluRay");
@@ -95,10 +95,10 @@ namespace Jackett.Common.Models
public static readonly TorznabCategory TVSD = new TorznabCategory(5030, "TV/SD");
public static readonly TorznabCategory TVHD = new TorznabCategory(5040, "TV/HD");
public static readonly TorznabCategory TVUHD = new TorznabCategory(5045, "TV/UHD");
public static readonly TorznabCategory TVOTHER = new TorznabCategory(5050, "TV/OTHER");
public static readonly TorznabCategory TVUHD = new TorznabCategory(5045, "TV/UHD");
public static readonly TorznabCategory TVOTHER = new TorznabCategory(5050, "TV/OTHER");
public static readonly TorznabCategory TVSport = new TorznabCategory(5060, "TV/Sport");

View File

@@ -26,6 +26,7 @@
2020: Movies/Other
2030: Movies/SD
2040: Movies/HD
2045: Movies/UHD
2050: Movies/3D
2060: Movies/BluRay
2070: Movies/DVD
@@ -50,6 +51,7 @@
5020: TV/FOREIGN
5030: TV/SD
5040: TV/HD
5045: TV/UHD
5050: TV/OTHER
5060: TV/Sport
5070: TV/Anime
@@ -76,7 +78,7 @@
"; #>
using System.Collections.Generic;
namespace Jackett.Models
namespace Jackett.Common.Models
{
public static partial class TorznabCatType

View File

@@ -137,6 +137,7 @@ namespace Jackett.Common.Models
TorznabCatType.MoviesBluRay.ID,
TorznabCatType.MoviesDVD.ID,
TorznabCatType.MoviesWEBDL.ID,
TorznabCatType.MoviesUHD.ID,
};
}
ret.SearchTerm = search;
@@ -175,6 +176,8 @@ namespace Jackett.Common.Models
ret.QueryStringParts = new string[QueryStringParts.Length];
Array.Copy(QueryStringParts, ret.QueryStringParts, QueryStringParts.Length);
}
ret.RageID = RageID;
ret.ImdbID = ImdbID;
return ret;
}

View File

@@ -290,6 +290,7 @@ namespace Jackett.Updater
"Definitions/btdb.yml",
"Definitions/torrentcouch.yml",
"Definitions/idopeclone.yml",
"Definitions/torrof.yml",
};
foreach (var oldFile in oldFiles)