Jackett/src/Jackett.Common/Definitions/ptfiles.yml

160 lines
4.9 KiB
YAML

---
id: ptfiles
name: PTFiles
description: "PTFiles (PTF) is a Private site for TV / MOVIES / GENERAL"
language: en-US
type: private
encoding: windows-1252
links:
- https://ptfiles.net/
caps:
categorymappings:
- {id: 19, cat: Movies/SD, desc: "Movies/XviD"}
- {id: 20, cat: Movies/DVD, desc: "Movies/DVD-R"}
- {id: 60, cat: Movies/SD, desc: "Movies/SD X264"}
- {id: 23, cat: TV/Anime, desc: "Anime"}
- {id: 1, cat: PC/0day, desc: "Apps"}
- {id: 55, cat: Books, desc: "Comics"}
- {id: 5, cat: Movies/HD, desc: "Movies/720p HD"}
- {id: 8, cat: Movies/HD, desc: "Movies/1080p HD"}
- {id: 15, cat: Movies/UHD, desc: "Movies/Ultra-HD"}
- {id: 44, cat: Movies, desc: "Movies/Packs"}
- {id: 69, cat: Books, desc: "E Books"}
- {id: 12, cat: Books, desc: "E Learning"}
- {id: 11, cat: PC/Mac, desc: "Mac OS"}
- {id: 7, cat: TV/SD, desc: "TV/XviD Episodes"}
- {id: 42, cat: TV/SD, desc: "TV/SD X264 Episodes"}
- {id: 33, cat: TV/HD, desc: "TV/HD Episodes"}
- {id: 22, cat: Other, desc: "Misc"}
- {id: 24, cat: PC/Mobile-Other, desc: "Mobile"}
- {id: 6, cat: Audio, desc: "Music"}
- {id: 39, cat: TV, desc: "TV/Seasons"}
- {id: 4, cat: PC/Games, desc: "Games/PC"}
- {id: 29, cat: Console, desc: "Games/Consoles"}
- {id: 9, cat: XXX, desc: "XXX"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: sort
type: select
label: Sort requested from site
default: 4
options:
4: created
7: seeders
5: size
1: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: browse.php
search:
paths:
# https://ptfiles.net/browse.php?search=tt3612126&incldead=1&title=1
# https://ptfiles.net/browse.php?free=1&search=&incldead=1&title=0
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
# 0 active, 1 both, 2 dead, 3 needseed
incldead: 0
# 0 title, 1 descr, 2 both, 3 genre
title: "{{ if .Query.IMDBID }}1{{ else }}0{{ end }}"
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
# for some users (don't know why) the table is called tablethree instead of tortable
selector: table#tortable > tbody > tr.rowhead, table#tablethree > tbody > tr.rowhead
fields:
# column 3 will be the wait time for new users
download:
selector: a[href^="dl.php/"]
attribute: href
title:
selector: a.torrentlink
attribute: title
category:
selector: td[onclick*="browse.php?cat="]
attribute: onclick
filters:
- name: querystring
args: cat
- name: trim
args: "'"
details:
selector: a.torrentlink
attribute: href
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
files:
selector: td:nth-last-child(5)
grabs:
selector: td:nth-last-child(3) > span
filters:
- name: regexp
args: ([\d\.]+)
size:
selector: td:nth-last-child(3)
remove: span
seeders:
selector: td:nth-last-child(2) > span > b:nth-child(1)
leechers:
selector: td:nth-last-child(2) > span > b:nth-child(2)
date:
# timeago
selector: td:nth-child(2) > span > span > small
filters:
- name: replace
args: ["Uploaded: ", ""]
downloadvolumefactor:
case:
"span.tool:contains(\"[FREE]\")": 0
"*": 1
uploadvolumefactor:
text: 1
description:
selector: td:nth-child(2) > span:has(span > small)
remove: span:nth-child(1), span.tool, a[title^="Search all"], br ~ b > small
filters:
- name: trim
args: "/"
minimumratio:
text: 1.0
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# TBDev Custom