mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 09:24:11 +02:00
Compare commits
13 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
c0a5e24186 | ||
![]() |
0e043a5792 | ||
![]() |
98f7e720e7 | ||
![]() |
8154acb47b | ||
![]() |
df94aaf930 | ||
![]() |
d8dc0d221a | ||
![]() |
3ba502a378 | ||
![]() |
b9655f1302 | ||
![]() |
422eff86f4 | ||
![]() |
e66d88bbcf | ||
![]() |
669ddae0b0 | ||
![]() |
0b0d08dd7c | ||
![]() |
bf5b24a5a7 |
@@ -300,7 +300,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* CarPT
|
||||
* CartoonChaos (CC)
|
||||
* Cathode-Ray.Tube (CRT)
|
||||
* CCFBits [![(invite needed)][inviteneeded]](#)
|
||||
* Central Torrent
|
||||
* CeskeForum
|
||||
* CGPeers [![(invite needed)][inviteneeded]](#)
|
||||
@@ -383,7 +382,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* HDRoute [![(invite needed)][inviteneeded]](#)
|
||||
* HDSky [![(invite needed)][inviteneeded]](#)
|
||||
* HDTime
|
||||
* HDTorrents.it [![(invite needed)][inviteneeded]](#)
|
||||
* HDTurk
|
||||
* HDU
|
||||
* HDVIDEO
|
||||
|
@@ -189,4 +189,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.2 2023-05-08
|
||||
# NexusPHP v1.8.3 2023-05-14
|
||||
|
@@ -123,6 +123,7 @@ caps:
|
||||
- {id: 217, cat: Movies, desc: "Tamil-Movies | Remuxes BluRay"}
|
||||
- {id: 218, cat: TV, desc: "TV-Ishara TV"}
|
||||
- {id: 219, cat: TV, desc: "TV-Bengali Tv"}
|
||||
- {id: 220, cat: TV, desc: "TV-Shemaroo Umang"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
@@ -189,4 +189,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.7.37 2023-05-08
|
||||
# NexusPHP v1.7.38 2023-05-14
|
||||
|
@@ -1,152 +0,0 @@
|
||||
---
|
||||
id: ccfbits
|
||||
name: CCFBits
|
||||
description: "CCFBits is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://ccfbits.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# 高清电影
|
||||
- {id: 39, cat: Movies/HD, desc: "HD-DVD原盘"}
|
||||
- {id: 40, cat: Movies/BluRay, desc: "Blu-ray原盘"}
|
||||
- {id: 30, cat: Movies/HD, desc: "高清电影1080p"}
|
||||
- {id: 2, cat: Movies/HD, desc: "高清电影720p"}
|
||||
# 高清电视剧
|
||||
- {id: 7, cat: TV/HD, desc: "高清欧美剧"}
|
||||
- {id: 32, cat: TV/HD, desc: "高清国产剧"}
|
||||
- {id: 34, cat: TV/HD, desc: "高清港台剧"}
|
||||
- {id: 36, cat: TV/HD, desc: "高清日韩剧"}
|
||||
# 其他高清视频
|
||||
- {id: 12, cat: TV/Documentary, desc: "高清纪录片"}
|
||||
- {id: 11, cat: TV/Sport, desc: "高清体育"}
|
||||
- {id: 23, cat: TV/Anime, desc: "高清动漫"}
|
||||
- {id: 4, cat: Audio/Video, desc: "高清MV/综艺"}
|
||||
# 电视剧集包
|
||||
- {id: 38, cat: TV/HD, desc: "欧美剧包"}
|
||||
- {id: 33, cat: TV/HD, desc: "国产剧包"}
|
||||
- {id: 35, cat: TV/HD, desc: "港台剧包"}
|
||||
- {id: 37, cat: TV/HD, desc: "日韩剧包"}
|
||||
# 非高清和其他
|
||||
- {id: 43, cat: TV/SD, desc: "HR_HDTV"}
|
||||
- {id: 20, cat: Movies/DVD, desc: "DVD"}
|
||||
- {id: 42, cat: Movies/SD, desc: "XviD"}
|
||||
- {id: 3, cat: Audio, desc: "无损音乐"}
|
||||
- {id: 22, cat: Other, desc: "杂项"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: DESC
|
||||
options:
|
||||
DESC: desc
|
||||
ASC: asc
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("登录失败"))
|
||||
test:
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 active 1 incldead 2 deadonly
|
||||
incldead: 1
|
||||
fullsearch: "{{ if .Query.IMDBID }}1{{ else }}{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
d: "{{ .Config.sort }}"
|
||||
|
||||
rows:
|
||||
selector: table[border="1"][cellpadding="5"] > tbody > tr:has(a[href^="details.php?id="])
|
||||
|
||||
fields:
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: split
|
||||
args: ["\n", 0]
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php/"]
|
||||
attribute: href
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: a[href$="&filelist=1"]
|
||||
grabs:
|
||||
selector: a[href^="snatches.php?id"]
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["次", ""]
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
remove: a
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
date:
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"font[color=\"#C20603\"]:contains(\"免费\")": 0
|
||||
"font:has([src=\"/pic/arrowdown1.gif\"]):contains(\"0.5x\")": 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
"font:has([src=\"/pic/arrowup1.gif\"]):contains(\"1.5x\")": 1.5
|
||||
"font:has([src=\"/pic/arrowup1.gif\"]):contains(\"2x\")": 2
|
||||
"*": 1
|
||||
description:
|
||||
selector: td:nth-child(2) > table > tbody > tr:nth-child(2)
|
||||
remove: a, img
|
||||
# Discuz! 7.2
|
@@ -71,6 +71,10 @@ settings:
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: p2p_releases_only
|
||||
type: checkbox
|
||||
label: Search P2P releases only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
@@ -109,6 +113,7 @@ search:
|
||||
index: 0
|
||||
limit: 100
|
||||
order: "{{ .Config.type }}"
|
||||
p2p: "{{ if .Config.p2p_releases_only }}true{{ else }}{{ end }}"
|
||||
page: search
|
||||
searchText: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }} {{ else }}{{ end }}{{ .Keywords }}"
|
||||
section: all
|
||||
|
@@ -148,4 +148,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# json UNIT3D 6.3.0
|
||||
# json UNIT3D 6.4.1
|
||||
|
@@ -146,4 +146,4 @@ search:
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
# NexusPHP 2c858e7 (Customised)
|
||||
# NexusPHP 4e16128 (Customised)
|
||||
|
@@ -195,4 +195,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.2 2023-05-06
|
||||
# NexusPHP v1.8.4 2023-05-27
|
||||
|
@@ -171,4 +171,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.7.29 2022-10-12
|
||||
# NexusPHP v1.8.3 2023-05-13
|
||||
|
@@ -188,4 +188,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.7.37 2023-05-08
|
||||
# NexusPHP v1.8.4 2023-06-04
|
||||
|
@@ -1,161 +0,0 @@
|
||||
---
|
||||
id: hdtorrentsit
|
||||
name: HDTorrents.it
|
||||
description: "HDTorrents.it is an ITALIAN Private site for TV / MOVIES"
|
||||
language: it-IT
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://hdtorrents.xyz/ # Italian IP address filtering
|
||||
legacylinks:
|
||||
- http://hdtorrents.it/
|
||||
- http://hdtorrents.xyz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 2040, cat: Movies/HD}
|
||||
- {id: 5040, cat: TV/HD}
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: ip_filtering
|
||||
type: info
|
||||
label: "IP Filtering"
|
||||
default: "The <b>404 Not Found</b> error means your IP was not accepted. Check the <a href=\"https://check-host.net/check-report/e5b649bkfa\" target=\"_blank\">Locations report</a>, only those with a Status of <b>OK</b> will be accepted."
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.error
|
||||
- selector: h1:contains("404 Not Found")
|
||||
test:
|
||||
path: browse.php
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
method: post
|
||||
allowEmptyInputs: true
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["[^a-zA-Z0-9]+", "%"]
|
||||
- name: diacritics
|
||||
args: replace
|
||||
- name: re_replace # remove SXXEYY from research
|
||||
args: ["(?i)(S\\d{1,2}E\\d{1,2})", ""]
|
||||
- name: re_replace # remove SXX from research
|
||||
args: ["(?i)(S\\d{1,2})", ""]
|
||||
inputs:
|
||||
ajax: false
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active 1 incldead 2 onlydead 3 gold 4 no seeders
|
||||
incldead: 0
|
||||
|
||||
rows:
|
||||
selector: tbody#highlighted tr
|
||||
|
||||
fields:
|
||||
year:
|
||||
selector: td:nth-child(2) a:nth-child(1)
|
||||
filters:
|
||||
- name: regexp # find torrent year
|
||||
args: (\d{4})
|
||||
_quality: # (BDRip 1080, BDRip 720p etc)
|
||||
selector: td:nth-child(1) a:nth-child(1) img
|
||||
attribute: alt
|
||||
_audio: # ita audio TAG
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: name
|
||||
- name: regexp
|
||||
args: (DTS AC3 ITA|DTS ITA|AC3 ITA)
|
||||
- name: re_replace
|
||||
args: ["ITA", ""]
|
||||
title:
|
||||
selector: td:nth-child(2) a:nth-child(1)
|
||||
filters:
|
||||
- name: re_replace # separate title
|
||||
args: ["(\\s+\\/\\s+|\\/\\s+|\\s+\\/|\\/)(.*)\\s\\(", " ("]
|
||||
- name: re_replace # remove (yyyy) from the title
|
||||
args: ["(\\(\\d{4}\\)?\\s?)", ""]
|
||||
- name: re_replace # remove |
|
||||
args: ["(\\s\\||\\s\\/)", ""]
|
||||
- name: re_replace # Stagione X --> S0X
|
||||
args: ["(?i)\\bStagion[ei]\\s?(\\d{1})\\b|\\bSeason'?s?\\s?(\\d{1})\\b", "S0$1$2"]
|
||||
- name: re_replace # Stagione XX --> SXX
|
||||
args: ["(?i)\\bStagion[ei]\\s?(\\d{2,})\\b|\\bSeason'?s?\\s?(\\d{2,})\\b", "S$1$2"]
|
||||
- name: re_replace # / Episodio [YY-YY --> EYY-YY
|
||||
args: ["(?i)(\\s\\/?\\s?Episodi[o]?)\\s\\[", "E"]
|
||||
- name: re_replace # Episodio 4 to E4
|
||||
args: ["(?i)\\b(?:[\\s\\/\\|]?Episodi[o]?\\s?(\\d+)|Puntata\\s?(\\d+))", "E$1$2"]
|
||||
- name: re_replace # / Completa [episodi YY-YY --> EYY-YY
|
||||
args: ["(?i)(\\s\\/\\sCompleta\\s\\[episodi\\s)", "E"]
|
||||
- name: re_replace # remove di YY] | remove /YY]
|
||||
args: ["(?i)(\\sdi\\s\\d{1,2}|\\/\\d{1,2})\\]", " "]
|
||||
- name: re_replace # remove various
|
||||
args: ["(?i)(Serie completa|Completa|\\[in pausa\\])", ""]
|
||||
- name: append
|
||||
args: " ({{ .Result.year }}) [{{ .Result._quality }} - {{ .Result._audio }} ITA]"
|
||||
- name: re_replace # replace multiple spaces
|
||||
args: ["[ ]{2,}", " "]
|
||||
details:
|
||||
selector: td:nth-child(2) a:nth-child(1)
|
||||
attribute: href
|
||||
poster:
|
||||
selector: td:nth-child(2)[onmousemove]
|
||||
attribute: onmousemove
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ".*\\(.*,.*,.*,'(.*?)'\\)"
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(3)
|
||||
seeders:
|
||||
selector: td:nth-child(4)
|
||||
optional: true
|
||||
default: 1
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(\\d*) \\(\\+\\d*\\)\n? \\| (\\d*) \\(\\+\\d*\\)", "$1"]
|
||||
leechers:
|
||||
selector: td:nth-child(4)
|
||||
optional: true
|
||||
default: 1
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(\\d*) \\(\\+\\d*\\)\n? \\| (\\d*) \\(\\+\\d*\\)", "$2"]
|
||||
date:
|
||||
selector: td:nth-child(2) i
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00" # EET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
category:
|
||||
case:
|
||||
"a[href^=\"details.php\"]:contains(\"Stagione\")": 5040 # TV/HD
|
||||
"*": 2040 # default to Movies/HD
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/freedownload.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine tbd
|
@@ -169,4 +169,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.7.34 2023-01-16
|
||||
# NexusPHP v1.7.39 2023-05-15
|
||||
|
@@ -179,4 +179,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.7.26 2022-09-15
|
||||
# NexusPHP v1.8.2 2023-05-08
|
||||
|
@@ -178,4 +178,4 @@ search:
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" 剩余时间:", ""]
|
||||
# NexusPHP v1.7.29 2022-10-13
|
||||
# NexusPHP v1.8.2 2023-05-08
|
||||
|
@@ -192,4 +192,4 @@ search:
|
||||
remove: a, img, span
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
# NexusPHP v1.7.33 2022-12-19
|
||||
# NexusPHP v1.8.0 2023-04-16
|
||||
|
@@ -188,4 +188,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.2 2023-05-08
|
||||
# NexusPHP v1.8.3 2023-05-14
|
||||
|
@@ -172,4 +172,4 @@ search:
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" 剩余时间:", ""]
|
||||
# Ourbits 1.1.0 (Based on NexusPHP Standard v1.5 Beta 4) 4691022 2023-05-04
|
||||
# Ourbits 1.1.0 (Based on NexusPHP Standard v1.5 Beta 4) 3feac18 2023-05-30
|
||||
|
@@ -185,4 +185,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.2 2023-04-29
|
||||
# NexusPHP v1.8.4 2023-05-27
|
||||
|
@@ -112,7 +112,6 @@ search:
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -211,4 +210,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D custom edition 1.0.2 (based on 6.5.0)
|
||||
# json UNIT3D custom edition 1.0.1 (based on 6.5.0)
|
||||
|
@@ -122,7 +122,8 @@ settings:
|
||||
|
||||
login:
|
||||
path: user/account/login/
|
||||
method: post
|
||||
method: form
|
||||
form: form[name="login-form"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
|
@@ -181,4 +181,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.2 2023-05-08
|
||||
# NexusPHP v1.8.4 2023-05-27
|
||||
|
@@ -162,4 +162,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.2 2023-04-30
|
||||
# NexusPHP v1.8.4 2023-06-05
|
||||
|
@@ -61,12 +61,13 @@ search:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
# ignore ' (e.g. search for america's Next Top Model)
|
||||
query_term: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# without this the API sometimes returns nothing
|
||||
limit: 50
|
||||
sort: date_added
|
||||
sort_by: date_added
|
||||
order_by: desc
|
||||
keywordsfilters:
|
||||
# ignore ' (e.g. search for america's Next Top Model)
|
||||
- name: re_replace
|
||||
args: ["[^\\w]+", " "]
|
||||
|
||||
|
@@ -186,4 +186,4 @@ search:
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.2 2023-05-08
|
||||
# NexusPHP v1.8.4 2023-05-27
|
||||
|
@@ -555,10 +555,14 @@ namespace Jackett.Common.Indexers
|
||||
if (Login.Method == "post")
|
||||
{
|
||||
var pairs = new Dictionary<string, string>();
|
||||
foreach (var Input in Definition.Login.Inputs)
|
||||
|
||||
if (Login.Inputs != null && Login.Inputs.Any())
|
||||
{
|
||||
var value = applyGoTemplateText(Input.Value);
|
||||
pairs.Add(Input.Key, value);
|
||||
foreach (var input in Login.Inputs)
|
||||
{
|
||||
var value = applyGoTemplateText(input.Value);
|
||||
pairs.Add(input.Key, value);
|
||||
}
|
||||
}
|
||||
|
||||
var LoginUrl = resolvePath(Login.Path).ToString();
|
||||
@@ -628,18 +632,27 @@ namespace Jackett.Common.Indexers
|
||||
pairs[name] = value;
|
||||
}
|
||||
|
||||
foreach (var Input in Definition.Login.Inputs)
|
||||
if (Login.Inputs != null && Login.Inputs.Any())
|
||||
{
|
||||
var value = applyGoTemplateText(Input.Value);
|
||||
var input = Input.Key;
|
||||
if (Login.Selectors)
|
||||
foreach (var Input in Login.Inputs)
|
||||
{
|
||||
var inputElement = landingResultDocument.QuerySelector(Input.Key);
|
||||
if (inputElement == null)
|
||||
throw new ExceptionWithConfigData(string.Format("Login failed: No input found using selector {0}", Input.Key), configData);
|
||||
input = inputElement.GetAttribute("name");
|
||||
var value = applyGoTemplateText(Input.Value);
|
||||
var input = Input.Key;
|
||||
|
||||
if (Login.Selectors)
|
||||
{
|
||||
var inputElement = landingResultDocument.QuerySelector(Input.Key);
|
||||
|
||||
if (inputElement == null)
|
||||
{
|
||||
throw new ExceptionWithConfigData($"Login failed: No input found using selector {Input.Key}", configData);
|
||||
}
|
||||
|
||||
input = inputElement.GetAttribute("name");
|
||||
}
|
||||
|
||||
pairs[input] = value;
|
||||
}
|
||||
pairs[input] = value;
|
||||
}
|
||||
|
||||
// selector inputs
|
||||
@@ -772,18 +785,22 @@ namespace Jackett.Common.Indexers
|
||||
else if (Login.Method == "get")
|
||||
{
|
||||
var queryCollection = new NameValueCollection();
|
||||
foreach (var Input in Definition.Login.Inputs)
|
||||
|
||||
if (Login.Inputs != null && Login.Inputs.Any())
|
||||
{
|
||||
var value = applyGoTemplateText(Input.Value);
|
||||
queryCollection.Add(Input.Key, value);
|
||||
foreach (var input in Login.Inputs)
|
||||
{
|
||||
var value = applyGoTemplateText(input.Value);
|
||||
queryCollection.Add(input.Key, value);
|
||||
}
|
||||
}
|
||||
|
||||
var LoginUrl = resolvePath(Login.Path + "?" + queryCollection.GetQueryString()).ToString();
|
||||
var loginUrl = resolvePath(Login.Path + "?" + queryCollection.GetQueryString()).ToString();
|
||||
configData.CookieHeader.Value = null;
|
||||
var loginResult = await RequestWithCookiesAsync(LoginUrl, referer: SiteLink, headers: headers);
|
||||
var loginResult = await RequestWithCookiesAsync(loginUrl, referer: SiteLink, headers: headers);
|
||||
configData.CookieHeader.Value = loginResult.Cookies;
|
||||
|
||||
checkForError(loginResult, Definition.Login.Error);
|
||||
checkForError(loginResult, Login.Error);
|
||||
}
|
||||
else if (Login.Method == "oneurl")
|
||||
{
|
||||
@@ -793,11 +810,11 @@ namespace Jackett.Common.Indexers
|
||||
var loginResult = await RequestWithCookiesAsync(LoginUrl, referer: SiteLink, headers: headers);
|
||||
configData.CookieHeader.Value = loginResult.Cookies;
|
||||
|
||||
checkForError(loginResult, Definition.Login.Error);
|
||||
checkForError(loginResult, Login.Error);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new NotImplementedException("Login method " + Definition.Login.Method + " not implemented");
|
||||
throw new NotImplementedException($"Login method {Login.Method} not implemented");
|
||||
}
|
||||
|
||||
logger.Debug($"CardigannIndexer ({Id}): Cookies after login: {CookieHeader}");
|
||||
|
@@ -24,7 +24,7 @@ namespace Jackett.Common.Indexers
|
||||
public override string Id => "cinecalidad";
|
||||
public override string Name => "Cinecalidad";
|
||||
public override string Description => "Películas Full HD en Latino Dual.";
|
||||
public override string SiteLink { get; protected set; } = "https://www.cinecalidad.gs/";
|
||||
public override string SiteLink { get; protected set; } = "https://www.cinecalidad.tf/";
|
||||
public override string[] LegacySiteLinks => new[]
|
||||
{
|
||||
"https://cinecalidad.website/",
|
||||
@@ -44,7 +44,8 @@ namespace Jackett.Common.Indexers
|
||||
"https://cinecalidad.dev/",
|
||||
"https://cinecalidad.ms/",
|
||||
"https://www3.cinecalidad.ms/",
|
||||
"https://ww1.cinecalidad.ms/"
|
||||
"https://ww1.cinecalidad.ms/",
|
||||
"https://www.cinecalidad.gs/"
|
||||
};
|
||||
public override string Language => "es-419";
|
||||
public override string Type => "public";
|
||||
|
@@ -314,6 +314,7 @@ namespace Jackett.Updater
|
||||
"Definitions/btxpress.yml",
|
||||
"Definitions/casatorrent.yml", // renamed to teamctgame
|
||||
"Definitions/casstudiotv.yml",
|
||||
"Definitions/ccfbits.yml",
|
||||
"Definitions/channelx.yml",
|
||||
"Definitions/cili180.yml", // renamed to liaorencili
|
||||
"Definitions/cilipro.yml",
|
||||
@@ -401,6 +402,7 @@ namespace Jackett.Updater
|
||||
"Definitions/hdreactor.yml", // renamed to hdhouse
|
||||
"Definitions/hdspain.yml",
|
||||
"Definitions/hdstreet.yml",
|
||||
"Definitions/hdtorrentsit.yml",
|
||||
"Definitions/hellashut.yml",
|
||||
"Definitions/hellastz.yml",
|
||||
"Definitions/hidden-palace.yml",
|
||||
|
Reference in New Issue
Block a user