1
0
Fork 0
mirror of https://github.com/Jackett/Jackett synced 2024-12-22 07:43:13 +00:00

lastfiles: new engine resolves #7580

This commit is contained in:
Garfield69 2024-12-08 17:15:12 +13:00
parent e391d6f623
commit 81ad3d308d

View file

@ -1,7 +1,7 @@
---
id: lastfiles
name: LastFiles
description: "LastFiles (LF) is a ROMANIAN Private Torrent Tracker for 0DAY / GENERAL"
description: "LastFiles (LF) is a ROMANIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: ro-RO
type: private
encoding: UTF-8
@ -38,12 +38,13 @@ caps:
- {id: 24, cat: Movies/SD, desc: "Movies: XVID", default: true}
- {id: 25, cat: Movies/SD, desc: "Movies: XVID-Ro", default: true}
- {id: 26, cat: PC/0day, desc: "Software", default: true}
- {id: 27, cat: XXX, desc: "Movies: XXX", default: false}
- {id: 27, cat: XXX/x264, desc: "Movies: XXX", default: false}
- {id: 28, cat: Audio, desc: "Music", default: true}
- {id: 30, cat: PC/Games, desc: "Games: PC-ISO", default: true}
- {id: 31, cat: Movies/UHD, desc: "Movies: 4K", default: true}
- {id: 32, cat: Movies/UHD, desc: "Movies: 4K-Ro", default: true}
- {id: 32, cat: Movies/UHD, desc: "Movies: 4KRo", default: true}
- {id: 33, cat: PC/Games, desc: "Games: Packs", default: true}
- {id: 34, cat: XXX/Pack, desc: "XXX Pack", default: false}
- {id: 42, cat: TV/Sport, desc: "Sport", default: true}
- {id: 43, cat: Books, desc: "Documents", default: true}
- {id: 44, cat: Other, desc: "Images", default: true}
@ -53,10 +54,7 @@ caps:
- {id: 55, cat: Movies/WEB-DL, desc: "Movies: WEB-DL Ro", default: true}
- {id: 56, cat: TV/Documentary, desc: "Documentary", default: true}
- {id: 57, cat: TV/Documentary, desc: "Documentary-Ro", default: true}
- {id: 58, cat: Movies/SD, desc: "Movies: Cam", default: true}
- {id: 59, cat: Movies/SD, desc: "Movies: Cam-Ro", default: true}
- {id: 61, cat: Movies/3D, desc: "Movies: 3D", default: true}
- {id: 62, cat: Movies/3D, desc: "Movies: 3D-Ro", default: true}
- {id: 60, cat: XXX/ImageSet, desc: "ImagesXXX", default: false}
- {id: 81, cat: Movies/HD, desc: "Movies: x265-Ro", default: true}
- {id: 82, cat: Movies/HD, desc: "Movies: x265", default: true}
@ -84,81 +82,98 @@ settings:
type: info
label: Account Inactivity
default: "Accounts inactive for more than 42 days are automatically deleted."
# - name: sort
# type: select
# label: Sort requested from site
# default: 3
# options:
# 3: created
# 6: seeders
# 4: size
# 1: title
# - name: type
# type: select
# label: Order requested from site
# default: desc
# options:
# desc: desc
# asc: asc
login:
path: takelogin.php
path: login
method: post
inputs:
username: "{{ .Config.username }}"
name: "{{ .Config.username }}"
password: "{{ .Config.password }}"
submitme: Login!
use_ssl: 1
perm_ssl: 1
remember: on
selectorinputs:
_token:
selector: input[name="_token"]
attribute: value
error:
- selector: td.embedded:contains("Login failed")
- selector: div.alert-danger:contains("Invalid credentials")
test:
path: index.php
selector: a[href*="/logout.php?hash_please="]
path: /
selector: a[href$="/logout"]
search:
paths:
# https://www.last-torrents.org/browse.php?search=the+nun+ii&searchin=title&type=0&cat=+
# cannot support imdbid or tmdbid searches while using path category filters
- path: browse.php
categories: [1, 2, 5, 6, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 28, 30, 31, 32, 33, 42, 43, 44, 49, 51, 54, 55, 56, 57, 58, 59, 60, 61, 62, 81, 82]
- path: browseadult.php
categories: [27]
# https://www.last-torrents.org/torrents?keyword=tt8337290&category=32&genre=&torrent_status=free
- path: torrents
categories: [1, 2, 5, 6, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 28, 30, 31, 32, 33, 42, 43, 44, 49, 51, 54, 55, 56, 57, 81, 82]
- path: torrents/adult
categories: [27, 34, 60]
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ if .Query.Genre }}{{ .Query.Genre }} {{ else }}{{ end }}{{ .Keywords }}"
# title, genre, all
searchin: "{{ if .Query.Genre }}all{{ else }}title{{ end }}"
# 0 active, 1 incldead, 2 onlydead, 3 free, 4 silver, 5 seedbox
type: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
# sort and type can only be used in a non-search query due to conflicting parameters
# sort: "{{ .Config.sort }}"
# type: "{{ .Config.type }}"
# does not support multi categories, leaving out category keyword defaults to all
keyword: "{{ .Keywords }}"
# active, dead, free, double, seedbox
torrent_status: "{{ if .Config.freeleech }}free{{ else }}active{{ end }}"
# has sort for size and seeders but not for title or date
rows:
selector: div.py-3
filters:
- name: andmatch
selector: table.table-responsive > tbody > tr
fields:
category:
selector: a[href*="cat="]
attribute: href
filters:
- name: querystring
args: cat
selector: img[src^="images/categories/"]
attribute: src
case:
# not all categories are available at the moment, so some are deduced and unconfirmed
img[src$="/anime.png"]: 1
img[src$="/anime-ro.png"]: 2
img[src$="/bluray.png"]: 5
img[src$="/bluray-ro.png"]: 6
img[src$="/dvd.png"]: 9
img[src$="/dvd-ro.png"]: 10
img[src$="/hd.png"]: 11
img[src$="/hd-ro.png"]: 12
img[src$="/hdtve.png"]: 13
img[src$="/hdtve-ro.png"]: 14
img[src$="/oldies.png"]: 16
img[src$="/oldies-ro.png"]: 17
img[src$="/pack.png"]: 18
img[src$="/pack-ro.png"]: 19
img[src$="/tvepisode.png"]: 20
img[src$="/tvepisode-ro.png"]: 21
img[src$="/rocontent.png"]: 22
img[src$="/xvid.png"]: 24
img[src$="/xvid-ro.png"]: 25
img[src$="/soft.png"]: 26
img[src$="/xxx.png"]: 27
img[src$="/music.png"]: 28
img[src$="/pciso"]: 30
img[src$="/4k.png"]: 31
img[src$="/4kRO.png"]: 32
img[src$="/packs.png"]: 33
img[src$="/xxxpacks.png"]: 34
img[src$="/sport.png"]: 42
img[src$="/documents.png"]: 43
img[src$="/images.png"]: 44
img[src$="/misc.png"]: 49
img[src$="/android.png"]: 51
img[src$="/web-DL.png"]: 54
img[src$="/web-DLRO.png"]: 55
img[src$="/doc.png"]: 56
img[src$="/doc-ro.png"]: 57
img[src$="/imagesxxx.png"]: 60
img[src$="/x265ro.png"]: 81
img[src$="/x265"]: 82
title:
selector: a[href^="t"]
selector: a.torrent-name
details:
selector: a[href^="t"]
selector: a.torrent-name
attribute: href
poster:
selector: a[href^="t"]
attribute: title
selector: a.torrent-name
attribute: data-bs-title
filters:
- name: regexp
args: "src=(.+?) "
args: "src='(.+?)'"
genre:
selector: i:has(a[href$="searchin=genre"]), font[size]
filters:
@ -171,46 +186,32 @@ search:
description:
text: "{{ .Result.genre }}"
download:
selector: a[href^="download.php"]
selector: a[href*="/download/"]
attribute: href
date_day:
selector: div.col-sm-4:nth-of-type(3):contains("day")
# auto adjusted by site account profile
optional: true
filters:
- name: fuzzytime
date_year:
selector: div.col-sm-4:nth-of-type(3):contains(":"):not(:contains("day"))
# auto adjusted by site account profile
optional: true
date:
selector: td:nth-of-type(4)
filters:
- name: dateparse
args: "MMM d yyyy, hh:mm tt"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
args: "dd-MMM-yyyy"
size:
selector: div.col-sm-4:nth-of-type(4)
selector: td:nth-of-type(5)
grabs:
selector: div.col-sm-3:contains("Completed") b
selector: td:nth-of-type(6)
seeders:
selector: div.col-sm-3:contains("Seeders") b
selector: td:nth-of-type(7)
leechers:
selector: div.col-sm-2:contains("Leechers") b
selector: td:nth-of-type(8)
downloadvolumefactor:
case:
img[src$="half2.png"]: 0.5
a#free-btn: 0
div.free-btn: 0
"*": 1
uploadvolumefactor:
case:
a#double-btn: 2
div.double-btn: 2
"*": 1
minimumratio:
text: 1.0
minimumseedtime:
# freeleech 2 days (as seconds = 2 x 24 x 60 x 60)
# notfree 1.5 days (as seconds = 1.5 x 24 x 60 x 60)
case:
a#free-btn: 172800
"*": 129600
# U-232 V5
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# Last Files V1