1
0
mirror of https://github.com/Prowlarr/Indexers.git synced 2026-02-15 07:25:47 +00:00
Files
Indexers/definitions/v11/teamhd.yml
ServarrAdmin 03d43b4b70 Fixed: deprecate v10 schema version and migrate indexers to v11
- Migrated 485+ indexer definitions from v10 to v11 directory
- Preserved existing v11 indexers (skipped 15 duplicates to keep v11 versions)
- Updated VERSIONS file: MIN_VERSION changed from 10 to 11
- Updated documentation in README.md and CONTRIBUTING.md:
  * Marked v10 as deprecated (removed from active versions)
  * Updated v11 as single active version with 522+ indexers
  * Added deprecation warnings and migration notes
- Kept v10/schema.json for historical reference
- All validation passes with migrated indexers

Breaking change: v10 no longer contains active indexer definitions.
Prowlarr will continue to work as it falls back to available versions.
2025-08-24 07:38:43 -05:00

154 lines
4.8 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: teamhd
name: TeamHD
description: "TeamHD is a RUSSIAN Private Torrent Tracker for HD MOVIES / TV"
language: ru-RU
type: private
encoding: UTF-8
links:
- https://teamhd.org/
caps:
categorymappings:
- {id: 29, cat: Movies/HD, desc: "Movies Фильмы"}
- {id: 25, cat: TV/Anime, desc: "Cartoons Мультфильмы"}
- {id: 26, cat: Audio/Lossless, desc: "Hi-Res Audio"}
- {id: 27, cat: Other, desc: "Demo Демо"}
- {id: 28, cat: TV/Documentary, desc: "Documentary Документальное кино"}
- {id: 30, cat: Audio/Video, desc: "Music Video Музыкальное видео"}
- {id: 31, cat: TV/Sport, desc: "Sport Спорт"}
- {id: 32, cat: TV/HD, desc: "TV Show ТВ Шоу"}
- {id: 33, cat: TV/HD, desc: "Soaps Сериалы"}
- {id: 34, cat: TV/HD, desc: "Other"}
- {id: 35, cat: Movies, desc: "Content w/o subs Контент без перевода"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
settings:
- name: cookie
type: text
label: Cookie
- name: info_cookie
type: info_cookie
- name: useragent
type: text
label: User-Agent
- name: info_useragent
type: info_useragent
- name: stripcyrillic
type: checkbox
label: Strip Cyrillic Letters
default: false
- name: freeleech
type: checkbox
label: Search freeleech only
default: false
- name: info_activity
type: info
label: Account Inactivity
default: "Inactive users are regularly deleted. If you havent downloaded or distributed anything, or havent visited the site for 90 days, then you are a random guest on our resource. The tracker needs active users who know exactly why they came here. Thats why we regularly conduct automatic inactivity sweeps. If you need to be away from the tracker for a long time (business trip, personal circumstances, etc.), use 'parking' your account."
login:
# using cookie method because login page has embedded Google reCAPTCHA
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: index.php
selector: a[href*="/logout.php"]
search:
paths:
- path: browse
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
# replace spaces with wildcard (percent symbol) as site's default search is exact string.
search: "{{ re_replace .Keywords \"[\\s]+\" \"%\" }}"
# 0 active, 1 incldead, 2 onlydead, 3 noseeders
incldead: 1
# 0 all, 1 gold, 2 silver, 3 normal
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
headers:
User-Agent: ["{{ .Config.useragent }}"]
keywordsfilters:
# remove the year from the titles as the site chokes on them during search https://github.com/Jackett/Jackett/issues/4397#issuecomment-623148789
- name: re_replace
args: [" +(?:19|20)\\d{2} *$", ""]
# if season only then S01 -> Season 1
- name: re_replace
args: ["(?i) S0(\\d{1})$", " Season $1"]
# if season only then S10 -> Season 10
- name: re_replace
args: ["(?i) S(\\d{2})$", " Season $1"]
rows:
selector: table.browse > tbody > tr
fields:
download:
selector: a[href^="download.php?id="]
attribute: href
title:
selector: a[href^="/details/id"]
filters:
- name: re_replace
args: ["(\\([\\p{IsCyrillic}\\W]+\\))|(^[\\p{IsCyrillic}\\W\\d]+\\/ )|([\\p{IsCyrillic} \\-]+,+)|([\\p{IsCyrillic}]+)", "{{ if .Config.stripcyrillic }}{{ else }}$1$2$3$4{{ end }}"]
# convert Season xx -> Sxx
- name: re_replace
args: ["(?i)Season (\\d{2})", "S$1"]
# convert Season x -> S0x
- name: re_replace
args: ["(?i)Season (\\d{1})", "S0$1"]
# remove []
- name: re_replace
args: ["[\\[|\\]]", ""]
details:
selector: a[href^="/details/id"]
attribute: href
category:
selector: a[href*="/browse/cat"]
attribute: href
filters:
- name: regexp
args: (\d+)
date:
selector: td > div > small
# auto adjusted by site account profile
filters:
- name: dateparse
args: "dd-MM-yyyy HH:mm"
seeders:
selector: td:nth-child(4)
filters:
- name: split
args: ["|", 0]
leechers:
selector: td:nth-child(4)
filters:
- name: split
args: ["|", 1]
grabs:
selector: td:nth-child(5) strong
size:
selector: td:nth-child(5)
remove: strong
downloadvolumefactor:
case:
":root:has(div.justify-content-center:contains(\"Включен фрилич до\"))": 0 # Global Freeleech event
a[href^="/details/id"][style="color:#f2b101"]: 0
a[href^="/details/id"][style="color:#828b8b"]: 0.5
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
description:
selector: a[href^="/details/id"]
# engine n/a