Jackett/src/Jackett.Common/Definitions/torlock.yml

177 lines
6.7 KiB
YAML

---
id: torlock
name: Torlock
description: "Torlock is a torrent search site that lists verified torrents only for TV series and movies"
language: en-US
type: public
encoding: UTF-8
followredirect: true
links:
- https://www.torlock2.com/
- https://www.torlock.com/
- https://torlock.unblockit.name/
- https://torlock.nocensor.sbs/
legacylinks:
- https://torlock.com/
- https://torlock.unblockit.buzz/
- https://torlock.unblockit.club/
- https://torlock.unblockit.onl/
- https://torlock.unblockit.li/
- https://torlock.unblockit.uno/
- https://torlock.unblockit.ch/
- https://torlock.nocensor.space/
- https://torlock.unblockit.ws/
- https://torlock.nocensor.work/
- https://torlock.unblockit.kim/
- https://torlock.unblockit.bz/
- https://torlock.unblockit.tv/
- https://torlock.unblockit.how/
- https://torlock.unblockit.cam/
- https://torlock.nocensor.biz/
- https://torlock.unblockit.day/
- https://torlock.unblockit.llc/
- https://torlock.unblockit.blue/
- https://www.torlock.icu/
caps:
# dont forget to update the search fields category case block
categorymappings:
- {id: TELEVISION, cat: TV, desc: "TV Shows"}
- {id: MOVIES, cat: Movies, desc: "Movies"}
- {id: MUSIC, cat: Audio, desc: "Music"}
- {id: GAMES, cat: PC/Games, desc: "Games"}
- {id: SOFTWARE, cat: PC, desc: "Software"}
- {id: ANIME, cat: TV/Anime, desc: "Anime"}
- {id: EBOOKS, cat: Books/EBook, desc: "Books"}
- {id: OTHER, cat: Other, desc: "Other"}
- {id: ADULT, cat: XXX, desc: "Adult"}
- {id: AUDIOBOOK, cat: Audio/Audiobook, desc: "Audiobook"}
- {id: IMAGES, cat: Other/Misc, desc: "Images"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
settings:
- name: sort
type: select
label: Sort requested from site (only works for search with keywords)
default: added
options:
added: created
seeds: seeders
size: size
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
search:
paths:
- path: "{{ if .Keywords }}/all/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{ else }}/fresh.html{{ end }}"
categories: ["!", TELEVISION, MOVIES, MUSIC, GAMES, SOFTWARE, ANIME, EBOOKS, OTHER, ADULT, AUDIOBOOK, IMAGES]
- path: "{{ if .Keywords }}/television/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/television/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
categories: [TELEVISION]
- path: "{{ if .Keywords }}/movie/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/movies/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
categories: [MOVIES]
- path: "{{ if .Keywords }}/music/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/music/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
categories: [MUSIC]
- path: "{{ if .Keywords }}/game/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/games/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
categories: [GAMES]
- path: "{{ if .Keywords }}/software/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/software/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
categories: [SOFTWARE]
- path: "{{ if .Keywords }}/anime/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/anime/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
categories: [ANIME]
- path: "{{ if .Keywords }}/ebook/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/ebooks/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
categories: [EBOOKS]
- path: "{{ if .Keywords }}/unknown/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/unknown.html{{end}}" # sorting is broken for unknown
categories: [OTHER]
- path: "{{ if .Keywords }}/adult/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/adult/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
categories: [ADULT]
- path: "{{ if .Keywords }}/audiobook/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/audiobook/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
categories: [AUDIOBOOK]
- path: "{{ if .Keywords }}/image/torrents/{{ .Keywords }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}{{else}}/images/1/{{ .Config.sort }}/{{ .Config.type }}.html{{end}}"
categories: [IMAGES]
keywordsfilters:
- name: tolower
- name: re_replace
args: ["[^a-zA-Z0-9]+", "-"]
rows:
selector: table > tbody > tr:has(td:has(div:has(a[href^="/torrent/"])))
filters:
- name: andmatch
fields:
category:
selector: span[class^="tv"]
attribute: class
case:
span.tv0: OTHER
span.tv1: MOVIES
span.tv2: MUSIC
span.tv3: TELEVISION
span.tv4: GAMES
span.tv5: SOFTWARE
span.tv6: ANIME
span.tv7: ADULT
span.tv8: EBOOKS
span.tv9: IMAGES
span.tv10: EBOOKS
span.tv12: AUDIOBOOK
"*": OTHER # some torrents have invalid categories
title:
selector: td:nth-child(1) > div > a
details:
selector: td:nth-child(1) > div > a[href^="/torrent/"]
attribute: href
download:
selector: td:nth-child(1) > div > a[href^="/torrent/"]
attribute: href
filters:
- name: replace
args: ["/torrent/", "/tor/"]
- name: regexp
args: (^/tor/\d*)
- name: append
args: ".torrent"
date_year:
selector: td:nth-child(2):contains("/")
optional: true
filters:
- name: append
args: " -07:00" # PDT
- name: dateparse
args: "1/2/2006 -07:00"
date_day:
selector: td:nth-child(2):contains("Today"), td:nth-child(2):contains("Yesterday")
optional: true
filters:
- name: fuzzytime
date_ago:
selector: td:nth-child(2):not(:contains("Today")):not(:contains("Yesterday")):not(:contains("/"))
optional: true
filters:
- name: re_replace
args: ["(min|mins)", "minutes"]
- name: timeago
date:
text: "{{ if or .Result.date_year .Result.date_ago .Result.date_day }}{{ or .Result.date_year .Result.date_ago .Result.date_day }}{{ else }}now{{ end }}"
size:
selector: td:nth-child(3)
seeders:
selector: td:nth-child(4)
leechers:
selector: td:nth-child(5)
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a