Files
managarr-demo/mock-htpc/prowlarr/Definitions/xwtorrents2fa.yml
T
Dark-Alex-17 f3ad44f7d7 Add a Readarr mock instance to the demo
Adds darkalex17/readarr-mock, built from ghcr.io/pennydreadful/bookshelf:softcover
(the maintained Readarr continuation; the LinuxServer image is discontinued and
its metadata endpoint no longer resolves). The captured config carries 6 authors,
327 books, 39 book files, 4 tags, 7 indexers, 193 history rows and one root
folder at /books, with minimal EPUBs under mock-htpc/books so the files show as
imported.

Prowlarr now registers Readarr as a synced application, so its config is
recaptured and the prowlarr-mock image must be rebuilt and pushed alongside.

The compose file, managarr config, justfile recipes and README gain the fourth
instance. The demo script needs no change; it fetches the compose file and
config from main at run time.

Requires a Managarr release with Readarr support, since the demo script runs
the published darkalex17/managarr image against these files.
2026-09-21 17:12:10 -06:00

198 lines
6.3 KiB
YAML

---
id: xwtorrents2fa
name: XWtorrents2FA
description: "XtremeWrestlingTorrents (XWT) is a Private Torrent Tracker for PROFESSIONAL WRESTLING / MMA. This indexer uses cookie login for 2FA."
language: en-US
type: private
encoding: windows-1252
links:
- https://xtremewrestlingtorrents.net/
legacylinks:
- http://xtremewrestlingtorrents.net/
caps:
categorymappings:
- {id: 82, cat: TV/Sport, desc: "AEW Collision"}
- {id: 83, cat: TV/Sport, desc: "AEW Collision HD"}
- {id: 74, cat: TV/Sport, desc: "AEW Dynamite"}
- {id: 75, cat: TV/Sport, desc: "AEW Dynamite HD"}
- {id: 78, cat: TV/Sport, desc: "AEW PPV's"}
- {id: 79, cat: TV/Sport, desc: "AEW PPV's HD"}
- {id: 76, cat: TV/Sport, desc: "AEW Rampage"}
- {id: 77, cat: TV/Sport, desc: "AEW Rampage HD"}
- {id: 47, cat: TV/Sport, desc: "Boxing"}
- {id: 14, cat: Movies, desc: "Documentary"}
- {id: 20, cat: TV/Sport, desc: "DVD"}
- {id: 88, cat: Books, desc: "eBooks"}
- {id: 2, cat: TV/Sport, desc: "ECW Original"}
- {id: 26, cat: TV/Sport, desc: "ECW Weekly"}
- {id: 21, cat: TV/Sport, desc: "Int Indy's"}
- {id: 69, cat: TV/Sport, desc: "Lucha Libre"}
- {id: 70, cat: TV/Sport, desc: "Lucha Libre HD"}
- {id: 23, cat: TV/Sport, desc: "Misc"}
- {id: 24, cat: TV/Sport, desc: "MMA"}
- {id: 59, cat: TV/Sport, desc: "MMA HD"}
- {id: 86, cat: TV/Sport, desc: "Netflix"}
- {id: 87, cat: TV/Sport, desc: "Netflix HD"}
- {id: 30, cat: TV/Sport, desc: "Packs"}
- {id: 68, cat: TV/Sport, desc: "Podcasts"}
- {id: 29, cat: TV/Sport, desc: "Puro"}
- {id: 18, cat: TV/Sport, desc: "ROH"}
- {id: 52, cat: TV/Sport, desc: "ROH HD"}
- {id: 45, cat: TV/Sport, desc: "Shoot Interviews"}
- {id: 4, cat: TV/Sport, desc: "Single Matches"}
- {id: 7, cat: TV/Sport, desc: "TNA Impact"}
- {id: 49, cat: TV/Sport, desc: "TNA Impact HD"}
- {id: 6, cat: TV/Sport, desc: "TNA PPV's"}
- {id: 55, cat: TV/Sport, desc: "TNA PPV's HD"}
- {id: 66, cat: TV/Sport, desc: "Total Divas"}
- {id: 67, cat: TV/Sport, desc: "Total Divas HD"}
- {id: 57, cat: TV/Sport, desc: "Tough Enough"}
- {id: 58, cat: TV/Sport, desc: "Tough Enough HD"}
- {id: 22, cat: TV/Sport, desc: "USA Indy's"}
- {id: 12, cat: TV/Sport, desc: "WCW"}
- {id: 71, cat: TV/Sport, desc: "Womens Wrestling"}
- {id: 15, cat: TV/Sport, desc: "Wrestling Films"}
- {id: 72, cat: TV/Sport, desc: "WWE 205 Live"}
- {id: 73, cat: TV/Sport, desc: "WWE 205 Live HD"}
- {id: 16, cat: TV/Sport, desc: "WWE Heat"}
- {id: 63, cat: TV/Sport, desc: "WWE Main Event"}
- {id: 64, cat: TV/Sport, desc: "WWE Network"}
- {id: 65, cat: TV/Sport, desc: "WWE Network HD"}
- {id: 46, cat: TV/Sport, desc: "WWE NXT"}
- {id: 50, cat: TV/Sport, desc: "WWE NXT HD"}
- {id: 9, cat: TV/Sport, desc: "WWE PPV's"}
- {id: 56, cat: TV/Sport, desc: "WWE PPV's HD"}
- {id: 10, cat: TV/Sport, desc: "WWE RAW"}
- {id: 51, cat: TV/Sport, desc: "WWE RAW HD"}
- {id: 11, cat: TV/Sport, desc: "WWE Smackdown"}
- {id: 53, cat: TV/Sport, desc: "WWE Smackdown HD"}
- {id: 43, cat: TV/Sport, desc: "WWE Superstars"}
- {id: 54, cat: TV/Sport, desc: "WWE Superstars HD"}
- {id: 89, cat: TV/Sport, desc: "WWE Vault"}
- {id: 19, cat: TV/Sport, desc: "WWE Velocity"}
- {id: 31, cat: TV/Sport, desc: "WWE Vintage"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
book-search: [q]
settings:
- name: cookie
type: text
label: Cookie
- name: info_cookie
type: info_cookie
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: seedbox
type: checkbox
label: "Use SeedBox Download Link"
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_flaresolverr
type: info_flaresolverr
login:
# using cookie method because login page can present second page for 2FA when enabled
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: browse.php
selector: a[href="logout.php"]
search:
paths:
# http://xtremewrestlingtorrents.net/browse.php?search=halftime+heat&c46=1&c51=1&c31=1&c11=1&incldead=1
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
# 0 active, 1 incldead, 2 onlydead, 3 freeleech, 4 descr
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
search: "{{ .Keywords }}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
selector: table[border="0"][cellspacing="0"][cellpadding="5"] tr:has(a[href^="download.php?id="])
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
download_1:
selector: a[href^="download.php"]
attribute: href
title_default:
# title can be missing so we use the &name= from the DL as a standby
text: "{{ .Result.download_1 }}"
filters:
- name: querystring
args: name
- name: replace
args: [".torrent", ""]
title:
selector: a[href^="details.php?id="]
attribute: title
optional: true
default: "{{ .Result.title_default }}"
download_2:
selector: a[href^="download2.php"]
attribute: href
download:
text: "{{ if .Config.seedbox }}{{ .Result.download_2 }}{{ else }}{{ .Result.download_1 }}{{ end }}"
details:
selector: a[href^="details.php?id="]
attribute: href
files:
selector: td:nth-child(3)
grabs:
selector: td:nth-child(7)
size:
selector: td:nth-child(6)
seeders:
selector: td:nth-last-child(3)
leechers:
selector: td:nth-last-child(2)
date:
selector: td:nth-child(5)
# auto adjusted by site account profile
filters:
- name: dateparse
args: "yyyy-MM-ddHH:mm:ss"
downloadvolumefactor:
case:
img[src="pic/freeleech.png"]: 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 0.7
minimumseedtime:
# 1 day (as seconds = 24 x 60 x 60)
text: 86400
# engine n/a