178 lines
6.8 KiB
YAML
178 lines
6.8 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
|
|
requestDelay: 2
|
|
links:
|
|
- https://www.torlock.com/
|
|
- https://www.torlock2.com/
|
|
- https://torlock.unblockit.africa/
|
|
legacylinks:
|
|
- https://torlock.com/
|
|
- https://www.torlock.icu/
|
|
- https://torlock.nocensor.lol/
|
|
- https://torlock.unblockit.ink/
|
|
- https://torlock.unblockit.bio/
|
|
- https://torlock.unblockit.boo/
|
|
- https://torlock.mrunblock.guru/
|
|
- https://torlock.unblockit.click/
|
|
- https://torlock.unblockit.asia/
|
|
- https://torlock.mrunblock.life/
|
|
- https://torlock.unblockit.mov/
|
|
- https://torlock.unblockit.rsvp/
|
|
- https://torlock.nocensor.click/
|
|
- https://torlock.unblockit.vegas/
|
|
- https://torlock.unblockit.esq/
|
|
- https://torlock.unblockit.zip/
|
|
- https://torlock.unblockit.foo/
|
|
- https://torlock.unblockit.ing/
|
|
- https://torlock.nocensor.cloud/
|
|
- https://torlock.mrunblock.bond/
|
|
- https://torlock.unblockit.date/
|
|
- https://torlock.unblockit.dad/
|
|
|
|
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: "/all/torrents/{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}.html?sort={{ .Config.sort }}&order={{ .Config.type }}"
|
|
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: "M/d/yyyy zzz"
|
|
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
|