mirror of
https://github.com/Jackett/Jackett.git
synced 2025-12-29 16:35:34 +01:00
Compare commits
12 Commits
v0.22.1900
...
v0.22.1908
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
81e0101cbd | ||
|
|
479392cf4f | ||
|
|
be377ac649 | ||
|
|
36d3f19086 | ||
|
|
158d92d336 | ||
|
|
d7ed800d54 | ||
|
|
366ce176bb | ||
|
|
e0d3b960ad | ||
|
|
ae7d6c499b | ||
|
|
1aba79fe13 | ||
|
|
e4a9019f7f | ||
|
|
be26c199bf |
@@ -432,7 +432,7 @@ Prior versions of Jackett are no longer supported.
|
||||
* Leech24
|
||||
* LemonHD [![(invite needed)][inviteneeded]](#)
|
||||
* Lesbians4u
|
||||
* LetSeed [![(invite needed)][inviteneeded]](#)
|
||||
* LetSeed
|
||||
* Libble
|
||||
* LibraNet (LN)
|
||||
* LinkoManija
|
||||
|
||||
@@ -152,7 +152,7 @@ search:
|
||||
keywordsfilters:
|
||||
# drop the year from searches since site titles do not include year
|
||||
- name: re_replace
|
||||
args: ["(19|20[0-9]{2})", ""]
|
||||
args: ["(\\b((19|20)\\d{2})\\b)", ""]
|
||||
|
||||
rows:
|
||||
selector: "div#fancy-list-group ul.list-group li.list-group-item{{ if .Config.freeleech }}:has(span.badge-success:contains(\"FREE\")){{ else }}{{ end }}"
|
||||
|
||||
@@ -106,7 +106,7 @@ search:
|
||||
text: "{{ if .Result.title_phase1_title }}{{ .Result.title_phase1_title }}{{ else }}{{ .Result.title_phase1_url }}{{ end }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b((19|20)\\d{2})\\b)$", "$3 $1$2"]
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
|
||||
@@ -93,7 +93,7 @@ search:
|
||||
selector: a
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b((19|20)\\d{2})\\b)$", "$3 $1$2"]
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
|
||||
@@ -24,6 +24,12 @@ caps:
|
||||
- {id: 311, cat: Audio/Audiobook, desc: "Audio:Romance"}
|
||||
- {id: 317, cat: Audio/Audiobook, desc: "Audio:Urbn Fant/para"}
|
||||
- {id: 319, cat: Audio/Audiobook, desc: "Audio:V.I.P"}
|
||||
- {id: 320, cat: Audio/Audiobook, desc: "Audio:Science/engine"}
|
||||
- {id: 321, cat: Audio/Audiobook, desc: "Audio:History/War"}
|
||||
- {id: 322, cat: Audio/Audiobook, desc: "Audio:non fiction"}
|
||||
- {id: 323, cat: Audio/Audiobook, desc: "Audio:Educational"}
|
||||
- {id: 324, cat: Audio/Audiobook, desc: "Audio:Tutorials"}
|
||||
- {id: 325, cat: Audio/Audiobook, desc: "Audio:True Crime"}
|
||||
# Collections
|
||||
- {id: 305, cat: Books/EBook, desc: "Same Author"}
|
||||
- {id: 307, cat: Books/EBook, desc: "Collection: Military"}
|
||||
|
||||
@@ -1,134 +0,0 @@
|
||||
---
|
||||
id: enthralled2fa
|
||||
name: Enthralled2FA
|
||||
description: "Enthralled is a Private Torrent Tracker for FETISH 3X. Cookie Login for 2FA use."
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.enthralled.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: XXX, desc: "FemDom"}
|
||||
- {id: 2, cat: XXX, desc: "LezDom"}
|
||||
- {id: 4, cat: XXX, desc: "POV"}
|
||||
- {id: 5, cat: XXX, desc: "Scat"}
|
||||
- {id: 3, cat: XXX, desc: "TransDom"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info_cookie
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: time
|
||||
options:
|
||||
time: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
# using cookie method because login page can present second page for 2FA when enabled
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: "#nav_userinfo"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
title: "{{ .Keywords }}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
order_way: "{{ .Config.type }}"
|
||||
action: advanced
|
||||
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr[class^="torrent shaded_row"]:has(a[href*="action=download"])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="filter_cat"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d+)]=1"
|
||||
title:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
details:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="/torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
description_tags:
|
||||
selector: div.tags
|
||||
description:
|
||||
case:
|
||||
span.icon_okay: "Verified: {{ .Result.description_tags }}"
|
||||
"*": "Unverified: {{ .Result.description_tags }}"
|
||||
poster:
|
||||
selector: td:nth-child(2) > script
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=\\\\\"(.*?)\\\\\""
|
||||
- name: re_replace
|
||||
args: ["\\\\(.)", "$1"]
|
||||
- name: replace
|
||||
args: ["/static/common/noartwork/noimage.png", ""]
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(5) > span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "MMM dd yyyy, HH:mm"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
span.icon[title*="Freeleech"]: 0
|
||||
"img[alt=\"Freeleech\"]": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
span.icon[title*="DoubleSeed"]: 2
|
||||
"img[alt=\"DoubleSeed\"]": 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
# Luminance
|
||||
@@ -120,7 +120,7 @@ search:
|
||||
selector: td:nth-child(1) a
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b((19|20)\\d{2})\\b)$", "$3 $1$2"]
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
|
||||
@@ -81,7 +81,7 @@ search:
|
||||
selector: td:nth-child(1) a
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b((19|20)\\d{2})\\b)$", "$3 $1$2"]
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
|
||||
@@ -126,7 +126,7 @@ search:
|
||||
selector: td:nth-child(1) a
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b((19|20)\\d{2})\\b)$", "$3 $1$2"]
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
|
||||
@@ -9,10 +9,8 @@ type: semi-private
|
||||
encoding: windows-1251
|
||||
followredirect: true
|
||||
links:
|
||||
- https://may15.rudub.run/
|
||||
- https://may16.rudub.run/
|
||||
legacylinks:
|
||||
- http://apr30.rudub.biz/
|
||||
- https://apr30.rudub.biz/
|
||||
- http://may01.rudub.biz/
|
||||
- https://may01.rudub.biz/
|
||||
- http://may02.rudub.biz/
|
||||
@@ -42,6 +40,8 @@ legacylinks:
|
||||
- http://may14.rudub.run/
|
||||
- https://may14.rudub.run/
|
||||
- http://may15.rudub.run/
|
||||
- https://may15.rudub.run/
|
||||
- http://may16.rudub.run/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -104,6 +104,8 @@ settings:
|
||||
type: info
|
||||
label: Account Inactivity
|
||||
default: "Accounts can use the park system for up to 180 days."
|
||||
- name: info_flaresolverr
|
||||
type: info_flaresolverr
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
|
||||
@@ -144,7 +144,7 @@ search:
|
||||
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b((19|20)\\d{2})\\b)$", "$3 $1$2"]
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
|
||||
@@ -8,9 +8,8 @@ encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentqq368.com/
|
||||
- https://torrentegg59.com/
|
||||
- https://torrentegg60.com/
|
||||
legacylinks:
|
||||
- https://torrentegg45.com/
|
||||
- https://torrentqq354.com/
|
||||
- https://torrentegg46.com/
|
||||
- https://torrentqq355.com/
|
||||
@@ -38,6 +37,7 @@ legacylinks:
|
||||
- https://torrentqq366.com/
|
||||
- https://torrentegg58.com/
|
||||
- https://torrentqq367.com/
|
||||
- https://torrentegg59.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -31,11 +31,12 @@ settings: []
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://uindex.org/search.php?search=complete
|
||||
# https://uindex.org/search.php?search=complete&c=0
|
||||
- path: search.php
|
||||
allowEmptyInputs: true
|
||||
inputs:
|
||||
search: "{{ .Keywords }}"
|
||||
c: 0
|
||||
|
||||
rows:
|
||||
selector: table.maintable > tbody > tr:has(a[href^="magnet:?xt="])
|
||||
|
||||
@@ -98,7 +98,7 @@ search:
|
||||
- name: replace
|
||||
args: ["WEBRIP", "WEBDL"]
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b((19|20)\\d{2})\\b)$", "$3 $1$2"]
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
|
||||
@@ -117,7 +117,7 @@ search:
|
||||
selector: a
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b((19|20)\\d{2})\\b)$", "$3 $1$2"]
|
||||
title_vostfr:
|
||||
text: "{{ .Result.title_phase1 }}"
|
||||
filters:
|
||||
|
||||
@@ -47,6 +47,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
configData.AddDynamic("freeleech", new BoolConfigurationItem("Search freeleech only") { Value = false });
|
||||
configData.AddDynamic("Account Inactivity", new DisplayInfoConfigurationItem("Account Inactivity", "Inactive accounts are disabled after 2 months days for User class, after 3 months for Power User, after 4 months for Elite User, after 6 months for Insane User, after 9 months for Veteran User, after 11 months for VIP, after 12 months for Dedicated BHD User & all Staff. Parking your account doubles the maximum inactive time. Only the login and browsing the site is considered activity."));
|
||||
configData.AddDynamic("Rate Limits", new DisplayInfoConfigurationItem("Rate Limits", "BitHDTV has rate limits, the indexer will fail if you excceed them. Read the post at <a href=\"https://www.bit-hdtv.com/forums/viewtopic.php?id=18657\" target=\"_blank\">forum topic 18657</a>"));
|
||||
}
|
||||
|
||||
private TorznabCapabilities SetCapabilities()
|
||||
@@ -83,7 +84,9 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
var results = await PerformQuery(new TorznabQuery());
|
||||
if (!results.Any())
|
||||
{
|
||||
throw new Exception("Found 0 results in the tracker");
|
||||
}
|
||||
|
||||
IsConfigured = true;
|
||||
SaveConfig();
|
||||
@@ -110,7 +113,9 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
// free=1 normal: (DL and UL counted as normal.)
|
||||
// free=0 (any)
|
||||
if (((BoolConfigurationItem)configData.GetDynamic("freeleech")).Value)
|
||||
{
|
||||
qc.Add("free", "2");
|
||||
}
|
||||
|
||||
var results = new List<WebResult>();
|
||||
var search = new UriBuilder(SearchUrl);
|
||||
@@ -142,13 +147,20 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
|
||||
var parser = new HtmlParser();
|
||||
foreach (var result in results)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (result.ContentString.Contains("Request limit per User exceeded! Please try later!"))
|
||||
{
|
||||
throw new Exception("Request limit per User exceeded! Please try later!");
|
||||
}
|
||||
using var dom = parser.ParseDocument(result.ContentString);
|
||||
|
||||
var tableBody = dom.QuerySelector("#torrents-index-table > #torrents-index-table-body");
|
||||
if (tableBody == null) // No results, so skip this search
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach (var row in tableBody.Children)
|
||||
{
|
||||
@@ -160,7 +172,9 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
var detailsLink = new Uri(qLink.GetAttribute("href"));
|
||||
//Skip irrelevant and duplicate entries
|
||||
if (!query.MatchQueryStringAND(release.Title) || releases.Any(r => r.Guid == detailsLink))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var genres = row.QuerySelector("font.small")?.TextContent;
|
||||
if (!string.IsNullOrEmpty(genres))
|
||||
@@ -214,6 +228,7 @@ namespace Jackett.Common.Indexers.Definitions
|
||||
{
|
||||
OnParseError(result.ContentString, ex);
|
||||
}
|
||||
}
|
||||
|
||||
return releases;
|
||||
}
|
||||
|
||||
@@ -390,6 +390,7 @@ namespace Jackett.Updater
|
||||
"Definitions/emmidtracker.yml",
|
||||
"Definitions/emtrek.yml",
|
||||
"Definitions/enthralled.yml",
|
||||
"Definitions/enthralled2fa.yml",
|
||||
"Definitions/eotforum.yml",
|
||||
"Definitions/epizod.yml",
|
||||
"Definitions/erzsebet.yml",
|
||||
|
||||
Reference in New Issue
Block a user