174 lines
4.8 KiB
YAML
174 lines
4.8 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: username
|
|
type: text
|
|
label: Username
|
|
- name: password
|
|
type: password
|
|
label: Password
|
|
- 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
|
|
- name: info_activity
|
|
type: info
|
|
label: Account Inactivity
|
|
default: "You must login to the site at least every 119 days. If you get to the 120th day without logging in, your account will be Deleted/Pruned automatically by the system."
|
|
|
|
login:
|
|
path: loginproc/
|
|
method: form
|
|
form: form#login
|
|
inputs:
|
|
username: "{{ .Config.username }}"
|
|
password: "{{ .Config.password }}"
|
|
force_ssl: on
|
|
ssl: ""
|
|
selectorinputs:
|
|
hash:
|
|
selector: input[name="hash"]
|
|
attribute: value
|
|
error:
|
|
- selector: p.error:contains(strong)
|
|
test:
|
|
path: index.php
|
|
selector: a[href*="&logout_hash="]
|
|
|
|
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
|
|
genre:
|
|
selector: td:nth-child(2) > span:has(span > small)
|
|
remove: span:nth-child(1), span.tool, a[title^="Search all"], br ~ b > small
|
|
description:
|
|
text: "{{ .Result.genre }}"
|
|
minimumratio:
|
|
text: 1.0
|
|
minimumseedtime:
|
|
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
|
text: 172800
|
|
# TBDev Custom
|