Created the managarr demo docker-compose and quickstart script
This commit is contained in:
@@ -1,2 +1,35 @@
|
|||||||
# managarr-demo
|
# Managarr Demo
|
||||||
A demo repository with a basic HTPC configuration for demonstration and testing purposes with Managarr.
|
A demo repository with a basic HTPC configuration for demonstration and testing purposes with [Managarr](https://github.com/Dark-Alex-17/managarr).
|
||||||
|
|
||||||
|
## One-Command Run
|
||||||
|
To clone the repo and run the demo all in one go, the following command will download the [managarr-demo](./managarr-demo.sh) script and run it:
|
||||||
|
```shell
|
||||||
|
curl https://raw.githubusercontent.com/Dark-Alex-17/managarr-demo/main/managarr-demo.sh | sh
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note**: This script will only work on systems with `bash` installed.
|
||||||
|
|
||||||
|
## Running the demo
|
||||||
|
To run this demo, simply run the following command:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
docker compose up --rm managarr && docker compose down
|
||||||
|
```
|
||||||
|
|
||||||
|
## Cleanup
|
||||||
|
This demo will download a handful of docker images. To clean up after this demo, run the following command:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
docker image rm darkalex17/managarr &&\
|
||||||
|
docker image rm lscr.io/linuxserver/radarr &&\
|
||||||
|
docker image rm lscr.io/linuxserver/prowlarr &&\
|
||||||
|
rm -rf /tmp/managarr-demo
|
||||||
|
```
|
||||||
|
|
||||||
|
## Limitations
|
||||||
|
This demo has no download functionality. It is an eventual goal to have a mock API for one of the BitTorrent clients like Transmission
|
||||||
|
to emulate this functionality for a full demo experience.
|
||||||
|
|
||||||
|
## Creator
|
||||||
|
* [Alex Clarke](https://github.com/Dark-Alex-17)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
---
|
||||||
|
services:
|
||||||
|
radarr:
|
||||||
|
image: lscr.io/linuxserver/radarr:latest
|
||||||
|
container_name: radarr
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Etc/UTC
|
||||||
|
volumes:
|
||||||
|
- ./mock-htpc/movies:/movies
|
||||||
|
- ./mock-htpc/films:/films
|
||||||
|
- ./mock-htpc/downloads:/downloads
|
||||||
|
- ./mock-htpc/radarr:/config
|
||||||
|
ports:
|
||||||
|
- 7878:7878
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
prowlarr:
|
||||||
|
image: lscr.io/linuxserver/prowlarr:latest
|
||||||
|
container_name: prowlarr
|
||||||
|
environment:
|
||||||
|
- PUID=1000
|
||||||
|
- PGID=1000
|
||||||
|
- TZ=Etc/UTC
|
||||||
|
volumes:
|
||||||
|
- ./mock-htpc/prowlarr:/config
|
||||||
|
ports:
|
||||||
|
- 9696:9696
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
managarr:
|
||||||
|
image: darkalex17/managarr
|
||||||
|
stdin_open: true
|
||||||
|
tty: true
|
||||||
|
volumes:
|
||||||
|
- ./mock-htpc/managarr:/root/.config/managarr/
|
||||||
|
depends_on:
|
||||||
|
radarr:
|
||||||
|
condition: service_started
|
||||||
|
prowlarr:
|
||||||
|
condition: service_started
|
||||||
Executable
+17
@@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
fail() {
|
||||||
|
result=$?
|
||||||
|
if [ "$result" != "0" ]; then
|
||||||
|
echo "Fail to run the Managarr demo"
|
||||||
|
fi
|
||||||
|
exit $result
|
||||||
|
}
|
||||||
|
|
||||||
|
trap "fail" EXIT
|
||||||
|
set -e
|
||||||
|
|
||||||
|
[[ -d /tmp/managarr-demo ]] || git clone git@github.com:Dark-Alex-17/managarr-demo.git /tmp/managarr-demo
|
||||||
|
|
||||||
|
docker compose run --rm managarr && docker compose down && docker image rm darkalex17/managarr
|
||||||
|
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
radarr:
|
||||||
|
host: radarr
|
||||||
|
port: 7878
|
||||||
|
api_token: 2374332474216e6720407021206b6579
|
||||||
@@ -0,0 +1,218 @@
|
|||||||
|
---
|
||||||
|
id: 0daykiev
|
||||||
|
name: 0day.kiev
|
||||||
|
description: "0day.kiev.ua is a UKRAINIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||||
|
language: uk-UA
|
||||||
|
type: private
|
||||||
|
encoding: windows-1251
|
||||||
|
links:
|
||||||
|
- https://tracker.0day.community/
|
||||||
|
legacylinks:
|
||||||
|
- https://tracker.0day.kiev.ua/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 10, cat: Movies, desc: "Фильмы (Movies)"}
|
||||||
|
- {id: 16, cat: Movies/HD, desc: "HD / Фильмы (HD / Movies)"}
|
||||||
|
- {id: 30, cat: TV/HD, desc: "HD / Сериалы (HD / TV Shows)"}
|
||||||
|
- {id: 27, cat: TV/HD, desc: "HD / Мультфильмы (HD / Cartoons)"}
|
||||||
|
- {id: 17, cat: PC/Games, desc: "Игры / ПК (Games / PC)"}
|
||||||
|
- {id: 14, cat: Audio, desc: "Музыка / Аудио (Music / Audio)"}
|
||||||
|
- {id: 29, cat: TV, desc: "Мультсериалы (TV Series)"}
|
||||||
|
- {id: 11, cat: TV, desc: "Мультфильмы (Cartoons)"}
|
||||||
|
- {id: 28, cat: TV/HD, desc: "HD / Документальное (HD / Documentary)"}
|
||||||
|
- {id: 18, cat: PC/0day, desc: "Софт / Windows (Software / Windows)"}
|
||||||
|
- {id: 19, cat: TV, desc: "TV / Сериалы (TV shows)"}
|
||||||
|
- {id: 31, cat: Other, desc: "Прочее (Other)"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: stripcyrillic
|
||||||
|
type: checkbox
|
||||||
|
label: Strip Cyrillic Letters
|
||||||
|
default: true
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
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_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "The tracker has a system for deleting inactive accounts after 6 months from your last visit to the tracker."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: takelogin.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
returnto: "/browse.php"
|
||||||
|
error:
|
||||||
|
- selector: div.maintitle:contains("Ошибка")
|
||||||
|
message:
|
||||||
|
selector: div.borderwrap table.embedded
|
||||||
|
test:
|
||||||
|
path: browse.php
|
||||||
|
selector: a[href="/logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://tracker.0day.kiev.ua/browse.php?c10=1&c27=1&search=endgame&incldead=1&where=0
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
# 0 active, 1 incldead, 2 onlydead, 3 gold, 4 noseed, 5 silver
|
||||||
|
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||||
|
# 0 title, 1 title and descr
|
||||||
|
where: 0
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
- name: diacritics
|
||||||
|
args: replace
|
||||||
|
- name: re_replace # S01 to сезон 1
|
||||||
|
args: ["(?i)\\bS0*(\\d+)\\b", "сезон $1"]
|
||||||
|
- name: re_replace # E01 to сері 1
|
||||||
|
args: ["(?i)\\bE0*(\\d+)\\b", "сері $1"]
|
||||||
|
- name: re_replace # S01E01 to сезон 1 сері 1
|
||||||
|
args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", "сезон $1 сері $2"]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table > tbody > tr.rowtorrentinfo
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="browse.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
filters:
|
||||||
|
# normalize to SXXEYY format
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)[CС]езони?[\\s:]*(\\d+(?:-\\d+)?).+?(?:[CС]ері[їяй]|Епізоди?)[\\s:]*(\\d+(?:-\\d+)?)\\s*з\\s*(\\w?)", "S$1E$2 of $3"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езони?.+?(\\d+(?:-\\d+)?)\\s*з\\s*(\\w?)(?:\\s*(?:[CС]ері[їяй]|Епізоди?))?", "S$1E$2 of $3"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езони?.+?(\\d+(?:-\\d+)?)\\s*(?:[CС]ері[їяй]|Епізоди?)\\s+з\\s*(\\w?)", "S$1E$2 of $3"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)[CС]езони?[\\s:]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)\\s*з\\s*(\\w?)(?:\\s*(?:[CС]ері[їяй]|Епізоди?))?", "S$1E$2 of $3"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)[CС]езони?[\\s:]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)\\s*(?:[CС]ері[їяй]|Епізоди?)\\s+з\\s*(\\w?)", "S$1E$2 of $3"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)[CС]езони?[\\s:]*(\\d+(?:-\\d+)?).+?(?:[CС]ері[їяй]|Епізоди?)[\\s:]*(\\d+(?:-\\d+)?)", "S$1E$2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езони?.+?(\\d+(?:-\\d+)?)(?:\\s*(?:[CС]ері[їяй]|Епізоди?))", "S$1E$2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)[CС]езони?[\\s:]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)(?:\\s*(?:[CС]ері[їяй]|Епізоди?))", "S$1E$2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)[CС]езони?[\\s:]*(\\d+(?:-\\d+)?)", "S$1"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s+[CС]езони?", "S$1"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(?:[CС]ері[їяй]|Епізоди?)[\\s:]*(\\d+(?:-\\d+)?)\\s*з\\s*(\\w?)", "E$1 of $2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s*з\\s*(\\w?)(?:\\s*(?:[CС]ері[їяй]|Епізоди?))", "E$1 of $2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s+(?:[CС]ері[їяй]|Епізоди?)\\s+з\\s*(\\w?)", "E$1 of $2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(?:[CС]ері[їяй]|Епізоди?)[\\s:]*(\\d+(?:-\\d+)?)", "E$1"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s+(?:[CС]ері[їяй]|Епізоди?)", "E$1"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(\\([\\p{IsCyrillic}\\W]+\\))|(^[\\p{IsCyrillic}\\W\\d]+\\/ )|([\\p{IsCyrillic} \\-]+,+)|([\\p{IsCyrillic}]+)", "{{ if .Config.stripcyrillic }}{{ else }}$1$2$3$4{{ end }}"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bHDTV\\s?Rip\\b", "HDTV"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bSAT\\s?Rip\\b", "HDTV"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bWEB\\s?DL\\s?Rip\\b", "WEBDL"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bWEB Rip\\b", "WEBRip"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bWEB DL\\b", "WEBDL"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["[\\[\\(\\{<«][\\s\\W]*[\\]\\)\\}>»]", ""]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["^[\\s&,\\.!\\?\\+\\-_\\|\\/':]+", ""]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)^\\(\\s*([SE]\\d+.*?)\\s*\\)[\\s\\/\\|]*(.+)", "$2 $1"]
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
date:
|
||||||
|
selector: td:nth-child(2) i
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +02:00" # EET
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(4)
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["ТБ", "TB"]
|
||||||
|
- name: replace
|
||||||
|
args: ["ГБ", "GB"]
|
||||||
|
- name: replace
|
||||||
|
args: ["МБ", "MB"]
|
||||||
|
- name: replace
|
||||||
|
args: ["КБ", "KB"]
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
filters:
|
||||||
|
- name: split
|
||||||
|
args: ["|", 0]
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
filters:
|
||||||
|
- name: split
|
||||||
|
args: ["|", 1]
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src="pic/freedownload.gif"]: 0
|
||||||
|
img[src="pic/silverdownload.gif"]: 0.5
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
minimumratio:
|
||||||
|
text: 0.2
|
||||||
|
description:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
---
|
||||||
|
id: 0magnet
|
||||||
|
name: 0Magnet
|
||||||
|
description: "ØMagnet is a CHINESE Public tracker for Asian 3X (JAV)"
|
||||||
|
language: en-US
|
||||||
|
type: public
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://0magnet.co/
|
||||||
|
- https://13mag.net/
|
||||||
|
- https://16mag.net/
|
||||||
|
legacylinks:
|
||||||
|
- https://0magnet.com/
|
||||||
|
- https://9mag.net/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categories:
|
||||||
|
XXX: XXX
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
|
||||||
|
settings: []
|
||||||
|
|
||||||
|
download:
|
||||||
|
infohash:
|
||||||
|
hash:
|
||||||
|
selector: a[href^="magnet:?xt"]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: ([A-F|a-f|0-9]{40})
|
||||||
|
title:
|
||||||
|
selector: a[href^="magnet:?xt"]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "&dn=(.+?)&"
|
||||||
|
- name: validfilename
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: search
|
||||||
|
inputs:
|
||||||
|
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table > tbody > tr:has(td)
|
||||||
|
filters:
|
||||||
|
- name: andmatch
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
text: XXX
|
||||||
|
title:
|
||||||
|
selector: a
|
||||||
|
remove: p
|
||||||
|
details:
|
||||||
|
selector: a
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a
|
||||||
|
attribute: href
|
||||||
|
date:
|
||||||
|
text: now
|
||||||
|
size:
|
||||||
|
selector: td.td-size
|
||||||
|
seeders:
|
||||||
|
text: 1
|
||||||
|
leechers:
|
||||||
|
text: 1
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,295 @@
|
|||||||
|
---
|
||||||
|
id: 1337x
|
||||||
|
name: 1337x
|
||||||
|
description: "1337X is a Public torrent site that offers verified torrent downloads"
|
||||||
|
language: en-US
|
||||||
|
type: public
|
||||||
|
encoding: UTF-8
|
||||||
|
requestDelay: 2
|
||||||
|
links:
|
||||||
|
- https://1337x.to/
|
||||||
|
- https://1337x.st/
|
||||||
|
- https://x1337x.ws/
|
||||||
|
- https://x1337x.eu/
|
||||||
|
- https://x1337x.se/
|
||||||
|
- https://1337x.so/
|
||||||
|
- https://1337x.unblockit.africa/
|
||||||
|
- https://1337x.unblockninja.com/
|
||||||
|
- https://1337x.ninjaproxy1.com/
|
||||||
|
- https://1337x.proxyninja.org/
|
||||||
|
- https://1337x.torrentbay.st/
|
||||||
|
legacylinks:
|
||||||
|
- https://1337x.is/
|
||||||
|
- https://1337x.gd/
|
||||||
|
- https://1337x.nocensor.lol/
|
||||||
|
- https://1337x.unblockit.ink/
|
||||||
|
- https://1337x.nocensor.art/
|
||||||
|
- https://1337x.unblockit.bio/
|
||||||
|
- https://1337x.unblockit.boo/
|
||||||
|
- https://1337x.mrunblock.guru/
|
||||||
|
- https://1337x.mrunblock.life/
|
||||||
|
- https://1337x.unblockit.click/
|
||||||
|
- https://1337x.unblockit.asia/
|
||||||
|
- https://1337x.unblockit.mov/
|
||||||
|
- https://1337x.unblockit.rsvp/
|
||||||
|
- https://1337x.unblockit.vegas/
|
||||||
|
- https://1337x.unblockit.esq/
|
||||||
|
- https://1337x.unblockit.zip/
|
||||||
|
- https://1337x.unblockit.foo/
|
||||||
|
- https://1337x.unblockit.ing/
|
||||||
|
- https://1337x.mrunblock.bond/
|
||||||
|
- https://1337x.unblockit.date/
|
||||||
|
- https://1337x.unblockit.dad/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
# Anime
|
||||||
|
- {id: 28, cat: TV/Anime, desc: "Anime/Anime"}
|
||||||
|
- {id: 78, cat: TV/Anime, desc: "Anime/Dual Audio"}
|
||||||
|
- {id: 79, cat: TV/Anime, desc: "Anime/Dubbed"}
|
||||||
|
- {id: 80, cat: TV/Anime, desc: "Anime/Subbed"}
|
||||||
|
- {id: 81, cat: TV/Anime, desc: "Anime/Raw"}
|
||||||
|
# Audio
|
||||||
|
- {id: 22, cat: Audio/MP3, desc: "Music/MP3"}
|
||||||
|
- {id: 23, cat: Audio/Lossless, desc: "Music/Lossless"}
|
||||||
|
- {id: 24, cat: Audio, desc: "Music/DVD"}
|
||||||
|
- {id: 25, cat: Audio/Video, desc: "Music/Video"}
|
||||||
|
- {id: 26, cat: Audio, desc: "Music/Radio"}
|
||||||
|
- {id: 27, cat: Audio/Other, desc: "Music/Other"}
|
||||||
|
- {id: 53, cat: Audio, desc: "Music/Album"}
|
||||||
|
- {id: 58, cat: Audio, desc: "Music/Box set"}
|
||||||
|
- {id: 59, cat: Audio, desc: "Music/Discography"}
|
||||||
|
- {id: 60, cat: Audio, desc: "Music/Single"}
|
||||||
|
- {id: 68, cat: Audio, desc: "Music/Concerts"}
|
||||||
|
- {id: 69, cat: Audio, desc: "Music/AAC"}
|
||||||
|
# Movies
|
||||||
|
- {id: 1, cat: Movies/DVD, desc: "Movies/DVD"}
|
||||||
|
- {id: 2, cat: Movies/SD, desc: "Movies/Divx/Xvid"}
|
||||||
|
- {id: 3, cat: Movies, desc: "Movies/SVCD/VCD"}
|
||||||
|
- {id: 4, cat: Movies/Foreign, desc: "Movies/Dubs/Dual Audio"}
|
||||||
|
- {id: 42, cat: Movies/HD, desc: "Movies/HD"}
|
||||||
|
- {id: 54, cat: Movies/HD, desc: "Movies/h.264/x264"}
|
||||||
|
- {id: 55, cat: Movies, desc: "Movies/Mp4"}
|
||||||
|
- {id: 66, cat: Movies/3D, desc: "Movies/3D"}
|
||||||
|
- {id: 70, cat: Movies/HD, desc: "Movies/HEVC/x265"}
|
||||||
|
- {id: 73, cat: Movies, desc: "Movies/Bollywood"}
|
||||||
|
- {id: 76, cat: Movies/UHD, desc: "Movies/UHD"}
|
||||||
|
# TV
|
||||||
|
- {id: 5, cat: TV, desc: "TV/DVD"}
|
||||||
|
- {id: 6, cat: TV, desc: "TV/Divx/Xvid"}
|
||||||
|
- {id: 7, cat: TV, desc: "TV/SVCD/VCD"}
|
||||||
|
- {id: 41, cat: TV/HD, desc: "TV/HD"}
|
||||||
|
- {id: 71, cat: TV, desc: "TV/HEVC/x265"}
|
||||||
|
- {id: 74, cat: TV, desc: "TV/Cartoons"}
|
||||||
|
- {id: 75, cat: TV/SD, desc: "TV/SD"}
|
||||||
|
- {id: 9, cat: TV/Documentary, desc: "TV/Documentary"}
|
||||||
|
# Apps
|
||||||
|
- {id: 18, cat: PC, desc: "Apps/PC Software"}
|
||||||
|
- {id: 19, cat: PC/Mac, desc: "Apps/Mac"}
|
||||||
|
- {id: 20, cat: PC, desc: "Apps/Linux"}
|
||||||
|
- {id: 21, cat: PC, desc: "Apps/Other"}
|
||||||
|
- {id: 56, cat: PC/Mobile-Android, desc: "Apps/Android"}
|
||||||
|
- {id: 57, cat: PC/Mobile-iOS, desc: "Apps/iOS"}
|
||||||
|
# Games
|
||||||
|
- {id: 10, cat: PC/Games, desc: "Games/PC Game"}
|
||||||
|
- {id: 11, cat: Console/PS3, desc: "Games/PS2"}
|
||||||
|
- {id: 12, cat: Console/PSP, desc: "Games/PSP"}
|
||||||
|
- {id: 13, cat: Console/XBox, desc: "Games/Xbox"}
|
||||||
|
- {id: 14, cat: Console/XBox 360, desc: "Games/Xbox360"}
|
||||||
|
- {id: 15, cat: Console/PS3, desc: "Games/PS1"}
|
||||||
|
- {id: 16, cat: Console/Other, desc: "Games/Dreamcast"}
|
||||||
|
- {id: 17, cat: PC/Mobile-Other, desc: "Games/Other"}
|
||||||
|
- {id: 43, cat: Console/PS3, desc: "Games/PS3"}
|
||||||
|
- {id: 44, cat: Console/Wii, desc: "Games/Wii"}
|
||||||
|
- {id: 45, cat: Console/NDS, desc: "Games/DS"}
|
||||||
|
- {id: 46, cat: Console/Other, desc: "Games/GameCube"}
|
||||||
|
- {id: 72, cat: Console/3DS, desc: "Games/3DS"}
|
||||||
|
- {id: 77, cat: Console/PS4, desc: "Games/PS4"}
|
||||||
|
- {id: 82, cat: Console/Other, desc: "Games/Switch"}
|
||||||
|
# XXX
|
||||||
|
- {id: 48, cat: XXX/DVD, desc: "XXX/Video"}
|
||||||
|
- {id: 49, cat: XXX/ImageSet, desc: "XXX/Picture"}
|
||||||
|
- {id: 50, cat: XXX, desc: "XXX/Magazine"}
|
||||||
|
- {id: 51, cat: XXX, desc: "XXX/Hentai"}
|
||||||
|
- {id: 67, cat: XXX, desc: "XXX/Games"}
|
||||||
|
# Other
|
||||||
|
- {id: 33, cat: Other, desc: "Other/Emulation"}
|
||||||
|
- {id: 34, cat: Books, desc: "Other/Tutorial"}
|
||||||
|
- {id: 35, cat: Other, desc: "Other/Sounds"}
|
||||||
|
- {id: 36, cat: Books/EBook, desc: "Other/E-books"}
|
||||||
|
- {id: 37, cat: Other, desc: "Other/Images"}
|
||||||
|
- {id: 38, cat: Other, desc: "Other/Mobile Phone"}
|
||||||
|
- {id: 39, cat: Books/Comics, desc: "Other/Comics"}
|
||||||
|
- {id: 40, cat: Other/Misc, desc: "Other/Other"}
|
||||||
|
- {id: 47, cat: Other, desc: "Other/Nulled Script"}
|
||||||
|
- {id: 52, cat: Audio/Audiobook, desc: "Other/Audiobook"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q, album, artist]
|
||||||
|
book-search: [q]
|
||||||
|
allowrawsearch: true
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: flaresolverr
|
||||||
|
type: info
|
||||||
|
label: FlareSolverr
|
||||||
|
default: This site may use Cloudflare DDoS Protection, therefore Prowlarr requires <a href="https://wiki.servarr.com/prowlarr/faq#can-i-use-flaresolverr-indexers" target="_blank" rel="noreferrer">FlareSolverr</a> to access it.
|
||||||
|
- name: downloadlink
|
||||||
|
type: select
|
||||||
|
label: Download link
|
||||||
|
default: "http://itorrents.org/"
|
||||||
|
options:
|
||||||
|
"http://itorrents.org/": iTorrents.org
|
||||||
|
"magnet:": magnet
|
||||||
|
- name: downloadlink2
|
||||||
|
type: select
|
||||||
|
label: Download link (fallback)
|
||||||
|
default: "magnet:"
|
||||||
|
options:
|
||||||
|
"http://itorrents.org/": iTorrents.org
|
||||||
|
"magnet:": magnet
|
||||||
|
- name: info_download
|
||||||
|
type: info
|
||||||
|
label: About the Download links
|
||||||
|
default: As the iTorrents .torrent download link on this site is known to fail from time to time, we suggest using the magnet link as a fallback. The BTCache and Torrage services are not supported because they require additional user interaction (a captcha for BTCache and a download button on Torrage.)
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: time
|
||||||
|
options:
|
||||||
|
time: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
|
||||||
|
download:
|
||||||
|
# the .torrent URL and magnet URI are on the details page
|
||||||
|
selectors:
|
||||||
|
- selector: ul li a[href^="{{ .Config.downloadlink }}"]
|
||||||
|
attribute: href
|
||||||
|
- selector: ul li a[href^="{{ .Config.downloadlink2 }}"]
|
||||||
|
attribute: href
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# present first page of movies tv and music results if there are no search parms supplied (20 hits per page)
|
||||||
|
- path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/Movies{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/1/"
|
||||||
|
- path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/TV{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/{{ if or .Query.Album .Query.Artist .Keywords }}2{{ else }}1{{ end }}/"
|
||||||
|
- path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/Music{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/{{ if or .Query.Album .Query.Artist .Keywords }}3{{ else }}1{{ end }}/"
|
||||||
|
- path: "{{ if or .Query.Album .Query.Artist .Keywords }}sort-search{{ else }}cat/Other{{ end }}{{ if or .Query.Album .Query.Artist }}/{{ or .Query.Album .Query.Artist }}{{ else }}/{{ .Keywords }}{{ end }}{{ if or .Query.Album .Query.Artist .Keywords }}/{{ else }}{{ end }}{{ .Config.sort }}/{{ .Config.type }}/{{ if or .Query.Album .Query.Artist .Keywords }}4{{ else }}1{{ end }}/"
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace # daily standard S2023 > 2023
|
||||||
|
args: ["\\bS(20\\d{2})\\b", "$1"]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: tr:has(a[href^="/torrent/"])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
title_default:
|
||||||
|
# the movies, tv and music pages abbreviate the title
|
||||||
|
selector: td[class^="coll-1"] a[href^="/torrent/"]
|
||||||
|
title_optional:
|
||||||
|
# the movies, tv and music pages abbreviate the title so we process the href instead. #8137
|
||||||
|
optional: true
|
||||||
|
selector: td[class^="coll-1"] a[href^="/torrent/"]:contains("...")
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: urldecode
|
||||||
|
- name: split
|
||||||
|
args: ["/", 3]
|
||||||
|
title:
|
||||||
|
# title_optional can be empty so use the title_default instead #8586
|
||||||
|
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["-([\\w]+(?:[\\[\\]\\(\\)\\w]+)?)$", "~$1"]
|
||||||
|
- name: replace
|
||||||
|
args: ["-", " "]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["~([\\w]+(?:[\\[\\]\\(\\)\\w]+)?)$", "-$1"]
|
||||||
|
- name: replace
|
||||||
|
args: ["\u000f", ""] # get rid of unwanted character #6582
|
||||||
|
# cleanup for Sonarr
|
||||||
|
- name: re_replace # EP 3 4 to E3-4
|
||||||
|
args: ["(?i)\\sEP\\s(\\d{1,2})\\s(E?\\s?\\d{1,2})\\s", " E$1-$2 "]
|
||||||
|
- name: re_replace # S02E04 05 to S02E04-05
|
||||||
|
args: ["(?i)\\sS(\\d{1,2})\\s?E\\s?(\\d{1,2})\\s(E?\\s?\\d{1,2})\\s", " S$1E$2-$3 "]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)AC3\\s?(\\d)\\s(\\d)", "AC3 $1.$2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i) DD\\s?(\\d)\\s(\\d)", " DD $1.$2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i) DDP\\s?(\\d)\\s(\\d)", " DDP $1.$2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\sE\\s?AC3", " EAC3"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)WEB\\sDL", "WEB-DL"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)HDTVRIP", "HDTV"]
|
||||||
|
category_optional:
|
||||||
|
optional: true
|
||||||
|
selector: td[class^="coll-1"] a[href^="/sub/"]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
# extract the third part
|
||||||
|
- name: split
|
||||||
|
args: ["/", 2]
|
||||||
|
category:
|
||||||
|
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}40{{ end }}"
|
||||||
|
details:
|
||||||
|
selector: td[class^="coll-1"] a[href^="/torrent/"]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
# .torrent link is on the details page
|
||||||
|
selector: td[class^="coll-1"] a[href^="/torrent/"]
|
||||||
|
attribute: href
|
||||||
|
# dates come in three flavours:
|
||||||
|
date_year:
|
||||||
|
# (within this year) 7am Sep. 14th
|
||||||
|
optional: true
|
||||||
|
selector: td[class^="coll-date"]:not(:contains(":")):not(:contains("'"))
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["st|nd|rd|th", ""]
|
||||||
|
- name: dateparse
|
||||||
|
args: "htt MMM. d"
|
||||||
|
date_years:
|
||||||
|
# (more than a year ago) Apr. 18th '11
|
||||||
|
optional: true
|
||||||
|
selector: td[class^="coll-date"]:contains("'")
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["'", ""]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["st|nd|rd|th", ""]
|
||||||
|
- name: dateparse
|
||||||
|
args: "MMM. d yy"
|
||||||
|
date_today:
|
||||||
|
# (today) 12:25am
|
||||||
|
optional: true
|
||||||
|
selector: td[class^="coll-date"]:contains(":")
|
||||||
|
filters:
|
||||||
|
- name: fuzzytime
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_year .Result.date_years .Result.date_today }}{{ or .Result.date_year .Result.date_years .Result.date_today }}{{ else }}now{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: td[class^="coll-4"]
|
||||||
|
seeders:
|
||||||
|
selector: td[class^="coll-2"]
|
||||||
|
leechers:
|
||||||
|
selector: td[class^="coll-3"]
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,196 @@
|
|||||||
|
---
|
||||||
|
id: 1ptbar
|
||||||
|
name: 1ptbar
|
||||||
|
description: "1ptbar is a CHINESE Private Torrent Tracker for MOVIES / TV / E-LEARNING"
|
||||||
|
language: zh-CN
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://1ptba.com/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||||
|
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||||
|
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
|
||||||
|
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||||
|
- {id: 403, cat: TV, desc: "TV Shows/综艺节目"}
|
||||||
|
- {id: 406, cat: Audio/Video, desc: "Music Videos/音乐MV"}
|
||||||
|
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
|
||||||
|
- {id: 409, cat: Other, desc: "Misc/其他"}
|
||||||
|
- {id: 408, cat: Audio, desc: "HQ Audio/高品质音频"}
|
||||||
|
- {id: 412, cat: Other, desc: "Edu/教育"}
|
||||||
|
- {id: 411, cat: PC/Games, desc: "Games/游戏"}
|
||||||
|
- {id: 410, cat: PC/0day, desc: "Software/软件"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid, doubanid]
|
||||||
|
movie-search: [q, imdbid, doubanid]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: 2facode
|
||||||
|
type: text
|
||||||
|
label: 2FA code
|
||||||
|
- name: info_2fa
|
||||||
|
type: info
|
||||||
|
label: "About 2FA code"
|
||||||
|
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the 1ptbar Web Site. Otherwise just leave it empty."
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
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_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:<ol><li>Veteran User or above would never be deleted.</li><li>Elite User or above would never be deleted if packed (at User CP).</li><li>Packed accounts would be deleted if users have not logged in for more than 400 days in a row.</li><li>Unpacked accounts would be deleted if users have not logged in for more than 150 days in a row.</li><li>Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 100 days in a row.</li></ol>"
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login.php
|
||||||
|
method: form
|
||||||
|
form: form[action="takelogin.php"]
|
||||||
|
captcha:
|
||||||
|
type: image
|
||||||
|
selector: img[alt="CAPTCHA"]
|
||||||
|
input: imagestring
|
||||||
|
inputs:
|
||||||
|
secret: ""
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
two_step_code: "{{ .Config.2facode }}"
|
||||||
|
logout: ""
|
||||||
|
securelogin: ""
|
||||||
|
ssl: yes
|
||||||
|
trackerssl: yes
|
||||||
|
error:
|
||||||
|
- selector: td.embedded:has(h2:contains("失败"))
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||||
|
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||||
|
# 0 incldead, 1 active, 2 dead
|
||||||
|
incldead: 0
|
||||||
|
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||||
|
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||||
|
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||||
|
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||||
|
# 0 AND, 2 exact
|
||||||
|
search_mode: 0
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
notnewword: 1
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title_default:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
title:
|
||||||
|
selector: a[title][href^="details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result.title_default }}"
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
poster:
|
||||||
|
selector: img[data-src]
|
||||||
|
attribute: data-src
|
||||||
|
imdbid:
|
||||||
|
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||||
|
selector: a[href*="imdb.com/title/tt"]
|
||||||
|
attribute: href
|
||||||
|
doubanid:
|
||||||
|
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||||
|
selector: a[href*="movie.douban.com/subject/"]
|
||||||
|
attribute: href
|
||||||
|
date_elapsed:
|
||||||
|
# time type: time elapsed (default)
|
||||||
|
selector: td.rowfollow:nth-last-of-type(6) > span[title]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00"
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
date_added:
|
||||||
|
# time added
|
||||||
|
selector: td.rowfollow:nth-last-of-type(6):not(:has(span))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: td.rowfollow:nth-last-of-type(5)
|
||||||
|
seeders:
|
||||||
|
selector: td.rowfollow:nth-last-of-type(4)
|
||||||
|
leechers:
|
||||||
|
selector: td.rowfollow:nth-last-of-type(3)
|
||||||
|
grabs:
|
||||||
|
selector: td.rowfollow:nth-last-of-type(2)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_free: 0
|
||||||
|
img.pro_free2up: 0
|
||||||
|
img.pro_50pctdown: 0.5
|
||||||
|
img.pro_50pctdown2up: 0.5
|
||||||
|
img.pro_30pctdown: 0.3
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_50pctdown2up: 2
|
||||||
|
img.pro_free2up: 2
|
||||||
|
img.pro_2up: 2
|
||||||
|
"*": 1
|
||||||
|
description:
|
||||||
|
selector: td:nth-child(2)
|
||||||
|
remove: a, b, font, img, span
|
||||||
|
# NexusPHP v1.8.9 2023-11-15
|
||||||
@@ -0,0 +1,227 @@
|
|||||||
|
---
|
||||||
|
id: 2fast4you
|
||||||
|
name: 2 Fast 4 You
|
||||||
|
description: "2 Fast 4 You is a FRENCH Private site for TV / MOVIES / GENERAL"
|
||||||
|
language: fr-FR
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://2f4y.me/
|
||||||
|
legacylinks:
|
||||||
|
- http://www.2f4y.me/
|
||||||
|
- https://www.2f4y.me/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 10, cat: TV/Anime, desc: "Animation: HD720P"}
|
||||||
|
- {id: 11, cat: TV/Anime, desc: "Animation: HD1080P"}
|
||||||
|
- {id: 56, cat: TV/Anime, desc: "Animation: DVDRip"}
|
||||||
|
- {id: 18, cat: PC/0day, desc: "Applications: PC"}
|
||||||
|
- {id: 16, cat: PC/Games, desc: "Applications: Jeux"}
|
||||||
|
- {id: 19, cat: PC/Mobile-Android, desc: "Applications: Android"}
|
||||||
|
- {id: 17, cat: PC/0day, desc: "Applications: Autres"}
|
||||||
|
- {id: 67, cat: TV, desc: "Autres: Emission TV"}
|
||||||
|
- {id: 68, cat: TV/Sport, desc: "Autres: Sport"}
|
||||||
|
- {id: 40, cat: Other, desc: "Autres: Autres"}
|
||||||
|
- {id: 14, cat: TV/Documentary, desc: "Documentaires: DivX"}
|
||||||
|
- {id: 15, cat: TV/Documentary, desc: "Documentaires: HD"}
|
||||||
|
- {id: 76, cat: TV/Documentary, desc: "Documentaires: TVRip"}
|
||||||
|
- {id: 62, cat: Audio/Audiobook, desc: "E-Books: E-Books Audio"}
|
||||||
|
- {id: 50, cat: Books, desc: "E-Books: Manuel Français"}
|
||||||
|
- {id: 49, cat: Books, desc: "E-Books: Manuel Anglais"}
|
||||||
|
- {id: 36, cat: Books, desc: "E-Books: Livres Français"}
|
||||||
|
- {id: 53, cat: Books, desc: "E-Books: Livre Anglais"}
|
||||||
|
- {id: 52, cat: Books, desc: "E-Books: Revue - Journaux"}
|
||||||
|
- {id: 51, cat: Books, desc: "E-Books: BD"}
|
||||||
|
- {id: 95, cat: Movies, desc: "Films: Film Divx XviD"}
|
||||||
|
- {id: 66, cat: Movies, desc: "Films: VOSTFR"}
|
||||||
|
- {id: 71, cat: Movies/WEB-DL, desc: "Films: WEB-DL"}
|
||||||
|
- {id: 65, cat: Movies, desc: "Films: VO"}
|
||||||
|
- {id: 72, cat: Movies/SD, desc: "Films: TVRip/HDTV"}
|
||||||
|
- {id: 70, cat: Movies/HD, desc: "Films: MHD X265"}
|
||||||
|
- {id: 57, cat: Movies/SD, desc: "Films: TS/CAM"}
|
||||||
|
- {id: 59, cat: Movies, desc: "Films: Spectacle"}
|
||||||
|
- {id: 55, cat: Movies/HD, desc: "Films: MHD 720P"}
|
||||||
|
- {id: 54, cat: Movies/HD, desc: "Films: MHD 1080P"}
|
||||||
|
- {id: 1, cat: Movies/HD, desc: "Films: HD720P"}
|
||||||
|
- {id: 2, cat: Movies/HD, desc: "Films: HD1080P"}
|
||||||
|
- {id: 90, cat: Movies/HD, desc: "Films: HD X265"}
|
||||||
|
- {id: 92, cat: Movies/HD, desc: "Films: 4K"}
|
||||||
|
- {id: 69, cat: Movies/3D, desc: "Films: Film 3D"}
|
||||||
|
- {id: 3, cat: Movies/DVD, desc: "Films: DVDRIP"}
|
||||||
|
- {id: 5, cat: Movies/DVD, desc: "Films: DVD9"}
|
||||||
|
- {id: 91, cat: Movies/HD, desc: "Films: RemuX"}
|
||||||
|
- {id: 89, cat: Movies/HD, desc: "Films: BD/BR Rip"}
|
||||||
|
- {id: 88, cat: Movies/BluRay, desc: "Films: Full BD/BR"}
|
||||||
|
- {id: 97, cat: Movies, desc: "Films: Cours Métrage"}
|
||||||
|
- {id: 79, cat: TV/Anime, desc: "Mangas: HD"}
|
||||||
|
- {id: 81, cat: TV/Anime, desc: "Mangas: HD VOSTFR"}
|
||||||
|
- {id: 85, cat: TV/Anime, desc: "Mangas: Web-DL"}
|
||||||
|
- {id: 86, cat: TV/Anime, desc: "Mangas: TV-RIP"}
|
||||||
|
- {id: 75, cat: Audio, desc: "Musique: Concert TVRip"}
|
||||||
|
- {id: 25, cat: Audio/MP3, desc: "Musique: Single MP3"}
|
||||||
|
- {id: 24, cat: Audio/Lossless, desc: "Musique: Single Flac"}
|
||||||
|
- {id: 22, cat: Audio/MP3, desc: "Musique: Album MP3"}
|
||||||
|
- {id: 23, cat: Audio/Lossless, desc: "Musique: Album Flac"}
|
||||||
|
- {id: 64, cat: Audio, desc: "Musique: Mégamix Maison"}
|
||||||
|
- {id: 96, cat: Audio/MP3, desc: "Musique: PlayList MP3"}
|
||||||
|
- {id: 94, cat: Audio, desc: "Musique: Podcast"}
|
||||||
|
- {id: 58, cat: Audio, desc: "Musique: Concert"}
|
||||||
|
- {id: 93, cat: TV, desc: "Serie TV: Saison VOSTFR"}
|
||||||
|
- {id: 61, cat: TV, desc: "Serie TV: Episode VOSTFR"}
|
||||||
|
- {id: 63, cat: TV, desc: "Serie TV: Episode VO"}
|
||||||
|
- {id: 12, cat: TV/Anime, desc: "Serie TV: Animation"}
|
||||||
|
- {id: 74, cat: TV, desc: "Serie TV: TVRip"}
|
||||||
|
- {id: 73, cat: TV/WEB-DL, desc: "Serie TV: WEB-DL"}
|
||||||
|
- {id: 7, cat: TV, desc: "Serie TV: Episode FR"}
|
||||||
|
- {id: 6, cat: TV, desc: "Serie TV: Saison FR"}
|
||||||
|
- {id: 98, cat: TV/Anime, desc: "Serie TV: Manga VOSTFR"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: multilang
|
||||||
|
type: checkbox
|
||||||
|
label: Replace MULTi by another language in release name
|
||||||
|
default: false
|
||||||
|
- name: multilanguage
|
||||||
|
type: select
|
||||||
|
label: Replace MULTi by this language
|
||||||
|
default: FRENCH
|
||||||
|
options:
|
||||||
|
FRENCH: FRENCH
|
||||||
|
MULTi FRENCH: MULTi FRENCH
|
||||||
|
ENGLISH: ENGLISH
|
||||||
|
MULTi ENGLISH: MULTi ENGLISH
|
||||||
|
VOSTFR: VOSTFR
|
||||||
|
MULTi VOSTFR: MULTi VOSTFR
|
||||||
|
- name: vostfr
|
||||||
|
type: checkbox
|
||||||
|
label: Replace VOSTFR and SUBFRENCH with ENGLISH
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: id
|
||||||
|
options:
|
||||||
|
id: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: order
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: account-login.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: form:contains("Erreur")
|
||||||
|
message:
|
||||||
|
selector: form
|
||||||
|
remove: table
|
||||||
|
test:
|
||||||
|
path: torrents-search.php
|
||||||
|
selector: a[href="account-logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents-search.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
# 0 active, 1 incldead, 2 onlydead
|
||||||
|
incldead: 1
|
||||||
|
# 0 all, 1 notfree, 2 onlyfree
|
||||||
|
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||||
|
# 0 any, 1 French, 2 English, 3 Multi, 4-8 32-41
|
||||||
|
lang: 0
|
||||||
|
sort: "{{ .Config.sort}}"
|
||||||
|
order: "{{ .Config.order}}"
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["^$", "%"] # replace empty search string with %
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.ttable_headinner > tbody > tr[class^="t-row"]
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="torrents.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title_phase1:
|
||||||
|
selector: a[href^="torrents-details.php?id="]
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: [" - (Nouveau!)", ""]
|
||||||
|
title_vostfr:
|
||||||
|
text: "{{ .Result.title_phase1 }}"
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
|
||||||
|
title_phase2:
|
||||||
|
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
|
||||||
|
title_multilang:
|
||||||
|
text: "{{ .Result.title_phase2 }}"
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
|
||||||
|
title:
|
||||||
|
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
|
||||||
|
details:
|
||||||
|
selector: a[href^="torrents-details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="torrents-details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["torrents-details.php", "download.php"]
|
||||||
|
poster:
|
||||||
|
selector: img.rounded-img
|
||||||
|
attribute: src
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
date:
|
||||||
|
text: now
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[title="freeleech"]: 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 0.75
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,203 @@
|
|||||||
|
---
|
||||||
|
id: 2xfree
|
||||||
|
name: 2xFree
|
||||||
|
description: "2xFree is a CHINESE Private Torrent Tracker for 3D MOVIES / TV"
|
||||||
|
language: zh-CN
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://pt.2xfree.org/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
|
||||||
|
# torrents.php
|
||||||
|
- {id: 526, cat: Movies, desc: "3DMovies(3D电影)"}
|
||||||
|
- {id: 527, cat: TV, desc: "3DSeries(3D剧集)"}
|
||||||
|
- {id: 533, cat: Movies, desc: "VRMovies(VR电影)"}
|
||||||
|
- {id: 534, cat: TV, desc: "VRSeries(VR剧集)"}
|
||||||
|
- {id: 537, cat: TV, desc: "VRShows(VR演出)"}
|
||||||
|
- {id: 530, cat: Console, desc: "VRGame(VR一体机游戏)"}
|
||||||
|
- {id: 531, cat: PC/Games, desc: "PCVRGame(PCVR游戏)"}
|
||||||
|
- {id: 532, cat: Other, desc: "VRTools(VR工具软件)"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid, doubanid]
|
||||||
|
movie-search: [q, imdbid, doubanid]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: 2facode
|
||||||
|
type: text
|
||||||
|
label: 2FA code
|
||||||
|
- name: info_2fa
|
||||||
|
type: info
|
||||||
|
label: "About 2FA code"
|
||||||
|
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the 2xFree Web Site. Otherwise just leave it empty."
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
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_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_ulslr
|
||||||
|
type: info
|
||||||
|
label: Upload Speed Limit Rule
|
||||||
|
default: The upload bandwidth shall not exceed 120Mbps, that is, the upload speed shall not exceed 15MB/s.
|
||||||
|
- name: flaresolverr
|
||||||
|
type: info
|
||||||
|
label: FlareSolverr
|
||||||
|
default: This site may use Cloudflare DDoS Protection, therefore Prowlarr requires <a href="https://wiki.servarr.com/prowlarr/faq#can-i-use-flaresolverr-indexers" target="_blank" rel="noreferrer">FlareSolverr</a> to access it.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Elite User and above will not be deleted after parking (in the control panel)</li><li>Users with a parked account will be deleted if they do not log in for 400 consecutive days</li><li>Users with a non-parked account will be deleted if they do not log in for 150 consecutive days</li><li>Users with no traffic (ie, upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.</li></ol>"
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login.php
|
||||||
|
method: form
|
||||||
|
form: form[action="takelogin.php"]
|
||||||
|
captcha:
|
||||||
|
type: image
|
||||||
|
selector: img[alt="CAPTCHA"]
|
||||||
|
input: imagestring
|
||||||
|
inputs:
|
||||||
|
secret: ""
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
two_step_code: "{{ .Config.2facode }}"
|
||||||
|
logout: ""
|
||||||
|
securelogin: ""
|
||||||
|
ssl: yes
|
||||||
|
trackerssl: yes
|
||||||
|
error:
|
||||||
|
- selector: td.embedded:has(h2:contains("失败"))
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||||
|
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||||
|
# 0 incldead, 1 active, 2 dead
|
||||||
|
incldead: 0
|
||||||
|
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||||
|
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||||
|
# 0 title, 1 descr, 3 uploader, 4 imdburl (4 does not appear to work)
|
||||||
|
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
|
||||||
|
# 0 AND, 1 OR, 2 exact
|
||||||
|
search_mode: 0
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
notnewword: 1
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.torrents > tbody > tr:has(a[href^="details.php?id="])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title_default:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
title:
|
||||||
|
selector: a[title][href^="details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result.title_default }}"
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
poster:
|
||||||
|
selector: img[data-src]
|
||||||
|
attribute: data-src
|
||||||
|
imdbid:
|
||||||
|
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||||
|
selector: a[href*="imdb.com/title/tt"]
|
||||||
|
attribute: href
|
||||||
|
doubanid:
|
||||||
|
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||||
|
selector: a[href*="movie.douban.com/subject/"]
|
||||||
|
attribute: href
|
||||||
|
date_elapsed:
|
||||||
|
# time type: time elapsed (default)
|
||||||
|
selector: td.rowfollow:nth-child(4) > span[title]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
date_added:
|
||||||
|
# time added
|
||||||
|
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: td.rowfollow:nth-child(5)
|
||||||
|
seeders:
|
||||||
|
selector: td.rowfollow:nth-child(6)
|
||||||
|
leechers:
|
||||||
|
selector: td.rowfollow:nth-child(7)
|
||||||
|
grabs:
|
||||||
|
selector: td.rowfollow:nth-child(8)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_free: 0
|
||||||
|
img.pro_free2up: 0
|
||||||
|
img.pro_50pctdown: 0.5
|
||||||
|
img.pro_50pctdown2up: 0.5
|
||||||
|
img.pro_30pctdown: 0.3
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_50pctdown2up: 2
|
||||||
|
img.pro_free2up: 2
|
||||||
|
img.pro_2up: 2
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 0.8
|
||||||
|
description:
|
||||||
|
selector: td.rowfollow:nth-child(2)
|
||||||
|
remove: a, b, font, img, span
|
||||||
|
# NexusPHP v1.8.6 2023-06-18
|
||||||
@@ -0,0 +1,186 @@
|
|||||||
|
---
|
||||||
|
id: 3changtrai
|
||||||
|
name: 3ChangTrai
|
||||||
|
description: "3ChangTrai (3CT) is a VIETNAMESE Private Torrent Tracker for HD MOVIES / TV / GENERAL"
|
||||||
|
language: vi-VN
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://3changtrai.com/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 401, cat: Movies, desc: "Movies"}
|
||||||
|
- {id: 402, cat: TV, desc: "TV Series"}
|
||||||
|
- {id: 403, cat: TV, desc: "TV Shows"}
|
||||||
|
- {id: 404, cat: TV/Documentary, desc: "Documentaries"}
|
||||||
|
- {id: 405, cat: TV/Anime, desc: "Animations"}
|
||||||
|
- {id: 406, cat: Audio/Video, desc: "Music Videos"}
|
||||||
|
- {id: 407, cat: TV/Sport, desc: "Sports"}
|
||||||
|
- {id: 408, cat: Audio, desc: "HQ Audio"}
|
||||||
|
- {id: 410, cat: PC, desc: "Software"}
|
||||||
|
- {id: 411, cat: Books, desc: "Documents"}
|
||||||
|
- {id: 412, cat: PC/Games, desc: "Games"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid]
|
||||||
|
movie-search: [q, imdbid]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
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_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Cherish your account. Inactive accounts will be deleted based on the following provisions:<ol><li>Nexus Master or later will not be deleted account.</li><li>Veteran User or higher will not be deleted if temporarily locked (at User Settings).</li><li>Temporarily locked accounts will be deleted if not logged in within 90 days.</li><li>Accounts that are not temporarily locked will be deleted if they do not log in within 60 days.</li><li>Accounts with no storage for uploads and downloads will be deleted if they do not log in within 30 days or have registered within 14 days.</li></ol>"
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login.php
|
||||||
|
method: form
|
||||||
|
form: form[action="takelogin.php"]
|
||||||
|
captcha:
|
||||||
|
type: image
|
||||||
|
selector: img[alt="CAPTCHA"]
|
||||||
|
input: imagestring
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
logout: ""
|
||||||
|
securelogin: ""
|
||||||
|
ssl: yes
|
||||||
|
trackerssl: yes
|
||||||
|
error:
|
||||||
|
- selector: td.embedded:has(h2:contains("Đăng nhập thất bại!")) # Login failed!
|
||||||
|
- selector: td.embedded:has(h2:contains("Thất bại")) # Failure (captcha)
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||||
|
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||||
|
# 0 incldead, 1 active, 2 dead
|
||||||
|
incldead: 0
|
||||||
|
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||||
|
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||||
|
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||||
|
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
|
||||||
|
# 0 AND, 1 OR, 2 exact
|
||||||
|
search_mode: 0
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
notnewword: 1
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title_default:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
title:
|
||||||
|
selector: a[title][href^="details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result.title_default }}"
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
poster:
|
||||||
|
selector: img[data-src]
|
||||||
|
attribute: data-src
|
||||||
|
imdbid:
|
||||||
|
selector: a[href*="imdb.com/title/tt"]
|
||||||
|
attribute: href
|
||||||
|
date_elapsed:
|
||||||
|
# time type: time elapsed (default)
|
||||||
|
selector: td.rowfollow:nth-child(5) > span[title]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +07:00" # ICT
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
date_added:
|
||||||
|
# time added
|
||||||
|
selector: td.rowfollow:nth-child(5):not(:has(span))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +07:00" # ICT
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: td.rowfollow:nth-child(6)
|
||||||
|
seeders:
|
||||||
|
selector: td.rowfollow:nth-child(7)
|
||||||
|
leechers:
|
||||||
|
selector: td.rowfollow:nth-child(8)
|
||||||
|
grabs:
|
||||||
|
selector: td.rowfollow:nth-child(9)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_free: 0
|
||||||
|
img.pro_free2up: 0
|
||||||
|
img.pro_50pctdown: 0.5
|
||||||
|
img.pro_50pctdown2up: 0.5
|
||||||
|
img.pro_30pctdown: 0.3
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_50pctdown2up: 2
|
||||||
|
img.pro_free2up: 2
|
||||||
|
img.pro_2up: 2
|
||||||
|
"*": 1
|
||||||
|
minimumseedtime:
|
||||||
|
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||||
|
text: 259200
|
||||||
|
description:
|
||||||
|
selector: td:nth-child(3)
|
||||||
|
remove: a, b, font, img, span
|
||||||
|
# NexusPHP 3ChangTrai v3.0 2020-04-30
|
||||||
@@ -0,0 +1,164 @@
|
|||||||
|
---
|
||||||
|
id: 3dtorrents
|
||||||
|
name: 3D Torrents
|
||||||
|
description: "3D Torrents (3DT) is a Private Torrent Tracker for 3D HD / BLURAY MOVIES"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- http://www.3dtorrents.org/ # site does not support https ERR_CONNECTION_CLOSED
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 14, cat: Movies/SD, desc: "Movies XviD"}
|
||||||
|
- {id: 15, cat: Movies/DVD, desc: "Movies DVD-R"}
|
||||||
|
- {id: 11, cat: Movies/HD, desc: "Movies 720p"}
|
||||||
|
- {id: 13, cat: Movies/HD, desc: "Movies 1080p"}
|
||||||
|
- {id: 16, cat: Movies/3D, desc: "Movies 3DTV"}
|
||||||
|
- {id: 17, cat: Movies/BluRay, desc: "Movies Blu-ray"}
|
||||||
|
- {id: 27, cat: Movies/BluRay, desc: "Movies BD25 Encode"}
|
||||||
|
- {id: 33, cat: Movies/BluRay, desc: "Movies BD9 AVCHD"}
|
||||||
|
- {id: 22, cat: Movies, desc: "Movies 2D to 3D Conv"}
|
||||||
|
- {id: 32, cat: Movies, desc: "Bluray MKV Remux"}
|
||||||
|
- {id: 23, cat: Movies/3D, desc: "Movies Evo 3D"}
|
||||||
|
- {id: 36, cat: Movies/UHD, desc: "Movies 4K UHD Bluray"}
|
||||||
|
- {id: 37, cat: Movies/UHD, desc: "Movies 4K UHD Encode"}
|
||||||
|
- {id: 21, cat: PC, desc: "3D Software"}
|
||||||
|
- {id: 28, cat: XXX, desc: "Adult 720p"}
|
||||||
|
- {id: 29, cat: XXX, desc: "Adult 1080p"}
|
||||||
|
- {id: 30, cat: XXX, desc: "Adult Blu-ray"}
|
||||||
|
- {id: 31, cat: Other, desc: "Misc"}
|
||||||
|
- {id: 19, cat: Audio, desc: "Audio Packs"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Filter freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: 3
|
||||||
|
options:
|
||||||
|
3: created
|
||||||
|
5: seeders
|
||||||
|
2: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: 2
|
||||||
|
options:
|
||||||
|
1: desc
|
||||||
|
2: asc
|
||||||
|
- name: info
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Inactivity grace period is three months which means that if you do not log in to the 3Dtorrents web site for 90 days, your account will be deleted. If you are VIP your will stay until the VIP period is over."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: index.php?page=login
|
||||||
|
method: form
|
||||||
|
form: form
|
||||||
|
inputs:
|
||||||
|
uid: "{{ .Config.username }}"
|
||||||
|
pwd: "{{ .Config.password }}"
|
||||||
|
captcha:
|
||||||
|
type: image
|
||||||
|
selector: img.captcha
|
||||||
|
input: private_key
|
||||||
|
error:
|
||||||
|
- selector: span.errormsg
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: index.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
page: torrents
|
||||||
|
category: 0
|
||||||
|
# 0 all, 1 Anaglyph 3D, 2 Side by Side,3 Over Under
|
||||||
|
3dformat: 0
|
||||||
|
# 0 all, 1 active only, 2 dead only
|
||||||
|
active: 0
|
||||||
|
order: "{{ .Config.sort }}"
|
||||||
|
by: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: "table[cellspacing!=\"1\"].lista > tbody > tr:has(a[href^=\"index.php?page=torrents&category=\"]){{ if .Config.freeleech }}:has(img[src=\"images/sign_free.png\"]){{ else }}{{ end }}"
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="index.php?page=torrents&category="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: category
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(\\b0\\b)", "31"]
|
||||||
|
title:
|
||||||
|
selector: a[href^="index.php?page=torrent-details&id="]
|
||||||
|
details:
|
||||||
|
selector: a[href^="index.php?page=torrent-details&id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="index.php?page=torrent-details&id="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["index.php?page=torrent-details&id=", "download.php?id="]
|
||||||
|
poster:
|
||||||
|
selector: a[href^="index.php?page=torrent-details&id="]
|
||||||
|
attribute: onmouseover
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: ",\\'(.+?)\\'"
|
||||||
|
genre:
|
||||||
|
selector: td:nth-child(2) span
|
||||||
|
description:
|
||||||
|
text: "{{ .Result.genre }}"
|
||||||
|
date:
|
||||||
|
selector: td:nth-last-child(5)
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " -07:00" # PDT
|
||||||
|
- name: dateparse
|
||||||
|
args: "dd/MM/yyyy zzz"
|
||||||
|
size:
|
||||||
|
selector: td:nth-last-child(4)
|
||||||
|
seeders:
|
||||||
|
selector: a[href^="index.php?page=peers"]
|
||||||
|
leechers:
|
||||||
|
selector: td:has(a[href^="index.php?page=peers"]) + td
|
||||||
|
grabs:
|
||||||
|
selector: a[href^="index.php?page=torrent_history"]
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src="images/sign_free.png"]: 0
|
||||||
|
img[src="images/50off.png"]: 0.5
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
# xbtit
|
||||||
@@ -0,0 +1,149 @@
|
|||||||
|
---
|
||||||
|
id: 4thd
|
||||||
|
name: 4thD
|
||||||
|
description: "4th Dimension is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||||
|
language: en-US
|
||||||
|
encoding: UTF-8
|
||||||
|
type: private
|
||||||
|
links:
|
||||||
|
- https://4thd.xyz/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 38, cat: Movies, desc: "Movie Pack"}
|
||||||
|
- {id: 36, cat: Movies, desc: "Movies/Classic Films"}
|
||||||
|
- {id: 13, cat: Movies, desc: "Movies/Documentary"}
|
||||||
|
- {id: 21, cat: Movies/Foreign, desc: "Movies/Foreign"}
|
||||||
|
- {id: 27, cat: Movies/HD, desc: "MoviesHD"}
|
||||||
|
- {id: 29, cat: Movies/SD, desc: "Movies/SD"}
|
||||||
|
- {id: 26, cat: Movies/SD, desc: "Movies/XviD"}
|
||||||
|
- {id: 45, cat: Movies, desc: "Movies/Kids"}
|
||||||
|
- {id: 41, cat: TV/Foreign, desc: "Foreign tv"}
|
||||||
|
- {id: 40, cat: TV, desc: "Mini-Series"}
|
||||||
|
- {id: 43, cat: TV/HD, desc: "TV H265"}
|
||||||
|
- {id: 42, cat: TV, desc: "TV Movie"}
|
||||||
|
- {id: 4, cat: TV/HD, desc: "TV/HD-x720"}
|
||||||
|
- {id: 14, cat: TV, desc: "TV/Packs"}
|
||||||
|
- {id: 2, cat: TV/SD, desc: "TV/SD MP4/mkv"}
|
||||||
|
- {id: 31, cat: TV/SD, desc: "TV/XviD"}
|
||||||
|
- {id: 18, cat: PC/Games, desc: "Games/PC"}
|
||||||
|
- {id: 44, cat: Audio, desc: "Music/Pack"}
|
||||||
|
- {id: 12, cat: Audio/Lossless, desc: "Music/FLAC"}
|
||||||
|
- {id: 15, cat: Audio/MP3, desc: "Music/MP3"}
|
||||||
|
- {id: 37, cat: Audio, desc: "Radio"}
|
||||||
|
- {id: 9, cat: PC/0day, desc: "Apps/PC"}
|
||||||
|
- {id: 34, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||||
|
- {id: 25, cat: Books/EBook, desc: "eBooks"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: time
|
||||||
|
options:
|
||||||
|
time: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login.php
|
||||||
|
method: form
|
||||||
|
form: form#loginform
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
keeplogged: 1
|
||||||
|
error:
|
||||||
|
- selector: form#loginform .warning
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href^="logout.php?auth="]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://4thd.xyz/torrents.php?order_by=time&order_way=desc&filter_freeleech=1&title=twilight+zone&search_type=1&taglist=&tags_type=0
|
||||||
|
- path: torrents.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||||
|
order_by: "{{ .Config.sort }}"
|
||||||
|
order_way: "{{ .Config.type }}"
|
||||||
|
# 0 all, 1 onlyfree
|
||||||
|
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}0{{ end }}"
|
||||||
|
title: "{{ .Keywords }}"
|
||||||
|
search_type: 1
|
||||||
|
taglist: ""
|
||||||
|
tags_type: 0
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table#torrent_table > tbody > tr.torrent:has(a[href^="torrents.php?action=download&id="])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: td.cats_col div a
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: \[(\d+)\]
|
||||||
|
title:
|
||||||
|
selector: a[href^="torrents.php?id="]
|
||||||
|
details:
|
||||||
|
selector: a[href^="torrents.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="torrents.php?action=download&id="]
|
||||||
|
attribute: href
|
||||||
|
description:
|
||||||
|
selector: div.tags
|
||||||
|
poster:
|
||||||
|
selector: td:nth-child(2) script
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "src=(.*?)>"
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\\\", ""]
|
||||||
|
files:
|
||||||
|
selector: td:nth-child(3)
|
||||||
|
date:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["Never", "99 years ago"]
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(9)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src$="/freedownload.gif"]: 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# Engine n/a
|
||||||
@@ -0,0 +1,183 @@
|
|||||||
|
---
|
||||||
|
id: 52pt
|
||||||
|
name: 52PT
|
||||||
|
description: "52PT is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||||
|
language: zh-CN
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://52pt.site/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||||
|
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||||
|
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
|
||||||
|
- {id: 402, cat: TV, desc: "TV Series/剧集"}
|
||||||
|
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
|
||||||
|
- {id: 406, cat: Audio/Video, desc: "MusicVideo/音乐MV"}
|
||||||
|
- {id: 407, cat: TV/Sport, desc: "Sports/运体"}
|
||||||
|
- {id: 409, cat: Other, desc: "Misc/其他"}
|
||||||
|
- {id: 410, cat: Other, desc: "Opera/戏曲 曲艺"}
|
||||||
|
- {id: 408, cat: Audio, desc: "HQ Audio/无损音乐"}
|
||||||
|
- {id: 411, cat: XXX, desc: "Erotic/情色"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid, doubanid]
|
||||||
|
movie-search: [q, imdbid, doubanid]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
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_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Account retention rules:<ol><li>Veteran User (junior college) and above will be retained forever</li><li>Elite User (junior high school) and above will not be deleted after parking (in the control panel)</li><li>Users with a parked account who do not log in for 400 consecutive days will be deleted</li><li>Users with non-parked account will be deleted if they do not log in for 150 consecutive days</li><li>Users with no traffic (that is, upload/download data are both 0) will be deleted if they do not log in for 15 consecutive days, or if the registration time reaches 60 days.</li></ol>"
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login.php
|
||||||
|
method: form
|
||||||
|
form: form[action="takelogin.php"]
|
||||||
|
captcha:
|
||||||
|
type: image
|
||||||
|
selector: img[alt="CAPTCHA"]
|
||||||
|
input: imagestring
|
||||||
|
inputs:
|
||||||
|
secret: ""
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
logout: ""
|
||||||
|
securelogin: ""
|
||||||
|
ssl: yes
|
||||||
|
trackerssl: yes
|
||||||
|
error:
|
||||||
|
- selector: td.embedded:has(h2:contains("失败"))
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="usercp.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||||
|
# currently supports only one query id at one time.
|
||||||
|
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||||
|
# 0 incldead, 1 active, 2 dead
|
||||||
|
incldead: 0
|
||||||
|
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||||
|
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||||
|
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||||
|
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||||
|
# 0 AND, 1 OR, 2 exact
|
||||||
|
search_mode: 0
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
notnewword: 1
|
||||||
|
# does not return imdb or doubanid in results
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title_default:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
title:
|
||||||
|
selector: a[title][href^="details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result.title_default }}"
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
date_elapsed:
|
||||||
|
# time type: time elapsed (default)
|
||||||
|
selector: td:nth-child(4) > span[title]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
date_added:
|
||||||
|
# time added
|
||||||
|
selector: td:nth-child(4):not(:has(span))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_free: 0
|
||||||
|
img.pro_free2up: 0
|
||||||
|
img.pro_50pctdown: 0.5
|
||||||
|
img.pro_50pctdown2up: 0.5
|
||||||
|
img.pro_30pctdown: 0.3
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_50pctdown2up: 2
|
||||||
|
img.pro_free2up: 2
|
||||||
|
img.pro_2up: 2
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1
|
||||||
|
minimumseedtime:
|
||||||
|
# 1 day (as seconds = 24 x 60 x 60)
|
||||||
|
text: 86400
|
||||||
|
description:
|
||||||
|
selector: td:nth-child(2)
|
||||||
|
remove: a, b, font, img, span
|
||||||
|
# NexusPHP Standard v1.5 Beta 4
|
||||||
@@ -0,0 +1,240 @@
|
|||||||
|
---
|
||||||
|
id: Bittorrentfiles
|
||||||
|
name: Bittorrentfiles
|
||||||
|
description: "Bittorrentfiles is a Private GERMAN tracker"
|
||||||
|
language: de-DE
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://bittorrentfiles.me/
|
||||||
|
legacylinks:
|
||||||
|
- https://www.Bittorrentfiles.me/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
# Movie
|
||||||
|
- {id: 48, cat: Movies/HD, desc: "Movie 1080p"}
|
||||||
|
- {id: 31, cat: Movies/3D, desc: "Movie 3D"}
|
||||||
|
- {id: 21, cat: Movies/HD, desc: "Movie 720p"}
|
||||||
|
- {id: 28, cat: Movies/SD, desc: "Movie AVI"}
|
||||||
|
- {id: 20, cat: Movies/DVD, desc: "Movie DVD-R"}
|
||||||
|
- {id: 40, cat: Movies/HD, desc: Movie "h264/x264"}
|
||||||
|
- {id: 30, cat: Movies/HD, desc: "Movie HD/BD"}
|
||||||
|
- {id: 49, cat: Movies/Foreign, desc: "Movie International"}
|
||||||
|
- {id: 78, cat: Movies/UHD, desc: "Movie UHD"}
|
||||||
|
- {id: 85, cat: Movies/HD, desc: "Movie x265"}
|
||||||
|
# Serien
|
||||||
|
- {id: 79, cat: TV/HD, desc: "Staffeln HD"}
|
||||||
|
- {id: 56, cat: TV/SD, desc: "Staffeln SD"}
|
||||||
|
- {id: 88, cat: TV/UHD, desc: "Staffeln UHD"}
|
||||||
|
- {id: 86, cat: TV/UHD, desc: "Folgen UHD"}
|
||||||
|
- {id: 54, cat: TV/HD, desc: "Folgen HD"}
|
||||||
|
- {id: 80, cat: TV/HD, desc: "Folgen HD/BD"}
|
||||||
|
- {id: 7, cat: TV/SD, desc: "Folgen SD"}
|
||||||
|
- {id: 55, cat: TV/Foreign, desc: "Folgen International"}
|
||||||
|
# Doku
|
||||||
|
- {id: 91, cat: TV/Documentary, desc: "Doku UHD"}
|
||||||
|
- {id: 64, cat: TV/Documentary, desc: "Doku HD"}
|
||||||
|
- {id: 36, cat: TV/Documentary, desc: "Doku SD"}
|
||||||
|
- {id: 81, cat: TV/Documentary, desc: "Doku 3D"}
|
||||||
|
- {id: 82, cat: TV/Documentary, desc: "Doku Packs"}
|
||||||
|
# Spiele
|
||||||
|
- {id: 4, cat: PC/Games, desc: "Spiele Windows"}
|
||||||
|
- {id: 92, cat: PC/Mac, desc: "Spiele Mac"}
|
||||||
|
- {id: 93, cat: PC, desc: "Spiele Linux"}
|
||||||
|
- {id: 97, cat: Console/XBox, desc: "Spiele XBOX"}
|
||||||
|
- {id: 94, cat: PC/Mobile-Other, desc: "Spiele Mobile"}
|
||||||
|
- {id: 95, cat: Console/NDS, desc: "Spiele Nintendo"}
|
||||||
|
- {id: 96, cat: Console/PSP, desc: "Spiele Playstation"}
|
||||||
|
- {id: 42, cat: Console/Other, desc: "Spiele Andere"}
|
||||||
|
# Musik
|
||||||
|
- {id: 66, cat: Audio, desc: "Musik Alben"}
|
||||||
|
- {id: 75, cat: Audio, desc: "Musik Singles"}
|
||||||
|
- {id: 50, cat: Audio, desc: "Musik Charts"}
|
||||||
|
- {id: 52, cat: Audio, desc: "Musik Packs"}
|
||||||
|
- {id: 53, cat: Audio/Video, desc: "Musik Video"}
|
||||||
|
- {id: 61, cat: Audio/Video, desc: "Musik DVD-R"}
|
||||||
|
- {id: 83, cat: Audio/Lossless, desc: "Musik Flac"}
|
||||||
|
- {id: 68, cat: Audio, desc: "Musik Live"}
|
||||||
|
- {id: 6, cat: Audio, desc: "Musik Misc"}
|
||||||
|
- {id: 51, cat: Audio, desc: "Musik OST"}
|
||||||
|
- {id: 67, cat: Audio, desc: "Musik Sampler"}
|
||||||
|
# App
|
||||||
|
- {id: 98, cat: PC/0day, desc: "App Windows"}
|
||||||
|
- {id: 62, cat: PC/Mac, desc: "App Mac OS"}
|
||||||
|
- {id: 63, cat: PC/0day, desc: "App Linux"}
|
||||||
|
- {id: 34, cat: PC, desc: "App Andere"}
|
||||||
|
# Sport
|
||||||
|
- {id: 74, cat: TV/Sport, desc: "Sport HD"}
|
||||||
|
- {id: 39, cat: TV/Sport, desc: "Sport SD"}
|
||||||
|
# Sonstiges
|
||||||
|
- {id: 41, cat: Audio/Audiobook, desc: "Sonstiges A-Book"}
|
||||||
|
- {id: 33, cat: TV/Anime, desc: "Sonstiges Anime"}
|
||||||
|
- {id: 35, cat: Books/EBook, desc: "Sonstiges e-Book-DE"}
|
||||||
|
- {id: 90, cat: Books/EBook, desc: "Sonstiges e-Book-INT"}
|
||||||
|
- {id: 65, cat: Other, desc: "Sonstiges E-Learning"}
|
||||||
|
- {id: 37, cat: PC, desc: "Sonstiges Mobile"}
|
||||||
|
- {id: 87, cat: Books/Mags, desc: "Sonstiges E-Paper"}
|
||||||
|
- {id: 38, cat: Other, desc: "Sonstiges Kids"}
|
||||||
|
- {id: 47, cat: Other, desc: "Sonstiges Line"}
|
||||||
|
- {id: 9, cat: Other, desc: "Sonstiges Andere"}
|
||||||
|
# XXX
|
||||||
|
- {id: 58, cat: XXX/x264, desc: "XXX HD"}
|
||||||
|
- {id: 46, cat: XXX, desc: "XXX Hentai"}
|
||||||
|
- {id: 59, cat: XXX/Pack, desc: "XXX Pack"}
|
||||||
|
- {id: 27, cat: XXX/SD, desc: "XXX SD"}
|
||||||
|
- {id: 76, cat: XXX, desc: "XXX Andere"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid]
|
||||||
|
movie-search: [q, imdbid]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: user
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: pass
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: added
|
||||||
|
options:
|
||||||
|
added: created
|
||||||
|
seeds: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
- name: info_account
|
||||||
|
type: info
|
||||||
|
label: Account Settings
|
||||||
|
default: In order to see the correct date and size in the torrent rows, change the <b>Torrentliste:</b> setting to <b>Modern</b> on your account profile.
|
||||||
|
- name: info_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Inactive accounts of users, power users and mega users will be permanently deleted from the database after 125 days! Torrents in your share don't count as activity - only logging in again counts! You can extend this period to 250 days by setting your account to parking. You can find the option to do this under Edit Profile."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: signin.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
user: "{{ .Config.user }}"
|
||||||
|
pass: "{{ .Config.pass }}"
|
||||||
|
returnto: "%2Fbrowse.php"
|
||||||
|
error:
|
||||||
|
- selector: .error
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href^="/logout.php?c="]
|
||||||
|
|
||||||
|
search:
|
||||||
|
path: browse.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||||
|
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||||
|
# 0=title, 1=descr, 2=nfo, 3=all, 4=imdb
|
||||||
|
search_where: "{{ if .Query.IMDBID }}3{{ else }}0{{ end }}"
|
||||||
|
# 0=active, 1=all, 2=onlydead, 4=only upload, 5=doubleup, 6=halfdown, 7=highlight, 8=request
|
||||||
|
status: "{{ if .Config.freeleech }}4{{ else }}1{{ end }}"
|
||||||
|
orderby: "{{ .Config.sort }}"
|
||||||
|
sort: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.tableinborder > tbody > tr:has(a[href^="/download.php"])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="/browse.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title:
|
||||||
|
selector: a[href^="details.php"]
|
||||||
|
attribute: title
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php"]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="/download.php"]
|
||||||
|
attribute: href
|
||||||
|
grabs:
|
||||||
|
selector: a[title="Snatcher"]
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
files:
|
||||||
|
selector: a[title="Files"]
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
seeders:
|
||||||
|
selector: a[title="Seeder"]
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
leechers:
|
||||||
|
selector: a[title="Leecher"]
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
# 2 flavours of dates
|
||||||
|
date_day:
|
||||||
|
# Heute 13:30:04
|
||||||
|
# Gestern 09:10:10
|
||||||
|
selector: td:nth-child(10):contains("Heute"), td:nth-child(10):contains("Gestern")
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: split
|
||||||
|
args: ["b", 0]
|
||||||
|
- name: replace
|
||||||
|
args: ["Heute", "Today"]
|
||||||
|
- name: replace
|
||||||
|
args: ["Gestern", "Yesterday"]
|
||||||
|
- name: append
|
||||||
|
args: " +01:00" # CET
|
||||||
|
date_year:
|
||||||
|
# 30.02.2018 23:12:50
|
||||||
|
selector: td:nth-child(10):contains("."):contains(":")
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: split
|
||||||
|
args: ["b", 0]
|
||||||
|
- name: append
|
||||||
|
args: " +01:00" # CET
|
||||||
|
- name: dateparse
|
||||||
|
args: "dd.MM.yyyy HH:mm:ss zzz"
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[alt="OU"]: 0
|
||||||
|
img[alt="D/2"]: 0.5
|
||||||
|
img[alt="D / 2"]: 0.5
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[alt="2xU"]: 2
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 0.8
|
||||||
|
minimumseedtime:
|
||||||
|
# 60 hours (as seconds = 60 x 60 x 60)
|
||||||
|
text: 216000
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,177 @@
|
|||||||
|
---
|
||||||
|
id: abnormal
|
||||||
|
name: Abnormal
|
||||||
|
description: "General French Private Tracker"
|
||||||
|
language: fr-FR
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
requestDelay: 2.1
|
||||||
|
links:
|
||||||
|
- https://abn.lol/
|
||||||
|
legacylinks:
|
||||||
|
- https://abnormal.ws
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: TV, desc: "Series"}
|
||||||
|
- {id: 2, cat: Movies, desc: "Movies"}
|
||||||
|
- {id: 3, cat: TV/Documentary, desc: "Documentaries"}
|
||||||
|
- {id: 4, cat: TV/Anime, desc: "Anime"}
|
||||||
|
- {id: 5, cat: PC/Games, desc: "Games"}
|
||||||
|
- {id: 6, cat: PC, desc: "Applications"}
|
||||||
|
- {id: 7, cat: Books/EBook, desc: "Ebooks"}
|
||||||
|
- {id: 9, cat: TV, desc: "Emissions"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: multilang
|
||||||
|
type: checkbox
|
||||||
|
label: Replace MULTi by another language in release name
|
||||||
|
default: false
|
||||||
|
- name: multilanguage
|
||||||
|
type: select
|
||||||
|
label: Replace MULTi by this language
|
||||||
|
default: FRENCH
|
||||||
|
options:
|
||||||
|
FRENCH: FRENCH
|
||||||
|
MULTi.FRENCH: MULTi.FRENCH
|
||||||
|
ENGLISH: ENGLISH
|
||||||
|
MULTi.ENGLISH: MULTi.ENGLISH
|
||||||
|
VOSTFR: VOSTFR
|
||||||
|
MULTi.VOSTFR: MULTi.VOSTFR
|
||||||
|
- name: vostfr
|
||||||
|
type: checkbox
|
||||||
|
label: Replace VOSTFR and SUBFRENCH with ENGLISH
|
||||||
|
default: false
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: Created
|
||||||
|
options:
|
||||||
|
Created: created
|
||||||
|
Seeders: seeders
|
||||||
|
Size: size
|
||||||
|
ReleaseName: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Accounts are automatically deactivated after 4 months of inactivity (no connection to the site)."
|
||||||
|
|
||||||
|
login:
|
||||||
|
method: form
|
||||||
|
path: Home/Login
|
||||||
|
form: "#account"
|
||||||
|
inputs:
|
||||||
|
Username: "{{ .Config.username }}"
|
||||||
|
Password: "{{ .Config.password }}"
|
||||||
|
RememberMe: true
|
||||||
|
selectorinputs:
|
||||||
|
__RequestVerificationToken:
|
||||||
|
selector: input[name="__RequestVerificationToken"]
|
||||||
|
attribute: value
|
||||||
|
error:
|
||||||
|
- selector: div.validation-summary-errors[data-valmsg-summary="true"]
|
||||||
|
message:
|
||||||
|
text: " - Bad username/password."
|
||||||
|
test:
|
||||||
|
path: /
|
||||||
|
selector: form#logoutForm
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: Torrent
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}SelectedCats={{.}}&{{end}}"
|
||||||
|
Search: "{{ .Keywords }}"
|
||||||
|
UserId: ""
|
||||||
|
YearOperator: ≥
|
||||||
|
Year: ""
|
||||||
|
RatingOperator: ≥
|
||||||
|
Rating: ""
|
||||||
|
Pending: ""
|
||||||
|
Pack: ""
|
||||||
|
Scene: ""
|
||||||
|
Freeleech: "{{ if .Config.freeleech }}true{{ else }}{{ end }}"
|
||||||
|
SortOn: "{{ .Config.sort }}"
|
||||||
|
SortOrder: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.table-rows > tbody > tr:has(a[href^="/Torrent/Download?ReleaseId="])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="/Torrent?SelectedCats="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: SelectedCats
|
||||||
|
title_phase1:
|
||||||
|
selector: td.grid-release-column > a
|
||||||
|
title_vostfr:
|
||||||
|
text: "{{ .Result.title_phase1 }}"
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
|
||||||
|
title_phase2:
|
||||||
|
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
|
||||||
|
title_multilang:
|
||||||
|
text: "{{ .Result.title_phase2 }}"
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
|
||||||
|
title:
|
||||||
|
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
|
||||||
|
details:
|
||||||
|
selector: a[href^="/Torrent/Details?ReleaseId="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="/Torrent/Download?ReleaseId="]
|
||||||
|
attribute: href
|
||||||
|
date:
|
||||||
|
text: now
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: [",", "."]
|
||||||
|
- name: replace
|
||||||
|
args: ["o", "B"]
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[title="Freeleech"]: 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
minimumseedtime:
|
||||||
|
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||||||
|
text: 345600
|
||||||
|
# Gazelle
|
||||||
@@ -0,0 +1,180 @@
|
|||||||
|
---
|
||||||
|
id: abtorrents
|
||||||
|
name: ABtorrents
|
||||||
|
description: "ABtorrents (ABT) is a Private Torrent Tracker for AUDIOBOOKS"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://abtorrents.me/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 10, cat: Audio/Audiobook, desc: "Action/Adventure"}
|
||||||
|
- {id: 20, cat: Audio/Audiobook, desc: "Biography/Memoirs"}
|
||||||
|
- {id: 30, cat: Audio/Audiobook, desc: "Business "}
|
||||||
|
- {id: 40, cat: Audio/Audiobook, desc: "Childrens"}
|
||||||
|
- {id: 50, cat: Audio/Audiobook, desc: "Humor (Comedy)"}
|
||||||
|
- {id: 60, cat: Audio/Audiobook, desc: "Comics"}
|
||||||
|
- {id: 70, cat: Audio/Audiobook, desc: "Computers "}
|
||||||
|
- {id: 80, cat: Audio/Audiobook, desc: "Adult/Erotica"}
|
||||||
|
- {id: 90, cat: Audio/Audiobook, desc: "Fantasy-General"}
|
||||||
|
- {id: 100, cat: Audio/Audiobook, desc: "Fantasy-Youth"}
|
||||||
|
- {id: 110, cat: Audio/Audiobook, desc: "Files"}
|
||||||
|
- {id: 120, cat: Audio/Audiobook, desc: "Foreign Language"}
|
||||||
|
- {id: 130, cat: Audio/Audiobook, desc: "General Fiction"}
|
||||||
|
- {id: 140, cat: Audio/Audiobook, desc: "Historical Fiction"}
|
||||||
|
- {id: 150, cat: Audio/Audiobook, desc: "History"}
|
||||||
|
- {id: 160, cat: Audio/Audiobook, desc: "Horror"}
|
||||||
|
- {id: 170, cat: Audio/Audiobook, desc: "Literature"}
|
||||||
|
- {id: 175, cat: Audio/Audiobook, desc: "LitRPG"}
|
||||||
|
- {id: 180, cat: Audio/Audiobook, desc: "Mystery "}
|
||||||
|
- {id: 190, cat: Audio/Audiobook, desc: "Non-Fiction"}
|
||||||
|
- {id: 200, cat: Audio/Audiobook, desc: "Radio Drama"}
|
||||||
|
- {id: 210, cat: Audio/Audiobook, desc: "Romance"}
|
||||||
|
- {id: 220, cat: Audio/Audiobook, desc: "Science"}
|
||||||
|
- {id: 230, cat: Audio/Audiobook, desc: "Science Fiction "}
|
||||||
|
- {id: 240, cat: Audio/Audiobook, desc: "Sci-Fi Apocalypse"}
|
||||||
|
- {id: 250, cat: Audio/Audiobook, desc: "Self Improvement"}
|
||||||
|
- {id: 270, cat: Audio/Audiobook, desc: "Suspense"}
|
||||||
|
- {id: 280, cat: Audio/Audiobook, desc: "Talk Radio"}
|
||||||
|
- {id: 260, cat: Audio/Audiobook, desc: "Crime/Thriller/Mystery"}
|
||||||
|
- {id: 290, cat: Audio/Audiobook, desc: "Urban Fantasy"}
|
||||||
|
- {id: 300, cat: Audio/Audiobook, desc: "Western"}
|
||||||
|
- {id: 400, cat: Books/EBook, desc: "[E] Action/Adventure"}
|
||||||
|
- {id: 410, cat: Books/EBook, desc: "[E] Adult / Erotica"}
|
||||||
|
- {id: 420, cat: Books/EBook, desc: "[E] Arts & Crafts (Hobbies)"}
|
||||||
|
- {id: 430, cat: Books/EBook, desc: "[E] Biography/Memoirs"}
|
||||||
|
- {id: 730, cat: Books/EBook, desc: "[E] Collections"}
|
||||||
|
- {id: 440, cat: Books/EBook, desc: "[E] Comic Books"}
|
||||||
|
- {id: 450, cat: Books/EBook, desc: "[E] Computer Learning"}
|
||||||
|
- {id: 460, cat: Books/EBook, desc: "[E] Cookery"}
|
||||||
|
- {id: 470, cat: Books/EBook, desc: "[E] Crime/Thriller/Mystery"}
|
||||||
|
- {id: 480, cat: Books/EBook, desc: "[E] Fantasy"}
|
||||||
|
- {id: 490, cat: Books/EBook, desc: "[E] Forteana"}
|
||||||
|
- {id: 500, cat: Books/EBook, desc: "[E] General Fiction"}
|
||||||
|
- {id: 510, cat: Books/EBook, desc: "[E] Historical Fiction"}
|
||||||
|
- {id: 520, cat: Books/EBook, desc: "[E] History/Documentary"}
|
||||||
|
- {id: 530, cat: Books/EBook, desc: "[E] Horror"}
|
||||||
|
- {id: 540, cat: Books/EBook, desc: "[E] Humor (Comedy)"}
|
||||||
|
- {id: 550, cat: Books/EBook, desc: "[E] LGBT"}
|
||||||
|
- {id: 560, cat: Books/EBook, desc: "[E] Literary Fiction"}
|
||||||
|
- {id: 565, cat: Books/EBook, desc: "[E] LitRPG"}
|
||||||
|
- {id: 570, cat: Books/EBook, desc: "[E] Magazines - all"}
|
||||||
|
- {id: 580, cat: Books/EBook, desc: "[E] Non-Fiction"}
|
||||||
|
- {id: 585, cat: Books/EBook, desc: "[E] Other Languages"}
|
||||||
|
- {id: 590, cat: Books/EBook, desc: "[E] Paranormal Romance"}
|
||||||
|
- {id: 600, cat: Books/EBook, desc: "[E] Reference/Educational"}
|
||||||
|
- {id: 610, cat: Books/EBook, desc: "[E] Religion and Spirituality"}
|
||||||
|
- {id: 620, cat: Books/EBook, desc: "[E] Romance"}
|
||||||
|
- {id: 630, cat: Books/EBook, desc: "[E] Sci-Fi"}
|
||||||
|
- {id: 640, cat: Books/EBook, desc: "[E] Sci-Fi/Apocalyptic"}
|
||||||
|
- {id: 650, cat: Books/EBook, desc: "[E] Self-Help"}
|
||||||
|
- {id: 660, cat: Books/EBook, desc: "[E] Sports/Fitness"}
|
||||||
|
- {id: 670, cat: Books/EBook, desc: "[E] Travel"}
|
||||||
|
- {id: 680, cat: Books/EBook, desc: "[E] Unsorted"}
|
||||||
|
- {id: 690, cat: Books/EBook, desc: "[E] Urban Fantasy/Paranormal"}
|
||||||
|
- {id: 700, cat: Books/EBook, desc: "[E] Western"}
|
||||||
|
- {id: 710, cat: Books/EBook, desc: "[E] Young Adult"}
|
||||||
|
- {id: 720, cat: Books/EBook, desc: "[E] Young Children"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: cookie
|
||||||
|
type: text
|
||||||
|
label: Cookie
|
||||||
|
- name: info
|
||||||
|
type: info
|
||||||
|
label: How to get the Cookie
|
||||||
|
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: info_results
|
||||||
|
type: info
|
||||||
|
label: Search results
|
||||||
|
default: "If you are getting the error <b>Login Failed, got redirected</b> then access the site with your browser and <b>mark as read</b> all PMs."
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Account retention rules:<ol><li>Any account that has unread PMs older than 14 days or has not logged in for 30 days will be suspended</li><li>Any account that has not been logged into for 90 days is deemed inactive and will thus be purged</li><li>Any account that has not been logged into for 30 days is deemed inactive and will be put on suspension until User logs in again</li><li>User’s stats, points, and history are irrevocably lost when purged</li><li>Logging into the site is the ONLY way to keep an account active</li><li>SEEDING ONLY does NOT constitute site activity.</li></ol>"
|
||||||
|
|
||||||
|
login:
|
||||||
|
method: cookie
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href*="logout.php?hash_please="]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
# title, descr
|
||||||
|
searchin: title
|
||||||
|
# 0 active, 1 incldead, 2 onlydead
|
||||||
|
incldead: 1
|
||||||
|
# 1 onlyfree, null all
|
||||||
|
only_free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.table-striped > tbody > tr:has(a[href^="download.php?torrent="])
|
||||||
|
|
||||||
|
fields: # some users (rank specific?) have an extra column (td:nth-child(4)) with bookmark features
|
||||||
|
category:
|
||||||
|
selector: a[href^="browse.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
remove: span
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?torrent="]
|
||||||
|
attribute: href
|
||||||
|
files:
|
||||||
|
selector: a[href^="filelist.php?id="]
|
||||||
|
date_day:
|
||||||
|
# auto adjusted by site account profile
|
||||||
|
# Yesterday 6:00 AM
|
||||||
|
selector: td:nth-last-child(2) > div:contains("day")
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: fuzzytime
|
||||||
|
date_year:
|
||||||
|
# auto adjusted by site account profile
|
||||||
|
# Aug 6 2021 7:25 PM
|
||||||
|
selector: td:nth-last-child(2) > div:not(:contains("day"))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: dateparse
|
||||||
|
args: "MMM d yyyy h:mm tt"
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: td:nth-last-child(4) div:first-child
|
||||||
|
grabs:
|
||||||
|
selector: a[href^="snatches.php?id="]
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-last-child(3) div:nth-last-child(2)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-last-child(3) div:last-child
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
tr.freeleech_color: 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
minimumseedtime:
|
||||||
|
# 14 days (as seconds = 14 x 24 x 60 x 60)
|
||||||
|
text: 1209600
|
||||||
|
# U-232 V4.5
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
---
|
||||||
|
id: acgrip
|
||||||
|
name: ACG.RIP
|
||||||
|
description: "ACG.RIP is a CHINESE Public torrent tracker for the latest anime and Japanese related torrents"
|
||||||
|
language: zh-CN
|
||||||
|
type: public
|
||||||
|
followredirect: true
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://acg.rip/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categories:
|
||||||
|
1: TV
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
|
||||||
|
settings: []
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
inputs:
|
||||||
|
term: "{{ .Keywords }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: tbody tr
|
||||||
|
|
||||||
|
fields:
|
||||||
|
title:
|
||||||
|
selector: td.title > span.title a
|
||||||
|
category:
|
||||||
|
text: 1
|
||||||
|
details:
|
||||||
|
selector: td.title > span.title a
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: td.action a
|
||||||
|
attribute: href
|
||||||
|
size:
|
||||||
|
selector: td.size
|
||||||
|
seeders:
|
||||||
|
selector: td.peers div.seed
|
||||||
|
leechers:
|
||||||
|
selector: td.peers div.leech
|
||||||
|
grabs:
|
||||||
|
selector: td.peers div.done
|
||||||
|
date:
|
||||||
|
selector: td.date time
|
||||||
|
attribute: datetime
|
||||||
|
filters:
|
||||||
|
- name: fuzzytime
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,188 @@
|
|||||||
|
---
|
||||||
|
id: acidlounge
|
||||||
|
name: Acid-Lounge
|
||||||
|
description: "Acid Lounge (A-L) is a Private Torrent Tracker for 0DAY / GENERAL"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://www.acid-lounge.org.uk/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 79, cat: PC/Mobile-Android, desc: "Android"}
|
||||||
|
- {id: 61, cat: TV/Anime, desc: "Anime"}
|
||||||
|
- {id: 55, cat: PC/0day, desc: "Appz/0-Day"}
|
||||||
|
- {id: 59, cat: PC/Mac, desc: "Appz/Mac"}
|
||||||
|
- {id: 22, cat: PC, desc: "Appz/Misc"}
|
||||||
|
- {id: 32, cat: PC, desc: "Appz/PC"}
|
||||||
|
- {id: 48, cat: Audio/Audiobook, desc: "Audio/Books"}
|
||||||
|
- {id: 84, cat: Other, desc: "Damaged Torrent"}
|
||||||
|
- {id: 14, cat: Books/EBook, desc: "eBooks"}
|
||||||
|
- {id: 82, cat: Books/Comics, desc: "eBooks/Comics"}
|
||||||
|
- {id: 81, cat: Books/Mags, desc: "eBooks/Mags"}
|
||||||
|
- {id: 60, cat: PC/Mac, desc: "Games/Mac"}
|
||||||
|
- {id: 54, cat: Console/NDS, desc: "Games/NDS"}
|
||||||
|
- {id: 4, cat: PC/Games, desc: "Games/PC"}
|
||||||
|
- {id: 42, cat: Console/PS3, desc: "Games/PS3"}
|
||||||
|
- {id: 56, cat: Console/Wii, desc: "Games/Wii"}
|
||||||
|
- {id: 36, cat: Console/XBox 360, desc: "Games/xbox360"}
|
||||||
|
- {id: 69, cat: Other, desc: "Halloween"}
|
||||||
|
- {id: 80, cat: PC/Mobile-iOS, desc: "iPhone / iPad"}
|
||||||
|
- {id: 46, cat: Other, desc: "Kids"}
|
||||||
|
- {id: 63, cat: PC, desc: "Linux"}
|
||||||
|
- {id: 49, cat: Other, desc: "Misc"}
|
||||||
|
- {id: 77, cat: Movies/3D, desc: "Movies/3D BLURAY"}
|
||||||
|
- {id: 73, cat: Movies/HD, desc: "Movies/Boxsets HD"}
|
||||||
|
- {id: 74, cat: Movies/SD, desc: "Movies/Boxsets SD"}
|
||||||
|
- {id: 25, cat: Movies/DVD, desc: "Movies/DVD-R"}
|
||||||
|
- {id: 51, cat: Movies/HD, desc: "Movies/HD"}
|
||||||
|
- {id: 26, cat: Movies, desc: "Movies/Retro"}
|
||||||
|
- {id: 29, cat: Movies/SD, desc: "Movies/SD"}
|
||||||
|
- {id: 52, cat: Movies/SD, desc: "Movies/WMV"}
|
||||||
|
- {id: 85, cat: Movies/HD, desc: "Movies/X265"}
|
||||||
|
- {id: 66, cat: Audio/Lossless, desc: "Music/Flac"}
|
||||||
|
- {id: 35, cat: Audio/MP3, desc: "Music/MP3"}
|
||||||
|
- {id: 31, cat: Audio/Video, desc: "Music/Videos"}
|
||||||
|
- {id: 72, cat: Movies, desc: "Sci-Fi"}
|
||||||
|
- {id: 83, cat: Movies, desc: "Tribute Packs"}
|
||||||
|
- {id: 30, cat: TV, desc: "TV"}
|
||||||
|
- {id: 50, cat: TV/HD, desc: "TV-HD/X264"}
|
||||||
|
- {id: 71, cat: TV/SD, desc: "TV-SD/X264"}
|
||||||
|
- {id: 75, cat: TV/HD, desc: "TV/Boxsets HD"}
|
||||||
|
- {id: 76, cat: TV/SD, desc: "TV/Boxsets SD"}
|
||||||
|
- {id: 37, cat: XXX, desc: "XXX"}
|
||||||
|
- {id: 68, cat: XXX, desc: "XXX/0-Day"}
|
||||||
|
- {id: 78, cat: XXX, desc: "XXX/3D"}
|
||||||
|
- {id: 67, cat: XXX/ImageSet, desc: "XXX/Imagesets"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: dateAdded
|
||||||
|
options:
|
||||||
|
dateAdded: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Accounts with nothing uploaded/ downloaded will be disabled after 4 weeks."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: Main/?act=Login
|
||||||
|
method: form
|
||||||
|
form: form#login
|
||||||
|
captcha:
|
||||||
|
type: image
|
||||||
|
selector: img[alt="Security code"]
|
||||||
|
input: code
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: div.errorWrap
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href$="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}cat[]={{.}}&{{end}}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
# alive, aliveanddead, nobot, dead, free, nuked
|
||||||
|
status: "{{ if .Config.freeleech }}free{{ else }}aliveanddead{{ end }}"
|
||||||
|
# title, desc, both
|
||||||
|
search_type: title
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
order: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table#browse_torrents_table > tbody > tr[id^="torrent_row_"]
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="browse.php?cat[]="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat[]
|
||||||
|
title:
|
||||||
|
selector: a.torrent_name
|
||||||
|
attribute: title
|
||||||
|
details:
|
||||||
|
selector: a.torrent_name
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?"]
|
||||||
|
attribute: href
|
||||||
|
description:
|
||||||
|
selector: span.torrent_small_desc
|
||||||
|
genre:
|
||||||
|
selector: span.torrent_small_desc
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "\\[.+?\\] \\[(.+?)\\]"
|
||||||
|
- name: replace
|
||||||
|
args: [" ", "_"]
|
||||||
|
files:
|
||||||
|
selector: td.torrent_table_files
|
||||||
|
date:
|
||||||
|
selector: td.torrent_table_dateAdded
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +01:00" # CET
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
size:
|
||||||
|
selector: td.torrent_table_size
|
||||||
|
grabs:
|
||||||
|
selector: td.torrent_table_snatched
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: (\d+)
|
||||||
|
seeders:
|
||||||
|
selector: td.torrent_table_seeders
|
||||||
|
leechers:
|
||||||
|
selector: td.torrent_table_leechers
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
":root div#notice_ratioBoostingMadness": 0
|
||||||
|
img[src$="images/freedownload.gif"]: 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
minimumseedtime:
|
||||||
|
# 5 day (as seconds = 5 x 24 x 60 x 60)
|
||||||
|
text: 432000 # 3 days for torrents under 20GB
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
---
|
||||||
|
id: acrossthetasman
|
||||||
|
name: Across The Tasman
|
||||||
|
description: "ATT is a torrent site for Rugby and other sports played in Australia"
|
||||||
|
language: en-AU
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://acrossthetasman.com/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categories:
|
||||||
|
1: TV/Sport
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: date
|
||||||
|
options:
|
||||||
|
date: created
|
||||||
|
filename: title
|
||||||
|
size: size
|
||||||
|
seeders: seeders
|
||||||
|
- name: order
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
|
||||||
|
login:
|
||||||
|
method: post
|
||||||
|
path: login.php
|
||||||
|
inputs:
|
||||||
|
vb_login_username: "{{ .Config.username }}"
|
||||||
|
vb_login_password: "{{ .Config.password }}"
|
||||||
|
cookieuser: 1
|
||||||
|
do: login
|
||||||
|
test:
|
||||||
|
path: torrents.php
|
||||||
|
selector: a[href*="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents.php
|
||||||
|
inputs:
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
order: "{{ .Config.order }}"
|
||||||
|
query: "{{ .Keywords }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table[width='100%'][align='center']:not([class]) > tbody > tr
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
text: 1
|
||||||
|
date:
|
||||||
|
# Feb 12, 2021
|
||||||
|
selector: td:nth-child(1)
|
||||||
|
filters:
|
||||||
|
- name: dateparse
|
||||||
|
args: "MMM dd, yyyy"
|
||||||
|
title:
|
||||||
|
selector: td:nth-child(4) > span:nth-child(1)
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["[\\s]+Uploaded.*", ""]
|
||||||
|
download:
|
||||||
|
selector: a[href*="attachment.php?attachmentid="]
|
||||||
|
attribute: href
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(10)
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,186 @@
|
|||||||
|
---
|
||||||
|
id: aftershock
|
||||||
|
name: Aftershock
|
||||||
|
description: "Aftershock is a HUNGARIAN Private Torrent Tracker for MOVIES / GENERAL"
|
||||||
|
language: hu-HU
|
||||||
|
type: private
|
||||||
|
encoding: iso-8859-1
|
||||||
|
links:
|
||||||
|
- https://aftershock-tracker.net/
|
||||||
|
legacylinks:
|
||||||
|
- https://aftershock-tracker.eu/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 7, cat: Movies/SD, desc: "XvidEng"}
|
||||||
|
- {id: 2, cat: Movies, desc: "AfterShock Release"}
|
||||||
|
- {id: 190, cat: Movies/DVD, desc: "DVD-9Eng"}
|
||||||
|
- {id: 191, cat: Movies/DVD, desc: "DVD-9Hun"}
|
||||||
|
- {id: 1, cat: Movies/DVD, desc: "DVDEng"}
|
||||||
|
- {id: 4, cat: Movies/DVD, desc: "DVDHun"}
|
||||||
|
- {id: 23, cat: Books/EBook, desc: "E-Book"}
|
||||||
|
- {id: 3, cat: Movies, desc: "Film Pack"}
|
||||||
|
- {id: 185, cat: Audio/Lossless, desc: "FLACeng"}
|
||||||
|
- {id: 188, cat: Audio/Lossless, desc: "FLAChu"}
|
||||||
|
- {id: 173, cat: Audio/Audiobook, desc: "Hangoskönyv"}
|
||||||
|
- {id: 34, cat: Movies/HD, desc: "HDEng"}
|
||||||
|
- {id: 33, cat: Movies/HD, desc: "HDHun"}
|
||||||
|
- {id: 182, cat: XXX/x264, desc: "HDXXX"}
|
||||||
|
- {id: 12, cat: PC/Games, desc: "JátékIso"}
|
||||||
|
- {id: 130, cat: Console, desc: "JátékKonzol"}
|
||||||
|
- {id: 38, cat: Console/PSP, desc: "JátékPS2"}
|
||||||
|
- {id: 44, cat: Console, desc: "Jatekrip"}
|
||||||
|
- {id: 131, cat: Console/XBox, desc: "JátékX-box"}
|
||||||
|
- {id: 140, cat: Other, desc: "Képek"}
|
||||||
|
- {id: 141, cat: Other, desc: "Klipek"}
|
||||||
|
- {id: 154, cat: Other, desc: "MeseEng"}
|
||||||
|
- {id: 155, cat: Other, desc: "MeseHun"}
|
||||||
|
- {id: 176, cat: Other, desc: "Mikro HDEng"}
|
||||||
|
- {id: 174, cat: Other, desc: "Mikro HDHun"}
|
||||||
|
- {id: 37, cat: PC/Mobile-Other, desc: "MobilPDA"}
|
||||||
|
- {id: 35, cat: PC, desc: "ProgramEgyéb"}
|
||||||
|
- {id: 170, cat: PC/ISO, desc: "ProgramIso"}
|
||||||
|
- {id: 24, cat: TV, desc: "Sorozat Eng"}
|
||||||
|
- {id: 25, cat: TV, desc: "Sorozat Hun"}
|
||||||
|
- {id: 167, cat: Movies/SD, desc: "Xvid CamEng"}
|
||||||
|
- {id: 166, cat: Movies/SD, desc: "Xvid CamHun"}
|
||||||
|
- {id: 9, cat: Movies/SD, desc: "XvidHun"}
|
||||||
|
- {id: 169, cat: XXX/ImageSet, desc: "XXX Képek"}
|
||||||
|
- {id: 39, cat: XXX, desc: "XXXFilm"}
|
||||||
|
- {id: 28, cat: Audio, desc: "ZeneEng"}
|
||||||
|
- {id: 29, cat: Audio, desc: "ZeneHun"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: 0
|
||||||
|
options:
|
||||||
|
0: created
|
||||||
|
6: seeders
|
||||||
|
4: size
|
||||||
|
1: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "You will be immediately banned if you have not logged in for more than 6 weeks."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: takelogin.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: td.text:contains("Hiba")
|
||||||
|
message:
|
||||||
|
selector: td.text
|
||||||
|
test:
|
||||||
|
path: /
|
||||||
|
selector: a[href="/logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
# 0 active, 1 incldead, 2 onlydead, 3 freeleech, 4 2x, 5 server
|
||||||
|
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table tbody#torrent_background tr:has(a.index)
|
||||||
|
filters:
|
||||||
|
- name: andmatch
|
||||||
|
|
||||||
|
fields:
|
||||||
|
title:
|
||||||
|
selector: a.index
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: name
|
||||||
|
- name: urldecode
|
||||||
|
category:
|
||||||
|
selector: td a[href^="/browse.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
details:
|
||||||
|
selector: a.index
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: urldecode
|
||||||
|
poster:
|
||||||
|
selector: a[onmouseover]
|
||||||
|
attribute: onmouseover
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: src=([^\s]+)
|
||||||
|
imdbid:
|
||||||
|
selector: a[href*="imdb.com/title/tt"]
|
||||||
|
attribute: href
|
||||||
|
genre:
|
||||||
|
selector: span.box
|
||||||
|
description:
|
||||||
|
text: "{{ .Result.genre }}"
|
||||||
|
files:
|
||||||
|
selector: td:nth-last-child(6)
|
||||||
|
size:
|
||||||
|
selector: td:nth-last-child(5)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-last-child(4)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-last-child(3)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-last-child(2)
|
||||||
|
date:
|
||||||
|
selector: td font
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\s", " "]
|
||||||
|
- name: append
|
||||||
|
args: " +01:00" # CET
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
span.icon_gift: 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
span.icon_upload: 2
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 0.31
|
||||||
|
# XBT v3
|
||||||
@@ -0,0 +1,209 @@
|
|||||||
|
---
|
||||||
|
id: agsvpt
|
||||||
|
name: AGSVPT
|
||||||
|
description: "AGSVPT (Arctic Global Seed Vault) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||||
|
language: zh-CN
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
requestDelay: 2
|
||||||
|
links:
|
||||||
|
- https://abroad.agsvpt.com/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 401, cat: Movies, desc: "Movie(电影)", default: true}
|
||||||
|
- {id: 402, cat: TV, desc: "TV Series(电视剧)", default: true}
|
||||||
|
- {id: 403, cat: TV, desc: "TV Shows(综艺)", default: true}
|
||||||
|
- {id: 405, cat: TV/Anime, desc: "Anime(动漫)", default: true}
|
||||||
|
- {id: 404, cat: TV/Documentary, desc: "Documentaries(纪录片)", default: true}
|
||||||
|
- {id: 419, cat: TV, desc: "Playlet(短剧)", default: true}
|
||||||
|
- {id: 411, cat: Audio, desc: "Music(音乐))", default: true}
|
||||||
|
- {id: 406, cat: Audio/Video, desc: "MV(演唱", default: true}
|
||||||
|
- {id: 407, cat: TV/Sport, desc: "Sports(体育)", default: true}
|
||||||
|
- {id: 408, cat: Audio/Audiobook, desc: "Audio(音频)", default: true}
|
||||||
|
# special
|
||||||
|
- {id: 413, cat: PC/Games, desc: "Game(游戏)", default: false}
|
||||||
|
- {id: 416, cat: Books/Comics, desc: "Comic(漫画)", default: false}
|
||||||
|
- {id: 412, cat: PC/0day, desc: "Software(软件)", default: false}
|
||||||
|
- {id: 418, cat: Other, desc: "Picture(图片)", default: false}
|
||||||
|
- {id: 415, cat: Books/EBook, desc: "E-Book(电子书/有声书)", default: false}
|
||||||
|
- {id: 417, cat: Other, desc: "Education(学习资料)", default: false}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid, doubanid]
|
||||||
|
movie-search: [q, imdbid, doubanid]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: 2facode
|
||||||
|
type: text
|
||||||
|
label: 2FA code
|
||||||
|
- name: info_2fa
|
||||||
|
type: info
|
||||||
|
label: "About 2FA code"
|
||||||
|
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the AGSVPT Web Site. Otherwise just leave it empty."
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
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_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>每页种子数:每页显示</b><i>(Torrents per page:)</i> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Account retention rules:<ol><li>Elite User and above will not have their account deleted after parking (in the Control Panel)</li><li>Users who do not log in for 400 consecutive days will be disabled.</li><li>Users with a parked account will be disabled if they do not log in for 150 consecutive days</li><li>Users who have no traffic (i.e., uploading/downloading data is 0) within 7 days of new registration will be disabled</li><li>Users with no traffic (i.e. both upload/download data is 0) who do not log in for 30 consecutive days will be disabled.</li></ol>"
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: agsvpt
|
||||||
|
method: form
|
||||||
|
form: form[action="takelogin.php"]
|
||||||
|
inputs:
|
||||||
|
secret: ""
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
two_step_code: "{{ .Config.2facode }}"
|
||||||
|
logout: ""
|
||||||
|
securelogin: ""
|
||||||
|
ssl: yes
|
||||||
|
trackerssl: yes
|
||||||
|
error:
|
||||||
|
- selector: td.embedded:has(h2:contains("失败"))
|
||||||
|
message:
|
||||||
|
selector: td.text
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents.php
|
||||||
|
categories: [401, 402, 403, 405, 404, 419, 411, 406, 407, 408]
|
||||||
|
- path: special.php
|
||||||
|
categories: [413, 416, 412, 418, 415, 417]
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||||
|
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||||
|
# 0 incldead, 1 active, 2 dead
|
||||||
|
incldead: 0
|
||||||
|
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||||
|
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||||
|
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||||
|
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||||
|
# 0 AND, 2 exact
|
||||||
|
search_mode: 0
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
notnewword: 1
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title_default:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
title:
|
||||||
|
selector: a[title][href^="details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result.title_default }}"
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
poster:
|
||||||
|
selector: img[data-src]
|
||||||
|
attribute: data-src
|
||||||
|
date_elapsed:
|
||||||
|
# time type: time elapsed (default)
|
||||||
|
selector: td.rowfollow:nth-child(4) > span[title]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
date_added:
|
||||||
|
# time added
|
||||||
|
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: td.rowfollow:nth-child(5)
|
||||||
|
seeders:
|
||||||
|
selector: td.rowfollow:nth-child(6)
|
||||||
|
leechers:
|
||||||
|
selector: td.rowfollow:nth-child(7)
|
||||||
|
grabs:
|
||||||
|
selector: td.rowfollow:nth-child(8)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_free: 0
|
||||||
|
img.pro_free2up: 0
|
||||||
|
img.pro_50pctdown: 0.5
|
||||||
|
img.pro_50pctdown2up: 0.5
|
||||||
|
img.pro_30pctdown: 0.3
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_50pctdown2up: 2
|
||||||
|
img.pro_free2up: 2
|
||||||
|
img.pro_2up: 2
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
minimumseedtime:
|
||||||
|
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||||
|
text: 259200
|
||||||
|
description_verified:
|
||||||
|
case:
|
||||||
|
span[title="通过"]: "Verified:"
|
||||||
|
span[title="未审"]: "Unverified:"
|
||||||
|
span[title="拒绝"]: "Banned:"
|
||||||
|
description:
|
||||||
|
selector: td.rowfollow:nth-child(2)
|
||||||
|
remove: a, b, font, img, span
|
||||||
|
filters:
|
||||||
|
- name: prepend
|
||||||
|
args: "{{ .Result.description_verified }} "
|
||||||
|
# NexusPHP v1.8.8 2023-09-25
|
||||||
@@ -0,0 +1,133 @@
|
|||||||
|
---
|
||||||
|
id: aidoruonline
|
||||||
|
name: Aidoru!Online
|
||||||
|
description: "Aidoru!Online is a Private Torrent Tracker for Female Japanese Idol related files"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://aidoru-online.me/
|
||||||
|
legacylinks:
|
||||||
|
- https://aidoru-online.org/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: Movies, desc: "BD/DVDISO"}
|
||||||
|
- {id: 2, cat: Movies, desc: "BD/DVD-RIP"}
|
||||||
|
- {id: 3, cat: TV, desc: "TV"}
|
||||||
|
- {id: 4, cat: TV, desc: "Perf"}
|
||||||
|
- {id: 5, cat: TV, desc: "PV"}
|
||||||
|
- {id: 6, cat: TV, desc: "Webstream"}
|
||||||
|
- {id: 7, cat: Other, desc: "Image"}
|
||||||
|
- {id: 8, cat: Audio, desc: "Audio"}
|
||||||
|
- {id: 9, cat: Audio, desc: "Album"}
|
||||||
|
- {id: 10, cat: Audio, desc: "Single"}
|
||||||
|
- {id: 11, cat: Audio, desc: "Radio"}
|
||||||
|
- {id: 12, cat: Other, desc: "Misc"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: cookie
|
||||||
|
type: text
|
||||||
|
label: Cookie
|
||||||
|
- name: info
|
||||||
|
type: info
|
||||||
|
label: How to get the Cookie
|
||||||
|
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: id
|
||||||
|
options:
|
||||||
|
id: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
|
||||||
|
login:
|
||||||
|
method: cookie
|
||||||
|
inputs:
|
||||||
|
cookie: "{{ .Config.cookie }}"
|
||||||
|
test:
|
||||||
|
path: /
|
||||||
|
selector: a[href^="torrents-details.php?id="]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://aidoru-online.me/get_ttable.php?pcat=Show+All&scat=3%2C4%2C5%2C6&subbed=&fl=&resd=&p=0&searchstr=peace&deadlive=0&sortcol=id&sortorder=desc&startdt=&enddt=
|
||||||
|
- path: get_ttable.php
|
||||||
|
inputs:
|
||||||
|
pcat: "Show+All"
|
||||||
|
scat: "{{ join .Categories \",\" }}"
|
||||||
|
subbed: ""
|
||||||
|
fl: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||||
|
resd: ""
|
||||||
|
p: 0
|
||||||
|
searchstr: "{{ .Keywords }}"
|
||||||
|
deadlive: 1
|
||||||
|
sortcol: "{{ .Config.sort }}"
|
||||||
|
sortorder: "{{ .Config.type }}"
|
||||||
|
startdt: ""
|
||||||
|
enddt: ""
|
||||||
|
# does not support imdbid search and does not return imdb link in results
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.ttable_headinner tr.t-row:has(a[href^="download.php?id="])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
categorydesc:
|
||||||
|
selector: a.category-link
|
||||||
|
filters:
|
||||||
|
- name: split
|
||||||
|
args: [" ", 1]
|
||||||
|
title:
|
||||||
|
selector: a[href^="torrents-details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
details:
|
||||||
|
selector: a[href^="torrents-details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
size:
|
||||||
|
selector: td.ttable_size
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-last-child(4)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-last-child(3)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-last-child(2)
|
||||||
|
date:
|
||||||
|
selector: td:last-child
|
||||||
|
# auto adjusted by site account profile
|
||||||
|
filters:
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyMMdd HH:mm:ss"
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src="images/freeleech.png"]: 0 # dl not counted
|
||||||
|
img[src="images/freeleech2.png"]: 0 # dl not counted & upload 2x
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src="images/freeleech2.png"]: 2
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 0.8
|
||||||
|
# TorrentTrader v2-svn
|
||||||
@@ -0,0 +1,175 @@
|
|||||||
|
---
|
||||||
|
id: aither-api
|
||||||
|
name: Aither (API)
|
||||||
|
description: "Aither is a Private Torrent Tracker for HD MOVIES / TV"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://aither.cc/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: Movies, desc: "Movie"}
|
||||||
|
- {id: 9, cat: TV/Sport, desc: "Sport"}
|
||||||
|
- {id: 2, cat: TV, desc: "TV"}
|
||||||
|
- {id: 3, cat: Audio, desc: "Music"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||||
|
movie-search: [q, imdbid, tmdbid]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: apikey
|
||||||
|
type: text
|
||||||
|
label: APIKey
|
||||||
|
- name: info_key
|
||||||
|
type: info
|
||||||
|
label: About your API key
|
||||||
|
default: "Find or Generate a new API Token by accessing your <a href=\"https://aither.cc/\" target=\"_blank\">Aither</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: created_at
|
||||||
|
options:
|
||||||
|
created_at: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "You must log in to the Aither web site with your browser once every 120 days to prevent your account from getting disabled."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: /api/torrents
|
||||||
|
method: get
|
||||||
|
inputs: {} # TODO: remove in v10
|
||||||
|
error:
|
||||||
|
- selector: a[href*="/login"]
|
||||||
|
message:
|
||||||
|
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||||
|
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||||
|
- path: "/api/torrents/filter"
|
||||||
|
response:
|
||||||
|
type: json
|
||||||
|
|
||||||
|
headers:
|
||||||
|
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||||
|
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||||
|
name: "{{ .Keywords }}"
|
||||||
|
seasonNumber: "{{ .Query.Season }}"
|
||||||
|
episodeNumber: "{{ .Query.Ep }}"
|
||||||
|
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||||
|
tmdbId: "{{ .Query.TMDBID }}"
|
||||||
|
tvdbId: "{{ .Query.TVDBID }}"
|
||||||
|
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||||
|
sortField: "{{ .Config.sort }}"
|
||||||
|
sortDirection: "{{ .Config.type }}"
|
||||||
|
perPage: 100
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\.", " "]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: data
|
||||||
|
attribute: attributes
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: category_id
|
||||||
|
title:
|
||||||
|
selector: name
|
||||||
|
details:
|
||||||
|
selector: details_link
|
||||||
|
download:
|
||||||
|
selector: download_link
|
||||||
|
infohash:
|
||||||
|
selector: info_hash
|
||||||
|
poster:
|
||||||
|
selector: meta.poster
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["https://via.placeholder.com/90x135", ""]
|
||||||
|
imdbid:
|
||||||
|
selector: imdb_id
|
||||||
|
tmdbid:
|
||||||
|
selector: tmdb_id
|
||||||
|
tvdbid:
|
||||||
|
selector: tvdb_id
|
||||||
|
genre:
|
||||||
|
selector: meta.genres
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)^None$", ""]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||||
|
- name: replace
|
||||||
|
args: [" & ", "_&_"]
|
||||||
|
description:
|
||||||
|
text: "{{ .Result.genre }}"
|
||||||
|
files:
|
||||||
|
selector: num_file
|
||||||
|
seeders:
|
||||||
|
selector: seeders
|
||||||
|
leechers:
|
||||||
|
selector: leechers
|
||||||
|
grabs:
|
||||||
|
selector: times_completed
|
||||||
|
date:
|
||||||
|
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||||
|
selector: created_at
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +00:00" # GMT
|
||||||
|
- name: dateparse
|
||||||
|
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||||
|
size:
|
||||||
|
selector: size
|
||||||
|
downloadvolumefactor:
|
||||||
|
# api returns 0%, 25%, 50%, 75%, 100%
|
||||||
|
selector: freeleech
|
||||||
|
case:
|
||||||
|
0%: 1 # not free
|
||||||
|
25%: 0.75
|
||||||
|
50%: 0.5
|
||||||
|
75%: 0.25
|
||||||
|
100%: 0 # freeleech
|
||||||
|
"*": 0 # catch errors
|
||||||
|
uploadvolumefactor:
|
||||||
|
# api returns False, True
|
||||||
|
selector: double_upload
|
||||||
|
case:
|
||||||
|
False: 1 # normal
|
||||||
|
True: 2 # double
|
||||||
|
# global MR is 0.4 but torrents must be seeded for 5 days regardless of ratio
|
||||||
|
# minimumratio:
|
||||||
|
# text: 0.4
|
||||||
|
minimumseedtime:
|
||||||
|
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||||
|
text: 432000
|
||||||
|
# json UNIT3D 7.2.5
|
||||||
@@ -0,0 +1,335 @@
|
|||||||
|
---
|
||||||
|
id: amigosshare
|
||||||
|
name: Amigos Share Club
|
||||||
|
description: "Amigos Share Club is a Brazilian Private site for TV / MOVIES / GENERAL"
|
||||||
|
language: pt-BR
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
requestDelay: 2
|
||||||
|
links:
|
||||||
|
- https://cliente.amigos-share.club/
|
||||||
|
legacylinks:
|
||||||
|
- http://amigos-share.club/
|
||||||
|
- https://amigos-share.club/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 107, cat: XXX, desc: "Adultos: Gay"}
|
||||||
|
- {id: 75, cat: XXX, desc: "Adultos: Hentai"}
|
||||||
|
- {id: 108, cat: XXX, desc: "Adultos: Transex/Female"}
|
||||||
|
- {id: 74, cat: XXX, desc: "Adultos: XXX"}
|
||||||
|
- {id: 69, cat: TV/Anime, desc: "Anime: Anime"}
|
||||||
|
- {id: 116, cat: TV/Anime, desc: "Anime: Filmes"}
|
||||||
|
- {id: 118, cat: TV/Anime, desc: "Anime: Séries"}
|
||||||
|
- {id: 23, cat: PC/Mobile-Android, desc: "Aplicativos: Android"}
|
||||||
|
- {id: 27, cat: PC/Mobile-iOS, desc: "Aplicativos: iPad"}
|
||||||
|
- {id: 26, cat: PC/Mobile-iOS, desc: "Aplicativos: iPhone"}
|
||||||
|
- {id: 28, cat: PC/Mobile-iOS, desc: "Aplicativos: iPod"}
|
||||||
|
- {id: 25, cat: PC, desc: "Aplicativos: Linux"}
|
||||||
|
- {id: 22, cat: PC/Mac, desc: "Aplicativos: Mac"}
|
||||||
|
- {id: 21, cat: PC/0day, desc: "Aplicativos: Windows"}
|
||||||
|
- {id: 72, cat: Books, desc: "Apostila: Apostila"}
|
||||||
|
- {id: 71, cat: Books, desc: "Apostila: Cursos"}
|
||||||
|
- {id: 121, cat: Audio/Audiobook, desc: "Ebook: Audio-book"}
|
||||||
|
- {id: 112, cat: Books, desc: "Ebook: HQs"}
|
||||||
|
- {id: 67, cat: Books, desc: "Ebook: Livros"}
|
||||||
|
- {id: 68, cat: Books, desc: "Ebook: Revistas"}
|
||||||
|
- {id: 119, cat: Movies, desc: "Filmes:"}
|
||||||
|
- {id: 70, cat: XXX, desc: "Fotos: XXX"}
|
||||||
|
- {id: 57, cat: Console, desc: "Jogos: Android"}
|
||||||
|
- {id: 52, cat: Console, desc: "Jogos: Dreamcast"}
|
||||||
|
- {id: 109, cat: Console, desc: "Jogos: Emulação"}
|
||||||
|
- {id: 61, cat: Console, desc: "Jogos: Emuladores e Roms"}
|
||||||
|
- {id: 48, cat: PC/Mac, desc: "Jogos: Mac"}
|
||||||
|
- {id: 58, cat: Console/NDS, desc: "Jogos: Nintendo DS"}
|
||||||
|
- {id: 110, cat: Console, desc: "Jogos: Nintendo Switch"}
|
||||||
|
- {id: 47, cat: PC/Games, desc: "Jogos: Pc"}
|
||||||
|
- {id: 49, cat: Console, desc: "Jogos: Ps1"}
|
||||||
|
- {id: 50, cat: Console, desc: "Jogos: Ps2"}
|
||||||
|
- {id: 51, cat: Console/PS3, desc: "Jogos: Ps3"}
|
||||||
|
- {id: 79, cat: Console/PS4, desc: "Jogos: Ps4"}
|
||||||
|
- {id: 82, cat: Console/PSP, desc: "Jogos: PSP"}
|
||||||
|
- {id: 55, cat: Console/Wii, desc: "Jogos: Wii"}
|
||||||
|
- {id: 54, cat: Console/XBox 360, desc: "Jogos: Xbox360"}
|
||||||
|
- {id: 56, cat: Console/XBox, desc: "Jogos: Xbox"}
|
||||||
|
- {id: 78, cat: Console/XBox One, desc: "Jogos: Xbox One"}
|
||||||
|
- {id: 29, cat: Audio, desc: "Musica: Axé"}
|
||||||
|
- {id: 38, cat: Audio, desc: "Musica: Blues"}
|
||||||
|
- {id: 39, cat: Audio, desc: "Musica: Dance"}
|
||||||
|
- {id: 40, cat: Audio, desc: "Musica: Discografia"}
|
||||||
|
- {id: 43, cat: Audio, desc: "Musica: Dubstep"}
|
||||||
|
- {id: 30, cat: Audio, desc: "Musica: Eletronica"}
|
||||||
|
- {id: 41, cat: Audio, desc: "Musica: Erudita"}
|
||||||
|
- {id: 42, cat: Audio, desc: "Musica: Forró"}
|
||||||
|
- {id: 31, cat: Audio, desc: "Musica: Funk"}
|
||||||
|
- {id: 84, cat: Audio, desc: "Musica: Game (OST)"}
|
||||||
|
- {id: 83, cat: Audio, desc: "Musica: Gospel"}
|
||||||
|
- {id: 37, cat: Audio, desc: "Musica: Hard Rock"}
|
||||||
|
- {id: 33, cat: Audio, desc: "Musica: Hip-Hop"}
|
||||||
|
- {id: 114, cat: Audio, desc: "Musica: MPB"}
|
||||||
|
- {id: 77, cat: Audio, desc: "Musica: Outros"}
|
||||||
|
- {id: 32, cat: Audio, desc: "Musica: Pagode"}
|
||||||
|
- {id: 115, cat: Audio, desc: "Musica: POP"}
|
||||||
|
- {id: 34, cat: Audio, desc: "Musica: Rap"}
|
||||||
|
- {id: 76, cat: Audio, desc: "Musica: Reggae"}
|
||||||
|
- {id: 36, cat: Audio, desc: "Musica: Rock"}
|
||||||
|
- {id: 45, cat: Audio, desc: "Musica: Samba"}
|
||||||
|
- {id: 46, cat: Audio, desc: "Musica: Sertanejo"}
|
||||||
|
- {id: 120, cat: TV, desc: "Series:"}
|
||||||
|
- {id: 65, cat: TV, desc: "Shows: Show"}
|
||||||
|
- {id: 63, cat: TV, desc: "Tv: Aberta"}
|
||||||
|
- {id: 62, cat: TV/Sport, desc: "Tv: Esportes"}
|
||||||
|
- {id: 64, cat: TV, desc: "Tv: Fechada"}
|
||||||
|
- {id: 73, cat: TV, desc: "Video Aula: Video Aula"}
|
||||||
|
- {id: 127, cat: Other, desc: "Outros: Add-ons"}
|
||||||
|
- {id: 126, cat: Other, desc: "Outros: Extensões"}
|
||||||
|
- {id: 129, cat: Other, desc: "Outros: Fonts"}
|
||||||
|
- {id: 130, cat: Other, desc: "Outros: MOD"}
|
||||||
|
- {id: 125, cat: Other, desc: "Outros: Pack de Imagens"}
|
||||||
|
- {id: 122, cat: Other, desc: "Outros: Plug-ins"}
|
||||||
|
- {id: 128, cat: Other, desc: "Outros: Scripts"}
|
||||||
|
- {id: 124, cat: Other, desc: "Outros: Vetores"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: info_results
|
||||||
|
type: info
|
||||||
|
label: "Search results"
|
||||||
|
default: "Set <b>Exibição De Torrents</b> to <b>Lista</b> in your <b>Minhas Configurações</b>.<br />Using <b>Capas</b> is not supported and will return 0 results."
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Filter freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: id
|
||||||
|
options:
|
||||||
|
id: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Inactive accounts, that is, without access for 90 days (3 months), will be automatically deleted by the system; with no possibility of reactivation."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: account-login.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
remember: yes
|
||||||
|
error:
|
||||||
|
- selector: div.alert-error
|
||||||
|
test:
|
||||||
|
path: torrents-search.php
|
||||||
|
selector: a[href="account-logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# http://amigos-share.club/torrents-search.php?search=&sort=id&order=desc&page=1
|
||||||
|
- path: torrents-search.php
|
||||||
|
# site displays just 20 results, no profile options found to change this, so we attempt to fetch 5 pages
|
||||||
|
- path: torrents-search.php
|
||||||
|
inputs:
|
||||||
|
page: 1
|
||||||
|
- path: torrents-search.php
|
||||||
|
inputs:
|
||||||
|
page: 2
|
||||||
|
- path: torrents-search.php
|
||||||
|
inputs:
|
||||||
|
page: 3
|
||||||
|
- path: torrents-search.php
|
||||||
|
inputs:
|
||||||
|
page: 4
|
||||||
|
inputs:
|
||||||
|
# note: site does not support multi cat search.
|
||||||
|
# replace spaces with wildcard (percent symbol) as site's default search is exact string.
|
||||||
|
search: "{{ re_replace .Keywords \"[\\s]+\" \"%\" }}"
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
order: "{{ .Config.type }}"
|
||||||
|
# torrents-search.php does not support imdbid search or return imdb links.
|
||||||
|
keywordsfilters:
|
||||||
|
# drop the year from searches since site titles do not include year
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(19|20[0-9]{2})", ""]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: "div#fancy-list-group ul.list-group li.list-group-item{{ if .Config.freeleech }}:has(span.badge-success:contains(\"FREE\")){{ else }}{{ end }}"
|
||||||
|
|
||||||
|
fields:
|
||||||
|
_quality:
|
||||||
|
selector: div.list-group-item-content p.m-0 span.badge-primary:contains("1080p"), div.list-group-item-content p.m-0 span.badge-primary:contains("720p"), div.list-group-item-content p.m-0 span.badge-primary:contains("4k")
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["4k", "2160p"]
|
||||||
|
_year:
|
||||||
|
selector: div.list-group-item-content p.m-0 span.badge-primary[style$="#246AB6;"]
|
||||||
|
optional: true
|
||||||
|
_type:
|
||||||
|
selector: div.list-group-item-content p.m-0 span.badge-info:contains("Rip"), div.list-group-item-content p.m-0 span.badge-info:contains("WEB-"), div.list-group-item-content p.m-0 span.badge-info:contains("TV"), div.list-group-item-content p.m-0 span.badge-info:contains("Blu-Ray"), div.list-group-item-content p.m-0 span.badge-info:contains("BD50"), div.list-group-item-content p.m-0 span.badge-info:contains("MUX"), div.list-group-item-content p.m-0 span.badge-info:contains("DVD"), div.list-group-item-content p.m-0 span.badge-info:contains("320"), div.list-group-item-content p.m-0 span.badge-info:contains("CAM"), div.list-group-item-content p.m-0 span.badge-info:contains("rip")
|
||||||
|
optional: true
|
||||||
|
_language:
|
||||||
|
selector: div.list-group-item-content p.m-0 span.badge-primary[style$="#b6249d;"]
|
||||||
|
optional: true
|
||||||
|
genre:
|
||||||
|
selector: div.list-group-item-content p.m-0 span.badge-primary[style$="#1c38c2;"]
|
||||||
|
description:
|
||||||
|
text: "{{ .Result.genre }}"
|
||||||
|
title:
|
||||||
|
selector: a[href*="torrents-details.php?id="], a[href*="details-misc.php?id="]
|
||||||
|
filters:
|
||||||
|
# strip out the non-english title [to the left of the brackets] and drop the brackets enclosing the english title
|
||||||
|
- name: re_replace
|
||||||
|
args: ["^(.*?)[\\(](.*?)[\\)](.*?)$", "$2$3"]
|
||||||
|
# add the year to the title
|
||||||
|
- name: append
|
||||||
|
args: "{{ if .Result._year }} {{ .Result._year }}{{ else }}{{ end }}"
|
||||||
|
# add the quality to the title
|
||||||
|
- name: append
|
||||||
|
args: "{{ if .Result._quality }} {{ .Result._quality }}{{ else }}{{ end }}"
|
||||||
|
# add the type to the title
|
||||||
|
- name: append
|
||||||
|
args: "{{ if .Result._type }} {{ .Result._type }}{{ else }}{{ end }}"
|
||||||
|
# add audio to the title
|
||||||
|
- name: append
|
||||||
|
args: "{{ if .Result._language }} {{ .Result._language }}{{ else }}{{ end }}"
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(Dual|[Nn]acional|[Dd]ublado)", "Brazilian $1"]
|
||||||
|
details:
|
||||||
|
selector: a[href*="torrents-details.php?id="], a[href*="details-misc.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href*="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
category:
|
||||||
|
selector: div.list-group-item-addon img
|
||||||
|
attribute: src
|
||||||
|
case:
|
||||||
|
# unfortunately the site does not have category numbers on the results page, just a image which can apply to both movies and tv.
|
||||||
|
# therefore I've order the list to favour movies.
|
||||||
|
# also, not all images have been verified as the site has many empty categories. their image names have been extrapolated from the cat desc.
|
||||||
|
"[src$=\"/Adultos.fw.png\"]": 74
|
||||||
|
"[src$=\"/Gay.jpeg\"]": 107
|
||||||
|
"[src$=\"/Trans.jpeg\"]": 108
|
||||||
|
"[src$=\"/Hentai.png\"]": 75
|
||||||
|
"[src$=\"/Anime2.fw.png\"]": 69
|
||||||
|
"[src$=\"/aplicativos.fw.png\"]": 21
|
||||||
|
"[src$=\"/Mac.png\"]": 22
|
||||||
|
"[src$=\"/Android.png\"]": 23
|
||||||
|
"[src$=\"/Linux.png\"]": 25
|
||||||
|
"[src$=\"/iPhone.png\"]": 26
|
||||||
|
"[src$=\"/iPad.png\"]": 27
|
||||||
|
"[src$=\"/iPod.png\"]": 28
|
||||||
|
"[src$=\"/Cursos.png\"]": 71
|
||||||
|
"[src$=\"/Apostila.png\"]": 72
|
||||||
|
"[src$=\"/E-books.png\"]": 67
|
||||||
|
"[src$=\"/Revista.png\"]": 68
|
||||||
|
"[src$=\"/HQ.png\"]": 112
|
||||||
|
"[src$=\"/filmes2.fw.png\"]": 119
|
||||||
|
"[src$=\"/Revistas-XXX.png\"]": 70
|
||||||
|
"[src$=\"/PS4.png\"]": 79
|
||||||
|
"[src$=\"/Jogos-PC.png\"]": 47
|
||||||
|
"[src$=\"/Emulador.png\"]": 61
|
||||||
|
"[src$=\"/Emulacao.png\"]": 109
|
||||||
|
"[src$=\"/Jogos-Mac.png\"]": 48
|
||||||
|
"[src$=\"/Jogos-PS1.png\"]": 49
|
||||||
|
"[src$=\"/Jogos-PS2.png\"]": 50
|
||||||
|
"[src$=\"/Jogos-PS3.png\"]": 51
|
||||||
|
"[src$=\"/Jogos-Dreamcast.png\"]": 52
|
||||||
|
"[src$=\"/Jogos-Xbox360.png\"]": 54
|
||||||
|
"[src$=\"/Jogos-Xbox.png\"]": 56
|
||||||
|
"[src$=\"/Jogos-Wii.png\"]": 55
|
||||||
|
"[src$=\"/Jogos-DS.png\"]": 58
|
||||||
|
"[src$=\"/jogosandroid.png\"]": 57
|
||||||
|
"[src$=\"/PSP.png\"]": 82
|
||||||
|
"[src$=\"/Jogos-NS.png\"]": 110
|
||||||
|
"[src$=\"/Jogos-XboxOne.png\"]": 78
|
||||||
|
"[src$=\"/Axe.png\"]": 29
|
||||||
|
"[src$=\"/Eletronica.png\"]": 30
|
||||||
|
"[src$=\"/Funk.png\"]": 31
|
||||||
|
"[src$=\"/Pagode.png\"]": 32
|
||||||
|
"[src$=\"/HIP_HOP.png\"]": 33
|
||||||
|
"[src$=\"/Rap.png\"]": 34
|
||||||
|
"[src$=\"/Rock.png\"]": 36
|
||||||
|
"[src$=\"/Hard-Rock.png\"]": 37
|
||||||
|
"[src$=\"/Blues.png\"]": 38
|
||||||
|
"[src$=\"/Dance.png\"]": 39
|
||||||
|
"[src$=\"/Discografia.png\"]": 40
|
||||||
|
"[src$=\"/Erudita.png\"]": 41
|
||||||
|
"[src$=\"/Forro.png\"]": 42
|
||||||
|
"[src$=\"/Dubstep.png\"]": 43
|
||||||
|
"[src$=\"/Sertanejo.png\"]": 46
|
||||||
|
"[src$=\"/Samba.png\"]": 45
|
||||||
|
"[src$=\"/Musica-Outros.png\"]": 77
|
||||||
|
"[src$=\"/Reggae.png\"]": 76
|
||||||
|
"[src$=\"/Gospel.png\"]": 83
|
||||||
|
"[src$=\"/POP.png\"]": 115
|
||||||
|
"[src$=\"/MPB.png\"]": 114
|
||||||
|
"[src$=\"/OST.png\"]": 84
|
||||||
|
"[src$=\"/seriados.fw.png\"]": 120
|
||||||
|
"[src$=\"/show.fw.png\"]": 65
|
||||||
|
"[src$=\"/Aberta.png\"]": 63
|
||||||
|
"[src$=\"/Esporte.png\"]": 62
|
||||||
|
"[src$=\"/Fechada.png\"]": 64
|
||||||
|
"[src$=\"/video aula4.fw.png\"]": 73
|
||||||
|
"[src$=\"/Add-ons.png\"]": 127
|
||||||
|
"[src$=\"/Extensões.png\"]": 126
|
||||||
|
"[src$=\"/Fonts.png\"]": 129
|
||||||
|
"[src$=\"/MOD.png\"]": 130
|
||||||
|
"[src$=\"/Imagens.png\"]": 125
|
||||||
|
"[src$=\"/Plug-ins.png\"]": 122
|
||||||
|
"[src$=\"/Scripts.png\"]": 128
|
||||||
|
"[src$=\"/Vetores.png\"]": 124
|
||||||
|
"[src$=\"/outros2.png\"]": 130
|
||||||
|
date:
|
||||||
|
selector: p:contains("Lançado:")
|
||||||
|
# auto adjusted by site account profile
|
||||||
|
optional: true
|
||||||
|
default: now
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "Lançado: (.+?)$"
|
||||||
|
- name: re_replace
|
||||||
|
args: [" (\\d:)", " 0$1"]
|
||||||
|
- name: dateparse
|
||||||
|
args: "dd/MM/yy HH:mm:ss"
|
||||||
|
size:
|
||||||
|
selector: div.list-group-item-content p.m-0 span.badge-info
|
||||||
|
seeders:
|
||||||
|
selector: div.list-group-item-controls a:nth-child(1)
|
||||||
|
leechers:
|
||||||
|
selector: div.list-group-item-controls a:nth-child(2)
|
||||||
|
grabs:
|
||||||
|
selector: div.list-group-item-controls a:nth-child(3)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
"span.badge-success:contains(\"FREE\")": 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,120 @@
|
|||||||
|
---
|
||||||
|
id: anilibria
|
||||||
|
name: AniLibria
|
||||||
|
description: "AniLibria is a Public torrent tracker for anime, voiced on russian by AniLibria team"
|
||||||
|
language: ru-RU
|
||||||
|
type: public
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://www.anilibria.tv/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categories:
|
||||||
|
Anime: TV/Anime
|
||||||
|
Movies: Movies/Other
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: stripcyrillic
|
||||||
|
type: checkbox
|
||||||
|
label: Strip Cyrillic Letters
|
||||||
|
default: false
|
||||||
|
- name: addrussiantotitle
|
||||||
|
type: checkbox
|
||||||
|
label: Add RUS to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified.
|
||||||
|
default: false
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://github.com/anilibria/docs/blob/master/api_v3.md
|
||||||
|
- path: "https://api.anilibria.tv/v3/title/{{ if .Keywords }}search{{ else }}updates{{ end }}"
|
||||||
|
response:
|
||||||
|
type: json
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
filter: "names,posters.small.url,code,torrents.list,season.year,description"
|
||||||
|
limit: 100
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
# strip season and/or ep
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\b(?:[SE]\\d{1,4}){1,2}\\b\\s?", ""]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: list
|
||||||
|
attribute: torrents.list
|
||||||
|
multiple: true
|
||||||
|
|
||||||
|
fields:
|
||||||
|
_episodes:
|
||||||
|
selector: episodes.string
|
||||||
|
optional: true
|
||||||
|
category:
|
||||||
|
text: "{{ if eq .Result._episodes \"Фильм\" }}Movies{{ else }}Anime{{ end }}"
|
||||||
|
title_ru:
|
||||||
|
selector: ..names.ru
|
||||||
|
title_en:
|
||||||
|
selector: ..names.en
|
||||||
|
title_alternative:
|
||||||
|
selector: ..names.alternative
|
||||||
|
optional: true
|
||||||
|
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 }}"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["[\\[\\(\\{<«][\\s\\W]*[\\]\\)\\}>»]", ""]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["^[\\s&,\\.!\\?\\+\\-_\\|\\/':]+", ""]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["^OVA$", ""]
|
||||||
|
year:
|
||||||
|
selector: ..season.year
|
||||||
|
_quality:
|
||||||
|
selector: quality.string
|
||||||
|
title:
|
||||||
|
text: "{{ if .Config.stripcyrillic }}{{ else }}{{ .Result.title_ru }} / {{ end }}{{ .Result.title_en }}{{ if .Result.title_alternative }} / AKA {{ .Result.title_alternative }}{{ else }}{{ end }} ({{ .Result.year }}) [{{ .Result._quality }}]{{ if .Result._episodes }} - E{{ .Result._episodes }}{{ else }}{{ end }}"
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: [" - \\bEФильм\\b", " - MOVIE"]
|
||||||
|
- name: re_replace
|
||||||
|
args: [" - \\bEOVA\\b", " - OVA"]
|
||||||
|
- name: append
|
||||||
|
args: "{{ if .Config.addrussiantotitle }} - RUS{{ else }}{{ end }}"
|
||||||
|
_code:
|
||||||
|
selector: ..code
|
||||||
|
details:
|
||||||
|
text: "{{ .Config.sitelink }}release/{{ .Result._code }}.html"
|
||||||
|
download_url:
|
||||||
|
selector: url
|
||||||
|
download:
|
||||||
|
text: "{{ .Config.sitelink }}{{ .Result.download_url }}"
|
||||||
|
magnet:
|
||||||
|
selector: magnet
|
||||||
|
poster:
|
||||||
|
selector: ..posters.small.url
|
||||||
|
filters:
|
||||||
|
- name: prepend
|
||||||
|
args: "https://static.anilibria.tv"
|
||||||
|
seeders:
|
||||||
|
selector: seeders
|
||||||
|
leechers:
|
||||||
|
selector: leechers
|
||||||
|
grabs:
|
||||||
|
selector: downloads
|
||||||
|
date:
|
||||||
|
# unix
|
||||||
|
selector: uploaded_timestamp
|
||||||
|
size:
|
||||||
|
selector: total_size
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
description:
|
||||||
|
selector: ..description
|
||||||
|
# json api v3
|
||||||
@@ -0,0 +1,201 @@
|
|||||||
|
---
|
||||||
|
id: animelayer
|
||||||
|
name: AnimeLayer
|
||||||
|
description: "AnimeLayer is a RUSSIAN Semi-Private Torrent Tracker for ANIME"
|
||||||
|
language: ru-RU
|
||||||
|
type: semi-private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://www.animelayer.ru/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: аниме, cat: TV/Anime, desc: Аниме}
|
||||||
|
- {id: музыка, cat: Audio, desc: Музыка}
|
||||||
|
- {id: манга, cat: Books, desc: Манга}
|
||||||
|
- {id: дорама, cat: TV, desc: Дорама}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: category-id
|
||||||
|
type: select
|
||||||
|
label: Category
|
||||||
|
default: anime
|
||||||
|
options:
|
||||||
|
anime: Аниме
|
||||||
|
music: Музыка
|
||||||
|
manga: Манга
|
||||||
|
dorama: Дорама
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login.php
|
||||||
|
method: form
|
||||||
|
form: form#loginForm
|
||||||
|
inputs:
|
||||||
|
login: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: div.error
|
||||||
|
test:
|
||||||
|
path: /
|
||||||
|
selector: a[href^="/auth/logout/"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: "torrents/{{ .Config.category-id }}/"
|
||||||
|
inputs:
|
||||||
|
q: "{{ .Keywords }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: ul.torrents-list li.torrent-item:has(a[href^="/torrent/"])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: label.category
|
||||||
|
_resolution:
|
||||||
|
selector: div.description
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "Разрешение:\\s+\\d{3,4}\\D(\\d{3,4})"
|
||||||
|
title:
|
||||||
|
selector: img
|
||||||
|
attribute: alt
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: "{{ if .Result._resolution }} [{{ .Result._resolution }}p]{{ else }}{{ end }}"
|
||||||
|
details:
|
||||||
|
selector: a[href^="/torrent/"]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="/torrent/"]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: download/
|
||||||
|
poster:
|
||||||
|
selector: img
|
||||||
|
attribute: data-original
|
||||||
|
size:
|
||||||
|
selector: div.info
|
||||||
|
filters:
|
||||||
|
- name: split
|
||||||
|
args: ["|", 2]
|
||||||
|
date_noyear:
|
||||||
|
# <span class="gray">Добавлен:</span> 18 августа в 21:39
|
||||||
|
selector: div.info
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "н:\\s(\\d{1,2} \\D{3,8} в\\s\\d{1,2}:\\d{2})"
|
||||||
|
- name: replace
|
||||||
|
args: ["\xA0", " "]
|
||||||
|
- name: replace
|
||||||
|
args: ["Обновлён:", ""]
|
||||||
|
- name: replace
|
||||||
|
args: ["Добавлен:", ""]
|
||||||
|
- name: replace
|
||||||
|
args: [" в ", " "]
|
||||||
|
- name: replace
|
||||||
|
args: ["января", "January {{ .Today.Year }}"]
|
||||||
|
- name: replace
|
||||||
|
args: ["февраля", "February {{ .Today.Year }}"]
|
||||||
|
- name: replace
|
||||||
|
args: ["марта", "March {{ .Today.Year }}"]
|
||||||
|
- name: replace
|
||||||
|
args: ["апреля", "April {{ .Today.Year }}"]
|
||||||
|
- name: replace
|
||||||
|
args: ["мая", "May {{ .Today.Year }}"]
|
||||||
|
- name: replace
|
||||||
|
args: ["июня", "June {{ .Today.Year }}"]
|
||||||
|
- name: replace
|
||||||
|
args: ["июля", "July {{ .Today.Year }}"]
|
||||||
|
- name: replace
|
||||||
|
args: ["августа", "August {{ .Today.Year }}"]
|
||||||
|
- name: replace
|
||||||
|
args: ["сентября", "September {{ .Today.Year }}"]
|
||||||
|
- name: replace
|
||||||
|
args: ["октября", "October {{ .Today.Year }}"]
|
||||||
|
- name: replace
|
||||||
|
args: ["ноября", "November {{ .Today.Year }}"]
|
||||||
|
- name: replace
|
||||||
|
args: ["декабря", "December {{ .Today.Year }}"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\s(\\d\\:)", " 0$1"]
|
||||||
|
date_year:
|
||||||
|
# <span class="gray">Обновлён:</span> 3 октября 2019 в 6:02
|
||||||
|
selector: div.info
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "н:\\s(\\d{1,2} \\D{3,8} \\d{4} в\\s\\d{1,2}:\\d{2})"
|
||||||
|
- name: replace
|
||||||
|
args: ["\xA0", " "]
|
||||||
|
- name: replace
|
||||||
|
args: ["Обновлён:", ""]
|
||||||
|
- name: replace
|
||||||
|
args: ["Добавлен:", ""]
|
||||||
|
- name: replace
|
||||||
|
args: [" в ", " "]
|
||||||
|
- name: replace
|
||||||
|
args: ["января", "January"]
|
||||||
|
- name: replace
|
||||||
|
args: ["февраля", "February"]
|
||||||
|
- name: replace
|
||||||
|
args: ["марта", "March"]
|
||||||
|
- name: replace
|
||||||
|
args: ["апреля", "April"]
|
||||||
|
- name: replace
|
||||||
|
args: ["мая", "May"]
|
||||||
|
- name: replace
|
||||||
|
args: ["июня", "June"]
|
||||||
|
- name: replace
|
||||||
|
args: ["июля", "July"]
|
||||||
|
- name: replace
|
||||||
|
args: ["августа", "August"]
|
||||||
|
- name: replace
|
||||||
|
args: ["сентября", "September"]
|
||||||
|
- name: replace
|
||||||
|
args: ["октября", "October"]
|
||||||
|
- name: replace
|
||||||
|
args: ["ноября", "November"]
|
||||||
|
- name: replace
|
||||||
|
args: ["декабря", "December"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\s(\\d\\:)", " 0$1"]
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_year .Result.date_noyear }}{{ or .Result.date_year .Result.date_noyear }}{{ else }}now{{ end }}"
|
||||||
|
seeders:
|
||||||
|
selector: div.info
|
||||||
|
filters:
|
||||||
|
- name: split
|
||||||
|
args: ["|", 0]
|
||||||
|
leechers:
|
||||||
|
selector: div.info
|
||||||
|
filters:
|
||||||
|
- name: split
|
||||||
|
args: ["|", 1]
|
||||||
|
_subtitles:
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "Субтитры:(.+?)\\n"
|
||||||
|
_language:
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "Язык:(.+?)\\n"
|
||||||
|
description:
|
||||||
|
text: "{{ if .Result._subtitles }}Субтитры: {{ .Result._subtitles }}{{ else }}{{ end }} - {{ if .Result._language }}Язык: {{ .Result._language }}{{ else }}{{ end }}"
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
---
|
||||||
|
id: animetime
|
||||||
|
name: Anime Time
|
||||||
|
description: "Anime Time is a PUBLIC torrent tracker for ANIME"
|
||||||
|
language: en-US
|
||||||
|
type: public
|
||||||
|
encoding: UTF-8
|
||||||
|
requestDelay: 2
|
||||||
|
links:
|
||||||
|
- https://animetime.cc/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categories:
|
||||||
|
anime: TV/Anime
|
||||||
|
books: Books
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings: []
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://animetime.cc/search?query=
|
||||||
|
- path: "{{ if .Keywords }}search{{ else }}{{ end }}"
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
query: "{{ .Keywords }}"
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
- name: trim
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\W+", "%"]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: div.flow-root > div.divide-y > div.p-2.space-y-2
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: span.badge.badge-primary
|
||||||
|
title:
|
||||||
|
selector: a[href*="/view/"]
|
||||||
|
details:
|
||||||
|
selector: a[href*="/view/"]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href*="/download/"]
|
||||||
|
attribute: href
|
||||||
|
magnet:
|
||||||
|
selector: a[href^="magnet:?xt="]
|
||||||
|
attribute: href
|
||||||
|
date:
|
||||||
|
selector: span[data-tip]
|
||||||
|
attribute: data-tip
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +02:00" # EET
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
size:
|
||||||
|
selector: span.badge.badge-ghost
|
||||||
|
seeders:
|
||||||
|
text: 1
|
||||||
|
leechers:
|
||||||
|
text: 1
|
||||||
|
genre:
|
||||||
|
selector: span.badge.badge-secondary
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["non english", "non_english"]
|
||||||
|
- name: replace
|
||||||
|
args: ["music video", "music_video"]
|
||||||
|
- name: replace
|
||||||
|
args: ["Anime Time", "Anime_Time"]
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,157 @@
|
|||||||
|
---
|
||||||
|
id: animetorrentsro
|
||||||
|
name: AnimeTorrents.ro
|
||||||
|
description: "AnimeTorrents.ro (Anime Torrents Romania) is a ROMANIAN Private Torrent Tracker for ANIME / MANGA"
|
||||||
|
language: ro-RO
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://animetorrents.ro/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: TV/Anime, desc: "ANIME"}
|
||||||
|
- {id: 1, cat: Movies/Other, desc: "ANIME"} # for Radarr
|
||||||
|
- {id: 2, cat: Books/Comics, desc: "MANGA"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: cat-id
|
||||||
|
type: select
|
||||||
|
label: Category
|
||||||
|
default: 0
|
||||||
|
options:
|
||||||
|
0: All categories
|
||||||
|
1: Anime
|
||||||
|
2: Manga
|
||||||
|
- 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
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Inactive accounts under VIP and without parked are automatically deleted after about a year."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: takelogin.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
x: 0
|
||||||
|
y: 0
|
||||||
|
referer: /
|
||||||
|
error:
|
||||||
|
- selector: table.main:contains("esuat")
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://animetorrents.ro/browse.php?search=2023&incldead=1&blah=0&cat=0
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
# 0 active, 1 all, 2 dead, 3 free
|
||||||
|
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||||
|
# 0 name, 1 genre
|
||||||
|
blah: 0
|
||||||
|
# site does not support multiple cats
|
||||||
|
cat: "{{ .Config.cat-id }}"
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
# does not support imdbid search
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: td > table > tbody > tr:has(a[href^="download.php/"])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="browse.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["^(\\[.+?\\]).(.+)", "$2.$1"]
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php/"]
|
||||||
|
attribute: href
|
||||||
|
poster:
|
||||||
|
selector: a[onmouseover]
|
||||||
|
attribute: onmouseover
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "src=(.+?) width"
|
||||||
|
files:
|
||||||
|
selector: td:nth-last-child(8)
|
||||||
|
date:
|
||||||
|
selector: td:nth-last-child(6)
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +00:00" # auto adjusted by site account profile
|
||||||
|
- name: dateparse
|
||||||
|
args: "dd-MM-yyyyHH:mm:ss zzz"
|
||||||
|
size:
|
||||||
|
selector: td:nth-last-child(5)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-last-child(4)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-last-child(3)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-last-child(2)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[alt="Free"]: 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
genre:
|
||||||
|
selector: a[href^="download.php/"]
|
||||||
|
description:
|
||||||
|
text: "{{ .Result.genre }}"
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
minimumseedtime:
|
||||||
|
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||||
|
text: 172800
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,183 @@
|
|||||||
|
---
|
||||||
|
id: animeworld-api
|
||||||
|
name: AnimeWorld (API)
|
||||||
|
description: "AnimeWorld (AW) is a GERMAN Private site for ANIME / MANGA / HENTAI"
|
||||||
|
language: de-DE
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://animeworld.cx/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: Movies/Other, desc: "Anime Filme"}
|
||||||
|
- {id: 2, cat: TV/Anime, desc: "Anime Serien"}
|
||||||
|
- {id: 3, cat: Audio, desc: "Anime Musik / OSTs"}
|
||||||
|
- {id: 4, cat: PC/Games, desc: "Anime Spiele"}
|
||||||
|
- {id: 5, cat: XXX, desc: "Anime Hentai"}
|
||||||
|
- {id: 6, cat: PC, desc: "Software"}
|
||||||
|
- {id: 7, cat: Other, desc: "Sonstiges"}
|
||||||
|
- {id: 8, cat: Movies, desc: "Filme"}
|
||||||
|
- {id: 9, cat: TV, desc: "Serien"}
|
||||||
|
- {id: 10, cat: PC/Games, desc: "Spiele"}
|
||||||
|
- {id: 11, cat: Audio, desc: "Musik"}
|
||||||
|
- {id: 12, cat: Books, desc: "Manga"}
|
||||||
|
- {id: 13, cat: Movies, desc: "Cartoon Filme"}
|
||||||
|
- {id: 14, cat: TV, desc: "Cartoon Serie"}
|
||||||
|
- {id: 15, cat: XXX, desc: "H-Manga / Doujinshi"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, tvdbid, tmdbid]
|
||||||
|
movie-search: [q, tmdbid]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: apikey
|
||||||
|
type: text
|
||||||
|
label: APIKey
|
||||||
|
- name: info_key
|
||||||
|
type: info
|
||||||
|
label: About your API key
|
||||||
|
default: "Find or Generate a new API Token by accessing your <a href=\"https://animeworld.cx/\" target=\"_blank\">AnimeWorld</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: created_at
|
||||||
|
options:
|
||||||
|
created_at: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Accounts are set as inactive by the system after 180 days. After 270 days in inactive status, the accounts are automatically deleted from the system."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: /api/torrents
|
||||||
|
method: get
|
||||||
|
inputs: {} # TODO: remove in v10
|
||||||
|
error:
|
||||||
|
- selector: a[href*="/login"]
|
||||||
|
message:
|
||||||
|
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||||
|
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||||
|
- path: "/api/torrents/filter"
|
||||||
|
response:
|
||||||
|
type: json
|
||||||
|
|
||||||
|
headers:
|
||||||
|
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||||
|
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||||
|
name: "{{ .Keywords }}"
|
||||||
|
seasonNumber: "{{ .Query.Season }}"
|
||||||
|
episodeNumber: "{{ .Query.Ep }}"
|
||||||
|
# imdbId: "{{ .Query.IMDBIDShort }}" # disabled due to #14776
|
||||||
|
tmdbId: "{{ .Query.TMDBID }}"
|
||||||
|
tvdbId: "{{ .Query.TVDBID }}"
|
||||||
|
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||||
|
sortField: "{{ .Config.sort }}"
|
||||||
|
sortDirection: "{{ .Config.type }}"
|
||||||
|
perPage: 100
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\.", " "]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: data
|
||||||
|
attribute: attributes
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: category_id
|
||||||
|
title:
|
||||||
|
selector: name
|
||||||
|
details:
|
||||||
|
selector: details_link
|
||||||
|
download:
|
||||||
|
selector: download_link
|
||||||
|
infohash:
|
||||||
|
selector: info_hash
|
||||||
|
poster:
|
||||||
|
selector: meta.poster
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["https://via.placeholder.com/90x135", ""]
|
||||||
|
imdbid:
|
||||||
|
selector: imdb_id
|
||||||
|
tmdbid:
|
||||||
|
selector: tmdb_id
|
||||||
|
tvdbid:
|
||||||
|
selector: tvdb_id
|
||||||
|
genre:
|
||||||
|
selector: meta.genres
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)^None$", ""]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Cinema TV)", "Cinema_TV"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Ficção científica)", "Ficção_científica"]
|
||||||
|
- name: replace
|
||||||
|
args: [" & ", "_&_"]
|
||||||
|
description:
|
||||||
|
text: "{{ .Result.genre }}"
|
||||||
|
files:
|
||||||
|
selector: num_file
|
||||||
|
seeders:
|
||||||
|
selector: seeders
|
||||||
|
leechers:
|
||||||
|
selector: leechers
|
||||||
|
grabs:
|
||||||
|
selector: times_completed
|
||||||
|
date:
|
||||||
|
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||||
|
selector: created_at
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +00:00" # GMT
|
||||||
|
- name: dateparse
|
||||||
|
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||||
|
size:
|
||||||
|
selector: size
|
||||||
|
downloadvolumefactor:
|
||||||
|
# api returns 0%, 25%, 50%, 75%, 100%
|
||||||
|
selector: freeleech
|
||||||
|
case:
|
||||||
|
0%: 1 # not free
|
||||||
|
25%: 0.75
|
||||||
|
50%: 0.5
|
||||||
|
75%: 0.25
|
||||||
|
100%: 0 # freeleech
|
||||||
|
"*": 0 # catch errors
|
||||||
|
uploadvolumefactor:
|
||||||
|
# api returns 0=false, 1=true
|
||||||
|
selector: double_upload
|
||||||
|
case:
|
||||||
|
0: 1 # normal
|
||||||
|
1: 2 # double
|
||||||
|
minimumseedtime:
|
||||||
|
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||||
|
text: 604800
|
||||||
|
# json UNIT3D 6.5.0
|
||||||
@@ -0,0 +1,89 @@
|
|||||||
|
---
|
||||||
|
id: aniRena
|
||||||
|
name: AniRena
|
||||||
|
description: "AniRena is a Public torrent tracker for the latest anime and Japanese related torrents"
|
||||||
|
language: en-US
|
||||||
|
type: public
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://www.anirena.com/
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: flaresolverr
|
||||||
|
type: info
|
||||||
|
label: FlareSolverr
|
||||||
|
default: This site may use Cloudflare DDoS Protection, therefore Prowlarr requires <a href="https://wiki.servarr.com/prowlarr/faq#can-i-use-flaresolverr-indexers" target="_blank" rel="noreferrer">FlareSolverr</a> to access it.
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
# Anime
|
||||||
|
- {id: 1, cat: TV/Anime, desc: "Raw Animes"}
|
||||||
|
- {id: 2, cat: TV/Anime, desc: "Anime"}
|
||||||
|
- {id: 3, cat: TV/Anime, desc: "Hentai"}
|
||||||
|
- {id: 4, cat: TV/Anime, desc: "Drama"}
|
||||||
|
- {id: 9, cat: TV/Anime, desc: "Anime Music Videos"}
|
||||||
|
- {id: 10, cat: TV/Anime, desc: "Non-English"}
|
||||||
|
# Software
|
||||||
|
- {id: 5, cat: PC/ISO, desc: "DVD/ISO"}
|
||||||
|
- {id: 6, cat: PC, desc: "Hentai-Game"}
|
||||||
|
# Literature
|
||||||
|
- {id: 7, cat: Books, desc: "Manga"}
|
||||||
|
# Audio
|
||||||
|
- {id: 8, cat: Audio, desc: "Audio"}
|
||||||
|
# Other
|
||||||
|
- {id: 11, cat: Other, desc: "Other"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
inputs:
|
||||||
|
s: "{{ .Keywords }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table tbody tr:has(td.torrents_small_type_data1)
|
||||||
|
|
||||||
|
fields:
|
||||||
|
title:
|
||||||
|
selector: .torrents_small_info_data1 div
|
||||||
|
download:
|
||||||
|
selector: .torrents_small_info_data2 a[title="Download Torrent"]
|
||||||
|
attribute: href
|
||||||
|
magnet:
|
||||||
|
selector: .torrents_small_info_data2 a[title="Magnet Link"]
|
||||||
|
attribute: href
|
||||||
|
date:
|
||||||
|
text: now
|
||||||
|
size:
|
||||||
|
selector: .torrents_small_size_data1
|
||||||
|
seeders:
|
||||||
|
selector: .torrents_small_seeders_data1 b big
|
||||||
|
leechers:
|
||||||
|
selector: .torrents_small_leechers_data1 b big
|
||||||
|
grabs:
|
||||||
|
selector: .torrents_small_downloads_data1
|
||||||
|
category:
|
||||||
|
selector: .torrents_small_type_data1 img
|
||||||
|
attribute: src
|
||||||
|
case:
|
||||||
|
"[src=\"./styles/tracker/imageset/cat_raw_small.png\"]": 1
|
||||||
|
"[src=\"./styles/tracker/imageset/cat_anime_small.png\"]": 2
|
||||||
|
"[src=\"./styles/tracker/imageset/cat_hentai_small.png\"]": 3
|
||||||
|
"[src=\"./styles/tracker/imageset/cat_drama_small.png\"]": 4
|
||||||
|
"[src=\"./styles/tracker/imageset/cat_dvd_small.png\"]": 5
|
||||||
|
"[src=\"./styles/tracker/imageset/cat_hgame2_small.png\"]": 6
|
||||||
|
"[src=\"./styles/tracker/imageset/cat_manga_small.png\"]": 7
|
||||||
|
"[src=\"./styles/tracker/imageset/cat_music_small.png\"]": 8
|
||||||
|
"[src=\"./styles/tracker/imageset/cat_musicvid_small.png\"]": 9
|
||||||
|
"[src=\"./styles/tracker/imageset/cat_noneng_small.png\"]": 10
|
||||||
|
"[src=\"./styles/tracker/imageset/cat_other_small.png\"]": 11
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
---
|
||||||
|
id: anisource
|
||||||
|
name: AniSource
|
||||||
|
description: "AniSource is a Public site for HD Anime raws."
|
||||||
|
language: en-US
|
||||||
|
type: public
|
||||||
|
encoding: UTF-8
|
||||||
|
requestDelay: 5
|
||||||
|
links:
|
||||||
|
- https://asnet.pw/
|
||||||
|
|
||||||
|
settings: []
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: TV/Anime, desc: "Raw Animes"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
- path: /
|
||||||
|
inputs:
|
||||||
|
tpage: 2
|
||||||
|
inputs:
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
|
||||||
|
headers:
|
||||||
|
# site blocks Jackett's User-Agents, so slightly alter it here (e.g. Chrome/87.0. > Chrome/97.0.)
|
||||||
|
User-Agent: ["Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4280.88 Safari/537.36"]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: div[class^="item"]
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
text: 1
|
||||||
|
title:
|
||||||
|
selector: a[href*="/showprofile/"]
|
||||||
|
filters:
|
||||||
|
# move group to the end
|
||||||
|
- name: re_replace
|
||||||
|
args: ["^(\\[.+?\\]) (.+?)$", "$2 $1"]
|
||||||
|
details:
|
||||||
|
selector: a[href*="/showprofile/"]
|
||||||
|
attribute: href
|
||||||
|
infohash:
|
||||||
|
selector: a[href*="/showprofile/"]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: ([A-F|a-f|0-9]{40})
|
||||||
|
date:
|
||||||
|
selector: font[color="Black"]
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "Date: (.+?) Central"
|
||||||
|
- name: replace
|
||||||
|
args: [" at ", " "]
|
||||||
|
- name: append
|
||||||
|
args: " -09:00" # CUS
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm zzz"
|
||||||
|
size:
|
||||||
|
selector: font[color="Black"]
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "Size: (.+?) \\|"
|
||||||
|
- name: replace
|
||||||
|
args: ["b", "B"]
|
||||||
|
files:
|
||||||
|
selector: font[color="Black"]
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: (\d+)$
|
||||||
|
seeders:
|
||||||
|
text: 1
|
||||||
|
leechers:
|
||||||
|
text: 1
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,170 @@
|
|||||||
|
---
|
||||||
|
id: anthelion-api
|
||||||
|
name: Anthelion (API)
|
||||||
|
description: "Anthelion is a Private MOVIES tracker"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://anthelion.me/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 2000, cat: Movies}
|
||||||
|
- {id: 2030, cat: Movies/SD}
|
||||||
|
- {id: 2040, cat: Movies/HD}
|
||||||
|
- {id: 2045, cat: Movies/UHD}
|
||||||
|
- {id: 2050, cat: Movies/BluRay}
|
||||||
|
- {id: 2080, cat: Movies/WEB-DL}
|
||||||
|
- {id: 8000, cat: Other}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
movie-search: [q, imdbid, tmdbid]
|
||||||
|
# note: the api any supports movie search so there is no tv season/episode support.
|
||||||
|
# not using year search because torznab adds it to the q= which results in &q=keyword+2022&year=2022 sent to api !?!
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: apikey
|
||||||
|
type: text
|
||||||
|
label: APIKey
|
||||||
|
- name: info_key
|
||||||
|
type: info
|
||||||
|
label: About your API key
|
||||||
|
default: "Find or Generate a new API Key by accessing your <a href=\"https://anthelion.me/\" target=\"_blank\">Anthelion</a> account <i>Settings</i> page and scrolling down to the <b>API Key</b> section.<br>Tick the <b>Search</b> and <b>Download</b> checkboxes and click the <b>save profile</b> button to generate the key."
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Activity is defined as actually using your account, including the snatch/grab/seeding of torrents. You are also required to sign-in to the web frontend of Anthelion at least once per 3mo (90 days) (Note, using autodl/ARR does not satisfy this)."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: api.php
|
||||||
|
method: get
|
||||||
|
inputs:
|
||||||
|
api_key: "{{ .Config.apikey }}"
|
||||||
|
error:
|
||||||
|
- selector: ":root:contains(\"Unrecognized key\")"
|
||||||
|
message:
|
||||||
|
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||||
|
- selector: ":root:contains(\"No API_KEY provided\")"
|
||||||
|
message:
|
||||||
|
text: "You did not enter an API key."
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# docs: https://anthelion.me/forums.php?action=viewthread&threadid=1026
|
||||||
|
- path: api.php
|
||||||
|
response:
|
||||||
|
type: json
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
api_key: "{{ .Config.apikey }}"
|
||||||
|
o: json
|
||||||
|
t: movie
|
||||||
|
q: "{{ .Keywords }}"
|
||||||
|
tmdb: "{{ .Query.TMDBID }}"
|
||||||
|
imdb: "{{ .Query.IMDBIDShort }}"
|
||||||
|
# category filtering is disabled since it seems to rely on the AND operator that prevents some releases to show on search.
|
||||||
|
# cat: "{{ join .Categories \",\" }}"
|
||||||
|
limit: 100
|
||||||
|
offset: 0
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: item
|
||||||
|
count:
|
||||||
|
selector: response.total
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: category
|
||||||
|
filters:
|
||||||
|
- name: split
|
||||||
|
args: [",", -1]
|
||||||
|
year:
|
||||||
|
selector: year
|
||||||
|
optional: true
|
||||||
|
_codec:
|
||||||
|
selector: codec
|
||||||
|
_container:
|
||||||
|
selector: container
|
||||||
|
_media:
|
||||||
|
selector: media
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["WEB", "WEB-DL"]
|
||||||
|
_resolution:
|
||||||
|
selector: resolution
|
||||||
|
_audioFormat:
|
||||||
|
selector: audioFormat
|
||||||
|
_subbing:
|
||||||
|
selector: subbing
|
||||||
|
optional: true
|
||||||
|
_flags:
|
||||||
|
selector: flags
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: [",", " "]
|
||||||
|
_language:
|
||||||
|
selector: language
|
||||||
|
optional: true
|
||||||
|
_releaseGroup:
|
||||||
|
selector: releaseGroup
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: trim
|
||||||
|
title_optional:
|
||||||
|
selector: title
|
||||||
|
filters:
|
||||||
|
- name: htmldecode
|
||||||
|
- name: append
|
||||||
|
args: " {{ .Result.year }} {{ .Result._codec }} {{ .Result._container }} {{ .Result._media }} {{ .Result._resolution }} {{ .Result._audioFormat }}{{ if .Result._subbing }} Subs{{ else }}{{ end }}{{ if .Result._flags }} {{ .Result._flags }}{{ else }}{{ end }}{{ if .Result._language }} {{ .Result._language }}{{ else }}{{ end }}{{ if and (.Result._releaseGroup) (ne .Result._releaseGroup \"NULL\") }}-{{ .Result._releaseGroup }}{{ else }}{{ end }}"
|
||||||
|
details:
|
||||||
|
selector: guid
|
||||||
|
download:
|
||||||
|
selector: link
|
||||||
|
filters:
|
||||||
|
- name: htmldecode
|
||||||
|
infohash:
|
||||||
|
selector: infohash
|
||||||
|
imdbid:
|
||||||
|
selector: imdb
|
||||||
|
tmdbid:
|
||||||
|
selector: tmdb
|
||||||
|
genre:
|
||||||
|
selector: tags
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: [".", "_"]
|
||||||
|
description:
|
||||||
|
text: "{{ .Result.genre }}"
|
||||||
|
files:
|
||||||
|
selector: fileCount
|
||||||
|
seeders:
|
||||||
|
selector: seeders
|
||||||
|
leechers:
|
||||||
|
selector: leechers
|
||||||
|
grabs:
|
||||||
|
selector: grabs
|
||||||
|
date:
|
||||||
|
# 2022-08-07T20:56:06+0200
|
||||||
|
selector: pubDate
|
||||||
|
size:
|
||||||
|
selector: size
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
minimumseedtime:
|
||||||
|
# 3 day (as seconds = 3 x 24 x 60 x 60)
|
||||||
|
text: 259200
|
||||||
|
_filename:
|
||||||
|
selector: "files[0].name"
|
||||||
|
filters:
|
||||||
|
- name: htmldecode
|
||||||
|
optional: true
|
||||||
|
title:
|
||||||
|
text: "{{ if and (eq .Result.files \"1\") (.Result._filename) }}{{ .Result._filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||||
|
# json api
|
||||||
@@ -0,0 +1,235 @@
|
|||||||
|
---
|
||||||
|
id: arabafenice
|
||||||
|
name: ArabaFenice
|
||||||
|
description: "Araba Fenice (Phoenix) is an ITALIAN Private site for TV / MOVIES / GENERAL"
|
||||||
|
language: it-IT
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://www.arabafenice.me/
|
||||||
|
legacylinks:
|
||||||
|
- http://www.arabafenice.me/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
# HRS
|
||||||
|
- {id: 34, cat: Movies/HD, desc: "1080p HRS x264"}
|
||||||
|
- {id: 47, cat: Movies/UHD, desc: "2160p 4K UHD HRS"}
|
||||||
|
- {id: 35, cat: TV, desc: "Serie TV HRS"}
|
||||||
|
- {id: 36, cat: Movies/SD, desc: "DVDRip HRS"}
|
||||||
|
- {id: 41, cat: Movies/SD, desc: "BDRip 576p HRS"}
|
||||||
|
- {id: 39, cat: Movies/HD, desc: "1080p HRS x265 HEVC"}
|
||||||
|
# AREA SuperVip
|
||||||
|
- {id: 33, cat: Movies/HD, desc: "[DD] Film 720p MP4"}
|
||||||
|
- {id: 54, cat: Movies/HD, desc: "[DD] 1080p V.U. MKV"}
|
||||||
|
- {id: 55, cat: Movies/BluRay, desc: "[DD] FULL BluRay"}
|
||||||
|
- {id: 57, cat: Movies/UHD, desc: "[DD] 4K FULL BluRay"}
|
||||||
|
- {id: 58, cat: XXX, desc: "[DD] XXX 1080p"}
|
||||||
|
- {id: 59, cat: XXX, desc: "[DD] XXX 4K 2160p"}
|
||||||
|
- {id: 60, cat: XXX, desc: "[DD] XXX 720p"}
|
||||||
|
# VIDEO
|
||||||
|
- {id: 1, cat: Movies, desc: "News Cinema"}
|
||||||
|
- {id: 40, cat: TV/UHD, desc: "4K Video Untouched"}
|
||||||
|
- {id: 2, cat: Movies/SD, desc: "BD-DVDRip"}
|
||||||
|
- {id: 3, cat: Movies/DVD, desc: "DVD 5"}
|
||||||
|
- {id: 50, cat: Movies/UHD, desc: "4K 2160p UHD"}
|
||||||
|
- {id: 6, cat: Movies/BluRay, desc: "BluRay Full"}
|
||||||
|
- {id: 4, cat: Movies/HD, desc: "1080p 3D x264"}
|
||||||
|
- {id: 7, cat: Movies/HD, desc: "1080p x264"}
|
||||||
|
- {id: 46, cat: Movies/HD, desc: "1080p VideoUntouched"}
|
||||||
|
- {id: 44, cat: Movies/HD, desc: "1080p x265 HEVC"}
|
||||||
|
- {id: 5, cat: Movies/DVD, desc: "DVD 9"}
|
||||||
|
- {id: 9, cat: TV/Anime, desc: "Cartoons"}
|
||||||
|
- {id: 8, cat: TV/Anime, desc: "720p x264"}
|
||||||
|
- {id: 12, cat: TV, desc: "Stagioni Concluse"}
|
||||||
|
- {id: 13, cat: TV, desc: "Stagioni in Onda"}
|
||||||
|
- {id: 14, cat: TV, desc: "TV Show"}
|
||||||
|
- {id: 42, cat: TV, desc: "Serie Tv Sub Ita"}
|
||||||
|
- {id: 15, cat: TV/Documentary, desc: "Documentari"}
|
||||||
|
- {id: 53, cat: TV/HD, desc: "VIDEO MP4 720p"}
|
||||||
|
- {id: 38, cat: XXX, desc: "xXx"}
|
||||||
|
- {id: 43, cat: Other, desc: "Araba per il sociale"}
|
||||||
|
# MUSICA
|
||||||
|
- {id: 17, cat: Audio, desc: "Musica Italiana"}
|
||||||
|
- {id: 45, cat: Audio, desc: "Discografie"}
|
||||||
|
- {id: 18, cat: Audio, desc: "MusicaInternazionale"}
|
||||||
|
- {id: 19, cat: Audio, desc: "Compilation"}
|
||||||
|
# PDF
|
||||||
|
- {id: 21, cat: Books, desc: "Ebook"}
|
||||||
|
- {id: 22, cat: Books/Comics, desc: "Comics"}
|
||||||
|
- {id: 23, cat: Books, desc: "Newsstand"}
|
||||||
|
- {id: 56, cat: Books/Mags, desc: "Riviste"}
|
||||||
|
- {id: 48, cat: XXX/Other, desc: "Riviste xXx"}
|
||||||
|
- {id: 49, cat: XXX/Other, desc: "Fumetti xXx"}
|
||||||
|
# GAMES
|
||||||
|
- {id: 25, cat: Console/PS4, desc: "Sony Games"}
|
||||||
|
- {id: 26, cat: Console/XBox, desc: "XboX Games"}
|
||||||
|
- {id: 27, cat: Console/Other, desc: "Nintendo Games"}
|
||||||
|
- {id: 28, cat: PC/Games, desc: "PC Games"}
|
||||||
|
# SOFTWARE
|
||||||
|
- {id: 30, cat: PC/ISO, desc: "Windows APP"}
|
||||||
|
- {id: 31, cat: PC/Mobile-iOS, desc: "Apple APP"}
|
||||||
|
- {id: 32, cat: PC/Mobile-Android, desc: "Android APP"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid]
|
||||||
|
movie-search: [q, imdbid]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: 3
|
||||||
|
options:
|
||||||
|
3: created
|
||||||
|
5: seeders
|
||||||
|
4: size
|
||||||
|
2: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: 2
|
||||||
|
options:
|
||||||
|
2: desc
|
||||||
|
1: asc
|
||||||
|
- name: info
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: index.php?page=login
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
uid: "{{ .Config.username }}"
|
||||||
|
pwd: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: body[onLoad^="makeAlert('"]
|
||||||
|
message:
|
||||||
|
selector: body[onLoad^="makeAlert('"]
|
||||||
|
attribute: onLoad
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["makeAlert('Error' , '", ""]
|
||||||
|
- name: replace
|
||||||
|
args: ["');", ""]
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
download:
|
||||||
|
before:
|
||||||
|
path: thanks.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
infohash: "{{ .DownloadUri.Query.id }}"
|
||||||
|
thanks: 1
|
||||||
|
rndval: "1487013827343"
|
||||||
|
selectors:
|
||||||
|
- selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "^(.+?)&key="
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: index.php
|
||||||
|
keywordsfilters:
|
||||||
|
- name: diacritics
|
||||||
|
args: replace
|
||||||
|
- name: re_replace # S01 to 1
|
||||||
|
args: ["(?i)\\bS0*(\\d+)\\b", "$1"]
|
||||||
|
- name: re_replace # S01E01 to 1 1
|
||||||
|
args: ["(?i)\\bS0*(\\d+)E0*(\\d+)\\b", "$1 $2"]
|
||||||
|
inputs:
|
||||||
|
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBIDShort }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||||
|
page: torrents
|
||||||
|
category: "{{ range .Categories }}{{.}};{{end}}"
|
||||||
|
options: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
|
||||||
|
active: 0
|
||||||
|
order: "{{ .Config.sort }}"
|
||||||
|
by: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table > tbody > tr > td > table.lista > tbody > tr:has(a[href^="index.php?page=torrent-details&id="])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
download:
|
||||||
|
selector: a[href^="index.php?page=downloadcheck&id="]
|
||||||
|
attribute: href
|
||||||
|
title:
|
||||||
|
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
|
||||||
|
filters:
|
||||||
|
- name: re_replace # S01 E01 to S01E01
|
||||||
|
args: ["(?i)\\bS(\\d+)\\sE(\\d+)\\b", "S$1E$2"]
|
||||||
|
- name: re_replace # 01x01 to S01E01
|
||||||
|
args: ["(?i)(\\d{2})x(\\d+)", "S$1E$2"]
|
||||||
|
- name: re_replace # 1x01 to S01E01
|
||||||
|
args: ["(?i)\\b(\\d{1})x(\\d+)", "S0$1E$2"]
|
||||||
|
- name: re_replace # Stagione X --> S0X
|
||||||
|
args: ["(?i)\\bStagion[ei]\\s?(\\d{1})\\b|\\bSeason'?s?\\s?(\\d{1})\\b", "S0$1$2"]
|
||||||
|
- name: re_replace # Stagione XX --> SXX
|
||||||
|
args: ["(?i)\\bStagion[ei]\\s?(\\d{2,})\\b|\\bSeason'?s?\\s?(\\d{2,})\\b", "S$1$2"]
|
||||||
|
- name: re_replace # Episodio 4 to E4
|
||||||
|
args: ["(?i)\\b(?:[\\/\\|]?Episodio\\s?(\\d+)|Puntata\\s?(\\d+))", "E$1$2"]
|
||||||
|
- name: re_replace # Episodi 4 5 to E04-05
|
||||||
|
args: ["(?i)\\b(?:Puntate\\s*)(\\d+)\\s?(\\d+)", "E0$1-0$2"]
|
||||||
|
poster:
|
||||||
|
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
|
||||||
|
attribute: onmouseover
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "src=(.*?) "
|
||||||
|
category:
|
||||||
|
selector: a[href^="index.php?page=torrents&category="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: category
|
||||||
|
details:
|
||||||
|
selector: a[onmouseover][href^="index.php?page=torrent-details&id="]
|
||||||
|
attribute: href
|
||||||
|
size:
|
||||||
|
selector: td:nth-last-child(4)
|
||||||
|
date:
|
||||||
|
selector: td:nth-last-child(9)
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +01:00" # CET
|
||||||
|
- name: dateparse
|
||||||
|
args: "dd/MM/yyyy zzz"
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-last-child(6)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-last-child(8)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-last-child(7)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[alt="Gold 100% Free"]: 0
|
||||||
|
img[alt="Silver 50% Free"]: 0.5
|
||||||
|
img[alt="Bronze 25% Free"]: 0.75
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[alt="2x Upload Multiplier"]: 2
|
||||||
|
img[alt="3x Upload Multiplier"]: 3
|
||||||
|
img[alt="4x Upload Multiplier"]: 4
|
||||||
|
img[alt="5x Upload Multiplier"]: 5
|
||||||
|
img[alt="6x Upload Multiplier"]: 6
|
||||||
|
img[alt="7x Upload Multiplier"]: 7
|
||||||
|
img[alt="8x Upload Multiplier"]: 8
|
||||||
|
img[alt="9x Upload Multiplier"]: 9
|
||||||
|
img[alt="10x Upload Multiplier"]: 10
|
||||||
|
"*": 1
|
||||||
|
# xbtitFM v1.16
|
||||||
@@ -0,0 +1,179 @@
|
|||||||
|
---
|
||||||
|
id: arabp2p
|
||||||
|
name: ArabP2P
|
||||||
|
description: "ArabP2P is an ARABIC Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||||
|
language: ar-AE
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://www.arabp2p.net/
|
||||||
|
legacylinks:
|
||||||
|
- http://www.arabp2p.com/
|
||||||
|
- https://www.arabp2p.com/
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: 3
|
||||||
|
options:
|
||||||
|
3: created
|
||||||
|
5: seeders
|
||||||
|
4: size
|
||||||
|
2: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: 2
|
||||||
|
options:
|
||||||
|
2: desc
|
||||||
|
1: asc
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "You must log in periodically. If the member is absent from the website for a period of 3 months, the account will be deleted without prior warning."
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
# المرئيات العربية Arabic Movies
|
||||||
|
- {id: 14, cat: Movies, desc: "اسلامي (Islamic)"}
|
||||||
|
- {id: 19, cat: TV/Documentary, desc: "وثائقي (Documentary)"}
|
||||||
|
- {id: 70, cat: TV, desc: "تعليمي (Educational)"}
|
||||||
|
- {id: 41, cat: Movies, desc: "افلام عربيه (Arabic Movies)"}
|
||||||
|
- {id: 88, cat: Movies, desc: "افلام مدبلجه عربي (Arabic Dubbed Movies)"}
|
||||||
|
- {id: 44, cat: TV, desc: "مسلسلات عربية (Arabic Series)"}
|
||||||
|
- {id: 89, cat: TV, desc: "مسلسلات عربية كامله (Full Arabic Series)"}
|
||||||
|
- {id: 52, cat: TV, desc: "مسرحيات (Plays)"}
|
||||||
|
- {id: 71, cat: TV, desc: "مسلسلات مدبلجه عربي (Arabic Dubbed Series)"}
|
||||||
|
- {id: 90, cat: TV, desc: "برامج ومسابقات (Shows)"}
|
||||||
|
- {id: 117, cat: TV, desc: "رمضان 2024 (Ramadan)"}
|
||||||
|
# المرئيات الاجنبية Foreign Movies
|
||||||
|
- {id: 92, cat: TV/Foreign, desc: "تعليمي (Educational)"}
|
||||||
|
- {id: 93, cat: TV/Documentary, desc: "وثائقي (Documentary)"}
|
||||||
|
- {id: 45, cat: TV/Foreign, desc: "مسلسلات وبرامج اجنبيه (Serials)"}
|
||||||
|
- {id: 57, cat: TV/Foreign, desc: "مسلسلات آسيوية (Asian Series)"}
|
||||||
|
- {id: 42, cat: Movies/Foreign, desc: "افلام اجنبيه (Foreign)"}
|
||||||
|
- {id: 74, cat: Movies/HD, desc: "جودة عالية HD"}
|
||||||
|
- {id: 113, cat: TV/Foreign, desc: "مسلسلات لاتينية مترجم.مدبلج(Latin Series"}
|
||||||
|
- {id: 59, cat: Movies/Foreign, desc: "افلام آسيوية (Asian Movies)"}
|
||||||
|
- {id: 86, cat: Movies/Foreign, desc: "افلام هنديه (Indian Movies)"}
|
||||||
|
- {id: 114, cat: Movies/Foreign, desc: "افلام لاتينية مترجم.مدبلج (Latin Movies)"}
|
||||||
|
- {id: 115, cat: TV/Foreign, desc: "مسلسلات تركية مترجم.مدبلج (Turkish Series)"}
|
||||||
|
- {id: 116, cat: Movies/Foreign, desc: "افلام تركية مترجم.مدبلج (Turkish Movies)"}
|
||||||
|
# انمي مدبلج عربي Anime Arabic dubbed
|
||||||
|
- {id: 98, cat: TV/Anime, desc: "افلام (Movies)"}
|
||||||
|
- {id: 100, cat: TV/Anime, desc: "مسلسلات (Series)"}
|
||||||
|
- {id: 102, cat: TV/Anime, desc: "حلقات (Episdoes)"}
|
||||||
|
# انمي مترجم عربي Anime Arabic translator
|
||||||
|
- {id: 99, cat: TV/Anime, desc: "افلام (Movies)"}
|
||||||
|
- {id: 101, cat: TV/Anime, desc: "مسلسلات (Series)"}
|
||||||
|
- {id: 103, cat: TV/Anime, desc: "حلقات (Episodes)"}
|
||||||
|
- {id: 85, cat: TV/Anime, desc: "الكارتون الصامت والكلاسيكي (Cartoons)"}
|
||||||
|
# صوتيات Audio
|
||||||
|
- {id: 25, cat: Audio, desc: "القران الكريم (The Holy Quran)"}
|
||||||
|
- {id: 27, cat: Audio, desc: "محاضرات (Lectures)"}
|
||||||
|
- {id: 26, cat: Audio, desc: "اناشيد (Chants)"}
|
||||||
|
# برامج Software
|
||||||
|
- {id: 22, cat: PC, desc: "برامج عربية (Arabic Software)"}
|
||||||
|
- {id: 23, cat: PC, desc: "برامج عامه (Public Software)"}
|
||||||
|
- {id: 78, cat: PC/Mobile-iOS, desc: "iPad/iPhone"}
|
||||||
|
- {id: 79, cat: PC/Mobile-Android, desc: "android"}
|
||||||
|
# العاب Games
|
||||||
|
- {id: 30, cat: PC/Games, desc: "PC"}
|
||||||
|
- {id: 31, cat: Console/PS3, desc: "PS2"}
|
||||||
|
- {id: 53, cat: Console/Wii, desc: "wii"}
|
||||||
|
- {id: 55, cat: Console/PSP, desc: "PSP"}
|
||||||
|
- {id: 63, cat: Console/XBox, desc: "XBOX"}
|
||||||
|
- {id: 64, cat: Console/PS3, desc: "PS3"}
|
||||||
|
# اخرى Other
|
||||||
|
- {id: 17, cat: Books, desc: "كتب (Books)"}
|
||||||
|
- {id: 65, cat: Other, desc: "صور (Images)"}
|
||||||
|
- {id: 56, cat: Other, desc: "رياضي (Sport)"}
|
||||||
|
- {id: 46, cat: Other, desc: "منوع (Misc)"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: index.php
|
||||||
|
method: form
|
||||||
|
form: form[action^="index.php?page=login"]
|
||||||
|
inputs:
|
||||||
|
uid: "{{ .Config.username }}"
|
||||||
|
pwd: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: tr td span[style="color:#FF0000;"]
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href^="logout.php?t="]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://www.arabp2p.com/index.php?page=torrents&search=&category=0&active=0&internel=0
|
||||||
|
- path: index.php
|
||||||
|
inputs:
|
||||||
|
page: torrents
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
category: "{{ if .Categories }}{{ range .Categories }}{{.}};{{end}}{{ else }}0{{ end }}"
|
||||||
|
# 0 all 1 activeonly 2 deadonly
|
||||||
|
active: 0
|
||||||
|
# 0 all 1 internal 2 external
|
||||||
|
internel: 0
|
||||||
|
order: "{{ .Config.sort }}"
|
||||||
|
by: "{{ .Config.type }}"
|
||||||
|
# does not support imdbid search or provide imdb link in results
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.torrent tr.torrent
|
||||||
|
filters:
|
||||||
|
- name: andmatch
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: td a[href^="index.php?page=torrents&category="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: category
|
||||||
|
title:
|
||||||
|
selector: td a[href^="index.php?page=torrent-details"]
|
||||||
|
details:
|
||||||
|
selector: td a[href^="index.php?page=torrent-details"]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: td a[href^="download.php"]
|
||||||
|
attribute: href
|
||||||
|
date:
|
||||||
|
selector: td:nth-child(4) span
|
||||||
|
attribute: title
|
||||||
|
# auto adjusted by site account profile
|
||||||
|
filters:
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss"
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
span.free: 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
minimumratio:
|
||||||
|
text: 0.8
|
||||||
|
minimumseedtime:
|
||||||
|
text: 259200 # 3 days
|
||||||
|
# xbtit
|
||||||
@@ -0,0 +1,221 @@
|
|||||||
|
---
|
||||||
|
id: arabtorrents
|
||||||
|
name: ArabTorrents
|
||||||
|
description: "ArabTorrents is an ARABIC Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||||
|
language: ar-AE
|
||||||
|
type: private
|
||||||
|
encoding: windows-1256
|
||||||
|
requestDelay: 2
|
||||||
|
links:
|
||||||
|
- https://arab-torrents.net/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
# Movies
|
||||||
|
- {id: 36, cat: Movies, desc: "Movies/Dubbed"}
|
||||||
|
- {id: 134, cat: Movies, desc: "HD Section"}
|
||||||
|
- {id: 135, cat: Movies/HD, desc: "Movies/HD Section"}
|
||||||
|
- {id: 204, cat: Movies/HD, desc: "R5/HD Section"}
|
||||||
|
- {id: 119, cat: Movies/SD, desc: "Movies/SD TV"}
|
||||||
|
- {id: 205, cat: Movies/Foreign, desc: "Foreign"}
|
||||||
|
- {id: 208, cat: Movies/Foreign, desc: "Stranger/Foreign"}
|
||||||
|
- {id: 209, cat: Movies/Foreign, desc: "Turkish/Foreign"}
|
||||||
|
- {id: 207, cat: Movies/Foreign, desc: "Indian/Foreign"}
|
||||||
|
- {id: 191, cat: Movies, desc: "Movies/Golden-VIP"}
|
||||||
|
- {id: 190, cat: Movies, desc: "Movies/Super VIP"}
|
||||||
|
- {id: 212, cat: Movies, desc: "Movies/VIP"}
|
||||||
|
- {id: 181, cat: Movies, desc: "Classic Movies/WEB-DL"}
|
||||||
|
- {id: 167, cat: Movies, desc: "Movies/WEB-DL"}
|
||||||
|
# Shows
|
||||||
|
- {id: 186, cat: TV, desc: "Dubbed"}
|
||||||
|
- {id: 166, cat: TV/WEB-DL, desc: "WEB-DL"}
|
||||||
|
- {id: 168, cat: TV/WEB-DL, desc: "Series/WEB-DL"}
|
||||||
|
- {id: 171, cat: TV/WEB-DL, desc: "TV Shows/WEB-DL"}
|
||||||
|
- {id: 180, cat: TV/WEB-DL, desc: "Classic Series/WEB-DL"}
|
||||||
|
- {id: 169, cat: TV/WEB-DL, desc: "Full-Pack/WEB-DL"}
|
||||||
|
- {id: 210, cat: Other, desc: "VIP"}
|
||||||
|
- {id: 211, cat: TV, desc: "TV Shows/VIP"}
|
||||||
|
- {id: 213, cat: TV, desc: "Full-Pack/VIP"}
|
||||||
|
- {id: 94, cat: TV, desc: "Super VIP"}
|
||||||
|
- {id: 189, cat: TV, desc: "TV Shows/Super VIP"}
|
||||||
|
- {id: 201, cat: TV, desc: "Full-Pack/Super VIP"}
|
||||||
|
- {id: 197, cat: TV, desc: "TV Shows/Ramadan 2022"}
|
||||||
|
- {id: 148, cat: TV/Other, desc: "Series/OSN"}
|
||||||
|
- {id: 149, cat: TV/Other, desc: "TV Show/OSN"}
|
||||||
|
- {id: 165, cat: TV, desc: "Golden-VIP"}
|
||||||
|
- {id: 185, cat: TV, desc: "Series/Golden-VIP"}
|
||||||
|
- {id: 200, cat: TV, desc: "Full-Pack/Golden-VIP"}
|
||||||
|
- {id: 26, cat: TV/SD, desc: "SD TV"}
|
||||||
|
- {id: 78, cat: TV/SD, desc: "Series/SD TV"}
|
||||||
|
- {id: 124, cat: TV/SD, desc: "FullPack/SD TV"}
|
||||||
|
- {id: 136, cat: TV/HD, desc: "Series/HD Section"}
|
||||||
|
- {id: 137, cat: TV/HD, desc: "TV Shows/HD Section"}
|
||||||
|
- {id: 182, cat: TV/HD, desc: "Full Pack/HD Section"}
|
||||||
|
- {id: 187, cat: TV/Foreign, desc: "TV Shows/Dubbed"}
|
||||||
|
- {id: 188, cat: TV/Foreign, desc: "Full-Pack/Dubbed"}
|
||||||
|
# Anime
|
||||||
|
- {id: 33, cat: TV/Anime, desc: "Anime"}
|
||||||
|
- {id: 51, cat: TV/Anime, desc: "Series/Anime"}
|
||||||
|
- {id: 129, cat: Movies/BluRay, desc: "Blu-Ray/Anime"}
|
||||||
|
- {id: 125, cat: TV, desc: "Full-Pack/Anime"}
|
||||||
|
- {id: 50, cat: Movies, desc: "Movies/Anime"}
|
||||||
|
# Islamic
|
||||||
|
- {id: 67, cat: Other, desc: "Islamic"}
|
||||||
|
- {id: 126, cat: TV, desc: "Full-Packs/Islamic"}
|
||||||
|
- {id: 91, cat: Audio/MP3, desc: "MP3/Islamic"}
|
||||||
|
- {id: 92, cat: Other, desc: "Video/Islamic"}
|
||||||
|
# Music
|
||||||
|
- {id: 16, cat: Audio, desc: "Music"}
|
||||||
|
- {id: 177, cat: Audio, desc: "Flac/Music"}
|
||||||
|
- {id: 127, cat: Audio, desc: "Full-Packs/Music"}
|
||||||
|
- {id: 17, cat: Audio/MP3, desc: "MP3/Music"}
|
||||||
|
- {id: 19, cat: Audio/Video, desc: "Videos/Music"}
|
||||||
|
# OSN
|
||||||
|
- {id: 146, cat: TV/Other, desc: "OSN"}
|
||||||
|
- {id: 147, cat: TV/Other, desc: "Arabic/OSN"}
|
||||||
|
- {id: 153, cat: TV/Other, desc: "English/OSN"}
|
||||||
|
- {id: 179, cat: TV/Other, desc: "Old/OSN"}
|
||||||
|
# Ramadan 2022
|
||||||
|
- {id: 192, cat: Other, desc: "Ramadan 2022"}
|
||||||
|
- {id: 198, cat: Other, desc: "Full Pack/Ramadan 2022"}
|
||||||
|
- {id: 193, cat: Other, desc: "Ramadan HD/Ramadan 2022"}
|
||||||
|
- {id: 195, cat: Other, desc: "Ramadan Khaliji/Ramadan 2022"}
|
||||||
|
- {id: 194, cat: Other, desc: "Ramadan SD/Ramadan 2022"}
|
||||||
|
- {id: 196, cat: Other, desc: "Ramadan Web/Ramadan 2022"}
|
||||||
|
# Sports
|
||||||
|
- {id: 120, cat: TV/Sport, desc: "Sports"}
|
||||||
|
- {id: 159, cat: TV/Sport, desc: "Full Matches/Sports"}
|
||||||
|
- {id: 155, cat: TV/Sport, desc: "Goals/Sports"}
|
||||||
|
# Rest
|
||||||
|
- {id: 102, cat: TV/Other, desc: "Other/SD TV"}
|
||||||
|
- {id: 202, cat: Other, desc: "AT"}
|
||||||
|
- {id: 203, cat: Other, desc: "AT/AT"}
|
||||||
|
- {id: 34, cat: Other, desc: "Misc"}
|
||||||
|
- {id: 132, cat: PC/Mobile-Android, desc: "Android/Misc"}
|
||||||
|
- {id: 163, cat: TV/Documentary, desc: "Documentary/Misc"}
|
||||||
|
- {id: 122, cat: Other, desc: "Other/Misc"}
|
||||||
|
- {id: 121, cat: Other, desc: "Theater/Misc"}
|
||||||
|
- {id: 214, cat: Other, desc: "Other/VIP"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: added
|
||||||
|
options:
|
||||||
|
added: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: takelogin.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: table:has(td.thead:contains("حدث خطأ"))
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href*="logout.php"]
|
||||||
|
|
||||||
|
download:
|
||||||
|
before:
|
||||||
|
path: takethanks.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
torrentid: "{{ re_replace .DownloadUri.PathAndQuery \".*download-torrent-(\\d+).*\" \"$1\"}}"
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: browse.php
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
do: search
|
||||||
|
keywords: "{{ .Keywords }}"
|
||||||
|
# t_name, t_description, t_both, t_uploader, t_genre
|
||||||
|
search_type: t_both
|
||||||
|
# does not support multi category searching so defaulting to all.
|
||||||
|
category: 0
|
||||||
|
include_dead_torrents: yes
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
order: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\W+", "*"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["^(.+)$", "*$1*"]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table#sortabletable > tbody > tr:has(span > a[href*="details.php?id="])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: td a[href*="/torrent-category-"]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "torrent-category-(\\d+)\/"
|
||||||
|
title:
|
||||||
|
selector: td div.tooltip-target
|
||||||
|
details:
|
||||||
|
selector: span a[href*="/details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href*="/download-torrent-"]
|
||||||
|
attribute: href
|
||||||
|
date:
|
||||||
|
selector: td:nth-child(2) > div:nth-child(3)
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "(\\d{2}-\\d{2}-\\d{4} \\d{2}:\\d{2})"
|
||||||
|
- name: dateparse
|
||||||
|
args: "dd-MM-yyyy HH:mm"
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
poster:
|
||||||
|
selector: div.tooltip-content > img[src*="/torrents/"]
|
||||||
|
attribute: src
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src$="torrent_flags/freedownload.gif"]: 0
|
||||||
|
img[src$="torrent_flags/silverdownload.gif"]: 0.5
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src$="torrent_flags/x2.gif"]: 2
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.05
|
||||||
|
minimumseedtime:
|
||||||
|
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||||
|
text: 259200
|
||||||
|
# TS Special Edition v.7.4
|
||||||
@@ -0,0 +1,200 @@
|
|||||||
|
---
|
||||||
|
id: arenabg
|
||||||
|
name: ArenaBG
|
||||||
|
description: "ArenaBG is a BULGARIAN Semi-Private Torrent Tracker for 0DAY / GENERAL"
|
||||||
|
language: bg-BG
|
||||||
|
type: semi-private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://arenabg.com/
|
||||||
|
legacylinks:
|
||||||
|
- https://arenabg.ch/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: Movies, desc: "Movies"}
|
||||||
|
- {id: 8, cat: Movies, desc: "Movies / ArenaBG.TV"}
|
||||||
|
- {id: 9, cat: Movies/SD, desc: "Movies / XviD"}
|
||||||
|
- {id: 10, cat: Movies/DVD, desc: "Movies / DVD-R"}
|
||||||
|
- {id: 11, cat: Movies/HD, desc: "Movies / x264"}
|
||||||
|
- {id: 12, cat: TV/Anime, desc: "Movies / Anime & Manga"}
|
||||||
|
- {id: 13, cat: TV/Documentary, desc: "Movies / Documentaries"}
|
||||||
|
- {id: 14, cat: Movies/BluRay, desc: "Movies / Blu-ray"}
|
||||||
|
- {id: 15, cat: Movies, desc: "Movies / Weekend"}
|
||||||
|
- {id: 16, cat: Movies, desc: "Movies / Boxset"}
|
||||||
|
- {id: 17, cat: Movies/HD, desc: "Movies / x264 Boxset"}
|
||||||
|
- {id: 18, cat: Movies/HD, desc: "Movies / HDTV"}
|
||||||
|
- {id: 19, cat: Movies/3D, desc: "Movies / 3D"}
|
||||||
|
- {id: 20, cat: Movies/HD, desc: "Movies / Movies HD"}
|
||||||
|
- {id: 21, cat: Movies/HD, desc: "Movies / x265"}
|
||||||
|
- {id: 22, cat: Movies/UHD, desc: "Movies / 4K"}
|
||||||
|
- {id: 59, cat: Movies/HD, desc: "Movies / AV1"}
|
||||||
|
- {id: 2, cat: TV, desc: "Series"}
|
||||||
|
- {id: 23, cat: TV/HD, desc: "Series / TV Episodes HD"}
|
||||||
|
- {id: 24, cat: TV, desc: "Series / TV Episodes"}
|
||||||
|
- {id: 25, cat: TV, desc: "Series / TV Boxset"}
|
||||||
|
- {id: 26, cat: TV/HD, desc: "Series / TV Boxset HD"}
|
||||||
|
- {id: 3, cat: Audio, desc: "Music"}
|
||||||
|
- {id: 27, cat: Audio/MP3, desc: "Music / MP3"}
|
||||||
|
- {id: 28, cat: Audio/Video, desc: "Music / Video"}
|
||||||
|
- {id: 29, cat: Audio/Lossless, desc: "Music / FLAC"}
|
||||||
|
- {id: 30, cat: Audio, desc: "Music / DVD"}
|
||||||
|
- {id: 31, cat: Audio/Lossless, desc: "Music / APE"}
|
||||||
|
- {id: 32, cat: Audio, desc: "Music / DTS"}
|
||||||
|
- {id: 33, cat: Audio, desc: "Music / WavePack"}
|
||||||
|
- {id: 34, cat: Audio, desc: "Music / OST"}
|
||||||
|
- {id: 4, cat: PC/Games, desc: "Games"}
|
||||||
|
- {id: 35, cat: PC/Games, desc: "Games / PC ISO"}
|
||||||
|
- {id: 36, cat: PC, desc: "Games / PC RIP"}
|
||||||
|
- {id: 37, cat: Console, desc: "Games / PS2"}
|
||||||
|
- {id: 38, cat: Console/PSP, desc: "Games / PSP"}
|
||||||
|
- {id: 39, cat: Console/XBox, desc: "Games / XBOX"}
|
||||||
|
- {id: 40, cat: Console/XBox 360, desc: "Games / XBOX-360"}
|
||||||
|
- {id: 41, cat: Console/PS3, desc: "Games / PS3"}
|
||||||
|
- {id: 42, cat: Console/Wii, desc: "Games / WII"}
|
||||||
|
- {id: 43, cat: Console/NDS, desc: "Games / NDS"}
|
||||||
|
- {id: 44, cat: Console/PS4, desc: "Games / PS4"}
|
||||||
|
- {id: 5, cat: PC, desc: "Software"}
|
||||||
|
- {id: 45, cat: PC/ISO, desc: "Software / PC ISO"}
|
||||||
|
- {id: 46, cat: PC/Mobile-Other, desc: "Software / Smartphone"}
|
||||||
|
- {id: 47, cat: PC, desc: "Software / Tutorial"}
|
||||||
|
- {id: 48, cat: PC/Mac, desc: "Software / MAC"}
|
||||||
|
- {id: 49, cat: PC/Mobile-Android, desc: "Software / Android"}
|
||||||
|
- {id: 50, cat: PC/Mobile-iOS, desc: "Software / iOS"}
|
||||||
|
- {id: 51, cat: PC/Mobile-Other, desc: "Software / WM7"}
|
||||||
|
- {id: 6, cat: XXX, desc: "XXX"}
|
||||||
|
- {id: 52, cat: XXX, desc: "XXX / Porn"}
|
||||||
|
- {id: 53, cat: XXX, desc: "XXX / XXX HD"}
|
||||||
|
- {id: 7, cat: Other, desc: "Misc"}
|
||||||
|
- {id: 54, cat: Other/Misc, desc: "Misc / Other"}
|
||||||
|
- {id: 55, cat: Books/EBook, desc: "Misc / e-Books"}
|
||||||
|
- {id: 56, cat: Other, desc: "Misc / Banned"}
|
||||||
|
- {id: 57, cat: TV/Sport, desc: "Misc / Sports"}
|
||||||
|
- {id: 58, cat: PC/0day, desc: "Misc / 0-Day"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: downloadlink
|
||||||
|
type: select
|
||||||
|
label: Download link
|
||||||
|
default: "magnet:?xt="
|
||||||
|
options:
|
||||||
|
"/en/torrents/download/?key=": ".torrent"
|
||||||
|
"magnet:?xt=": "magnet"
|
||||||
|
- name: downloadlink2
|
||||||
|
type: select
|
||||||
|
label: Download link (fallback)
|
||||||
|
default: "/en/torrents/download/?key="
|
||||||
|
options:
|
||||||
|
"/en/torrents/download/?key=": ".torrent"
|
||||||
|
"magnet:?xt=": "magnet"
|
||||||
|
- name: info_download
|
||||||
|
type: info
|
||||||
|
label: About the Download links
|
||||||
|
default: You can optionally set as a fallback an automatic alternate link, so if the .torrent download link fails your download will still be successful.
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: en/users/signin/
|
||||||
|
method: form
|
||||||
|
form: form[action="/en/users/signin/"]
|
||||||
|
inputs:
|
||||||
|
username_or_email: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
captcha:
|
||||||
|
type: image
|
||||||
|
selector: img[src="/captcha.php"]
|
||||||
|
input: captcha
|
||||||
|
error:
|
||||||
|
- selector: div.row div#container div.alert
|
||||||
|
test:
|
||||||
|
path: en/
|
||||||
|
selector: a[href="/en/users/logout/"]
|
||||||
|
|
||||||
|
download:
|
||||||
|
selectors:
|
||||||
|
- selector: a[href^="{{ .Config.downloadlink }}"]
|
||||||
|
attribute: href
|
||||||
|
- selector: a[href^="{{ .Config.downloadlink2 }}"]
|
||||||
|
attribute: href
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://arenabg.com/en/torrents/?text=ice+s01e01
|
||||||
|
- path: en/torrents/
|
||||||
|
inputs:
|
||||||
|
text: "{{ .Keywords }}"
|
||||||
|
subtitles: ""
|
||||||
|
audio: ""
|
||||||
|
# does not support multi-cats so defaulting to all
|
||||||
|
category: ""
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: tr:has(a[href^="/en/torrents/?category="])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: td.category a[href^="/en/torrents/?category="]:last-of-type
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: category
|
||||||
|
_english:
|
||||||
|
selector: span[title="English"]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
_bulgarian:
|
||||||
|
selector: span[title="Bulgarian"]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
title:
|
||||||
|
selector: td.filename a.title
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: "{{ if .Result._bulgarian }} {{ .Result._bulgarian }}{{ else }}{{ end }}{{ if .Result._english }} {{ .Result._english }}{{ else }}{{ end }}"
|
||||||
|
details:
|
||||||
|
selector: td.filename a.title
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: td.filename a.title
|
||||||
|
attribute: href
|
||||||
|
poster:
|
||||||
|
selector: td.filename a.title
|
||||||
|
attribute: onmouseover
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "\"(.+?)\""
|
||||||
|
- name: replace
|
||||||
|
args: ["\\", ""]
|
||||||
|
date:
|
||||||
|
# 2 January 2021, Saturday @ 20:46
|
||||||
|
selector: small
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "(.+?, .+? @ [0-9]{2}:[0-9]{2})"
|
||||||
|
- name: append
|
||||||
|
args: " +02:00" # EET
|
||||||
|
- name: dateparse
|
||||||
|
args: "d MMMM yyyy, dddd @ HH:mm zzz"
|
||||||
|
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
|
||||||
@@ -0,0 +1,191 @@
|
|||||||
|
---
|
||||||
|
id: asiancinema
|
||||||
|
name: AsianCinema
|
||||||
|
description: "Tracker Movies/TV/Music"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://asiancinema.me/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: Movies, desc: "Movies"}
|
||||||
|
- {id: 2, cat: TV, desc: "TV"}
|
||||||
|
- {id: 3, cat: Audio, desc: "Music"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||||
|
movie-search: [q, imdbid, tmdbid]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: created_at
|
||||||
|
options:
|
||||||
|
created_at: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Your account will be automatically deleted from the database after 90 days of inactivity. If you return or visit the site with your account before that amount of time passes, then the inactivity timer will reset and your account will be fine for another 90 days.<br>Keep in mind that 'activity' is considered a visit to any page and that torrent traffic is not counted as account activity. In order to reset the inactivity timer all you have to do is visit a single page while logged in with your account. If your account is deleted for inactivity, please do not ask the site staff to un-delete it for you. The deletion is performed automatically by the server and, as such, your account cannot be recovered after it has been deleted."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login
|
||||||
|
method: form
|
||||||
|
form: form[action$="/login"]
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
remember: on
|
||||||
|
selectorinputs:
|
||||||
|
_token:
|
||||||
|
selector: input[name="_token"]
|
||||||
|
attribute: value
|
||||||
|
error:
|
||||||
|
- selector: div#ERROR_COPY
|
||||||
|
# test:
|
||||||
|
# path: /
|
||||||
|
# selector: a[href$="/logout"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents/filter
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||||
|
search: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||||
|
imdb: "{{ .Query.IMDBIDShort }}"
|
||||||
|
tvdb: "{{ .Query.TVDBID }}"
|
||||||
|
tmdb: "{{ .Query.TMDBID }}"
|
||||||
|
sorting: "{{ .Config.sort }}"
|
||||||
|
direction: "{{ .Config.type }}"
|
||||||
|
qty: 100
|
||||||
|
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||||
|
# can support genre search but you need to know the id. &genre[]=10759 for Action & Adventure
|
||||||
|
# does not have genre in results, they are on the details page.
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table > tbody > tr
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href*="/categories/"]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "/categories/(\\d+)"
|
||||||
|
title:
|
||||||
|
selector: a.view-torrent
|
||||||
|
download:
|
||||||
|
selector: a[href*="/download/"]
|
||||||
|
attribute: href
|
||||||
|
details:
|
||||||
|
selector: a.view-torrent
|
||||||
|
attribute: href
|
||||||
|
poster:
|
||||||
|
selector: div.torrent-poster img
|
||||||
|
attribute: src
|
||||||
|
filters:
|
||||||
|
- name: prepend
|
||||||
|
args: "https://images.weserv.nl/?url=" # for display on dashboard
|
||||||
|
- name: append
|
||||||
|
args: "&w=180&h=270" # for display on dashboard
|
||||||
|
- name: replace
|
||||||
|
args: ["https://images.weserv.nl/?url=https://via.placeholder.com/600x900&w=180&h=270", ""]
|
||||||
|
size:
|
||||||
|
selector: td:nth-last-child(4)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-last-child(3)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-last-child(2)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-last-child(1)
|
||||||
|
imdbid:
|
||||||
|
selector: a[href*="imdb.com/title/tt"]
|
||||||
|
attribute: href
|
||||||
|
tmdbid:
|
||||||
|
selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"]
|
||||||
|
attribute: href
|
||||||
|
date:
|
||||||
|
selector: time
|
||||||
|
filters:
|
||||||
|
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpět|назад|acum|în urmă|hace|il y a|vor|преди|前|sedan)", " ago"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|секунд|secunde|secondes|Sekunden|секунди|seconden|秒前)", "seconds"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten|minuter)", "minutes"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟|分)", " minute"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden|timmar)", "hours"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时|時間|timme)", " hour"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen|dagar)", "days"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天|日)", " day"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken|veckor)", "weeks"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周|週間|vecka)", " week"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i) (ay)", "month"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden|månader)", "months"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|Monat|месец|maand|个月|ヶ月|månad)", " month"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(yil|aasta|år|anno|rok|ano|год|año|Jahr|година|jaar|年)", " year"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i) (an)", "year"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(För |und)", ""] # Misc removals
|
||||||
|
- name: timeago
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store
|
||||||
|
i[class*="fa-trophy text-purple"]: 0 # Special FreeLeech For Certain User Groups
|
||||||
|
i[class*="fa-star text-bold"]: 0 # Freeleech From Token
|
||||||
|
i[class*="fa-coins text-bold"]: 0 # Freeleech From Token
|
||||||
|
i[class*="fa-globe text-blue"]: 0 # Global Freeleech
|
||||||
|
i[class*="fa-star text-gold"]: 0 # Freeleech
|
||||||
|
i[class*="fa-certificate text-pink"]: 0 # Featured Torrent
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
i[class*="fa-gem text-green"]: 2 # Single Torrent Double Upload
|
||||||
|
i[class*="fa-globe text-green"]: 2 # Global Double Upload
|
||||||
|
i[class*="fa-certificate text-pink"]: 2 # Featured Torrent
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 0.4
|
||||||
|
minimumseedtime:
|
||||||
|
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||||
|
text: 604800
|
||||||
|
# UNIT3D 3.0.0
|
||||||
@@ -0,0 +1,162 @@
|
|||||||
|
---
|
||||||
|
id: asiandvdclub
|
||||||
|
name: AsianDVDClub
|
||||||
|
description: "AsianDVDClub (ADC) is a Private Torrent Tracker for Asian DVD and BluRay"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://asiandvdclub.org/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: TV/Anime, desc: "Anime"}
|
||||||
|
- {id: 3, cat: Movies, desc: "Japan"}
|
||||||
|
- {id: 5, cat: Movies, desc: "China"}
|
||||||
|
- {id: 4, cat: Movies, desc: "Korea"}
|
||||||
|
- {id: 2, cat: Movies, desc: "Hong Kong"}
|
||||||
|
- {id: 6, cat: Movies, desc: "Philippines"}
|
||||||
|
- {id: 7, cat: Movies, desc: "Taiwan"}
|
||||||
|
- {id: 8, cat: Movies, desc: "Thailand"}
|
||||||
|
- {id: 9, cat: Movies, desc: "Vietnam"}
|
||||||
|
- {id: 10, cat: Movies, desc: "Malaysia"}
|
||||||
|
- {id: 11, cat: Movies, desc: "Other Asian"}
|
||||||
|
- {id: 12, cat: Other, desc: "Miscellaneous"}
|
||||||
|
- {id: 15, cat: TV, desc: "TV Series"}
|
||||||
|
- {id: 16, cat: Audio, desc: "Music/OST"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: added
|
||||||
|
options:
|
||||||
|
added: created
|
||||||
|
up: seeders
|
||||||
|
size: size
|
||||||
|
title: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
- name: info_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "No special action required for red ribbons and permanent sponsors and above regardless of time, for others after 1 year of zero activity on tracker and/or website account will be closed."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
apple: evil
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: b:contains("Try again")
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="/logout"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents/
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}countries[]={{.}}&{{end}}"
|
||||||
|
searchbox: "{{ .Keywords }}"
|
||||||
|
search: Search
|
||||||
|
golden: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||||
|
column: "{{ .Config.sort }}"
|
||||||
|
order: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.torrenttable_helper > tbody > tr:has(img)
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category_optional:
|
||||||
|
selector: img[class^="cat-"]
|
||||||
|
attribute: class
|
||||||
|
optional: true
|
||||||
|
case:
|
||||||
|
img.cat-anime: 1
|
||||||
|
img.cat-hk: 2
|
||||||
|
img.cat-japan: 3
|
||||||
|
img.cat-korea: 4
|
||||||
|
img.cat-china: 5
|
||||||
|
img.cat-phil: 6
|
||||||
|
img.cat-taiwan: 7
|
||||||
|
img.cat-thai: 8
|
||||||
|
img.cat-viet: 9
|
||||||
|
img.cat-malaysia: 10
|
||||||
|
img.cat-rest: 11
|
||||||
|
img.cat-india: 11
|
||||||
|
img.cat-misc: 12
|
||||||
|
img.cat-pinku: 12
|
||||||
|
img.cat-drama: 15
|
||||||
|
img.cat-ost: 16
|
||||||
|
category:
|
||||||
|
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}12{{ end }}"
|
||||||
|
title:
|
||||||
|
selector: span[id]
|
||||||
|
details:
|
||||||
|
selector: a[href^="/torrent/"]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="/torrent/"]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["torrent", "download"]
|
||||||
|
poster:
|
||||||
|
selector: span[id]
|
||||||
|
attribute: data-ot
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: src='(.+?)'
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
date:
|
||||||
|
selector: td:nth-child(9) span.small
|
||||||
|
filters:
|
||||||
|
- name: timeago
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(10)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src$="images/golden.gif"]: 0
|
||||||
|
img[src$="images/silver.gif"]: 0.5
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.5
|
||||||
|
minimumseedtime:
|
||||||
|
# 45 days (as seconds = 45 x 24 x 60 x 60)
|
||||||
|
text: 3888000
|
||||||
|
# Engine n/a
|
||||||
@@ -0,0 +1,161 @@
|
|||||||
|
---
|
||||||
|
id: at12project
|
||||||
|
name: AT-12 Project
|
||||||
|
description: "AT-12 Project is a Private Torrent Tracker for JAPANESE MOVIES / TV"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://at-12project.cc/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 7, cat: Movies, desc: "MOVIE"}
|
||||||
|
- {id: 8, cat: TV, desc: "TV"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||||
|
movie-search: [q, imdbid, tmdbid]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: apikey
|
||||||
|
type: text
|
||||||
|
label: APIKey
|
||||||
|
- name: info_key
|
||||||
|
type: info
|
||||||
|
label: About your API key
|
||||||
|
default: "Find or Generate a new API Token by accessing your <a href=\"https://at-12project.cc/\" target=\"_blank\">AT-12 Project</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: created_at
|
||||||
|
options:
|
||||||
|
created_at: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: /api/torrents
|
||||||
|
method: get
|
||||||
|
inputs: {} # TODO: remove in v10
|
||||||
|
error:
|
||||||
|
- selector: a[href*="/login"]
|
||||||
|
message:
|
||||||
|
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||||
|
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||||
|
- path: "/api/torrents/filter"
|
||||||
|
response:
|
||||||
|
type: json
|
||||||
|
|
||||||
|
headers:
|
||||||
|
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||||
|
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||||
|
name: "{{ .Keywords }}"
|
||||||
|
seasonNumber: "{{ .Query.Season }}"
|
||||||
|
episodeNumber: "{{ .Query.Ep }}"
|
||||||
|
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||||
|
tmdbId: "{{ .Query.TMDBID }}"
|
||||||
|
tvdbId: "{{ .Query.TVDBID }}"
|
||||||
|
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||||
|
sortField: "{{ .Config.sort }}"
|
||||||
|
sortDirection: "{{ .Config.type }}"
|
||||||
|
perPage: 100
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\.", " "]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: data
|
||||||
|
attribute: attributes
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: category_id
|
||||||
|
title:
|
||||||
|
selector: name
|
||||||
|
details:
|
||||||
|
selector: details_link
|
||||||
|
download:
|
||||||
|
selector: download_link
|
||||||
|
infohash:
|
||||||
|
selector: info_hash
|
||||||
|
poster:
|
||||||
|
selector: meta.poster
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["https://via.placeholder.com/90x135", ""]
|
||||||
|
imdbid:
|
||||||
|
selector: imdb_id
|
||||||
|
tmdbid:
|
||||||
|
selector: tmdb_id
|
||||||
|
tvdbid:
|
||||||
|
selector: tvdb_id
|
||||||
|
genre:
|
||||||
|
selector: meta.genres
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)^None$", ""]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||||
|
- name: replace
|
||||||
|
args: [" & ", "_&_"]
|
||||||
|
description:
|
||||||
|
text: "{{ .Result.genre }}"
|
||||||
|
files:
|
||||||
|
selector: num_file
|
||||||
|
seeders:
|
||||||
|
selector: seeders
|
||||||
|
leechers:
|
||||||
|
selector: leechers
|
||||||
|
grabs:
|
||||||
|
selector: times_completed
|
||||||
|
date:
|
||||||
|
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||||
|
selector: created_at
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +00:00" # GMT
|
||||||
|
- name: dateparse
|
||||||
|
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||||
|
size:
|
||||||
|
selector: size
|
||||||
|
downloadvolumefactor:
|
||||||
|
# api returns 0%, 25%, 50%, 75%, 100%
|
||||||
|
selector: freeleech
|
||||||
|
case:
|
||||||
|
0%: 1 # not free
|
||||||
|
25%: 0.75
|
||||||
|
50%: 0.5
|
||||||
|
75%: 0.25
|
||||||
|
100%: 0 # freeleech
|
||||||
|
"*": 0 # catch errors
|
||||||
|
uploadvolumefactor:
|
||||||
|
# api returns False, True
|
||||||
|
selector: double_upload
|
||||||
|
case:
|
||||||
|
False: 1 # normal
|
||||||
|
True: 2 # double
|
||||||
|
minimumratio:
|
||||||
|
text: 0.4
|
||||||
|
# json UNIT3D 7.0.3
|
||||||
@@ -0,0 +1,171 @@
|
|||||||
|
---
|
||||||
|
id: audiences
|
||||||
|
name: Audiences
|
||||||
|
description: "Audiences is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||||
|
language: zh-CN
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://audiences.me/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 401, cat: Movies, desc: "电影/Movies"}
|
||||||
|
- {id: 402, cat: TV, desc: "剧集/TV-Series"}
|
||||||
|
- {id: 403, cat: TV, desc: "综艺/TV-Show"}
|
||||||
|
- {id: 406, cat: TV/Documentary, desc: "纪录片/Documentary"}
|
||||||
|
- {id: 408, cat: Audio, desc: "音乐/Music"}
|
||||||
|
- {id: 404, cat: Audio/Audiobook, desc: "有声书/Audiobook"}
|
||||||
|
- {id: 405, cat: Books, desc: "电子书/Ebook"}
|
||||||
|
- {id: 407, cat: TV/Sport, desc: "体育/Sports"}
|
||||||
|
- {id: 410, cat: PC/Games, desc: "游戏/Game"}
|
||||||
|
- {id: 411, cat: PC/0day, desc: "软件/Software"}
|
||||||
|
- {id: 410, cat: TV, desc: "学习/Study"}
|
||||||
|
- {id: 409, cat: Other, desc: "其他/Other"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid, doubanid]
|
||||||
|
movie-search: [q, imdbid, doubanid]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: cookie
|
||||||
|
type: text
|
||||||
|
label: Cookie
|
||||||
|
- name: info
|
||||||
|
type: info
|
||||||
|
label: How to get the Cookie
|
||||||
|
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
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_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Account retention rules:<ol><li>Users with Extreme User and above will be retained forever</li><li>Starting from 20230701, the non-login ban time will be adjusted to:<ul><li>(Home Alone) User - 40 days</li><li>(Young and vigorous) Power User - 60 days</li><li>(Children of Jianghu) Elite User - 80 days</li><li>(Street Fighter) Crazy User - 100 days</li><li>(non-stop) Insane User - 120 days</li><li>(Outstanding Citizen) Veteran User - 180 days</li></ul></li><li>Users with no traffic (i.e. uploading/downloading data) If it is 0) If you do not log in for 7 consecutive days will be disabled</li><li>'Parked accounts' no longer enjoy the benefits of retaining accounts, and are also subject to the above rules.</li></ol>"
|
||||||
|
|
||||||
|
login:
|
||||||
|
method: cookie
|
||||||
|
inputs:
|
||||||
|
cookie: "{{ .Config.cookie }}"
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||||
|
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||||
|
# 0 incldead, 1 active, 2 justdead
|
||||||
|
incldead: 0
|
||||||
|
# promotion: 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x 50%, 7 30%
|
||||||
|
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||||
|
# 0 title, 1 descr, 2 title or imdb or douban url, 3 uploader, 4 imdb
|
||||||
|
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}2{{ else }}0{{ end }}"
|
||||||
|
# 0 AND, 1 OR, 2 exact
|
||||||
|
search_mode: 0
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
notnewword: 1
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title:
|
||||||
|
selector: a[title][href^="details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
details:
|
||||||
|
selector: a[title][href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
imdbid:
|
||||||
|
selector: a[href*="imdb.com/title/tt"]
|
||||||
|
attribute: href
|
||||||
|
doubanid:
|
||||||
|
selector: a[href*="movie.douban.com/subject/"]
|
||||||
|
attribute: href
|
||||||
|
date_elapsed:
|
||||||
|
# time type: time elapsed (default)
|
||||||
|
selector: td:nth-child(4) > span[title]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
date_added:
|
||||||
|
# time added
|
||||||
|
selector: td:nth-child(4):not(:has(span))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: td.rowfollow:nth-child(5)
|
||||||
|
seeders:
|
||||||
|
selector: td.rowfollow:nth-child(6)
|
||||||
|
leechers:
|
||||||
|
selector: td.rowfollow:nth-child(7)
|
||||||
|
grabs:
|
||||||
|
selector: td.rowfollow:nth-child(8)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_free: 0
|
||||||
|
img.pro_free2up: 0
|
||||||
|
img.pro_50pctdown: 0.5
|
||||||
|
img.pro_50pctdown2up: 0.5
|
||||||
|
img.pro_30pctdown: 0.3
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_50pctdown2up: 2
|
||||||
|
img.pro_free2up: 2
|
||||||
|
img.pro_2up: 2
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
minimumseedtime:
|
||||||
|
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||||
|
text: 172800
|
||||||
|
description:
|
||||||
|
selector: td:nth-child(2)
|
||||||
|
remove: a, img
|
||||||
|
# NexusPHP Standard v1.5 Beta 4
|
||||||
@@ -0,0 +1,334 @@
|
|||||||
|
---
|
||||||
|
id: audionews
|
||||||
|
name: AudioNews
|
||||||
|
description: "AudioNews (AN) is a Private Torrent Tracker for AUDIO SOFTWARE / SAMPLES / ETC"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://audionews.org/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 106, cat: PC/Mobile-Other, desc: "Mobile Apps"}
|
||||||
|
- {id: 161, cat: PC/Mobile-iOS, desc: "Mobile Apps iOS"}
|
||||||
|
- {id: 160, cat: PC/Mobile-Android, desc: "Mobile Apps Android"}
|
||||||
|
- {id: 12, cat: PC, desc: "AUDIOAPPS"}
|
||||||
|
- {id: 32, cat: PC, desc: "AUDIOAPPS DAW Apps"}
|
||||||
|
- {id: 175, cat: PC, desc: "AUDIOAPPS Ableton"}
|
||||||
|
- {id: 177, cat: PC, desc: "AUDIOAPPS Cakewalk"}
|
||||||
|
- {id: 176, cat: PC, desc: "AUDIOAPPS REAPER"}
|
||||||
|
- {id: 174, cat: PC, desc: "AUDIOAPPS Steinberg"}
|
||||||
|
- {id: 34, cat: PC, desc: "AUDIOAPPS Mastering &Audio Editor Apps"}
|
||||||
|
- {id: 37, cat: PC, desc: "AUDIOAPPS DJ Apps"}
|
||||||
|
- {id: 13, cat: Audio, desc: "SAMPLE LIBRARIES"}
|
||||||
|
- {id: 62, cat: Audio, desc: "SAMPLE LIBRARIES AMG"}
|
||||||
|
- {id: 117, cat: Audio, desc: "SAMPLE LIBRARIES Bela D Media"}
|
||||||
|
- {id: 118, cat: Audio, desc: "SAMPLE LIBRARIES Beta Monkey Music"}
|
||||||
|
- {id: 51, cat: Audio, desc: "SAMPLE LIBRARIES Best Service"}
|
||||||
|
- {id: 46, cat: Audio, desc: "SAMPLE LIBRARIES Big Fish"}
|
||||||
|
- {id: 66, cat: Audio, desc: "SAMPLE LIBRARIES Bigga Giggas"}
|
||||||
|
- {id: 122, cat: Audio, desc: "SAMPLE LIBRARIES Bluezone Corporation"}
|
||||||
|
- {id: 123, cat: Audio, desc: "SAMPLE LIBRARIES Bunker 8"}
|
||||||
|
- {id: 126, cat: Audio, desc: "SAMPLE LIBRARIES Cinematique Instruments"}
|
||||||
|
- {id: 127, cat: Audio, desc: "SAMPLE LIBRARIES CineSamples"}
|
||||||
|
- {id: 128, cat: Audio, desc: "SAMPLE LIBRARIES ClusterSound"}
|
||||||
|
- {id: 121, cat: Audio, desc: "SAMPLE LIBRARIES Dan Dean"}
|
||||||
|
- {id: 195, cat: Audio, desc: "SAMPLE LIBRARIES Diginoiz"}
|
||||||
|
- {id: 52, cat: Audio, desc: "SAMPLE LIBRARIES Digital Juice"}
|
||||||
|
- {id: 134, cat: Audio, desc: "SAMPLE LIBRARIES Digital-Redux"}
|
||||||
|
- {id: 65, cat: Audio, desc: "SAMPLE LIBRARIES Digital Vision"}
|
||||||
|
- {id: 59, cat: Audio, desc: "SAMPLE LIBRARIES Discovery Firm"}
|
||||||
|
- {id: 61, cat: Audio, desc: "SAMPLE LIBRARIES Drumdrops"}
|
||||||
|
- {id: 40, cat: Audio, desc: "SAMPLE LIBRARIES East West"}
|
||||||
|
- {id: 74, cat: Audio, desc: "SAMPLE LIBRARIES Electronisounds"}
|
||||||
|
- {id: 80, cat: Audio, desc: "SAMPLE LIBRARIES EMU format"}
|
||||||
|
- {id: 82, cat: Audio, desc: "SAMPLE LIBRARIES ENSONIQ format"}
|
||||||
|
- {id: 111, cat: Audio, desc: "SAMPLE LIBRARIES Fatloud"}
|
||||||
|
- {id: 135, cat: Audio, desc: "SAMPLE LIBRARIES Fox Samples"}
|
||||||
|
- {id: 41, cat: Audio, desc: "SAMPLE LIBRARIES FxPansion"}
|
||||||
|
- {id: 130, cat: Audio, desc: "SAMPLE LIBRARIES Goldbaby"}
|
||||||
|
- {id: 54, cat: Audio, desc: "SAMPLE LIBRARIES Hollywood Edge"}
|
||||||
|
- {id: 64, cat: Audio, desc: "SAMPLE LIBRARIES IK Multimedia"}
|
||||||
|
- {id: 75, cat: Audio, desc: "SAMPLE LIBRARIES Ilio"}
|
||||||
|
- {id: 108, cat: Audio, desc: "SAMPLE LIBRARIES Industrial Strength Records"}
|
||||||
|
- {id: 81, cat: Audio, desc: "SAMPLE LIBRARIES KURZWEIL format"}
|
||||||
|
- {id: 91, cat: Audio, desc: "SAMPLE LIBRARIES Loopmasters"}
|
||||||
|
- {id: 92, cat: Audio, desc: "SAMPLE LIBRARIES Masterbits"}
|
||||||
|
- {id: 58, cat: Audio, desc: "SAMPLE LIBRARIES M-Audio"}
|
||||||
|
- {id: 112, cat: Audio, desc: "SAMPLE LIBRARIES Mutekki"}
|
||||||
|
- {id: 137, cat: Audio, desc: "SAMPLE LIBRARIES Mystic Kingz"}
|
||||||
|
- {id: 47, cat: Audio, desc: "SAMPLE LIBRARIES Native Instruments"}
|
||||||
|
- {id: 60, cat: Audio, desc: "SAMPLE LIBRARIES Nine Volt Audio"}
|
||||||
|
- {id: 129, cat: Audio, desc: "SAMPLE LIBRARIES OrangeTree"}
|
||||||
|
- {id: 203, cat: Audio, desc: "SAMPLE LIBRARIES Origin Sound"}
|
||||||
|
- {id: 154, cat: Audio, desc: "SAMPLE LIBRARIES P5Audio"}
|
||||||
|
- {id: 133, cat: Audio, desc: "SAMPLE LIBRARIES Peace Love Productions"}
|
||||||
|
- {id: 140, cat: Audio, desc: "SAMPLE LIBRARIES Pound Audio"}
|
||||||
|
- {id: 110, cat: Audio, desc: "SAMPLE LIBRARIES Prime Loops"}
|
||||||
|
- {id: 180, cat: Audio, desc: "SAMPLE LIBRARIES Producer Loops"}
|
||||||
|
- {id: 50, cat: Audio, desc: "SAMPLE LIBRARIES Prominy"}
|
||||||
|
- {id: 171, cat: Audio, desc: "SAMPLE LIBRARIES Pulsed Records"}
|
||||||
|
- {id: 132, cat: Audio, desc: "SAMPLE LIBRARIES Puremagnetik"}
|
||||||
|
- {id: 49, cat: Audio, desc: "SAMPLE LIBRARIES Refills"}
|
||||||
|
- {id: 99, cat: Audio, desc: "SAMPLE LIBRARIES reFX Nexus"}
|
||||||
|
- {id: 125, cat: Audio, desc: "SAMPLE LIBRARIES Realsamples"}
|
||||||
|
- {id: 83, cat: Audio, desc: "SAMPLE LIBRARIES ROLAND format"}
|
||||||
|
- {id: 109, cat: Audio, desc: "SAMPLE LIBRARIES Sample Magic"}
|
||||||
|
- {id: 136, cat: Audio, desc: "SAMPLE LIBRARIES Samplephonics"}
|
||||||
|
- {id: 43, cat: Audio, desc: "SAMPLE LIBRARIES Sampletekk"}
|
||||||
|
- {id: 48, cat: Audio, desc: "SAMPLE LIBRARIES Scarbee"}
|
||||||
|
- {id: 178, cat: Audio, desc: "SAMPLE LIBRARIES SFX (Sound FX libraries)"}
|
||||||
|
- {id: 90, cat: Audio, desc: "SAMPLE LIBRARIES Smartsound"}
|
||||||
|
- {id: 172, cat: Audio, desc: "SAMPLE LIBRARIES Sonart Audio"}
|
||||||
|
- {id: 116, cat: Audio, desc: "SAMPLE LIBRARIES SonicCouture"}
|
||||||
|
- {id: 42, cat: Audio, desc: "SAMPLE LIBRARIES Sonic Implants"}
|
||||||
|
- {id: 115, cat: Audio, desc: "SAMPLE LIBRARIES Sonic Reality"}
|
||||||
|
- {id: 53, cat: Audio, desc: "SAMPLE LIBRARIES Sound Ideas"}
|
||||||
|
- {id: 56, cat: Audio, desc: "SAMPLE LIBRARIES Sony"}
|
||||||
|
- {id: 139, cat: Audio, desc: "SAMPLE LIBRARIES Sounds To Sample"}
|
||||||
|
- {id: 76, cat: Audio, desc: "SAMPLE LIBRARIES Spectrasonics"}
|
||||||
|
- {id: 162, cat: Audio, desc: "SAMPLE LIBRARIES Spitfire Audio"}
|
||||||
|
- {id: 193, cat: Audio, desc: "SAMPLE LIBRARIES studiolinked"}
|
||||||
|
- {id: 68, cat: Audio, desc: "SAMPLE LIBRARIES Synthogy"}
|
||||||
|
- {id: 179, cat: Audio, desc: "SAMPLE LIBRARIES The Loop Loft"}
|
||||||
|
- {id: 96, cat: Audio, desc: "SAMPLE LIBRARIES Tonehammer, 8dio, SoundIron"}
|
||||||
|
- {id: 67, cat: Audio, desc: "SAMPLE LIBRARIES Toontrack, Drumkit From Hell, DFHS"}
|
||||||
|
- {id: 69, cat: Audio, desc: "SAMPLE LIBRARIES Ueberschall"}
|
||||||
|
- {id: 157, cat: Audio, desc: "SAMPLE LIBRARIES USB Soundscan"}
|
||||||
|
- {id: 120, cat: Audio, desc: "SAMPLE LIBRARIES Valentino Production"}
|
||||||
|
- {id: 173, cat: Audio, desc: "SAMPLE LIBRARIES vandalism sounds"}
|
||||||
|
- {id: 170, cat: Audio, desc: "SAMPLE LIBRARIES Vanilla Groove Studios"}
|
||||||
|
- {id: 119, cat: Audio, desc: "SAMPLE LIBRARIES Vengeance Sound"}
|
||||||
|
- {id: 114, cat: Audio, desc: "SAMPLE LIBRARIES Video Helper"}
|
||||||
|
- {id: 44, cat: Audio, desc: "SAMPLE LIBRARIES Vienna"}
|
||||||
|
- {id: 77, cat: Audio, desc: "SAMPLE LIBRARIES Vipzone"}
|
||||||
|
- {id: 131, cat: Audio, desc: "SAMPLE LIBRARIES Wavesfactory"}
|
||||||
|
- {id: 89, cat: Audio, desc: "SAMPLE LIBRARIES West one"}
|
||||||
|
- {id: 113, cat: Audio, desc: "SAMPLE LIBRARIES Wusik.com"}
|
||||||
|
- {id: 78, cat: Audio, desc: "SAMPLE LIBRARIES Yellowtools"}
|
||||||
|
- {id: 138, cat: Audio, desc: "SAMPLE LIBRARIES YnK.Audio"}
|
||||||
|
- {id: 100, cat: Audio, desc: "SAMPLE LIBRARIES Zenhiser"}
|
||||||
|
- {id: 57, cat: Audio, desc: "SAMPLE LIBRARIES Zero-G"}
|
||||||
|
- {id: 15, cat: PC, desc: "VSTi + FX"}
|
||||||
|
- {id: 72, cat: PC, desc: "VSTi + FX FX"}
|
||||||
|
- {id: 181, cat: PC, desc: "VSTi + FX VSTi"}
|
||||||
|
- {id: 18, cat: PC/Mac, desc: "MAC"}
|
||||||
|
- {id: 186, cat: PC/Mac, desc: "MAC Apps"}
|
||||||
|
- {id: 188, cat: PC/Mac, desc: "MAC FX"}
|
||||||
|
- {id: 189, cat: PC/Mac, desc: "MAC Instruments"}
|
||||||
|
- {id: 190, cat: PC/Mac, desc: "MAC TUTORIAL"}
|
||||||
|
- {id: 187, cat: PC/Mac, desc: "MAC Samples"}
|
||||||
|
- {id: 19, cat: Other, desc: "MISC"}
|
||||||
|
- {id: 185, cat: Other, desc: "MISC Utilities"}
|
||||||
|
- {id: 84, cat: Books, desc: "SHEET MUSIC"}
|
||||||
|
- {id: 87, cat: Books, desc: "SHEET MUSIC Full Score"}
|
||||||
|
- {id: 86, cat: Books, desc: "SHEET MUSIC Guitar"}
|
||||||
|
- {id: 88, cat: Books, desc: "SHEET MUSIC Other instruments"}
|
||||||
|
- {id: 85, cat: Books, desc: "SHEET MUSIC Piano"}
|
||||||
|
- {id: 20, cat: Books, desc: "LEARNING"}
|
||||||
|
- {id: 197, cat: Books, desc: "LEARNING Academy.FM"}
|
||||||
|
- {id: 183, cat: Books, desc: "LEARNING ADSR"}
|
||||||
|
- {id: 141, cat: Books, desc: "LEARNING Alfred"}
|
||||||
|
- {id: 142, cat: Books, desc: "LEARNING Ask Video"}
|
||||||
|
- {id: 27, cat: Books, desc: "LEARNING Books"}
|
||||||
|
- {id: 143, cat: Books, desc: "LEARNING FaderPro"}
|
||||||
|
- {id: 144, cat: Books, desc: "LEARNING Groove3"}
|
||||||
|
- {id: 145, cat: Books, desc: "LEARNING Hal Leonard"}
|
||||||
|
- {id: 105, cat: Books, desc: "LEARNING Hardware manuals"}
|
||||||
|
- {id: 196, cat: Books, desc: "LEARNING Jam Track Central"}
|
||||||
|
- {id: 146, cat: Books, desc: "LEARNING Lick Library"}
|
||||||
|
- {id: 147, cat: Books, desc: "LEARNING Lynda.com"}
|
||||||
|
- {id: 148, cat: Books, desc: "LEARNING MacProVideo"}
|
||||||
|
- {id: 101, cat: Books, desc: "LEARNING Magazines"}
|
||||||
|
- {id: 93, cat: Books, desc: "LEARNING Music Video (Concerts, DVD, DVDrip)"}
|
||||||
|
- {id: 199, cat: Books, desc: "LEARNING PUREMIX"}
|
||||||
|
- {id: 149, cat: Books, desc: "LEARNING Riff Interactive"}
|
||||||
|
- {id: 194, cat: Books, desc: "LEARNING SkillShare"}
|
||||||
|
- {id: 150, cat: Books, desc: "LEARNING Sonic Academy"}
|
||||||
|
- {id: 151, cat: Books, desc: "LEARNING Total training"}
|
||||||
|
- {id: 152, cat: Books, desc: "LEARNING TrueFire"}
|
||||||
|
- {id: 182, cat: Books, desc: "LEARNING Udemy"}
|
||||||
|
- {id: 28, cat: Books, desc: "LEARNING Video"}
|
||||||
|
- {id: 153, cat: Books, desc: "LEARNING VTC"}
|
||||||
|
- {id: 29, cat: Audio/Other, desc: "PRESETS"}
|
||||||
|
- {id: 167, cat: Audio/Other, desc: "PRESETS Ableton Live"}
|
||||||
|
- {id: 184, cat: Audio/Other, desc: "PRESETS Impulse Responses"}
|
||||||
|
- {id: 166, cat: Audio/Other, desc: "PRESETS Massive"}
|
||||||
|
- {id: 163, cat: Audio/Other, desc: "PRESETS Nebula"}
|
||||||
|
- {id: 200, cat: Audio/Other, desc: "PRESETS Omnisphere"}
|
||||||
|
- {id: 165, cat: Audio/Other, desc: "PRESETS Reaktor"}
|
||||||
|
- {id: 201, cat: Audio/Other, desc: "PRESETS Xfer Serum"}
|
||||||
|
- {id: 164, cat: Audio/Other, desc: "PRESETS Sylenth"}
|
||||||
|
- {id: 168, cat: Audio/Other, desc: "PRESETS Toontrack"}
|
||||||
|
- {id: 239, cat: Books, desc: "Service Manuals"}
|
||||||
|
- {id: 21, cat: Other, desc: "UPDATE"}
|
||||||
|
- {id: 222, cat: Other, desc: "GFXNEWS 3D"}
|
||||||
|
- {id: 235, cat: Other, desc: "GFXNEWS APPS ANDROID & IOS"}
|
||||||
|
- {id: 207, cat: Other, desc: "GFXNEWS APPS WIN"}
|
||||||
|
- {id: 215, cat: Other, desc: "GFXNEWS APPS LINUX"}
|
||||||
|
- {id: 214, cat: Other, desc: "GFXNEWS APPS MAC"}
|
||||||
|
- {id: 211, cat: Other, desc: "GFXNEWS BOOKS"}
|
||||||
|
- {id: 224, cat: Other, desc: "GFXNEWS CAD/CAM"}
|
||||||
|
- {id: 237, cat: Other, desc: "GFXNEWS DAZ3D"}
|
||||||
|
- {id: 212, cat: Other, desc: "GFXNEWS FONTS"}
|
||||||
|
- {id: 213, cat: Other, desc: "GFXNEWS FOOTAGE"}
|
||||||
|
- {id: 233, cat: Other, desc: "GFXNEWS GAME DEVELOPMENT"}
|
||||||
|
- {id: 226, cat: Other, desc: "GFXNEWS MAGAZINE"}
|
||||||
|
- {id: 234, cat: Other, desc: "GFXNEWS MATERIAL"}
|
||||||
|
- {id: 243, cat: Other, desc: "GFXNEWS OTHER GRAPHICS"}
|
||||||
|
- {id: 244, cat: Other, desc: "GFXNEWS OTHER GRAPHICS Zbrush, Substance tools"}
|
||||||
|
- {id: 216, cat: Other, desc: "GFXNEWS PHOTOSTOCK"}
|
||||||
|
- {id: 220, cat: Other, desc: "GFXNEWS PHOTOGRAPHY - ART"}
|
||||||
|
- {id: 227, cat: Other, desc: "GFXNEWS 2D Graphics"}
|
||||||
|
- {id: 250, cat: Other, desc: "GFXNEWS 2D Graphics Effects"}
|
||||||
|
- {id: 228, cat: Other, desc: "GFXNEWS 2D Graphics Actions, Pattern & Styles"}
|
||||||
|
- {id: 229, cat: Other, desc: "GFXNEWS 2D Graphics Background & PSD Source"}
|
||||||
|
- {id: 230, cat: Other, desc: "GFXNEWS 2D Graphics Brushes & Gradient"}
|
||||||
|
- {id: 246, cat: Other, desc: "GFXNEWS 2D Graphics Mockup"}
|
||||||
|
- {id: 247, cat: Other, desc: "GFXNEWS 2D Graphics Overlays"}
|
||||||
|
- {id: 249, cat: Other, desc: "GFXNEWS 2D Graphics Preset"}
|
||||||
|
- {id: 231, cat: Other, desc: "GFXNEWS 2D Graphics Toolkits, Papers & Objects"}
|
||||||
|
- {id: 245, cat: Other, desc: "GFXNEWS GFX Plugins"}
|
||||||
|
- {id: 210, cat: Other, desc: "GFXNEWS PLUGINS WIN"}
|
||||||
|
- {id: 223, cat: Other, desc: "GFXNEWS PLUGINS MAC"}
|
||||||
|
- {id: 225, cat: Other, desc: "GFXNEWS PLUGINS LINUX"}
|
||||||
|
- {id: 217, cat: Other, desc: "GFXNEWS SCRIPTS - WEB PROGRAMMING"}
|
||||||
|
- {id: 218, cat: Other, desc: "GFXNEWS TEMPLATES"}
|
||||||
|
- {id: 232, cat: Other, desc: "GFXNEWS TEXTURES"}
|
||||||
|
- {id: 219, cat: Other, desc: "GFXNEWS TUTORIALS"}
|
||||||
|
- {id: 238, cat: Other, desc: "GFXNEWS VECTOR GRAPHICS"}
|
||||||
|
- {id: 221, cat: Other, desc: "GFXNEWS VIDEO PRODUCTION"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: 1
|
||||||
|
options:
|
||||||
|
1: created
|
||||||
|
10: seeders
|
||||||
|
7: size
|
||||||
|
2: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: 2
|
||||||
|
options:
|
||||||
|
2: desc
|
||||||
|
1: asc
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "You must stay active on the site...<ol><li>Any New users that have no stats for one month will have their account deleted</li><li>Any disabled accounts will be deleted after 6 months</li><li>Any accounts inactive for more than 6 months will be deleted</li><li>Donor accounts will be left untouched.</li></ol>"
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
"login_username": "{{ .Config.username }}"
|
||||||
|
"login_password": "{{ .Config.password }}"
|
||||||
|
autologin: 1
|
||||||
|
login: "Log in"
|
||||||
|
redirect: "/"
|
||||||
|
error:
|
||||||
|
- selector: table.error
|
||||||
|
message:
|
||||||
|
selector: table.error tr td div.msg
|
||||||
|
test:
|
||||||
|
path: /
|
||||||
|
selector: li a[href^="./login.php?logout=1"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: tracker.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ if .Categories }}{{ range .Categories }}f[]={{.}}&{{end}}{{ else }}f[]=-1{{ end }}"
|
||||||
|
prev_allw: 1
|
||||||
|
prev_a: 0
|
||||||
|
prev_dla: 0
|
||||||
|
prev_dlc: 0
|
||||||
|
prev_dld: 0
|
||||||
|
prev_dlw: 0
|
||||||
|
prev_my: 0
|
||||||
|
prev_new: 0
|
||||||
|
prev_sd: 0
|
||||||
|
prev_da: 1
|
||||||
|
prev_dc: 0
|
||||||
|
prev_df: 1
|
||||||
|
prev_ds: 0
|
||||||
|
pre_tor_type: 0
|
||||||
|
prev_date_from: ""
|
||||||
|
prev_date_to: ""
|
||||||
|
prev_hide_rereg: 0
|
||||||
|
o: "{{ .Config.sort }}"
|
||||||
|
s: "{{ .Config.type }}"
|
||||||
|
df: 1
|
||||||
|
da: 1
|
||||||
|
nm: "{{ .Keywords }}"
|
||||||
|
pn: ""
|
||||||
|
submit: "Search"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.forumline > tbody > tr:has(a[href*="/dl.php?id="])
|
||||||
|
dateheaders:
|
||||||
|
selector: td[colspan="20"] > strong
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " -07:00" # PDT
|
||||||
|
- name: dateparse
|
||||||
|
args: "MM-dd-yyyy zzz"
|
||||||
|
|
||||||
|
fields:
|
||||||
|
title:
|
||||||
|
selector: td a[href*="/viewtopic.php?t="]
|
||||||
|
details:
|
||||||
|
selector: td a[href*="/viewtopic.php?t="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: td a[href*="/dl.php?id="]
|
||||||
|
attribute: href
|
||||||
|
category:
|
||||||
|
selector: td a[href*="/tracker.php?f="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: f
|
||||||
|
size:
|
||||||
|
selector: td:contains(\00a0GB), td:contains(\00a0MB), td:contains(\00a0kB), td:contains(\00a0B)
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
seeders:
|
||||||
|
selector: td[title="Seeders"]
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
leechers:
|
||||||
|
selector: td[title="Leechers"]
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
grabs:
|
||||||
|
selector: td[title^="Replies:"]
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
description:
|
||||||
|
case:
|
||||||
|
span.tor-approved: Verified
|
||||||
|
span.tor-not-approved: Unverified
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
minimumratio:
|
||||||
|
text: 0.8
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
---
|
||||||
|
id: aussierules
|
||||||
|
name: Aussierul.es
|
||||||
|
description: "Aussierul.es is a torrent site for Aussie Rules Football played in Australia"
|
||||||
|
language: en-AU
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://aussierul.es/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categories:
|
||||||
|
1: TV/Sport
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: type
|
||||||
|
label: Search Type
|
||||||
|
type: select
|
||||||
|
default: t_name
|
||||||
|
options:
|
||||||
|
t_name: Torrent Name
|
||||||
|
t_description: Torrent Description
|
||||||
|
t_both: Name & Description
|
||||||
|
t_uploader: Uploader
|
||||||
|
t_genre: IMDB Genre
|
||||||
|
- name: dead
|
||||||
|
label: Include Dead Torrents
|
||||||
|
type: select
|
||||||
|
default: No
|
||||||
|
options:
|
||||||
|
yes: Yes
|
||||||
|
no: No
|
||||||
|
|
||||||
|
login:
|
||||||
|
method: form
|
||||||
|
form: form
|
||||||
|
path: login.php
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: table:contains("An error has occured!")
|
||||||
|
test:
|
||||||
|
path: browse.php
|
||||||
|
selector: a[href*="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
search_type: "{{ .Config.type }}"
|
||||||
|
include_dead_torrents: "{{ .Config.dead }}"
|
||||||
|
keywords: "{{ .Keywords }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table#sortabletable > tbody > tr:not(:first-child)
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
text: 1
|
||||||
|
title:
|
||||||
|
selector: td:nth-child(2) > div:nth-child(1) > a > strong
|
||||||
|
details:
|
||||||
|
selector: td:nth-child(2) > div:nth-child(1) > a
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href*="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
date:
|
||||||
|
# 27-03-2021 18:34
|
||||||
|
selector: td:nth-child(2) > div:nth-child(2)
|
||||||
|
filters:
|
||||||
|
- name: dateparse
|
||||||
|
args: "d-MM-yyyy HH:mm"
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
# TS Special Edition v.7.4
|
||||||
@@ -0,0 +1,173 @@
|
|||||||
|
---
|
||||||
|
id: azusa
|
||||||
|
name: Azusa (梓喵)
|
||||||
|
description: "Azusa (梓喵) is a CHINESE Private Torrent Tracker focusing on Comics"
|
||||||
|
language: zh-CN
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://azusa.wiki/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 404, cat: PC/Games, desc: "Game"}
|
||||||
|
- {id: 402, cat: Books/Comics, desc: "Comic"}
|
||||||
|
- {id: 403, cat: Books/EBook, desc: "Light Novel"}
|
||||||
|
- {id: 407, cat: Other, desc: "CG"}
|
||||||
|
- {id: 409, cat: Audio, desc: "Music"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: 2facode
|
||||||
|
type: text
|
||||||
|
label: 2FA code
|
||||||
|
- name: info_2fa
|
||||||
|
type: info
|
||||||
|
label: "About 2FA code"
|
||||||
|
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the Uploads Web Site. Otherwise just leave it empty."
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
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_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login.php
|
||||||
|
method: form
|
||||||
|
form: form[action="takelogin.php"]
|
||||||
|
captcha:
|
||||||
|
type: image
|
||||||
|
selector: img[alt="CAPTCHA"]
|
||||||
|
input: imagestring
|
||||||
|
inputs:
|
||||||
|
secret: ""
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
two_step_code: "{{ .Config.2facode }}"
|
||||||
|
logout: ""
|
||||||
|
securelogin: ""
|
||||||
|
ssl: yes
|
||||||
|
trackerssl: ""
|
||||||
|
error:
|
||||||
|
- selector: td.embedded:has(h2:contains("失败"))
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
# 0 incldead, 1 active, 2 dead
|
||||||
|
incldead: 0
|
||||||
|
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||||
|
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||||
|
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||||
|
search_area: 0
|
||||||
|
# 0 AND, 1 OR, 2 exact
|
||||||
|
search_mode: 0
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
notnewword: 1
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title_default:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
title:
|
||||||
|
selector: a[title][href^="details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result.title_default }}"
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
date_elapsed:
|
||||||
|
# time type: time elapsed (default)
|
||||||
|
selector: td.rowfollow:nth-child(4) > span[title]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
date_added:
|
||||||
|
# time added
|
||||||
|
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: td.rowfollow:nth-child(5)
|
||||||
|
seeders:
|
||||||
|
selector: td.rowfollow:nth-child(6)
|
||||||
|
leechers:
|
||||||
|
selector: td.rowfollow:nth-child(7)
|
||||||
|
grabs:
|
||||||
|
selector: td.rowfollow:nth-child(8)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_free: 0
|
||||||
|
img.pro_free2up: 0
|
||||||
|
img.pro_50pctdown: 0.5
|
||||||
|
img.pro_50pctdown2up: 0.5
|
||||||
|
img.pro_30pctdown: 0.3
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_50pctdown2up: 2
|
||||||
|
img.pro_free2up: 2
|
||||||
|
img.pro_2up: 2
|
||||||
|
"*": 1
|
||||||
|
description:
|
||||||
|
selector: td:nth-child(2)
|
||||||
|
remove: a, b, font, img, span
|
||||||
|
# NexusPHP v1.7.20 2022-08-05
|
||||||
@@ -0,0 +1,173 @@
|
|||||||
|
---
|
||||||
|
id: backups
|
||||||
|
name: Back-ups
|
||||||
|
description: "Back-Ups is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://back-ups.me/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 15, cat: PC/Mobile-Android, desc: "Android"}
|
||||||
|
- {id: 35, cat: TV/Anime, desc: "Anime"}
|
||||||
|
- {id: 51, cat: PC/Mac, desc: "Apple"}
|
||||||
|
- {id: 3, cat: PC, desc: "Apps"}
|
||||||
|
- {id: 64, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||||
|
- {id: 71, cat: Console, desc: "Batocera"}
|
||||||
|
- {id: 4, cat: Movies/BluRay, desc: "Blu-Ray"}
|
||||||
|
- {id: 22, cat: Console, desc: "CoinOps"}
|
||||||
|
- {id: 42, cat: Console, desc: "CoinOPS Official"}
|
||||||
|
- {id: 65, cat: Console, desc: "CoinOps Unofficial"}
|
||||||
|
- {id: 63, cat: Books/Comics, desc: "Comics"}
|
||||||
|
- {id: 60, cat: Console, desc: "Core"}
|
||||||
|
- {id: 72, cat: Console, desc: "CORE Community"}
|
||||||
|
- {id: 44, cat: Console, desc: "CP78"}
|
||||||
|
- {id: 16, cat: TV/Documentary, desc: "Docu"}
|
||||||
|
- {id: 41, cat: Console, desc: "Dragon"}
|
||||||
|
- {id: 5, cat: Books, desc: "EBooks"}
|
||||||
|
- {id: 61, cat: Console, desc: "emuxtras"}
|
||||||
|
- {id: 69, cat: TV, desc: "Entertainment"}
|
||||||
|
- {id: 34, cat: TV, desc: "Kids"}
|
||||||
|
- {id: 43, cat: Console, desc: "LB No Intro"}
|
||||||
|
- {id: 33, cat: TV/Sport, desc: "MMA/Boxing"}
|
||||||
|
- {id: 32, cat: Movies, desc: "Movie Pack"}
|
||||||
|
- {id: 6, cat: Movies, desc: "Movies/XVID"}
|
||||||
|
- {id: 7, cat: Audio, desc: "Music"}
|
||||||
|
- {id: 31, cat: Console, desc: "Nintendo"}
|
||||||
|
- {id: 59, cat: Console, desc: "P-R-U"}
|
||||||
|
- {id: 8, cat: PC/Games, desc: "PC Games"}
|
||||||
|
- {id: 50, cat: Console, desc: "PlayBox"}
|
||||||
|
- {id: 30, cat: Console, desc: "Playstation"}
|
||||||
|
- {id: 62, cat: Console, desc: "RaspberryPi"}
|
||||||
|
- {id: 56, cat: Console, desc: "Retro Minis"}
|
||||||
|
- {id: 67, cat: Console, desc: "Retrobat"}
|
||||||
|
- {id: 76, cat: Console, desc: "RGS"}
|
||||||
|
- {id: 27, cat: Console, desc: "Roms and Emulators"}
|
||||||
|
- {id: 68, cat: Console, desc: "Schmoomer's"}
|
||||||
|
- {id: 57, cat: Console, desc: "Sega"}
|
||||||
|
- {id: 40, cat: TV, desc: "Soaps"}
|
||||||
|
- {id: 29, cat: TV/Sport, desc: "Sport"}
|
||||||
|
- {id: 9, cat: TV, desc: "TV-Boxsets"}
|
||||||
|
- {id: 11, cat: TV, desc: "TV/x264"}
|
||||||
|
- {id: 10, cat: TV, desc: "TV/Xvid"}
|
||||||
|
- {id: 73, cat: Console, desc: "Wolfanoz"}
|
||||||
|
- {id: 14, cat: TV/Sport, desc: "WWE"}
|
||||||
|
- {id: 26, cat: Console, desc: "Xbox"}
|
||||||
|
- {id: 12, cat: Console, desc: "XBOX360"}
|
||||||
|
- {id: 23, cat: XXX, desc: "xxx18+"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Filter freeleech only
|
||||||
|
default: false
|
||||||
|
- name: info_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>40</b> on your account profile.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "To keep records updated regularly, all inactive accounts will be deleted after 60 days of inactivity."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: takelogin.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: td:contains("remaining tries")
|
||||||
|
test:
|
||||||
|
path: browse.php
|
||||||
|
selector: a[href*="/logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: browse.php
|
||||||
|
keywordsfilters:
|
||||||
|
# remove words <= 3 characters and surrounding special characters
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?:^|\\s)[_\\+\\/\\.\\-\\(\\)]*[\\S]{0,3}[_\\+\\/\\.\\-\\(\\)]*(?:\\s|$)", " "]
|
||||||
|
inputs:
|
||||||
|
do: search
|
||||||
|
keywords: "{{ .Keywords }}"
|
||||||
|
# t_name, t_description, t_both, t_uploader, t_genre
|
||||||
|
search_type: t_name
|
||||||
|
category: 0 # multi cat search not supported
|
||||||
|
# yes, no
|
||||||
|
include_dead_torrents: yes
|
||||||
|
# sort is done via do=quick_sort, and freeleech sorting is part of that set
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: "table#sortabletable > tbody > tr:has(a[href*=\"/details.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"freedownload.gif\"]){{ else }}{{ end }}"
|
||||||
|
filters:
|
||||||
|
- name: andmatch
|
||||||
|
args: 66
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href*="/browse.php?category="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: category
|
||||||
|
title_default:
|
||||||
|
selector: a[href*="/details.php?id="]
|
||||||
|
title:
|
||||||
|
selector: div.tooltip-content > div
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result.title_default }}"
|
||||||
|
details:
|
||||||
|
selector: a[href*="/details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href*="/download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
magnet:
|
||||||
|
selector: a[href^="magnet:?xt="]
|
||||||
|
attribute: href
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
poster:
|
||||||
|
selector: div.tooltip-content > img
|
||||||
|
attribute: src
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src$="freedownload.gif"]: 0
|
||||||
|
img[src$="silverdownload.gif"]: 0.5
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src$="x2.gif"]: 2
|
||||||
|
"*": 1
|
||||||
|
date:
|
||||||
|
selector: "td:nth-child(2) > div:has(span[style=\"float: right;\"])"
|
||||||
|
remove: span
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +00:00" # GMT
|
||||||
|
- name: dateparse
|
||||||
|
args: "dd-MM-yyyy HH:mm zzz"
|
||||||
|
# TS Special Edition v.8.0
|
||||||
@@ -0,0 +1,108 @@
|
|||||||
|
---
|
||||||
|
id: badasstorrents
|
||||||
|
name: Badass Torrents
|
||||||
|
description: "Badass Torrents is a Public torrent site for MOVIES / TV / GENERAL"
|
||||||
|
language: en-US
|
||||||
|
type: public
|
||||||
|
encoding: UTF-8
|
||||||
|
requestDelay: 5
|
||||||
|
links:
|
||||||
|
- https://badasstorrents.com/
|
||||||
|
legacylinks:
|
||||||
|
- https://badasstorrents.nocensor.work/
|
||||||
|
- https://badasstorrents.nocensor.biz/
|
||||||
|
- https://badasstorrents.nocensor.sbs/
|
||||||
|
- https://badasstorrents.nocensor.world/
|
||||||
|
- https://badasstorrents.nocensor.lol/
|
||||||
|
- https://badasstorrents.nocensor.art/
|
||||||
|
- https://badasstorrents.mrunblock.guru/
|
||||||
|
- https://badasstorrents.mrunblock.life/
|
||||||
|
- https://badasstorrents.nocensor.click/
|
||||||
|
- https://badasstorrents.mrunblock.bond/
|
||||||
|
- https://badasstorrents.nocensor.cloud/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categories:
|
||||||
|
Anime: TV/Anime
|
||||||
|
Apps: PC
|
||||||
|
Books: Books
|
||||||
|
Games: PC/Games
|
||||||
|
Movies: Movies
|
||||||
|
Music: Audio
|
||||||
|
Other: Other
|
||||||
|
TV: TV
|
||||||
|
XXX: XXX
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q, album, artist]
|
||||||
|
book-search: [q]
|
||||||
|
settings:
|
||||||
|
- name: downloadlink
|
||||||
|
type: select
|
||||||
|
label: Download link
|
||||||
|
default: "magnet:?xt="
|
||||||
|
options:
|
||||||
|
"/download/": ".torrent"
|
||||||
|
"magnet:?xt=": "magnet"
|
||||||
|
- name: downloadlink2
|
||||||
|
type: select
|
||||||
|
label: Download link (fallback)
|
||||||
|
default: "/download/"
|
||||||
|
options:
|
||||||
|
"/download/": ".torrent"
|
||||||
|
"magnet:?xt=": "magnet"
|
||||||
|
- name: info_download
|
||||||
|
type: info
|
||||||
|
label: About the Download links
|
||||||
|
default: You can optionally set as a fallback an automatic alternate link, so if the .torrent download link fails your download will still be successful.
|
||||||
|
|
||||||
|
download:
|
||||||
|
selectors:
|
||||||
|
- selector: a[href*="{{ .Config.downloadlink }}"]
|
||||||
|
attribute: href
|
||||||
|
- selector: a[href*="{{ .Config.downloadlink2 }}"]
|
||||||
|
attribute: href
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# search has 10 torrents per page, latest has 100 torrents per page.
|
||||||
|
- path: "{{ if .Keywords }}search/{{ .Keywords }}{{ else }}latest.html{{ end }}"
|
||||||
|
- path: "{{ if .Keywords }}/search/{{ .Keywords }}&page=10{{ else }}{{ end }}"
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["[\\s]+", "-"]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.table-hover > tbody > tr:has(a[href*="/torrent/"])
|
||||||
|
filters:
|
||||||
|
- name: andmatch
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href*="/category/"]
|
||||||
|
title:
|
||||||
|
selector: a[href*="/torrent/"]
|
||||||
|
details:
|
||||||
|
selector: a[href*="/torrent/"]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href*="/torrent/"]
|
||||||
|
attribute: href
|
||||||
|
date:
|
||||||
|
selector: td:nth-child(3)
|
||||||
|
filters:
|
||||||
|
- name: timeago
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(4)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
---
|
||||||
|
id: bangumi-moe
|
||||||
|
name: Bangumi Moe
|
||||||
|
description: "Bangumi Moe is a Public torrent site for ANIME"
|
||||||
|
language: en-US
|
||||||
|
type: public
|
||||||
|
encoding: UTF-8
|
||||||
|
requestDelay: 3
|
||||||
|
links:
|
||||||
|
- https://bangumi.moe/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 549ef207fe682f7549f1ea90, cat: TV/Anime, desc: "Anime"}
|
||||||
|
- {id: 54967e14ff43b99e284d0bf7, cat: TV/Anime, desc: "Anime Pack"}
|
||||||
|
- {id: 549cc9369310bc7d04cddf9f, cat: Movies, desc: "Anime Movie"}
|
||||||
|
- {id: 549eef6ffe682f7549f1ea8b, cat: Audio, desc: "Music"}
|
||||||
|
- {id: 549eefebfe682f7549f1ea8c, cat: Books/Comics, desc: "Comic"}
|
||||||
|
- {id: 549ef015fe682f7549f1ea8d, cat: Console, desc: "Game"}
|
||||||
|
- {id: 549ef250fe682f7549f1ea91, cat: Other, desc: "Other"}
|
||||||
|
- {id: 549ff1db30bcfc225bf9e607, cat: Console, desc: "Dorama"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings: []
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://bangumi.moe/api/torrent/latest
|
||||||
|
# https://bangumi.moe/api/v2/torrent/search
|
||||||
|
- path: "{{ if .Keywords }}api/v2/torrent/search{{ else }}api/torrent/latest{{ end }}"
|
||||||
|
method: "{{ if .Keywords }}post{{ else }}get{{ end }}"
|
||||||
|
response:
|
||||||
|
type: json
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
# $raw: "{{ if .Keywords }}query={{ .Keywords }}{{ else }}{{ end }}"
|
||||||
|
query: "{{ .Keywords }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: torrents
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: category_tag_id
|
||||||
|
title:
|
||||||
|
selector: title
|
||||||
|
details:
|
||||||
|
text: /
|
||||||
|
infohash:
|
||||||
|
selector: infoHash
|
||||||
|
poster:
|
||||||
|
selector: introduction
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "src=\\\"(.+?)\\\""
|
||||||
|
description:
|
||||||
|
selector: category_tag.locale.en
|
||||||
|
date:
|
||||||
|
# 2021-10-19T06:10:15.772Z
|
||||||
|
selector: publish_time
|
||||||
|
size:
|
||||||
|
selector: size
|
||||||
|
optional: true
|
||||||
|
default: 0 B
|
||||||
|
grabs:
|
||||||
|
selector: downloads
|
||||||
|
seeders:
|
||||||
|
selector: seeders
|
||||||
|
leechers:
|
||||||
|
selector: leechers
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# json api v2
|
||||||
@@ -0,0 +1,171 @@
|
|||||||
|
---
|
||||||
|
id: beitai
|
||||||
|
name: BeiTai (备胎)
|
||||||
|
description: "BeiTai (备胎) is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||||
|
language: zh-CN
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://www.beitai.pt/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||||
|
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||||
|
- {id: 405, cat: TV/Anime, desc: "Animations/动漫"}
|
||||||
|
- {id: 402, cat: TV, desc: "TV Series/剧集"}
|
||||||
|
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
|
||||||
|
- {id: 406, cat: Audio/Video, desc: "MusicVideo/音乐MV"}
|
||||||
|
- {id: 407, cat: TV/Sport, desc: "Sports/运体"}
|
||||||
|
- {id: 409, cat: Other, desc: "Misc/其他"}
|
||||||
|
- {id: 408, cat: Audio, desc: "HQ Audio/无损音乐"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid, doubanid]
|
||||||
|
movie-search: [q, imdbid, doubanid]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
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_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Account retention rules:<ol><li>Veteran User and above will be retained forever</li><li>Elite User and above will not have their account deleted after parking (in the control panel)</li><li>Users with a parked account will be deleted if they do not log in for 400 consecutive days</li><li>Users with a non-parked account be deleted if they do not log in for 150 consecutive days</li><li>Users with no traffic (ie, upload/download data are both 0) will be deleted if they do not log in for 100 consecutive days.</li></ol>"
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: takelogin.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
logout: ""
|
||||||
|
securelogin: ""
|
||||||
|
ssl: yes
|
||||||
|
trackerssl: yes
|
||||||
|
error:
|
||||||
|
- selector: td.embedded:has(h2:contains("失败"))
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||||
|
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.DoubanID }}/{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||||
|
# 0 incldead, 1 active, 2 dead
|
||||||
|
incldead: 0
|
||||||
|
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||||
|
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||||
|
# 0 title, 1 descr, 3 uploader, 4 imdburl (4 does not appear to work).
|
||||||
|
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
|
||||||
|
# 0 AND, 1 OR, 2 exact
|
||||||
|
search_mode: 0
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
notnewword: 1
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||||
|
|
||||||
|
fields:
|
||||||
|
title_default:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
title:
|
||||||
|
selector: a[title][href^="details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result.title_default }}"
|
||||||
|
category:
|
||||||
|
selector: a[href^="?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
imdbid:
|
||||||
|
selector: div.imdb_100 > a
|
||||||
|
attribute: href
|
||||||
|
date_elapsed:
|
||||||
|
# time type: time elapsed (default)
|
||||||
|
selector: td:nth-child(4) > span[title]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
date_added:
|
||||||
|
# time added
|
||||||
|
selector: td:nth-child(4):not(:has(span))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_free: 0
|
||||||
|
img.pro_free2up: 0
|
||||||
|
img.pro_50pctdown: 0.5
|
||||||
|
img.pro_50pctdown2up: 0.5
|
||||||
|
img.pro_30pctdown: 0.3
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_50pctdown2up: 2
|
||||||
|
img.pro_free2up: 2
|
||||||
|
img.pro_2up: 2
|
||||||
|
"*": 1
|
||||||
|
description:
|
||||||
|
selector: td:nth-child(2)
|
||||||
|
remove: a, b, font, img, span
|
||||||
|
# NexusPHP Standard v1.5 Beta 4
|
||||||
@@ -0,0 +1,160 @@
|
|||||||
|
---
|
||||||
|
id: beload
|
||||||
|
name: Beload
|
||||||
|
description: "Beload is a HUNGARIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||||
|
language: hu-HU
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://beload.org/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 27, cat: Movies/DVD, desc: "Animáció/DVD/Eng"}
|
||||||
|
- {id: 26, cat: Movies/DVD, desc: "Animáció/DVD/Hun"}
|
||||||
|
- {id: 25, cat: Movies/HD, desc: "Animáció/HD/Eng"}
|
||||||
|
- {id: 24, cat: Movies/HD, desc: "Animáció/HD/Hun"}
|
||||||
|
- {id: 28, cat: Movies/SD, desc: "Animáció/SD/Hun"}
|
||||||
|
- {id: 12, cat: Movies/SD, desc: "Film/Cam/Eng"}
|
||||||
|
- {id: 11, cat: Movies/SD, desc: "Film/Cam/Hun"}
|
||||||
|
- {id: 4, cat: Movies/DVD, desc: "Film/DVD-R/Eng"}
|
||||||
|
- {id: 3, cat: Movies/DVD, desc: "Film/DVD-R/Hun"}
|
||||||
|
- {id: 6, cat: Movies/DVD, desc: "Film/DVD9/Eng"}
|
||||||
|
- {id: 5, cat: Movies/DVD, desc: "Film/DVD9/Hun"}
|
||||||
|
- {id: 2, cat: Movies/Foreign, desc: "Film/HD/Eng"}
|
||||||
|
- {id: 1, cat: Movies/HD, desc: "Film/HD/Hun"}
|
||||||
|
- {id: 8, cat: Movies/Foreign, desc: "Film/SD/Eng"}
|
||||||
|
- {id: 7, cat: Movies/SD, desc: "Film/SD/Hun"}
|
||||||
|
- {id: 10, cat: Movies/Foreign, desc: "Film/XviD/Eng"}
|
||||||
|
- {id: 9, cat: Movies/SD, desc: "Film/XviD/Hun"}
|
||||||
|
- {id: 31, cat: Audio/Audiobook, desc: "Hangoskönyv"}
|
||||||
|
- {id: 42, cat: PC/Games, desc: "Játék/ISO"}
|
||||||
|
- {id: 43, cat: PC/Games, desc: "Játék/RIP"}
|
||||||
|
- {id: 30, cat: Books/Foreign, desc: "Könyv/Eng"}
|
||||||
|
- {id: 29, cat: Books/EBook, desc: "Könyv/Hun"}
|
||||||
|
- {id: 44, cat: PC/ISO, desc: "Program/ISO"}
|
||||||
|
- {id: 45, cat: PC, desc: "Program/RIP"}
|
||||||
|
- {id: 14, cat: TV/Foreign, desc: "Sorozat/HD/Eng"}
|
||||||
|
- {id: 13, cat: TV/HD, desc: "Sorozat/HD/Hun"}
|
||||||
|
- {id: 16, cat: TV/Foreign, desc: "Sorozat/SD/Eng"}
|
||||||
|
- {id: 15, cat: TV/SD, desc: "Sorozat/SD/hun"}
|
||||||
|
- {id: 38, cat: XXX/SD, desc: "XXX/HD"}
|
||||||
|
- {id: 41, cat: XXX/ImageSet, desc: "XXX/Kép"}
|
||||||
|
- {id: 40, cat: XXX/SD, desc: "XXX/SD"}
|
||||||
|
- {id: 20, cat: Audio/Foreign, desc: "Zene/Mp3/Eng"}
|
||||||
|
- {id: 19, cat: Audio/MP3, desc: "Zene/Mp3/Hun"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: cookie
|
||||||
|
type: text
|
||||||
|
label: Cookie
|
||||||
|
- name: info
|
||||||
|
type: info
|
||||||
|
label: How to get the Cookie
|
||||||
|
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: 4
|
||||||
|
options:
|
||||||
|
1: title
|
||||||
|
4: created
|
||||||
|
7: seeders
|
||||||
|
5: size
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
|
||||||
|
login:
|
||||||
|
method: cookie
|
||||||
|
inputs:
|
||||||
|
cookie: "{{ .Config.cookie }}"
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="/logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: browse.php
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
# 0 active, 1 both, 2 dead, 3 my uploa, 4 waiting for seeds
|
||||||
|
incldead: 1
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
order: "{{ .Config.type }}"
|
||||||
|
# does not support imdbid searches
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: "div.torrents-container > table > tbody > tr > td.text > table > tbody > tr:has(a[href^=\"details.php?id=\"]):not(:has(a[href=\"browse.php?cat=0\"]))"
|
||||||
|
after: 1
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="browse.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title:
|
||||||
|
selector: a[href^="details.php?id="][title]
|
||||||
|
attribute: title
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?torrent="]
|
||||||
|
attribute: href
|
||||||
|
imdbid:
|
||||||
|
selector: a[href*="imdb.com/title/tt"]
|
||||||
|
attribute: href
|
||||||
|
poster:
|
||||||
|
selector: a.preview
|
||||||
|
attribute: href
|
||||||
|
date:
|
||||||
|
selector: td:nth-last-child(6) > a
|
||||||
|
attribute: title
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +01:00" # CET
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
files:
|
||||||
|
selector: td:nth-last-child(8)
|
||||||
|
size:
|
||||||
|
selector: td:nth-last-child(5) b
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-last-child(4)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-last-child(3)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-last-child(2)
|
||||||
|
description:
|
||||||
|
case:
|
||||||
|
i.fa-check: Verified
|
||||||
|
i.fa-question: Unverified
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
"span[style=\"font-size: 10px;\"]:contains(\"0x\")": 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
"span[style=\"font-size: 10px;\"]:contains(\"2x\")": 2
|
||||||
|
"span[style=\"font-size: 10px;\"]:contains(\"4x\")": 4
|
||||||
|
"*": 1
|
||||||
|
minimumseedtime:
|
||||||
|
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||||
|
text: 259200
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,207 @@
|
|||||||
|
---
|
||||||
|
id: bestcore
|
||||||
|
name: Best-Core
|
||||||
|
description: "Best-Core is a HUNGARIAN Private Tracker for MOVIES / TV"
|
||||||
|
language: hu-HU
|
||||||
|
type: private
|
||||||
|
encoding: ISO-8859-2
|
||||||
|
links:
|
||||||
|
- https://best-core.info/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 81, cat: Movies/3D, desc: "3D"}
|
||||||
|
- {id: 83, cat: Movies/UHD, desc: "4K/UHD"}
|
||||||
|
- {id: 80, cat: Movies/Other, desc: "Best-Core"}
|
||||||
|
- {id: 51, cat: Books/EBook, desc: "E-book"}
|
||||||
|
- {id: 88, cat: Audio/Audiobook, desc: "E-book/Hangoskönyv"}
|
||||||
|
- {id: 77, cat: Movies/HD, desc: "Film/BDRip/Eng"}
|
||||||
|
- {id: 86, cat: Movies/HD, desc: "Film/BDRip/Ger"}
|
||||||
|
- {id: 76, cat: Movies/HD, desc: "Film/BDRip/Hun"}
|
||||||
|
- {id: 75, cat: Movies/BluRay, desc: "Film/Blu-ray/Eng"}
|
||||||
|
- {id: 74, cat: Movies/BluRay, desc: "Film/Blu-ray/Hun"}
|
||||||
|
- {id: 25, cat: Movies/DVD, desc: "Film/DVD/Eng"}
|
||||||
|
- {id: 24, cat: Movies/DVD, desc: "Film/DVD/Hun"}
|
||||||
|
- {id: 85, cat: Movies/DVD, desc: "Film/DVD9"}
|
||||||
|
- {id: 21, cat: Movies/HD, desc: "Film/HD/Eng"}
|
||||||
|
- {id: 53, cat: Movies/HD, desc: "Film/HD/Hun"}
|
||||||
|
- {id: 20, cat: Movies/SD, desc: "Film/XviD/Eng"}
|
||||||
|
- {id: 34, cat: Movies/SD, desc: "Film/XviD/Hun"}
|
||||||
|
- {id: 90, cat: Movies/SD, desc: "Film/XviD/Pack"}
|
||||||
|
- {id: 26, cat: PC/Games, desc: "Játék/ISO"}
|
||||||
|
- {id: 52, cat: PC/Games, desc: "Játék/Rip"}
|
||||||
|
- {id: 89, cat: Movies/SD, desc: "Kamerás/Eng"}
|
||||||
|
- {id: 82, cat: Movies/SD, desc: "Kamerás/Hun"}
|
||||||
|
- {id: 38, cat: Other, desc: "Képek"}
|
||||||
|
- {id: 43, cat: Console/PS3, desc: "Konzol/PS"}
|
||||||
|
- {id: 45, cat: Console/PSP, desc: "Konzol/PSP"}
|
||||||
|
- {id: 44, cat: Console/XBox, desc: "Konzol/Xbox"}
|
||||||
|
- {id: 73, cat: TV/Anime, desc: "Mese/Eng"}
|
||||||
|
- {id: 70, cat: TV/Anime, desc: "Mese/Hun"}
|
||||||
|
- {id: 37, cat: PC/Mobile-Other, desc: "Mobil"}
|
||||||
|
- {id: 1, cat: PC/ISO, desc: "Program/ISO"}
|
||||||
|
- {id: 22, cat: PC/0day, desc: "Program/Rip"}
|
||||||
|
- {id: 54, cat: TV/SD, desc: "Sorozat/DVD/Eng"}
|
||||||
|
- {id: 55, cat: TV/SD, desc: "Sorozat/DVD/Hun"}
|
||||||
|
- {id: 58, cat: TV/SD, desc: "Sorozat/Xvid/Eng"}
|
||||||
|
- {id: 7, cat: TV/SD, desc: "Sorozat/Xvid/Hun"}
|
||||||
|
- {id: 62, cat: Audio/Video, desc: "Videoklip"}
|
||||||
|
- {id: 64, cat: XXX/DVD, desc: "XXX/DVD"}
|
||||||
|
- {id: 48, cat: XXX/ImageSet, desc: "XXX/Képek"}
|
||||||
|
- {id: 9, cat: XXX/XviD, desc: "XXX/Xvid"}
|
||||||
|
- {id: 40, cat: Audio/MP3, desc: "Zene/Eng"}
|
||||||
|
- {id: 6, cat: Audio/MP3, desc: "Zene/Hun"}
|
||||||
|
- {id: 87, cat: Audio/Lossless, desc: "Zene/Lossless"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid]
|
||||||
|
movie-search: [q, imdbid]
|
||||||
|
book-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search FreeLeech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: 4
|
||||||
|
options:
|
||||||
|
1: title
|
||||||
|
4: added
|
||||||
|
5: size
|
||||||
|
7: seeders
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
- name: info_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrent oldalankén:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_login
|
||||||
|
type: info
|
||||||
|
label: About login error
|
||||||
|
default: If you get a <b>Login Failed, got redirected.</b> error during your config <i>save</i> then most likely you have used an incorrect username or password.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "<ol><li>Users who have not accessed the site for 180 days will be deleted!</li><li>If the vacation mode is set, the system will not delete the given user for 365 days.</li></ol>"
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: takelogin.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href^="logout.php?c="]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||||
|
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||||
|
# 0 active, 1 all, 2 deadonly, 3 freeleech
|
||||||
|
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: tr.torrent_h
|
||||||
|
filters:
|
||||||
|
- name: andmatch
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category_optional:
|
||||||
|
selector: a[href^="browse.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
category:
|
||||||
|
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}38{{ end }}"
|
||||||
|
title_default:
|
||||||
|
# can be abbreviated
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
title:
|
||||||
|
# usually full length
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result.title_default }}"
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
poster:
|
||||||
|
selector: a[onmouseover]
|
||||||
|
attribute: onmouseover
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "src=(.*?) "
|
||||||
|
- name: replace
|
||||||
|
args: ["https://i.kek.sh/null", ""]
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
imdbid:
|
||||||
|
selector: a[href*="imdb.com/title/tt"]
|
||||||
|
attribute: href
|
||||||
|
date:
|
||||||
|
selector: td:nth-child(2)
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "(\\d{4}-\\d{2}-\\d{2}\\s\\d{2}:\\d{2}:\\d{2})"
|
||||||
|
- name: append
|
||||||
|
args: " +01:00" # CET
|
||||||
|
- name: replace
|
||||||
|
args: ["\xA0", " "]
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
files:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: x \d(\d+) x$
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(9)
|
||||||
|
description:
|
||||||
|
case:
|
||||||
|
img[src="pic/yes.png"]: Verified
|
||||||
|
img[src="pic/nincs.png"]: Unverified
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src="pic/free.png"]: 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
selector: td:nth-child(7) b
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: (\d+)
|
||||||
|
minimumratio:
|
||||||
|
text: 0.8
|
||||||
|
minimumseedtime:
|
||||||
|
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||||
|
text: 259200
|
||||||
|
# custom v3.0
|
||||||
@@ -0,0 +1,141 @@
|
|||||||
|
---
|
||||||
|
id: bibliotik
|
||||||
|
name: Bibliotik
|
||||||
|
description: "Bibliotik is a private site for eBooks and audiobooks"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://bibliotik.me/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: PC, desc: "Applications"}
|
||||||
|
- {id: 3, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||||
|
- {id: 4, cat: Books/Comics, desc: "Comics"}
|
||||||
|
- {id: 5, cat: Books/EBook, desc: "eBooks"}
|
||||||
|
- {id: 7, cat: Books/Mags, desc: "Magazines"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
book-search: [q, title, author]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: orderby
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: added
|
||||||
|
options:
|
||||||
|
"@relevance": relevance
|
||||||
|
title: title
|
||||||
|
size: size
|
||||||
|
added: added
|
||||||
|
seeders: seeders
|
||||||
|
- name: order
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: DESC
|
||||||
|
options:
|
||||||
|
DESC: desc
|
||||||
|
ASC: asc
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: /
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
keeplogged: 1
|
||||||
|
login: "Log In!"
|
||||||
|
error:
|
||||||
|
- selector: center:first-of-type
|
||||||
|
test:
|
||||||
|
path: torrents/
|
||||||
|
selector: div#pre_header
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents/
|
||||||
|
inputs:
|
||||||
|
search: "{{ if .Query.Author }} @authors {{ .Query.Author }}{{ else }}{{ end }}{{ if .Query.Title }} @title {{ .Query.Title }}{{ else }}{{ end }}{{ .Keywords }}"
|
||||||
|
$raw: "{{ range .Categories }}cat[]={{.}}&{{end}}"
|
||||||
|
orderby: "{{ .Config.orderby }}"
|
||||||
|
order: "{{ .Config.order }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table#torrents_table > tbody > tr:has(.title)
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: td:first-child
|
||||||
|
case:
|
||||||
|
div[title="Applications"]: 1
|
||||||
|
div[title="Audiobooks"]: 3
|
||||||
|
div[title="Comics"]: 4
|
||||||
|
div[title="Ebooks"]: 5
|
||||||
|
div[title="Magazines"]: 7
|
||||||
|
_editor:
|
||||||
|
selector: .editorLink
|
||||||
|
optional: true
|
||||||
|
author:
|
||||||
|
selector: .authorLink
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result._editor }}"
|
||||||
|
year:
|
||||||
|
selector: .torYear
|
||||||
|
optional: true
|
||||||
|
_filetype:
|
||||||
|
selector: .torFormat
|
||||||
|
optional: true
|
||||||
|
_retail:
|
||||||
|
selector: .torRetail
|
||||||
|
optional: true
|
||||||
|
booktitle:
|
||||||
|
selector: .title a
|
||||||
|
title:
|
||||||
|
text: "{{ .Result.booktitle }}"
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: "{{ if .Result.author }} by {{ .Result.author }}{{ else }}{{ end }}{{ if .Result.year }} {{ .Result.year }}{{ else }}{{ end }}{{ if .Result._filetype }} {{ .Result._filetype }}{{ else }}{{ end }}{{ if .Result._retail }} {{ .Result._retail }}{{ else }}{{ end }}"
|
||||||
|
details:
|
||||||
|
selector: .title a
|
||||||
|
attribute: href
|
||||||
|
date:
|
||||||
|
selector: .t_files_size_added time
|
||||||
|
attribute: datetime
|
||||||
|
optional: true
|
||||||
|
default: now
|
||||||
|
download:
|
||||||
|
selector: a[title="Download"]
|
||||||
|
attribute: href
|
||||||
|
files:
|
||||||
|
selector: .t_files_size_added
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "^\\s*(\\d+)\\s*file"
|
||||||
|
size:
|
||||||
|
selector: .t_files_size_added span
|
||||||
|
attribute: data-bytecount
|
||||||
|
seeders:
|
||||||
|
selector: .seeders
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
leechers:
|
||||||
|
selector: .leechers
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
grabs:
|
||||||
|
selector: .snatches
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,235 @@
|
|||||||
|
---
|
||||||
|
id: bigfangroup
|
||||||
|
name: BigFANGroup
|
||||||
|
description: "BigFANGroup is a RUSSIAN Public Torrent Tracker for MOVIES / TV"
|
||||||
|
language: ru-RU
|
||||||
|
type: public
|
||||||
|
encoding: windows-1251
|
||||||
|
links:
|
||||||
|
- https://bigfangroup.org/
|
||||||
|
- https://www.freebfg.org/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 51, cat: Movies/3D, desc: "3D"}
|
||||||
|
- {id: 12, cat: TV, desc: "Анимация"}
|
||||||
|
- {id: 35, cat: Audio/Audiobook, desc: "Аудио-книги"}
|
||||||
|
- {id: 13, cat: Movies, desc: "Боевик"}
|
||||||
|
- {id: 52, cat: Movies, desc: "Биография"}
|
||||||
|
- {id: 33, cat: Movies, desc: "Военный"}
|
||||||
|
- {id: 45, cat: Audio/Video, desc: "Видеоклипы"}
|
||||||
|
- {id: 48, cat: Movies, desc: "Вестерн"}
|
||||||
|
- {id: 21, cat: Movies, desc: "Драма"}
|
||||||
|
- {id: 32, cat: TV/Documentary, desc: "Документальный"}
|
||||||
|
- {id: 39, cat: Movies, desc: "Детектив"}
|
||||||
|
- {id: 44, cat: Audio, desc: "Зарубежная музыка"}
|
||||||
|
- {id: 5, cat: PC/Games, desc: "Игры"}
|
||||||
|
- {id: 28, cat: Movies, desc: "Исторический"}
|
||||||
|
- {id: 18, cat: Movies, desc: "Катастрофа"}
|
||||||
|
- {id: 24, cat: Movies, desc: "Комедия"}
|
||||||
|
- {id: 36, cat: Movies, desc: "Криминал"}
|
||||||
|
- {id: 38, cat: Books, desc: "Книги и журналы"}
|
||||||
|
- {id: 53, cat: Movies, desc: "Классика"}
|
||||||
|
- {id: 54, cat: Audio, desc: "Классическая музыка"}
|
||||||
|
- {id: 19, cat: Movies, desc: "Мелодрама"}
|
||||||
|
- {id: 20, cat: Movies, desc: "Мультфильм"}
|
||||||
|
- {id: 31, cat: Movies, desc: "Мистика"}
|
||||||
|
- {id: 46, cat: Audio, desc: "Муз. сборники"}
|
||||||
|
- {id: 29, cat: Movies/Foreign, desc: "Наше кино"}
|
||||||
|
- {id: 49, cat: TV, desc: "Научно-популярное"}
|
||||||
|
- {id: 50, cat: TV, desc: "Новости"}
|
||||||
|
- {id: 27, cat: Movies, desc: "Приключения"}
|
||||||
|
- {id: 9, cat: Other, desc: "Разное"}
|
||||||
|
- {id: 43, cat: Audio/Foreign, desc: "Русская музыка"}
|
||||||
|
- {id: 1, cat: PC, desc: "Софт"}
|
||||||
|
- {id: 11, cat: TV, desc: "Сериалы"}
|
||||||
|
- {id: 37, cat: TV/Sport, desc: "Спорт"}
|
||||||
|
- {id: 47, cat: Movies, desc: "Сказки"}
|
||||||
|
- {id: 55, cat: Audio, desc: "Саундтрек"}
|
||||||
|
- {id: 25, cat: TV, desc: "ТВ-шоу"}
|
||||||
|
- {id: 22, cat: Movies, desc: "Триллер"}
|
||||||
|
- {id: 26, cat: Movies, desc: "Ужасы"}
|
||||||
|
- {id: 23, cat: Movies, desc: "Фантастика"}
|
||||||
|
- {id: 30, cat: Movies, desc: "Фэнтази"}
|
||||||
|
- {id: 42, cat: XXX, desc: "Эротика"}
|
||||||
|
- {id: 14, cat: Movies/HD, desc: "HDTV"}
|
||||||
|
- {id: 15, cat: Movies/DVD, desc: "DVD"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: stripcyrillic
|
||||||
|
type: checkbox
|
||||||
|
label: Strip Cyrillic Letters
|
||||||
|
default: false
|
||||||
|
- name: addrussiantotitle
|
||||||
|
type: checkbox
|
||||||
|
label: Add RUS to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified.
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: added
|
||||||
|
options:
|
||||||
|
added: created
|
||||||
|
seed: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
|
||||||
|
search:
|
||||||
|
# https://bigfangroup.org/browse.php?search=black+lightning&cat=0&incldead=0&year=0&format=0
|
||||||
|
headers:
|
||||||
|
Referer: ["{{ .Config.sitelink }}browse.php?search={{ .Keywords }}&cat=0&incldead=1&year=0&format=0"]
|
||||||
|
paths:
|
||||||
|
# https://bigfangroup.org/browse.php?ajax=1&search=the+librarian&cat=0&incldead=0&year=0&format=0
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
ajax: 1
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
cat: 0
|
||||||
|
# 0 active, 1 incldead, 2 onlydead, 3 gold, 4 noseed, 5 silver, 7 BFG
|
||||||
|
incldead: 1
|
||||||
|
year: 0
|
||||||
|
format: 0
|
||||||
|
s: "{{ .Config.sort }}"
|
||||||
|
d: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
# strip season and/or ep
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\b(?:[SE]\\d{1,4}){1,2}\\b\\s?", ""]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table > tbody#highlighted > tr:has(a[href^="browse.php?cat="])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="browse.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
filters:
|
||||||
|
# normalize to SXXEYY format
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)", "S$1E$2 of $3"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езоны?.+?(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))?", "S$1E$2 of $3"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езоны?.+?(\\d+(?:-\\d+)?)\\s*(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))\\s+из\\s*(\\w?)", "S$1E$2 of $3"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))?", "S$1E$2 of $3"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)\\s*(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))\\s+из\\s*(\\w?)", "S$1E$2 of $3"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)", "S$1E$2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s*[CС]езоны?.+?(\\d+(?:-\\d+)?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "S$1E$2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?).+?(\\d+(?:-\\d+)?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "S$1E$2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)[CС]езоны?[\\s:]*(\\d+(?:-\\d+)?)", "S$1"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s+[CС]езоны?", "S$1"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)", "E$1 of $2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s*из\\s*(\\w?)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "E$1 of $2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s+(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))\\s+из\\s*(\\w?)", "E$1 of $2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))[\\s:]*(\\d+(?:-\\d+)?)", "E$1"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s+(?:\\s*(?:[CС]ери[ияй]|Эпизод|Выпуски?))", "E$1"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\s\\|\\sот\\s([\\w\\p{P}\\p{S}]+)$", "-$1"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\s\\|\\s(\\w{4,})$", "-$1"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(\\([\\p{IsCyrillic}\\W]+\\))|(^[\\p{IsCyrillic}\\W\\d]+\\/ )|([\\p{IsCyrillic} \\-]+,+)|([\\p{IsCyrillic}]+)", "{{ if .Config.stripcyrillic }}{{ else }}$1$2$3$4{{ end }}"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bHDTV[-\\s]?Rip\\b", "HDTV"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bSAT[-\\s]?Rip\\b", "HDTV"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bWEB[-\\s]?DL[-\\s]?Rip\\b", "WEB-DL"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bWEB\\sRip\\b", "WEBRip"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bWEB\\sDL\\b", "WEB-DL"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["[\\[\\(\\{<«][\\s\\W]*[\\]\\)\\}>»]", ""]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["^[\\s&,\\.!\\?\\+\\-_\\|\\/':]+", ""]
|
||||||
|
- name: append
|
||||||
|
args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}"
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["details", "download"]
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
date:
|
||||||
|
selector: img[src="pic/time.png"]
|
||||||
|
attribute: title
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: [" в ", " "]
|
||||||
|
- name: replace
|
||||||
|
args: ["января", "January"]
|
||||||
|
- name: replace
|
||||||
|
args: ["февраля", "February"]
|
||||||
|
- name: replace
|
||||||
|
args: ["марта", "March"]
|
||||||
|
- name: replace
|
||||||
|
args: ["апреля", "April"]
|
||||||
|
- name: replace
|
||||||
|
args: ["мая", "May"]
|
||||||
|
- name: replace
|
||||||
|
args: ["июня", "June"]
|
||||||
|
- name: replace
|
||||||
|
args: ["июля", "July"]
|
||||||
|
- name: replace
|
||||||
|
args: ["августа", "August"]
|
||||||
|
- name: replace
|
||||||
|
args: ["сентября", "September"]
|
||||||
|
- name: replace
|
||||||
|
args: ["октября", "October"]
|
||||||
|
- name: replace
|
||||||
|
args: ["ноября", "November"]
|
||||||
|
- name: replace
|
||||||
|
args: ["декабря", "December"]
|
||||||
|
- name: append
|
||||||
|
args: " +03:00" # MSK
|
||||||
|
- name: dateparse
|
||||||
|
args: "d MMMM yyyy HH:mm:ss zzz"
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
description:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,193 @@
|
|||||||
|
---
|
||||||
|
id: bitbazis
|
||||||
|
name: Bit-Bázis
|
||||||
|
description: "Bit-Bázis is a HUNGARIAN Private Tracker for MOVIES / TV"
|
||||||
|
language: hu-HU
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
requestDelay: 2
|
||||||
|
links:
|
||||||
|
- https://bitbazis.net/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 85, cat: Movies/SD, desc: "Film-Cam", default: true}
|
||||||
|
- {id: 15, cat: Movies/SD, desc: "Film-SD", default: true}
|
||||||
|
- {id: 17, cat: Movies/DVD, desc: "Film-DVD", default: true}
|
||||||
|
- {id: 83, cat: Movies/HD, desc: "Film-HD", default: true}
|
||||||
|
- {id: 94, cat: Movies/HD, desc: "Film-FHD", default: true}
|
||||||
|
- {id: 92, cat: Movies/UHD, desc: "Film-UHD", default: true}
|
||||||
|
- {id: 22, cat: TV, desc: "Sorozat-Hun", default: true}
|
||||||
|
- {id: 64, cat: Movies, desc: "Film-Pack", default: true}
|
||||||
|
- {id: 24, cat: Audio/Video, desc: "Klip", default: true}
|
||||||
|
- {id: 70, cat: Audio/Audiobook, desc: "Hangoskönyv", default: true}
|
||||||
|
- {id: 27, cat: Books/EBook, desc: "Könyv", default: true}
|
||||||
|
- {id: 69, cat: TV/Anime, desc: "Mese-SD", default: true}
|
||||||
|
- {id: 91, cat: TV/Anime, desc: "Mese-HD", default: true}
|
||||||
|
- {id: 25, cat: Audio/MP3, desc: "Mp3-Hun", default: true}
|
||||||
|
- {id: 26, cat: Audio/MP3, desc: "Mp3-Eng", default: true}
|
||||||
|
- {id: 84, cat: Audio/Lossless, desc: "FLAC-Hun", default: true}
|
||||||
|
- {id: 71, cat: Audio/Lossless, desc: "FLAC-Eng", default: true}
|
||||||
|
- {id: 31, cat: PC/Games, desc: "Játék", default: true}
|
||||||
|
- {id: 81, cat: PC/0day, desc: "Program", default: true}
|
||||||
|
- {id: 14, cat: Other, desc: "Egyéb", default: true}
|
||||||
|
- {id: 66, cat: XXX/ImageSet, desc: "XXX", default: false}
|
||||||
|
- {id: 33, cat: XXX/SD, desc: "XXX-SD", default: false}
|
||||||
|
- {id: 89, cat: XXX/x264, desc: "XXX-HD", default: false}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: cookie
|
||||||
|
type: text
|
||||||
|
label: Cookie
|
||||||
|
- name: info
|
||||||
|
type: info
|
||||||
|
label: How to get the Cookie
|
||||||
|
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Filter freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: 4
|
||||||
|
options:
|
||||||
|
1: title
|
||||||
|
4: added
|
||||||
|
5: size
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
- name: info_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrentek száma egy oldalon:</b> setting to <b>50</b> on your account profile.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "If the user does not access the site for 1 month, he will receive an e-mail notification. If you stay away for 9 months, your account will be suspended and deleted. After the 9-month absence, the user cannot register again."
|
||||||
|
|
||||||
|
login:
|
||||||
|
method: cookie
|
||||||
|
inputs:
|
||||||
|
cookie: "{{ .Config.cookie }}"
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: li[onclick^="window.open('logout.php?k="]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: browse.php
|
||||||
|
categories: [85, 86, 15, 16, 17, 19, 83, 82, 94, 95, 92, 93, 22, 58, 64, 24, 70, 27, 50, 69, 68, 91, 25, 26, 84, 71, 31, 54, 81, 67, 49, 14, 65, 97]
|
||||||
|
inputs:
|
||||||
|
# 0 all, 1 active, 2 deadonly, 3 myuploads, 4 zeroseed, 6 re-seeded
|
||||||
|
incldead: 0
|
||||||
|
- path: browse_xxx.php
|
||||||
|
categories: [33, 66, 89]
|
||||||
|
inputs:
|
||||||
|
# 0 active, 1 all, 2 deadonly, 3 myuploads, 4 zeroseed, 6 re-seeded
|
||||||
|
incldead: 1
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
# site does not support imdbid searching
|
||||||
|
# can support genre searching but you need to know the id, eg &genre23=1 for Comedy (id is 23)
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: "tr[class^=\"toriadatok\"]{{ if .Config.freeleech }}:has(i:contains(\"(Free)\")){{ else }}{{ end }}"
|
||||||
|
|
||||||
|
fields:
|
||||||
|
categorydesc:
|
||||||
|
selector: td[class^="catpic_"]
|
||||||
|
attribute: class
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["catpic_", ""]
|
||||||
|
title:
|
||||||
|
selector: font[class="tori"], a.preview
|
||||||
|
_id:
|
||||||
|
selector: td.tori_infok
|
||||||
|
attribute: id
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: (\d+)
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
optional: true
|
||||||
|
default: "details.php?id={{ .Result._id }}#adatlap"
|
||||||
|
download:
|
||||||
|
text: "download.php?torrent={{ .Result._id }}"
|
||||||
|
poster:
|
||||||
|
selector: a.preview
|
||||||
|
attribute: href
|
||||||
|
imdbid:
|
||||||
|
selector: a[href*="imdb.com/title/tt"]
|
||||||
|
attribute: href
|
||||||
|
size:
|
||||||
|
selector: td[id^="tsize"]
|
||||||
|
date:
|
||||||
|
# 36 perce
|
||||||
|
# 13 órája és 59 perce
|
||||||
|
# 2 napja és 10 órája
|
||||||
|
# 1 hete és 1 napja
|
||||||
|
# 1 éve és 30 hete
|
||||||
|
selector: span.ellenorzes
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["és ", " "]
|
||||||
|
- name: replace
|
||||||
|
args: ["perce", "minute"]
|
||||||
|
- name: replace
|
||||||
|
args: ["órája", "hour"]
|
||||||
|
- name: replace
|
||||||
|
args: ["napja", "day"]
|
||||||
|
- name: replace
|
||||||
|
args: ["hete", "week"]
|
||||||
|
- name: replace
|
||||||
|
args: ["éve", "year"]
|
||||||
|
- name: timeago
|
||||||
|
grabs:
|
||||||
|
selector: td.letoltok
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
seeders:
|
||||||
|
selector: td.seeders
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
leechers:
|
||||||
|
selector: td.leechers
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
genre:
|
||||||
|
selector: span[style="font-size:small;"]
|
||||||
|
description:
|
||||||
|
text: "{{ .Result.genre }}"
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
"i:contains(\"(Free)\")": 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
"i:contains(\"(2x)\")": 2
|
||||||
|
"i:contains(\"(3x)\")": 3
|
||||||
|
"i:contains(\"(4x)\")": 4
|
||||||
|
"*": 1
|
||||||
|
minimumseedtime:
|
||||||
|
# 1 day (as seconds = 1 x 24 x 60 x 60)
|
||||||
|
text: 86400
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,146 @@
|
|||||||
|
---
|
||||||
|
id: bitded
|
||||||
|
name: Bitded
|
||||||
|
description: "Bitded is a THAI Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||||
|
language: th-TH
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://www.dedbit.com/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: Other, desc: "ในพระราชสำนัก (in the royal court)"}
|
||||||
|
- {id: 4, cat: TV, desc: "รายการทีวี (TV)"}
|
||||||
|
- {id: 7, cat: TV, desc: "ภาพยนตร์ชุด (Series)"}
|
||||||
|
- {id: 12, cat: Books/EBook, desc: "หนังสือ สื่อการสอน (Books)"}
|
||||||
|
- {id: 13, cat: Other/Misc, desc: "ทั่วไป (General)"}
|
||||||
|
- {id: 14, cat: TV/Sport, desc: "กีฬา (Sport)"}
|
||||||
|
- {id: 16, cat: TV/Documentary, desc: "สารคดี (Documentary)"}
|
||||||
|
- {id: 18, cat: TV/Other, desc: "ธรรมะ (Dharma)"}
|
||||||
|
- {id: 21, cat: Books/Comics, desc: "หนังสือการ์ตูน (Comics)"}
|
||||||
|
- {id: 22, cat: TV/Anime, desc: "การ์ตูนอนิเมชั่น (Anime)"}
|
||||||
|
- {id: 31, cat: Movies, desc: "ภาพยนตร์ (Movies)"}
|
||||||
|
- {id: 34, cat: Movies/DVD, desc: "ภาพยนตร์ DVD (Movies DVD)"}
|
||||||
|
- {id: 35, cat: Movies/HD, desc: "วีดีโอความละเอียดสูง (Movies HD)"}
|
||||||
|
- {id: 41, cat: Audio/MP3, desc: "เพลง (Music)"}
|
||||||
|
- {id: 43, cat: Audio/Video, desc: "มิวสิควีดีโอ (Music video)"}
|
||||||
|
- {id: 53, cat: PC/0day, desc: "โปรแกรม/Windows (Software Windows)"}
|
||||||
|
- {id: 54, cat: PC/Mac, desc: "โปรแกรม/Mac, Linux (Software Mac/Linux)"}
|
||||||
|
- {id: 55, cat: PC/Mobile-Other, desc: "โปรแกรม/Mobile (Software Mobile)"}
|
||||||
|
- {id: 61, cat: PC/Games, desc: "เกม-Computer (PC Games)"}
|
||||||
|
- {id: 62, cat: Console, desc: "เกม-Console (Console)"}
|
||||||
|
- {id: 63, cat: Console, desc: "เกมส์-พกพา (Console portable)"}
|
||||||
|
- {id: 72, cat: Other, desc: "รูปภาพ (Pics)"}
|
||||||
|
- {id: 74, cat: Other, desc: "J-IDOL"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: info_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: added
|
||||||
|
options:
|
||||||
|
added: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: DESC
|
||||||
|
options:
|
||||||
|
DESC: desc
|
||||||
|
ASC: asc
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: takelogin.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
x: axion
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: td.embedded:contains("Login failed!")
|
||||||
|
test:
|
||||||
|
path: my.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://www.dedbit.com/browse.php?c12=1&c13=1&incldead=1&freeload=1&search=&sort=added&h=6&d=DESC
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||||
|
# 0 active, 1 incldead, 2 onlydead
|
||||||
|
incldead: 1
|
||||||
|
freeload: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
d: "{{ .Config.type }}"
|
||||||
|
# site does not support imdbid searching and does not display imdb links in results.
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.torrenttable tbody tr:has(a[href^="download.php"])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="browse.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php"]
|
||||||
|
attribute: href
|
||||||
|
files:
|
||||||
|
selector: td:nth-last-child(9)
|
||||||
|
date:
|
||||||
|
selector: td:nth-last-child(7)
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +07:00" # ICT
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||||
|
size:
|
||||||
|
selector: td:nth-last-child(5)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-last-child(4)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-last-child(3)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-last-child(2)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src$="pic/freeload.png"]: 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,176 @@
|
|||||||
|
---
|
||||||
|
id: bithorlo
|
||||||
|
name: Bithorlo
|
||||||
|
description: "Bithorlo (BHO) is a HUNGARIAN Private Torrent Tracker for MOVIES / GENERAL"
|
||||||
|
language: hu-HU
|
||||||
|
type: private
|
||||||
|
encoding: ISO-8859-2
|
||||||
|
links:
|
||||||
|
- https://www.bithorlo.info/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
# E-book
|
||||||
|
- {id: 40, cat: Books, desc: "E-book/Eng"}
|
||||||
|
- {id: 19, cat: Books, desc: "E-book/Hun"}
|
||||||
|
# Játék
|
||||||
|
- {id: 38, cat: Console, desc: "Játék/Consol"}
|
||||||
|
- {id: 15, cat: PC/Games, desc: "Játék/ISO"}
|
||||||
|
- {id: 37, cat: PC/Games, desc: "Játék/Rip"}
|
||||||
|
# Filmek
|
||||||
|
- {id: 51, cat: Movies/SD, desc: "Cam/Eng"}
|
||||||
|
- {id: 50, cat: Movies/SD, desc: "Cam/Hun"}
|
||||||
|
- {id: 2, cat: Movies/DVD, desc: "DVD/Eng"}
|
||||||
|
- {id: 1, cat: Movies/DVD, desc: "DVD/Hun"}
|
||||||
|
- {id: 42, cat: Movies/DVD, desc: "Dvd9/Eng"}
|
||||||
|
- {id: 41, cat: Movies/DVD, desc: "Dvd9/Hun"}
|
||||||
|
- {id: 29, cat: Movies/HD, desc: "HD/Eng"}
|
||||||
|
- {id: 28, cat: Movies/HD, desc: "HD/Hun"}
|
||||||
|
- {id: 33, cat: TV, desc: "Sorozat/Eng"}
|
||||||
|
- {id: 5, cat: TV, desc: "Sorozat/Hun"}
|
||||||
|
- {id: 52, cat: TV/HD, desc: "Sorozat/Eng/HD"}
|
||||||
|
- {id: 53, cat: TV/HD, desc: "Sorozat/Hun/HD"}
|
||||||
|
- {id: 4, cat: Movies/SD, desc: "Xvid/Eng"}
|
||||||
|
- {id: 3, cat: Movies/SD, desc: "Xvid/Hun"}
|
||||||
|
# Zene
|
||||||
|
- {id: 12, cat: Audio, desc: "Zene/Eng"}
|
||||||
|
- {id: 13, cat: Audio, desc: "Zene/Hun"}
|
||||||
|
# Egyéb
|
||||||
|
- {id: 20, cat: Other, desc: "Képek"}
|
||||||
|
- {id: 21, cat: PC/Mobile-Other, desc: "Mobil"}
|
||||||
|
# Program
|
||||||
|
- {id: 54, cat: PC/0day, desc: "Win/Program/ISO"}
|
||||||
|
- {id: 23, cat: PC/0day, desc: "Win/Program/Rip"}
|
||||||
|
# Felnőtt tartalom
|
||||||
|
- {id: 9, cat: XXX, desc: "XXX/Film"}
|
||||||
|
- {id: 10, cat: XXX, desc: "XXX/Kép"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: cookie
|
||||||
|
type: text
|
||||||
|
label: Cookie
|
||||||
|
- name: info
|
||||||
|
type: info
|
||||||
|
label: How to get the Cookie
|
||||||
|
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||||
|
- name: useragent
|
||||||
|
type: text
|
||||||
|
label: User-Agent
|
||||||
|
- name: info_useragent
|
||||||
|
type: info
|
||||||
|
label: How to get the User-Agent
|
||||||
|
default: "<ol><li>From the same place you fetched the cookie,</li><li>Find <b>'user-agent:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole user-agent string <i>(everything after 'user-agent: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
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_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Vacation mode is used to avoid deletion due to inactivity for 90 days. You can turn it on or off in the Profile menu, set the appropriate option and save your changes."
|
||||||
|
|
||||||
|
login:
|
||||||
|
method: cookie
|
||||||
|
inputs:
|
||||||
|
cookie: "{{ .Config.cookie }}"
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
# 0 active, 1 incldead, 2 onlydead, 3 freeleech
|
||||||
|
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
headers:
|
||||||
|
User-Agent: ["{{ .Config.useragent }}"]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: tr[class^="browse"]
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="browse.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
- name: trim # some torrents have an extra space
|
||||||
|
title:
|
||||||
|
selector: a[href^="torrent.php?id="]
|
||||||
|
attribute: title
|
||||||
|
details:
|
||||||
|
selector: a[href^="torrent.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
poster:
|
||||||
|
selector: a[href^="torrent.php?id="][onmouseover]
|
||||||
|
attribute: onmouseover
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: ", '(.*)'"
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(4)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
date:
|
||||||
|
selector: "a[style=\"font-size: 8pt;cursor: pointer;\"][title]"
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +01:00" # CET
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
description:
|
||||||
|
case:
|
||||||
|
img[src="./themes/Born/nemlatta.png"]: Unverified
|
||||||
|
"*": Verified
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[title="Ingyenes letöltés"]: 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
selector: span:contains("Feltöltési szorzó")
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["Feltöltési szorzó × ", ""]
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
minimumseedtime:
|
||||||
|
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||||
|
text: 172800
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,160 @@
|
|||||||
|
---
|
||||||
|
id: bithumen
|
||||||
|
name: BitHUmen
|
||||||
|
description: "BitHUmen is a Hungarian Private site for TV / MOVIES / GENERAL"
|
||||||
|
language: hu-HU
|
||||||
|
type: private
|
||||||
|
encoding: ISO-8859-2
|
||||||
|
links:
|
||||||
|
- https://bithumen.be/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 23, cat: Movies/SD, desc: "Film/Hun/SD"}
|
||||||
|
- {id: 24, cat: Movies/DVD, desc: "Film/Hun/DVD-R"}
|
||||||
|
- {id: 25, cat: Movies/HD, desc: "Film/Hun/720p"}
|
||||||
|
- {id: 37, cat: Movies/HD, desc: "Film/Hun/1080p"}
|
||||||
|
- {id: 33, cat: Movies/BluRay, desc: "Film/Hun/Blu-ray"}
|
||||||
|
- {id: 30, cat: XXX, desc: "XXX/SD"}
|
||||||
|
- {id: 19, cat: Movies/SD, desc: "Film/Eng/SD"}
|
||||||
|
- {id: 20, cat: Movies/DVD, desc: "Film/Eng/DVD-R"}
|
||||||
|
- {id: 5, cat: Movies/HD, desc: "Film/Eng/720p"}
|
||||||
|
- {id: 39, cat: Movies/HD, desc: "Film/Eng/1080p"}
|
||||||
|
- {id: 40, cat: Movies/BluRay, desc: "Film/Eng/Blu-ray"}
|
||||||
|
- {id: 34, cat: XXX, desc: "XXX/HD"}
|
||||||
|
- {id: 7, cat: TV/SD, desc: "Sorozat/Hun/SD"}
|
||||||
|
- {id: 41, cat: TV/HD, desc: "Sorozat/Hun/HD"}
|
||||||
|
- {id: 26, cat: TV/SD, desc: "Sorozat/Eng/SD"}
|
||||||
|
- {id: 42, cat: TV/HD, desc: "Sorozat/Eng/HD"}
|
||||||
|
- {id: 28, cat: Books, desc: "eBook/Hun"}
|
||||||
|
- {id: 29, cat: Books, desc: "eBook/Eng"}
|
||||||
|
- {id: 9, cat: Audio/MP3, desc: "Mp3/Hun"}
|
||||||
|
- {id: 35, cat: Audio/Lossless, desc: "Lossless/Hun"}
|
||||||
|
- {id: 1, cat: PC/0day, desc: "Programok/ISO"}
|
||||||
|
- {id: 4, cat: PC/Games, desc: "Játékok/ISO"}
|
||||||
|
- {id: 31, cat: Console/PS4, desc: "Játékok/PS"}
|
||||||
|
- {id: 36, cat: Console/Wii, desc: "Játékok/Wii"}
|
||||||
|
- {id: 6, cat: Audio/MP3, desc: "Mp3/Eng"}
|
||||||
|
- {id: 38, cat: Audio/Lossless, desc: "Lossless/Eng"}
|
||||||
|
- {id: 22, cat: PC, desc: "Programok/egyéb"}
|
||||||
|
- {id: 21, cat: PC, desc: "Játékok/Rip/Dox"}
|
||||||
|
- {id: 32, cat: Console/XBox 360, desc: "Játékok/Xbox360"}
|
||||||
|
- {id: 27, cat: Other, desc: "Klipek"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid]
|
||||||
|
movie-search: [q, imdbid]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: takelogin.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: td.embedded:has(h2:contains("bejelentkezés"))
|
||||||
|
test:
|
||||||
|
path: browse.php
|
||||||
|
selector: a[href*="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||||
|
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||||
|
incldead: 1
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table#torrenttable > tbody > tr:has(a[href^="details.php?id="])
|
||||||
|
filters:
|
||||||
|
- name: andmatch
|
||||||
|
|
||||||
|
fields:
|
||||||
|
# download button can be disbled in the profile, use details link instead
|
||||||
|
# download:
|
||||||
|
# selector: a[href^="download.php/"]
|
||||||
|
# attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["details.php?id=", "download.php/"]
|
||||||
|
- name: append
|
||||||
|
args: "/invalid.torrent"
|
||||||
|
title_default:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
title:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result.title_default }}"
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
imdbid:
|
||||||
|
selector: a[href*="imdb.com/title/tt"]
|
||||||
|
attribute: href
|
||||||
|
poster:
|
||||||
|
selector: a[onmouseover^="bithumen.UI.images.coverShow"]
|
||||||
|
attribute: onmouseover
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "\"(.*?)\""
|
||||||
|
category:
|
||||||
|
selector: a[href^="?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(9)
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: /\s*([\d,]+)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
files:
|
||||||
|
selector: td:nth-child(3)
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(6) > u
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
selector: td:nth-child(5) > nobr > font:contains(" × ")
|
||||||
|
optional: true
|
||||||
|
default: 1
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["×", ""]
|
||||||
|
date_year:
|
||||||
|
selector: td:nth-child(5):contains('.')
|
||||||
|
optional: true
|
||||||
|
remove: font
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: [". ", " "]
|
||||||
|
- name: prepend
|
||||||
|
args: "{{ .Today.Year }}."
|
||||||
|
- name: re_replace
|
||||||
|
args: ["([0-9]{4}).([0-9]+).([0-9]+) (.*)", "$2.$3.$1 $4"]
|
||||||
|
date_day:
|
||||||
|
selector: td:nth-child(5):contains('ma'), td:nth-child(5):contains("tegnap"), td:nth-child(5):contains('-')
|
||||||
|
optional: true
|
||||||
|
remove: font
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["ma", "today"]
|
||||||
|
- name: replace
|
||||||
|
args: ["tegnap", "yesterday"]
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||||
|
description:
|
||||||
|
selector: td:nth-child(2) > div
|
||||||
|
# engine tbd
|
||||||
@@ -0,0 +1,81 @@
|
|||||||
|
---
|
||||||
|
id: bitmagnet
|
||||||
|
name: BitMagnet (Local DHT)
|
||||||
|
description: "BitMagnet is a self-hosted BitTorrent DHT search engine"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- http://127.0.0.1:3333/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 2000, cat: Movies, desc: "movie"}
|
||||||
|
- {id: 2030, cat: Movies/SD, desc: "movie_sd"} # unverified
|
||||||
|
- {id: 2040, cat: Movies/HD, desc: "movie_hd"} # unverified
|
||||||
|
- {id: 2045, cat: Movies/UHD, desc: "movie_uhd"} # unverified
|
||||||
|
- {id: 2060, cat: Movies/3D, desc: "movie_3d"} # unverified
|
||||||
|
- {id: 3000, cat: Audio, desc: "music"}
|
||||||
|
- {id: 3030, cat: Audio/Audiobook, desc: "audiobook"}
|
||||||
|
- {id: 4000, cat: PC, desc: "software"}
|
||||||
|
- {id: 4050, cat: PC/Games, desc: "game"} # unverified
|
||||||
|
- {id: 5000, cat: TV, desc: "tv_show"}
|
||||||
|
- {id: 5030, cat: TV/SD, desc: "tv_show_sd"} # unverified
|
||||||
|
- {id: 5040, cat: TV/HD, desc: "tv_show_hd"} # unverified
|
||||||
|
- {id: 5045, cat: TV/UHD, desc: "tv_show_uhd"} # unverified
|
||||||
|
- {id: 6000, cat: XXX, desc: "xxx"}
|
||||||
|
- {id: 6070, cat: XXX/Other, desc: "xxx_other"} # unverified
|
||||||
|
- {id: 7000, cat: Books, desc: "book"} # unverified
|
||||||
|
- {id: 7020, cat: Books/EBook, desc: "ebook"}
|
||||||
|
- {id: 7030, cat: Books/Comics, desc: "comic"}
|
||||||
|
- {id: 8000, cat: Other, desc: "Unknown"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid, tmdbid]
|
||||||
|
movie-search: [q, imdbid, tmdbid]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings: []
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torznab/api
|
||||||
|
response:
|
||||||
|
type: xml
|
||||||
|
inputs:
|
||||||
|
t: "{{ .Query.Type }}"
|
||||||
|
q: "{{ .Keywords }}"
|
||||||
|
cat: "{{ join .Categories \",\" }}"
|
||||||
|
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||||
|
tmdbId: "{{ .Query.TMDBID }}"
|
||||||
|
season: "{{ .Query.Season }}"
|
||||||
|
ep: "{{ .Query.Ep }}"
|
||||||
|
limit: 100
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: rss > channel > item
|
||||||
|
|
||||||
|
fields:
|
||||||
|
categorydesc:
|
||||||
|
selector: category
|
||||||
|
title:
|
||||||
|
selector: title
|
||||||
|
details:
|
||||||
|
text: /
|
||||||
|
date:
|
||||||
|
selector: pubDate
|
||||||
|
infohash:
|
||||||
|
selector: guid
|
||||||
|
size:
|
||||||
|
selector: size
|
||||||
|
seeders:
|
||||||
|
text: 1
|
||||||
|
leechers:
|
||||||
|
text: 1
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# torznab xml
|
||||||
@@ -0,0 +1,209 @@
|
|||||||
|
---
|
||||||
|
id: bitporn
|
||||||
|
name: BitPorn
|
||||||
|
description: "BitPorn is a HUNGARIAN Private Torrent Tracker for 3X"
|
||||||
|
language: hu-HU
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://bitporn.eu/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 418, cat: XXX, desc: "Amateur"}
|
||||||
|
- {id: 410, cat: XXX, desc: "Anal"}
|
||||||
|
- {id: 414, cat: XXX, desc: "Animal"}
|
||||||
|
- {id: 415, cat: XXX, desc: "Asian"}
|
||||||
|
- {id: 416, cat: XXX, desc: "BBW"}
|
||||||
|
- {id: 417, cat: XXX, desc: "BDSM"}
|
||||||
|
- {id: 419, cat: XXX, desc: "Big Ass"}
|
||||||
|
- {id: 420, cat: XXX, desc: "Big Tits"}
|
||||||
|
- {id: 421, cat: XXX, desc: "Black"}
|
||||||
|
- {id: 447, cat: XXX, desc: "Cartoon"}
|
||||||
|
- {id: 448, cat: XXX, desc: "Casting"}
|
||||||
|
- {id: 422, cat: XXX, desc: "Classic"}
|
||||||
|
- {id: 434, cat: XXX, desc: "Collection"}
|
||||||
|
- {id: 423, cat: XXX, desc: "Creampie"}
|
||||||
|
- {id: 424, cat: XXX, desc: "Cumshot"}
|
||||||
|
- {id: 451, cat: XXX, desc: "Deepthroat"}
|
||||||
|
- {id: 455, cat: XXX, desc: "Extreme"}
|
||||||
|
- {id: 454, cat: XXX, desc: "Family"}
|
||||||
|
- {id: 425, cat: XXX, desc: "Feature"}
|
||||||
|
- {id: 426, cat: XXX, desc: "Fetish"}
|
||||||
|
- {id: 457, cat: XXX, desc: "Fisting"}
|
||||||
|
- {id: 453, cat: XXX, desc: "Gangbang"}
|
||||||
|
- {id: 427, cat: XXX, desc: "Gay / Bi"}
|
||||||
|
- {id: 412, cat: XXX, desc: "Hair"}
|
||||||
|
- {id: 411, cat: XXX, desc: "Hardcore"}
|
||||||
|
- {id: 456, cat: XXX, desc: "HiddenCam"}
|
||||||
|
- {id: 428, cat: XXX, desc: "Homemade"}
|
||||||
|
- {id: 429, cat: XXX, desc: "Interracial"}
|
||||||
|
- {id: 430, cat: XXX, desc: "Lesbian"}
|
||||||
|
- {id: 431, cat: XXX, desc: "Magyar"}
|
||||||
|
- {id: 432, cat: XXX, desc: "Masturbation"}
|
||||||
|
- {id: 433, cat: XXX, desc: "Mature"}
|
||||||
|
- {id: 435, cat: XXX, desc: "Milf"}
|
||||||
|
- {id: 436, cat: XXX, desc: "Old and Young"}
|
||||||
|
- {id: 437, cat: XXX, desc: "Parody"}
|
||||||
|
- {id: 449, cat: XXX, desc: "Pictures"}
|
||||||
|
- {id: 438, cat: XXX, desc: "Pissing"}
|
||||||
|
- {id: 439, cat: XXX, desc: "POV"}
|
||||||
|
- {id: 440, cat: XXX, desc: "Pregnant"}
|
||||||
|
- {id: 452, cat: XXX, desc: "Public"}
|
||||||
|
- {id: 441, cat: XXX, desc: "Shemale"}
|
||||||
|
- {id: 442, cat: XXX, desc: "Softcore"}
|
||||||
|
- {id: 443, cat: XXX, desc: "Squirt"}
|
||||||
|
- {id: 444, cat: XXX, desc: "Straight"}
|
||||||
|
- {id: 445, cat: XXX, desc: "Teen"}
|
||||||
|
- {id: 450, cat: XXX, desc: "Threesome"}
|
||||||
|
- {id: 446, cat: XXX, desc: "VR"}
|
||||||
|
- {id: 458, cat: XXX, desc: "Uncategorized"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
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_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Inactive accounts will be deleted based on the following rules:<ul><li>Elite-ranked or higher-ranked accounts are never deleted after parking (in the control panel).</li><li>Veteran-ranked or higher-ranked accounts are never deleted.</li><li>Parked accounts are deleted if users haven't logged in for more than 400 days.</li><li>Non-parked accounts are deleted if users haven't logged in for more than 150 days.</li><li>Accounts with both uploaded and downloaded quantities at 0 will be deleted if users haven't logged in for more than 100 consecutive days.</li></ul>"
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: takelogin.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
secret: ""
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: td.embedded:has(h2:contains("Bejelentkezés sikertelen!"))
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
# 0 incldead, 1 active, 2 dead
|
||||||
|
incldead: 0
|
||||||
|
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||||
|
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||||
|
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||||
|
search_area: 0
|
||||||
|
# 0 AND, 2 exact
|
||||||
|
search_mode: 0
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
notnewword: 1
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.torrents > tbody > tr:has(a[href^="details.php?id="])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title_default:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
title:
|
||||||
|
selector: a[title][href^="details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result.title_default }}"
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
poster:
|
||||||
|
selector: img[data-src]
|
||||||
|
attribute: data-src
|
||||||
|
date_elapsed:
|
||||||
|
# time type: time elapsed (default)
|
||||||
|
selector: td.rowfollow:nth-child(4) > span[title]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +01:00" # CET
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
date_added:
|
||||||
|
# time added
|
||||||
|
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +01:00" # CET
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: td.rowfollow:nth-child(5)
|
||||||
|
seeders:
|
||||||
|
selector: td.rowfollow:nth-child(6)
|
||||||
|
leechers:
|
||||||
|
selector: td.rowfollow:nth-child(7)
|
||||||
|
grabs:
|
||||||
|
selector: td.rowfollow:nth-child(8)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_free: 0
|
||||||
|
img.pro_free2up: 0
|
||||||
|
img.pro_50pctdown: 0.5
|
||||||
|
img.pro_50pctdown2up: 0.5
|
||||||
|
img.pro_30pctdown: 0.3
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_50pctdown2up: 2
|
||||||
|
img.pro_free2up: 2
|
||||||
|
img.pro_2up: 2
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
minimumseedtime:
|
||||||
|
# 48 hours (as seconds = 2 x 24 x 60 x 60)
|
||||||
|
text: 172800
|
||||||
|
description:
|
||||||
|
selector: td.rowfollow:nth-child(2)
|
||||||
|
remove: a, b, font, img, span
|
||||||
|
# NexusPHP v1.8.5 2023-07-06
|
||||||
@@ -0,0 +1,214 @@
|
|||||||
|
---
|
||||||
|
id: bitru
|
||||||
|
name: BitRu
|
||||||
|
description: "BitRu is a RUSSIAN Public Torrent Tracker for MOVIES / TV / GENERAL"
|
||||||
|
language: ru-RU
|
||||||
|
type: public
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://bitru.org/
|
||||||
|
legacylinks:
|
||||||
|
- http://bitru.org/ # site forces https
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: movie, cat: Movies, desc: Movie}
|
||||||
|
- {id: serial, cat: TV, desc: Serial}
|
||||||
|
- {id: music, cat: Audio, desc: Music}
|
||||||
|
- {id: game, cat: PC/Games, desc: Game}
|
||||||
|
- {id: soft, cat: PC, desc: Software}
|
||||||
|
- {id: literature, cat: Books, desc: Literature}
|
||||||
|
- {id: audiobook, cat: Audio/Audiobook, desc: Audiobook}
|
||||||
|
- {id: video, cat: Movies, desc: Movies}
|
||||||
|
- {id: image, cat: Other, desc: Image}
|
||||||
|
- {id: xxx, cat: XXX, desc: xxx}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: stripcyrillic
|
||||||
|
type: checkbox
|
||||||
|
label: Strip Cyrillic Letters
|
||||||
|
default: false
|
||||||
|
- name: addrussiantotitle
|
||||||
|
type: checkbox
|
||||||
|
label: Add RUS to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified.
|
||||||
|
default: false
|
||||||
|
- name: adverts
|
||||||
|
type: checkbox
|
||||||
|
label: Include Advertising
|
||||||
|
default: true
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: _
|
||||||
|
options:
|
||||||
|
_: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
s: "{{ .Keywords }}"
|
||||||
|
sort: "{{ re_replace .Config.sort \"_\" \"\" }}"
|
||||||
|
rek: "{{ if .Config.adverts }}{{ else }}no{{ end }}"
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace # S01 or S01E01 to 1 сезон
|
||||||
|
args: ["(?i)\\bS0*(\\d+)(?:E0*(\\d+))?\\b", "$1 сезон"]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.browse-list > tbody > tr
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: td:nth-child(1) a
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: tmp
|
||||||
|
title:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s+[CС]езоны?\\s*[:]*.+?\\((\\d+(?:-\\d+)?)\\s*из\\s*(\\d+)\\)", "(S$1E$2 of $3)"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s+[CС]езоны?\\s*[:]*.+?\\((\\d+(?:-\\d+)?)\\)", "(S$1E$2)"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(\\d+(?:-\\d+)?)\\s+[CС]езоны?", "(S$1)"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\((\\d+(?:-\\d+)?)\\s*из\\s*(\\d+)\\)", "(E$1 of $2)"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bселезень\\b", "selezen"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bFiles-х\\b", "Files-x"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\s\\|\\sот\\s([\\w\\p{P}\\p{S}]+)$", "-$1"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\s\\|\\s(\\w{4,})$", "-$1"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(\\([\\p{IsCyrillic}\\W]+\\))|(^[\\p{IsCyrillic}\\W\\d]+\\/ )|([\\p{IsCyrillic} \\-]+,+)|([\\p{IsCyrillic}]+)", "{{ if .Config.stripcyrillic }}{{ else }}$1$2$3$4{{ end }}"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bHDTV[-\\s]?Rip\\b", "HDTV"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bSAT[-\\s]?Rip\\b", "HDTV"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bWEB[-\\s]?DL[-\\s]?Rip\\b", "WEB-DL"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bWEB\\sRip\\b", "WEBRip"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)\\bWEB\\sDL\\b", "WEB-DL"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["[\\[\\(\\{<«][\\s\\W]*[\\]\\)\\}>»]", ""]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["^[\\s&,\\.!\\?\\+\\-_\\|\\/':]+", ""]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)^\\(\\s*([SE]\\d+.*?)\\s*\\)[\\s\\/\\|]*(.+)(-[\\w\\p{P}\\p{S}]*)$", "$2 $1$3"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)^\\(\\s*([SE]\\d+.*?)\\s*\\)[\\s\\/\\|]*(.+)", "$2 $1"]
|
||||||
|
- name: append
|
||||||
|
args: "{{ if .Config.addrussiantotitle }} RUS{{ else }}{{ end }}"
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["details", "download"]
|
||||||
|
description:
|
||||||
|
selector: i.fa-ad
|
||||||
|
attribute: title
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["Присутствует реклама", "[Contains Adverts] "]
|
||||||
|
description|append:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
poster:
|
||||||
|
selector: div.it-image > img
|
||||||
|
attribute: src
|
||||||
|
date_today:
|
||||||
|
# Сегодня в 09:09 от
|
||||||
|
# Вчера в 22:47 от
|
||||||
|
selector: td:nth-child(2) div.b-info div span:nth-child(1):contains("Сегодня"), td:nth-child(2) div.b-info div span:nth-child(1):contains("Вчера")
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "(.*?) от "
|
||||||
|
- name: replace
|
||||||
|
args: ["Сегодня в", "Today"]
|
||||||
|
- name: replace
|
||||||
|
args: ["Вчера в", "Yesterday"]
|
||||||
|
date_year:
|
||||||
|
# 08 ноября 2019 в 23:53 от
|
||||||
|
selector: td:nth-child(2) div.b-info div span:nth-child(1):not(:contains("Сегодня")):not(:contains("Вчера"))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "(.*?) от "
|
||||||
|
- name: replace
|
||||||
|
args: [" в ", " "]
|
||||||
|
- name: replace
|
||||||
|
args: ["января", "January"]
|
||||||
|
- name: replace
|
||||||
|
args: ["февраля", "February"]
|
||||||
|
- name: replace
|
||||||
|
args: ["марта", "March"]
|
||||||
|
- name: replace
|
||||||
|
args: ["апреля", "April"]
|
||||||
|
- name: replace
|
||||||
|
args: ["мая", "May"]
|
||||||
|
- name: replace
|
||||||
|
args: ["июня", "June"]
|
||||||
|
- name: replace
|
||||||
|
args: ["июля", "July"]
|
||||||
|
- name: replace
|
||||||
|
args: ["августа", "August"]
|
||||||
|
- name: replace
|
||||||
|
args: ["сентября", "September"]
|
||||||
|
- name: replace
|
||||||
|
args: ["октября", "October"]
|
||||||
|
- name: replace
|
||||||
|
args: ["ноября", "November"]
|
||||||
|
- name: replace
|
||||||
|
args: ["декабря", "December"]
|
||||||
|
- name: append
|
||||||
|
args: " +03:00" # MSK
|
||||||
|
- name: dateparse
|
||||||
|
args: "dd MMMM yyyy HH:mm zzz"
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_today .Result.date_year }}{{ or .Result.date_today .Result.date_year }}{{ else }}now{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(3)
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["ТБ", "TB"]
|
||||||
|
- name: replace
|
||||||
|
args: ["ГБ", "GB"]
|
||||||
|
- name: replace
|
||||||
|
args: ["МБ", "MB"]
|
||||||
|
- name: replace
|
||||||
|
args: ["КБ", "KB"]
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(4)
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["?", "1"]
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["?", "0"]
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,194 @@
|
|||||||
|
---
|
||||||
|
id: bitsearch
|
||||||
|
name: BitSearch
|
||||||
|
description: "BitSearch is a Public torrent meta-search engine"
|
||||||
|
language: en-US
|
||||||
|
type: public
|
||||||
|
encoding: UTF-8
|
||||||
|
requestDelay: 2
|
||||||
|
links:
|
||||||
|
- https://bitsearch.to/
|
||||||
|
legacylinks:
|
||||||
|
- https://bitsearch.nocensor.biz/
|
||||||
|
- https://bitsearch.nocensor.sbs/
|
||||||
|
- https://bitsearch.nocensor.world/
|
||||||
|
- https://bitsearch.nocensor.lol/
|
||||||
|
- https://bitsearch.mrunblock.guru/
|
||||||
|
- https://bitsearch.mrunblock.life/
|
||||||
|
- https://bitsearch.nocensor.click/
|
||||||
|
- https://bitsearch.nocensor.cloud/
|
||||||
|
- https://bitsearch.mrunblock.bond/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categories:
|
||||||
|
AudioBook: Audio/Audiobook
|
||||||
|
eBook: Books/EBook
|
||||||
|
"Ebook/Course": Books/EBook
|
||||||
|
Games: PC/Games
|
||||||
|
"Games/PC": PC/Games
|
||||||
|
Movies: Movies
|
||||||
|
Music: Audio
|
||||||
|
"Music/Album": Audio
|
||||||
|
"Music/mp3": Audio/MP3
|
||||||
|
"Music/Lossless": Audio/Lossless
|
||||||
|
"Music/Video": Audio/Video
|
||||||
|
Other: Other
|
||||||
|
"Other/Android": PC/Mobile-Android
|
||||||
|
"Other/Archive": Other
|
||||||
|
"Other/Audio": Audio
|
||||||
|
"Other/Database": PC
|
||||||
|
"Other/DiskImage": PC/ISO
|
||||||
|
"Other/Document": Books/Comics
|
||||||
|
"Other/Image": Other/Misc
|
||||||
|
"Other/Program": PC/0day
|
||||||
|
"Other/Sourcecode": PC
|
||||||
|
"Other/Source Code": PC
|
||||||
|
"Other/Video": TV
|
||||||
|
Softwares: PC/0day
|
||||||
|
"Softwares/Windows": PC/0day
|
||||||
|
TV: TV
|
||||||
|
Unknown: Other
|
||||||
|
XXX: XXX
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: prefer_magnet_links
|
||||||
|
type: checkbox
|
||||||
|
label: Prefer Magnet Links
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: date
|
||||||
|
options:
|
||||||
|
date: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://bitsearch.to/search?q=&sort=date&order=desc
|
||||||
|
- path: search
|
||||||
|
inputs:
|
||||||
|
q: "{{ .Keywords }}"
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
order: "{{ .Config.type }}"
|
||||||
|
limit: 100
|
||||||
|
page: 1
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\.", " "]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: div.search-result:has(a.dl-torrent), li.search-result:has(a.dl-torrent)
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a.category
|
||||||
|
title:
|
||||||
|
selector: h5 a
|
||||||
|
details:
|
||||||
|
selector: h5 a
|
||||||
|
attribute: href
|
||||||
|
download_optional:
|
||||||
|
selector: a.dl-torrent
|
||||||
|
attribute: href
|
||||||
|
optional: true
|
||||||
|
download:
|
||||||
|
text: "{{ if .Config.prefer_magnet_links }}{{ else }}{{ .Result.download_optional }}{{ end }}"
|
||||||
|
optional: true
|
||||||
|
magnet:
|
||||||
|
selector: a[href^="magnet:?xt"]
|
||||||
|
attribute: href
|
||||||
|
infohash:
|
||||||
|
selector: a[href^="magnet:?xt"]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: ([A-F|a-f|0-9]{40})
|
||||||
|
grabs_dot:
|
||||||
|
selector: div.stats div:has(img[alt="Download"]):contains(".")
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: [".", ""]
|
||||||
|
- name: replace
|
||||||
|
args: ["K", "00"]
|
||||||
|
- name: replace
|
||||||
|
args: ["M", "00000"]
|
||||||
|
grabs_nodot:
|
||||||
|
selector: div.stats div:has(img[alt="Download"]):not(:contains("."))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["K", "000"]
|
||||||
|
- name: replace
|
||||||
|
args: ["M", "000000"]
|
||||||
|
grabs:
|
||||||
|
text: "{{ if or .Result.grabs_dot .Result.grabs_nodot }}{{ or .Result.grabs_dot .Result.grabs_nodot }}{{ else }}0{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: div.stats div:has(img[alt="Size"])
|
||||||
|
seeders_dot:
|
||||||
|
selector: div.stats div:has(img[alt="Seeder"]):contains(".")
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: [".", ""]
|
||||||
|
- name: replace
|
||||||
|
args: ["K", "00"]
|
||||||
|
- name: replace
|
||||||
|
args: ["M", "00000"]
|
||||||
|
seeders_nodot:
|
||||||
|
selector: div.stats div:has(img[alt="Seeder"]):not(:contains("."))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["K", "000"]
|
||||||
|
- name: replace
|
||||||
|
args: ["M", "000000"]
|
||||||
|
seeders:
|
||||||
|
text: "{{ if or .Result.seeders_dot .Result.seeders_nodot }}{{ or .Result.seeders_dot .Result.seeders_nodot }}{{ else }}0{{ end }}"
|
||||||
|
leechers_dot:
|
||||||
|
selector: div.stats div:has(img[alt="Leecher"]):contains(".")
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: [".", ""]
|
||||||
|
- name: replace
|
||||||
|
args: ["K", "00"]
|
||||||
|
- name: replace
|
||||||
|
args: ["M", "00000"]
|
||||||
|
leechers_nodot:
|
||||||
|
selector: div.stats div:has(img[alt="Leecher"]):not(:contains("."))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["K", "000"]
|
||||||
|
- name: replace
|
||||||
|
args: ["M", "000000"]
|
||||||
|
leechers:
|
||||||
|
text: "{{ if or .Result.leechers_dot .Result.leechers_nodot }}{{ or .Result.leechers_dot .Result.leechers_nodot }}{{ else }}0{{ end }}"
|
||||||
|
date:
|
||||||
|
selector: div.stats div:has(img[alt="Date"])
|
||||||
|
filters:
|
||||||
|
- name: dateparse
|
||||||
|
args: "MMM d, yyyy"
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,182 @@
|
|||||||
|
---
|
||||||
|
id: bitspyder
|
||||||
|
name: Bitspyder
|
||||||
|
description: "Bitspyder is a Private site for Educational BOOKS / AUDIO"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: iso-8859-1
|
||||||
|
links:
|
||||||
|
- https://bitspyder.net/
|
||||||
|
legacylinks:
|
||||||
|
- http://bitspyder.net/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 61, cat: Books, desc: "3D"}
|
||||||
|
- {id: 69, cat: Books, desc: "Anim|GFX"}
|
||||||
|
- {id: 56, cat: Books, desc: "Art"}
|
||||||
|
- {id: 40, cat: Audio/Audiobook, desc: "Audio Books"}
|
||||||
|
- {id: 55, cat: Books, desc: "Business"}
|
||||||
|
- {id: 46, cat: Books, desc: "Career"}
|
||||||
|
- {id: 2, cat: Books, desc: "CBTs"}
|
||||||
|
- {id: 39, cat: Books, desc: "Cert QA"}
|
||||||
|
- {id: 63, cat: Books, desc: "College"}
|
||||||
|
- {id: 53, cat: Books, desc: "Cooking"}
|
||||||
|
- {id: 35, cat: Books, desc: "Developer"}
|
||||||
|
- {id: 42, cat: Books, desc: "Documentary"}
|
||||||
|
- {id: 37, cat: Books/EBook, desc: "e-Books"}
|
||||||
|
- {id: 65, cat: Books, desc: "Engineering"}
|
||||||
|
- {id: 45, cat: Books, desc: "Ethical hacking"}
|
||||||
|
- {id: 54, cat: Books, desc: "Health-Fitness"}
|
||||||
|
- {id: 64, cat: Books, desc: "Kids"}
|
||||||
|
- {id: 47, cat: Books, desc: "Languages"}
|
||||||
|
- {id: 49, cat: Books, desc: "Linux CBTs"}
|
||||||
|
- {id: 43, cat: Books, desc: "Lynda.com"}
|
||||||
|
- {id: 57, cat: Books/Mags, desc: "Magazines"}
|
||||||
|
- {id: 60, cat: Books, desc: "Medical"}
|
||||||
|
- {id: 44, cat: Books, desc: "Misc Learning"}
|
||||||
|
- {id: 51, cat: Books, desc: "Music Learning"}
|
||||||
|
- {id: 41, cat: Books, desc: "Others"}
|
||||||
|
- {id: 58, cat: Books, desc: "Packt"}
|
||||||
|
- {id: 52, cat: Books, desc: "Photography"}
|
||||||
|
- {id: 71, cat: Books, desc: "Pluralsight"}
|
||||||
|
- {id: 68, cat: Books, desc: "Self Growth"}
|
||||||
|
- {id: 72, cat: Books, desc: "Templates"}
|
||||||
|
- {id: 38, cat: Books, desc: "Udemy"}
|
||||||
|
- {id: 59, cat: Books, desc: "WEB | SocialMedia"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: 8
|
||||||
|
options:
|
||||||
|
8: created
|
||||||
|
6: seeders
|
||||||
|
4: size
|
||||||
|
1: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
- name: info
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login.php
|
||||||
|
method: form
|
||||||
|
form: form
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: td.msg_info > font > b
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
# 0 active, 1 incldead, 2 onlydead
|
||||||
|
incldead: 1
|
||||||
|
# 0 title, 1 default
|
||||||
|
scope: 0
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\s+", " "] # More than 1 space to 1 space
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||||
|
- name: trim
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table > tbody > tr[class]
|
||||||
|
|
||||||
|
fields:
|
||||||
|
# there are two styles, we support both
|
||||||
|
title:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
category:
|
||||||
|
selector: a[href^="browse.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["details.php?id=", "download.php/"]
|
||||||
|
- name: replace
|
||||||
|
args: ["&hit=1", "/dummy.torrent"]
|
||||||
|
size:
|
||||||
|
selector: td.rowcol:nth-child(6):has(br), font:contains("Size:") + font
|
||||||
|
files:
|
||||||
|
selector: a[href*="&filelist=1"]
|
||||||
|
grabs:
|
||||||
|
selector: td.rowcol:nth-child(7):has(br), td.clear:nth-child(4)
|
||||||
|
seeders:
|
||||||
|
selector: td.rowcol:nth-last-child(3)
|
||||||
|
leechers:
|
||||||
|
selector: td.rowcol:nth-last-child(2)
|
||||||
|
date_added:
|
||||||
|
optional: true
|
||||||
|
selector: font[color="5F5F5F"]
|
||||||
|
filters:
|
||||||
|
- name: split
|
||||||
|
args: [" (", 0]
|
||||||
|
- name: replace
|
||||||
|
args: ["\xA0", " "]
|
||||||
|
- name: append
|
||||||
|
args: " +00:00" # GMT
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
date_upload:
|
||||||
|
optional: true
|
||||||
|
selector: a[title^="Upploaded at"]
|
||||||
|
attribute: title
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["Upploaded at - ", ""]
|
||||||
|
- name: replace
|
||||||
|
args: ["\xA0", " "]
|
||||||
|
- name: append
|
||||||
|
args: " +00:00" # GMT
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_upload .Result.date_added }}{{ or .Result.date_upload .Result.date_added }}{{ else }}now{{ end }}"
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
description:
|
||||||
|
selector: font[color="#990000"]
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
# custom v4
|
||||||
@@ -0,0 +1,229 @@
|
|||||||
|
---
|
||||||
|
id: bitturk
|
||||||
|
name: BiTTuRK
|
||||||
|
description: "BiTTuRK is a Turkish Private Torrent Tracker for HD MOVIES / TV / GENERAL. This Indexer is for English only."
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://bitturk.net/
|
||||||
|
legacylinks:
|
||||||
|
- http://www.bitturk.net/
|
||||||
|
- http://bitturk.net/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 56, cat: Movies, desc: "BTRG"}
|
||||||
|
- {id: 95, cat: Movies, desc: "BTRG HMAX"}
|
||||||
|
- {id: 57, cat: Movies, desc: "Yerli Dizi"}
|
||||||
|
- {id: 62, cat: Movies, desc: "Yab@ncı Dizi"}
|
||||||
|
- {id: 63, cat: Movies, desc: "Türkçe Film"}
|
||||||
|
- {id: 64, cat: Movies, desc: "Türk Filmi"}
|
||||||
|
- {id: 66, cat: Movies/HD, desc: "x265"}
|
||||||
|
- {id: 67, cat: XXX, desc: "XxX"}
|
||||||
|
- {id: 68, cat: Movies, desc: "Dual (TR-~)"}
|
||||||
|
- {id: 71, cat: Movies, desc: "NFLIX"}
|
||||||
|
- {id: 78, cat: TV, desc: "EXXEN"}
|
||||||
|
- {id: 79, cat: TV, desc: "BLUTV"}
|
||||||
|
- {id: 90, cat: TV, desc: "Disney+"}
|
||||||
|
- {id: 91, cat: TV, desc: "Prime Video"}
|
||||||
|
- {id: 93, cat: TV, desc: "Gain"}
|
||||||
|
- {id: 94, cat: TV, desc: "ATVP"}
|
||||||
|
- {id: 58, cat: Movies, desc: "Film"}
|
||||||
|
- {id: 72, cat: Movies, desc: "Belgesel"}
|
||||||
|
- {id: 60, cat: Movies/3D, desc: "3D"}
|
||||||
|
- {id: 76, cat: Movies/UHD, desc: "4K UHD"}
|
||||||
|
- {id: 80, cat: TV/Sport, desc: "Formula-1"}
|
||||||
|
- {id: 45, cat: Other, desc: "Eğitim / Prog"}
|
||||||
|
- {id: 1, cat: Movies, desc: "Filmler"}
|
||||||
|
- {id: 14, cat: Movies/3D, desc: "3D Film"}
|
||||||
|
- {id: 77, cat: Movies/UHD, desc: "4K UHD"}
|
||||||
|
- {id: 16, cat: Movies, desc: "Animasyon"}
|
||||||
|
- {id: 17, cat: TV/Anime, desc: "Anime"}
|
||||||
|
- {id: 31, cat: Movies, desc: "Belgesel"}
|
||||||
|
- {id: 32, cat: Movies/BluRay, desc: "Bluray"}
|
||||||
|
- {id: 33, cat: Movies/HD, desc: "BRRiP"}
|
||||||
|
- {id: 34, cat: Movies, desc: "Çizgi Film"}
|
||||||
|
- {id: 35, cat: Movies, desc: "D-Z0N3"}
|
||||||
|
- {id: 36, cat: Movies/DVD, desc: "DVD"}
|
||||||
|
- {id: 37, cat: Movies, desc: "MP4"}
|
||||||
|
- {id: 38, cat: Movies, desc: "Türk Filmi"}
|
||||||
|
- {id: 39, cat: Movies, desc: "Türkçe BoX"}
|
||||||
|
- {id: 40, cat: Movies, desc: "Türkçe Film"}
|
||||||
|
- {id: 41, cat: Movies, desc: "ViP"}
|
||||||
|
- {id: 42, cat: Movies/SD, desc: "XviD"}
|
||||||
|
- {id: 43, cat: Movies/SD, desc: "XviD BoX"}
|
||||||
|
- {id: 55, cat: Movies/WEB-DL, desc: "WEB-DL"}
|
||||||
|
- {id: 7, cat: Audio, desc: "Müzik"}
|
||||||
|
- {id: 20, cat: Audio, desc: "Türkçe MüziK"}
|
||||||
|
- {id: 46, cat: Audio, desc: "Yab@ncı MüziK"}
|
||||||
|
- {id: 21, cat: Audio/Video, desc: "Video Klipler"}
|
||||||
|
- {id: 2, cat: Console, desc: "Oyun"}
|
||||||
|
- {id: 74, cat: PC/Games, desc: "Oyun PC"}
|
||||||
|
- {id: 84, cat: Console/PS3, desc: "Oyun Playstation"}
|
||||||
|
- {id: 82, cat: Console/PSP, desc: " Oyun PSP"}
|
||||||
|
- {id: 83, cat: Console/Other, desc: "Oyun Gameboy"}
|
||||||
|
- {id: 87, cat: Console/XBox, desc: "Oyun XBOX"}
|
||||||
|
- {id: 88, cat: Console/Other, desc: "Oyun NEO-GEO"}
|
||||||
|
- {id: 89, cat: Console/Wii, desc: "Oyun Nintendo Wii"}
|
||||||
|
- {id: 6, cat: PC/0day, desc: "Program"}
|
||||||
|
- {id: 92, cat: PC/Mobile-Android, desc: "Android"}
|
||||||
|
- {id: 47, cat: Other, desc: "Resimler"}
|
||||||
|
- {id: 48, cat: TV, desc: "Televizyon"}
|
||||||
|
- {id: 49, cat: TV/HD, desc: "Tv HD"}
|
||||||
|
- {id: 50, cat: TV, desc: "Yab@ncı Dizi"}
|
||||||
|
- {id: 51, cat: TV, desc: "Yerli Dizi"}
|
||||||
|
- {id: 44, cat: Books, desc: "E-BooK"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Filter freeleech only
|
||||||
|
default: false
|
||||||
|
- name: info
|
||||||
|
type: info
|
||||||
|
label: Layout
|
||||||
|
default: "<ol><li>Only the English Classic profile is supported.</li><li>Make sure to set the <b>Torrent Listing (Listeleme Biçimi)</b> option in your profile to <b>Classic (Klasik)</b></li><li>And set the <b>Language (Dil)</b> to <b>English</b></li><li>Using the <i>Modern</i> theme will prevent results, and using <i>Turkish</i> will prevent upload dates.</li></ol>"
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: added
|
||||||
|
options:
|
||||||
|
added: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: ?p=home&pid=1
|
||||||
|
method: form
|
||||||
|
form: form#loginbox_form
|
||||||
|
submitpath: ajax/login.php
|
||||||
|
inputs:
|
||||||
|
action: login
|
||||||
|
loginbox_membername: "{{ .Config.username }}"
|
||||||
|
loginbox_password: "{{ .Config.password }}"
|
||||||
|
loginbox_remember: 1
|
||||||
|
selectorinputs:
|
||||||
|
securitytoken:
|
||||||
|
selector: "script:contains(\"stKey: \")"
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "stKey: \"(.+?)\","
|
||||||
|
error:
|
||||||
|
- selector: ":contains(\"-ERROR-\")"
|
||||||
|
test:
|
||||||
|
path: ?p=home&pid=1
|
||||||
|
selector: a[href*="/?p=logout&"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["[^a-zA-Z0-9]+", "%25"]
|
||||||
|
inputs:
|
||||||
|
p: torrents
|
||||||
|
pid: 32
|
||||||
|
$raw: "{{ range .Categories }}cid[]={{.}}&{{end}}"
|
||||||
|
keywords: "{{ .Keywords }}"
|
||||||
|
# name, description, both, uploader
|
||||||
|
search_type: name
|
||||||
|
searchin: title
|
||||||
|
"sortOptions[sortBy]": "{{ .Config.sort }}"
|
||||||
|
"sortOptions[sortOrder]": "{{ .Config.type }}"
|
||||||
|
# Drop error trap to stop Sonarr disabling indexer, see https://github.com/Jackett/Jackett/issues/1415
|
||||||
|
# error:
|
||||||
|
# - selector: div.error:not(:contains("Gösterilecek sonuç bulunamadı."))
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: "table#torrents_table_classic tr:has(td.torrent_name){{ if .Config.freeleech }}:has(img[src$=\"/torrent_free.png\"]){{ else }}{{ end }}"
|
||||||
|
|
||||||
|
fields:
|
||||||
|
title:
|
||||||
|
selector: a[href*="?p=torrents&pid=10&action=details"]
|
||||||
|
category:
|
||||||
|
selector: div.category_image > a
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cid
|
||||||
|
details:
|
||||||
|
selector: a[href*="?p=torrents&pid=10&action=details"]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href*="?p=torrents&pid=10&action=download"]
|
||||||
|
attribute: href
|
||||||
|
date_day:
|
||||||
|
# Uploaded Friday at 05:11 by
|
||||||
|
# Uploaded Today at 00:48 by
|
||||||
|
# Uploaded Yesterday at 23:57 by
|
||||||
|
selector: td.torrent_name:contains(" at "):not(:has(abbr[data-time]))
|
||||||
|
# auto adjusted by site account profile
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "Uploaded (.+?) by"
|
||||||
|
- name: fuzzytime
|
||||||
|
date_year:
|
||||||
|
# Uploaded 30-01-2019 15:02 by
|
||||||
|
selector: td.torrent_name:not(:contains(" at ")):not(:has(abbr[data-time]))
|
||||||
|
# auto adjusted by site account profile
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "Uploaded (.+?) by"
|
||||||
|
- name: dateparse
|
||||||
|
args: "dd-MM-yyyy HH:mm"
|
||||||
|
date_unix:
|
||||||
|
# within the hour (unix)
|
||||||
|
selector: abbr[data-time]
|
||||||
|
attribute: data-time
|
||||||
|
optional: true
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_day .Result.date_year .Result.date_unix }}{{ or .Result.date_day .Result.date_year .Result.date_unix }}{{ else }}now{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: a[rel="torrent_size"]
|
||||||
|
seeders:
|
||||||
|
selector: a[rel="torrent_seeders"]
|
||||||
|
leechers:
|
||||||
|
selector: a[rel="torrent_leechers"]
|
||||||
|
grabs:
|
||||||
|
selector: a[rel="times_completed"]
|
||||||
|
poster:
|
||||||
|
selector: a[rel="fancybox"]
|
||||||
|
attribute: href
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
"img[src$=\"/silver.gif\"]": 0.5
|
||||||
|
"img[src$=\"/torrent_free.png\"]": 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
"img[src$=\"/torrent_multiple_upload.png\"]": 2
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
minimumseedtime:
|
||||||
|
# 3 day (as seconds = 3 x 24 x 60 x 60)
|
||||||
|
text: 259200
|
||||||
|
# TSUE 2.2
|
||||||
@@ -0,0 +1,199 @@
|
|||||||
|
---
|
||||||
|
id: bjshare
|
||||||
|
name: Bj-Share
|
||||||
|
description: "Private PT-BR torrent"
|
||||||
|
language: pt-BR
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://bj-share.info/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: Movies, desc: "Filmes"}
|
||||||
|
- {id: 2, cat: TV, desc: "TV"}
|
||||||
|
- {id: 3, cat: PC, desc: "Aplicativos"}
|
||||||
|
- {id: 4, cat: PC/Games, desc: "Jogos"}
|
||||||
|
- {id: 5, cat: Books/Comics, desc: "Mangás"}
|
||||||
|
- {id: 6, cat: TV, desc: "Vídeos de TV"}
|
||||||
|
- {id: 7, cat: Other, desc: "Outros"}
|
||||||
|
- {id: 8, cat: TV/Sport, desc: "Esportes"}
|
||||||
|
- {id: 9, cat: Books/Mags, desc: "Revistas"}
|
||||||
|
- {id: 10, cat: Books, desc: "E-Books"}
|
||||||
|
- {id: 11, cat: Audio/Audiobook, desc: "Audiobook"}
|
||||||
|
- {id: 12, cat: Books/Comics, desc: "Histórias em Quadrinhos"}
|
||||||
|
- {id: 13, cat: TV, desc: "Stand Up Comedy"}
|
||||||
|
- {id: 14, cat: TV, desc: "TV/Anime"} # Anime format is equal to TV Show (SXXEXX) except old ones like one piece
|
||||||
|
- {id: 15, cat: XXX/ImageSet, desc: "Fotos Adultas"}
|
||||||
|
- {id: 16, cat: TV/Other, desc: "Desenho Animado"}
|
||||||
|
- {id: 17, cat: TV/Documentary, desc: "Documentários"}
|
||||||
|
- {id: 18, cat: Other, desc: "Cursos"}
|
||||||
|
- {id: 19, cat: XXX, desc: "Filmes Adultos"}
|
||||||
|
- {id: 20, cat: XXX/Other, desc: "Jogos Adultos"}
|
||||||
|
- {id: 21, cat: XXX/Other, desc: "Mangás Adultos"}
|
||||||
|
- {id: 22, cat: XXX/Other, desc: "Animes Adultos"}
|
||||||
|
- {id: 23, cat: XXX/Other, desc: "HQ Adultos"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: cookie
|
||||||
|
type: text
|
||||||
|
label: Cookie
|
||||||
|
- name: info_cookie
|
||||||
|
type: info
|
||||||
|
label: How to get the Cookie
|
||||||
|
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
|
||||||
|
login:
|
||||||
|
method: cookie
|
||||||
|
inputs:
|
||||||
|
cookie: "{{ .Config.cookie }}"
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href^="/logout.php?auth="]
|
||||||
|
|
||||||
|
search:
|
||||||
|
# https://bj-share.info/torrents.php?searchstr=aves+de+rapina&filter_cat%5B1%5D=1
|
||||||
|
paths:
|
||||||
|
- path: torrents.php
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||||
|
searchstr: "{{ .Keywords }}"
|
||||||
|
freetorrent: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(S[0-9]+E[0-9]+|S[0-9]+)", ""] # remove SXXEXX or SXX from search
|
||||||
|
|
||||||
|
rows:
|
||||||
|
# If the category is a TV show/Anime, there's a necessity to filter the results by season/episode to not show all of them
|
||||||
|
selector: "table.torrent_table > tbody > tr:not(tr.colhead).group,
|
||||||
|
table.torrent_table tbody tr:not(tr.colhead):contains('{{ .Query.Episode }}')"
|
||||||
|
filters:
|
||||||
|
- name: andmatch
|
||||||
|
|
||||||
|
fields:
|
||||||
|
download:
|
||||||
|
selector: a[title="Baixar"]
|
||||||
|
attribute: href
|
||||||
|
|
||||||
|
_singleTorrentInfo:
|
||||||
|
selector: div.torrent_info
|
||||||
|
|
||||||
|
_multipleTorrentInfo:
|
||||||
|
selector: a[href^="torrents.php?id="]
|
||||||
|
|
||||||
|
_info: # example [MKV / x265 / WEB-DL / Legendado / 4K / Free]
|
||||||
|
text: "{{ if .Result._singleTorrentInfo }}{{.Result._singleTorrentInfo}}{{ else }}{{.Result._multipleTorrentInfo}}{{ end }}"
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["Full HD", "1080p"]
|
||||||
|
- name: replace
|
||||||
|
args: ["4K", "2160p"]
|
||||||
|
- name: replace
|
||||||
|
args: ["SD", "480p"]
|
||||||
|
- name: replace
|
||||||
|
args: ["/ HD]", "720p"]
|
||||||
|
- name: replace
|
||||||
|
args: ["/ HD /", "720p"]
|
||||||
|
- name: replace
|
||||||
|
args: ["/ Free", ""]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["[\\[\\]]+", ""]
|
||||||
|
|
||||||
|
_rawTitle:
|
||||||
|
selector: div.group_info
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(\n.*)", ""] # remove everything after newline
|
||||||
|
- name: re_replace
|
||||||
|
args: [" |\t", ""] # remove double space and tabs
|
||||||
|
|
||||||
|
_year:
|
||||||
|
text: "{{ .Result._rawTitle }}"
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "\\[([0-9]*)\\]"
|
||||||
|
|
||||||
|
details:
|
||||||
|
selector: a[href^="torrents.php?id="]:not(.tooltip)
|
||||||
|
attribute: href
|
||||||
|
|
||||||
|
title_MovieTV: # Movie and TV Format
|
||||||
|
# Title defined as:
|
||||||
|
# PT-BR/Japanese title [en-US title] [year]
|
||||||
|
text: "{{ .Result._rawTitle }}"
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\[[0-9]*\\].*", ""] # Removes the year and everything after
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(.*)\\[(!?[^/]*?)\\]", "$2"] # Parse only en-us title, when available
|
||||||
|
- name: append
|
||||||
|
args: "{{ .Result._year }}"
|
||||||
|
- name: append
|
||||||
|
args: " {{ .Result._info }}"
|
||||||
|
|
||||||
|
title_Other:
|
||||||
|
# Only remove brackets
|
||||||
|
text: "{{ .Result._rawTitle }}"
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\[|\\]", " "] # Remove Brackets
|
||||||
|
|
||||||
|
title_details:
|
||||||
|
# Title defined as:
|
||||||
|
# PT-BR/Japanese title [en-US title] [year]
|
||||||
|
text: "{{ .Result._rawTitle }}"
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\[[0-9]*\\].*", ""] # Removes the year and everything after
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(.*)\\[(!?[^/]*?)\\]", "$2"] # Parse only en-us title, when available
|
||||||
|
|
||||||
|
category_details:
|
||||||
|
selector: td.cats_col > a
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "%5b(\\d+?)%5d"
|
||||||
|
|
||||||
|
category:
|
||||||
|
text: "{{ .Result.category_details }}"
|
||||||
|
|
||||||
|
title:
|
||||||
|
text: "{{ if
|
||||||
|
or (eq .Result.category_details \"1\")
|
||||||
|
(or (eq .Result.category_details \"2\") (or (eq .Result.category_details \"14\")
|
||||||
|
(or (eq .Result.category_details \"16\") (or (eq .Result.category_details \"17\")
|
||||||
|
(or eq .Result.category_details \"8\")
|
||||||
|
(or (eq .Result.category_details \"13\") (eq .Result.category_details \"6\")))))))
|
||||||
|
}}{{.Result.title_MovieTV}}{{ else }}{{.Result.title_Other}}{{ end }}"
|
||||||
|
|
||||||
|
size:
|
||||||
|
selector: td:nth-last-child(4)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-last-child(3)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-last-child(2)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-last-child(1)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
strong[title*="Free"]: 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
minimumseedtime:
|
||||||
|
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||||
|
text: 604800
|
||||||
@@ -0,0 +1,147 @@
|
|||||||
|
---
|
||||||
|
id: bluebirdhd
|
||||||
|
name: BlueBird
|
||||||
|
description: "BlueBird is a RUSSIAN Private Torrent Tracker for HD MOVIES"
|
||||||
|
language: ru-RU
|
||||||
|
type: private
|
||||||
|
encoding: windows-1251
|
||||||
|
links:
|
||||||
|
- https://bluebird-hd.org/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: Movies, desc: "Фильмы Films"}
|
||||||
|
- {id: 2, cat: TV/Anime, desc: "Мультфильмы Cartoons"}
|
||||||
|
- {id: 3, cat: TV/Documentary, desc: "Документалистика Documentary"}
|
||||||
|
- {id: 4, cat: Audio, desc: "Шоу/Музыка Show/Music"}
|
||||||
|
- {id: 5, cat: TV/Sport, desc: "Спорт Sport"}
|
||||||
|
- {id: 6, cat: TV, desc: "Сериалы TV Series"}
|
||||||
|
- {id: 7, cat: XXX, desc: "Эротика Erotica"}
|
||||||
|
- {id: 8, cat: Other, desc: "Дэмо/Misc Demo/Misc"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid]
|
||||||
|
movie-search: [q, imdbid]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
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_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: takelogin.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: div.error
|
||||||
|
message:
|
||||||
|
text: "Error during login. Its likely your username or password is incorrect."
|
||||||
|
test:
|
||||||
|
path: /
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||||
|
# search in title
|
||||||
|
search: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||||
|
# search in description
|
||||||
|
dsearch: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}"
|
||||||
|
# 0 active, 1 incldead, 2 onlydead, 3 gold, 5 diamond, 4 without seeders
|
||||||
|
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||||
|
genre: "{{ .Query.Genre }}"
|
||||||
|
# or, and
|
||||||
|
stype: and
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table[class="embedded"][cellspacing="0"][cellpadding="5"][width="100%"] > tbody#highlighted > tr:has(a[href^="details.php?id="])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="browse.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
imdbid:
|
||||||
|
selector: a[href*="imdb.com/title/tt"]
|
||||||
|
attribute: href
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(7) > nobr > a, td:nth-child(7) > nobr > b
|
||||||
|
date:
|
||||||
|
selector: div#frame > div#cleft
|
||||||
|
remove: a
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +03:00" # MSK
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
remove: a
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
genre:
|
||||||
|
selector: div#cleft
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["Жанр:", ""]
|
||||||
|
description:
|
||||||
|
text: "{{ .Result.genre }}"
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src="pic/diamond.png"]: 0
|
||||||
|
img[src="pic/freedownload.gif"]: 0
|
||||||
|
img[src="pic/silver.gif"]: 0.5
|
||||||
|
img[src="pic/bronze.gif"]: 0.75
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src="pic/diamond.png"]: 2
|
||||||
|
"*": 1
|
||||||
|
# TBDev v2.1.12
|
||||||
@@ -0,0 +1,182 @@
|
|||||||
|
---
|
||||||
|
id: blutopia-api
|
||||||
|
name: Blutopia (API)
|
||||||
|
description: "Blutopia (BLU) is a Private Torrent Tracker for HD MOVIES / TV"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://blutopia.cc/
|
||||||
|
legacylinks:
|
||||||
|
- https://blutopia.xyz/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: Movies, desc: "Movie"}
|
||||||
|
- {id: 2, cat: TV, desc: "TV Show"}
|
||||||
|
- {id: 3, cat: Movies/Other, desc: "FANRES"}
|
||||||
|
- {id: 5, cat: Movies/Other, desc: "Trailer"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||||
|
movie-search: [q, imdbid, tmdbid]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: apikey
|
||||||
|
type: text
|
||||||
|
label: APIKey
|
||||||
|
- name: info_key
|
||||||
|
type: info
|
||||||
|
label: About your API key
|
||||||
|
default: "Find or Generate a new API Token by accessing your <a href=\"https://blutopia.cc/\" target=\"_blank\">Blutopia</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: single_file_release_use_filename
|
||||||
|
type: checkbox
|
||||||
|
label: Use filename as title for single file releases
|
||||||
|
default: true
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: created_at
|
||||||
|
options:
|
||||||
|
created_at: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Your membership requires that you stay active at Blutopia. To not get disabled, you are required to login to the site at least once every 30 days or be actively seeding at least 1 torrent."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: /api/torrents
|
||||||
|
method: get
|
||||||
|
inputs: {} # TODO: remove in v10
|
||||||
|
error:
|
||||||
|
- selector: a[href*="/login"]
|
||||||
|
message:
|
||||||
|
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||||
|
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||||
|
- path: "/api/torrents/filter"
|
||||||
|
response:
|
||||||
|
type: json
|
||||||
|
|
||||||
|
headers:
|
||||||
|
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||||
|
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||||
|
name: "{{ .Keywords }}"
|
||||||
|
seasonNumber: "{{ .Query.Season }}"
|
||||||
|
episodeNumber: "{{ .Query.Ep }}"
|
||||||
|
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||||
|
tmdbId: "{{ .Query.TMDBID }}"
|
||||||
|
tvdbId: "{{ .Query.TVDBID }}"
|
||||||
|
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||||
|
sortField: "{{ .Config.sort }}"
|
||||||
|
sortDirection: "{{ .Config.type }}"
|
||||||
|
perPage: 100
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\.", " "]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: data
|
||||||
|
attribute: attributes
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: category_id
|
||||||
|
title_optional:
|
||||||
|
selector: name
|
||||||
|
details:
|
||||||
|
selector: details_link
|
||||||
|
download:
|
||||||
|
selector: download_link
|
||||||
|
infohash:
|
||||||
|
selector: info_hash
|
||||||
|
poster:
|
||||||
|
selector: meta.poster
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["https://via.placeholder.com/90x135", ""]
|
||||||
|
imdbid:
|
||||||
|
selector: imdb_id
|
||||||
|
tmdbid:
|
||||||
|
selector: tmdb_id
|
||||||
|
tvdbid:
|
||||||
|
selector: tvdb_id
|
||||||
|
genre:
|
||||||
|
selector: meta.genres
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||||
|
- name: replace
|
||||||
|
args: [" & ", "_&_"]
|
||||||
|
description:
|
||||||
|
text: "{{ .Result.genre }}"
|
||||||
|
files:
|
||||||
|
selector: num_file
|
||||||
|
seeders:
|
||||||
|
selector: seeders
|
||||||
|
leechers:
|
||||||
|
selector: leechers
|
||||||
|
grabs:
|
||||||
|
selector: times_completed
|
||||||
|
date:
|
||||||
|
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||||
|
selector: created_at
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +00:00" # GMT
|
||||||
|
- name: dateparse
|
||||||
|
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||||
|
size:
|
||||||
|
selector: size
|
||||||
|
downloadvolumefactor:
|
||||||
|
# api returns 0%, 25%, 50%, 75%, 100%
|
||||||
|
selector: freeleech
|
||||||
|
case:
|
||||||
|
0%: 1 # not free
|
||||||
|
25%: 0.75
|
||||||
|
50%: 0.5
|
||||||
|
75%: 0.25
|
||||||
|
100%: 0 # freeleech
|
||||||
|
"*": 0 # catch errors
|
||||||
|
uploadvolumefactor:
|
||||||
|
# api returns False, True
|
||||||
|
selector: double_upload
|
||||||
|
case:
|
||||||
|
False: 1 # normal
|
||||||
|
True: 2 # double
|
||||||
|
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||||
|
# minimumratio:
|
||||||
|
# text: 0.4
|
||||||
|
minimumseedtime:
|
||||||
|
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||||
|
text: 604800
|
||||||
|
title_filename:
|
||||||
|
selector: "files[0].name"
|
||||||
|
optional: true
|
||||||
|
title:
|
||||||
|
text: "{{ if and (.Config.single_file_release_use_filename) (eq .Result.files \"1\") (.Result.title_filename) }}{{ .Result.title_filename }}{{ else }}{{ .Result.title_optional }}{{ end }}"
|
||||||
|
# json UNIT3D 8.0.0b
|
||||||
@@ -0,0 +1,102 @@
|
|||||||
|
---
|
||||||
|
id: booktracker
|
||||||
|
name: BookTracker
|
||||||
|
description: "BookTracker is a RUSSIAN Semi-Private Torrent Tracker for EBOOKS"
|
||||||
|
language: ru-RU
|
||||||
|
type: semi-private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://booktracker.org/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: Books/EBook, desc: "Ebooks"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: 1
|
||||||
|
options:
|
||||||
|
1: created
|
||||||
|
10: seeders
|
||||||
|
7: size
|
||||||
|
2: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login.php
|
||||||
|
method: form
|
||||||
|
form: form[action$="/login.php"]
|
||||||
|
inputs:
|
||||||
|
login_username: "{{ .Config.username }}"
|
||||||
|
login_password: "{{ .Config.password }}"
|
||||||
|
redirect: "index.php"
|
||||||
|
autologin: 1
|
||||||
|
selectorinputs:
|
||||||
|
cookie_test:
|
||||||
|
selector: input[name="cookie_test"]
|
||||||
|
attribute: value
|
||||||
|
error:
|
||||||
|
- selector: h4.warnColor1
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="./login.php?logout=1"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: tracker.php
|
||||||
|
inputs:
|
||||||
|
nm: "{{ .Keywords }}"
|
||||||
|
o: "{{ .Config.sort }}"
|
||||||
|
s: "{{ .Config.type }}"
|
||||||
|
tm: -1
|
||||||
|
sns: -1
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: tr[id^="tor_"]:has(a[href^="./download.php?id="])
|
||||||
|
filters:
|
||||||
|
- name: andmatch
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
text: 1
|
||||||
|
title:
|
||||||
|
selector: a.tLink
|
||||||
|
details:
|
||||||
|
selector: a.tLink
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="./download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(6) > u
|
||||||
|
seeders:
|
||||||
|
selector: td.seedmed > b
|
||||||
|
leechers:
|
||||||
|
selector: td.leechmed > b
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(9)
|
||||||
|
date:
|
||||||
|
selector: td:last-child > u
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# TorrentPier
|
||||||
@@ -0,0 +1,135 @@
|
|||||||
|
---
|
||||||
|
id: bootytape
|
||||||
|
name: BootyTape
|
||||||
|
description: "BootyTape is a Semi-Private site for 3X"
|
||||||
|
language: en-US
|
||||||
|
type: semi-private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://ssl.bootytape.com/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 70, cat: XXX, desc: "Animation"}
|
||||||
|
- {id: 22, cat: XXX, desc: "Girl on Girl"}
|
||||||
|
- {id: 43, cat: XXX, desc: "Images"}
|
||||||
|
- {id: 52, cat: XXX, desc: "Straight"}
|
||||||
|
- {id: 82, cat: XXX, desc: "X Play Hard"}
|
||||||
|
- {id: 92, cat: XXX, desc: "X Play Soft"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
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_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
take_login: 1
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: td.mainouter2:has(h1:contains("Failed"))
|
||||||
|
test:
|
||||||
|
path: my.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://ssl.bootytape.com/torrents.php?search=onlyfans&tagsearch=&cat=0&tags=1
|
||||||
|
- path: torrents.php
|
||||||
|
inputs:
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
tagsearch: ""
|
||||||
|
# 0 all
|
||||||
|
cat: 0
|
||||||
|
freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||||
|
# tags search mode: 1 AND, 2 OR
|
||||||
|
tags: 1
|
||||||
|
# incldead=2 for search unseeded
|
||||||
|
# descr=1 for search description
|
||||||
|
# double=1 for search double seed bonus
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.red > tbody > tr:not(:has(th))
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="torrents.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
description:
|
||||||
|
selector: div.specg
|
||||||
|
poster:
|
||||||
|
selector: img[src*="/thbx/imgx/"]
|
||||||
|
attribute: src
|
||||||
|
files:
|
||||||
|
selector: a[href$="filelist=1"]
|
||||||
|
optional: true
|
||||||
|
default: 1
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(3)
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
seeders:
|
||||||
|
selector: a[href$="toseeders=1"]
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
leechers:
|
||||||
|
selector: a[href$="todlers=1"]
|
||||||
|
optional: true
|
||||||
|
default: 0
|
||||||
|
date:
|
||||||
|
text: now
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
"img[src$=\"pic/freedownload.gif\"]": 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
"img[src$=\"pic/double-upload.gif\"]": 2
|
||||||
|
"*": 1
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,199 @@
|
|||||||
|
---
|
||||||
|
id: borgzelle
|
||||||
|
name: Borgzelle
|
||||||
|
description: "Borgzelle is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||||
|
language: de-DE
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://borgzelle.borg/
|
||||||
|
certificates:
|
||||||
|
- a3f8822c97fbfe5bd00760cf8e6b75c4284f657d # self signed
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 17, cat: TV/Sport, desc: "Sport"}
|
||||||
|
- {id: 32, cat: TV, desc: "Serien-Pakete"}
|
||||||
|
- {id: 12, cat: TV, desc: "Serien"}
|
||||||
|
- {id: 14, cat: Audio/Video, desc: "Musikvideo"}
|
||||||
|
- {id: 15, cat: TV/Documentary, desc: "Doku"}
|
||||||
|
- {id: 16, cat: TV/Other, desc: "Comedy"}
|
||||||
|
- {id: 18, cat: TV/Anime, desc: "Anime"}
|
||||||
|
- {id: 6, cat: Movies/SD, desc: "Movie XviD/DivX"}
|
||||||
|
- {id: 34, cat: Movies/UHD, desc: "Movie UHD"}
|
||||||
|
- {id: 13, cat: Movies, desc: "Movie Kinder"}
|
||||||
|
- {id: 11, cat: Movies/HD, desc: "Movie HD2DVD"}
|
||||||
|
- {id: 9, cat: Movies/HD, desc: "Movie HD"}
|
||||||
|
- {id: 33, cat: Movies/HD, desc: "Movie h265"}
|
||||||
|
- {id: 7, cat: Movies/HD, desc: "Movie h264"}
|
||||||
|
- {id: 10, cat: Movies/DVD, desc: "Movie DVD"}
|
||||||
|
- {id: 28, cat: PC/Games, desc: "Spiele PDA/Handy"}
|
||||||
|
- {id: 25, cat: PC/Games, desc: "Spiele PC"}
|
||||||
|
- {id: 27, cat: PC/Games, desc: "Spiele MAC"}
|
||||||
|
- {id: 26, cat: Console, desc: "Spiele Konsolen"}
|
||||||
|
- {id: 30, cat: Other, desc: "Diverse Wallpaper"}
|
||||||
|
- {id: 31, cat: Other, desc: "Sonstiges"}
|
||||||
|
- {id: 29, cat: Books/EBook, desc: "E-Book"}
|
||||||
|
- {id: 19, cat: Audio, desc: "Musik"}
|
||||||
|
- {id: 20, cat: Audio/Audiobook, desc: "Hörbuch"}
|
||||||
|
- {id: 21, cat: PC/0day, desc: "Software Windows"}
|
||||||
|
- {id: 23, cat: PC/Mobile-Other, desc: "Software PDA/Handy"}
|
||||||
|
- {id: 22, cat: PC/Mac, desc: "Software MAC"}
|
||||||
|
- {id: 24, cat: PC, desc: "Software Linux"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: info_sitelink
|
||||||
|
type: info
|
||||||
|
label: About Site Link
|
||||||
|
default: If the Site Link domain returns a DNS error then you have not yet been assimilated.
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: info_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Filter freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: added
|
||||||
|
options:
|
||||||
|
added: created
|
||||||
|
seeds: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
keeplogged: 1
|
||||||
|
error:
|
||||||
|
- selector: font[color="red"]
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href^="logout.php?auth="]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://borgzelle.borg/browse.php?action=browse&showsearch=1&c34=1&c9=1&search=&incldead=0&orderby=added&sort=desc
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
action: browse
|
||||||
|
showsearch: 1
|
||||||
|
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
# 0 all, 1 active, 2 dead
|
||||||
|
incldead: 0
|
||||||
|
orderby: "{{ .Config.sort }}"
|
||||||
|
sort: "{{ .Config.type }}"
|
||||||
|
# the site does not support imdbid searching or present imdb links in results
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: "table[style=\"width: 100%;\"] > tbody > tr{{ if .Config.freeleech }}:has(span:contains(\"[OnlyUpload]\")){{ else }}{{ end }}"
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="browse.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title:
|
||||||
|
selector: a[href^="torrents.php?torrentid="]
|
||||||
|
details:
|
||||||
|
selector: a[href^="torrents.php?torrentid="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="torrents.php?action=download&id="]
|
||||||
|
attribute: href
|
||||||
|
poster:
|
||||||
|
selector: a[href^="torrents.php?torrentid="] span img
|
||||||
|
attribute: src
|
||||||
|
date:
|
||||||
|
# 17.10. 18:34 (vor 2 Stunden und 57 Minuten)
|
||||||
|
selector: td:nth-child(2) > table > tbody > tr > td:nth-child(2)
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "\\((.+?)\\)"
|
||||||
|
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpět|назад|acum|în urmă|hace|il y a|vor|преди|前|sedan)", " ago"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|секунд|secunde|secondes|Sekunden|секунди|seconden|秒前)", "seconds"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten|minuter)", "minutes"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟|分)", " minute"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden|timmar)", "hours"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时|時間|timme)", " hour"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen|dagar)", "days"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天|日)", " day"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken|veckor)", "weeks"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周|週間|vecka)", " week"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i) (ay)", "month"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden|månader)", "months"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|Monat|месец|maand|个月|ヶ月|månad)", " month"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(yil|aasta|år|anno|rok|ano|год|año|Jahr|година|jaar|年)", " year"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i) (an)", "year"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(För |und)", ""] # Misc removals
|
||||||
|
- name: timeago
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(1) b
|
||||||
|
files:
|
||||||
|
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(1) a span
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(2) a span
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(2) a span:nth-child(2)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(3) a span
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
"span:contains(\"[OnlyUpload]\")": 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
minimumratio:
|
||||||
|
text: 0.7
|
||||||
|
minimumseedtime:
|
||||||
|
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||||
|
text: 259200
|
||||||
|
# Gazelle
|
||||||
@@ -0,0 +1,146 @@
|
|||||||
|
---
|
||||||
|
id: boxingtorrents
|
||||||
|
name: Boxing Torrents
|
||||||
|
description: "Boxing Torrents is a Private Torrent Tracker for BOXING"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://tc-boxing.com/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 17, cat: TV/Sport, desc: "4K"}
|
||||||
|
- {id: 15, cat: TV/Sport, desc: "3D"}
|
||||||
|
- {id: 9, cat: TV/Sport, desc: "Amateur - Full"}
|
||||||
|
- {id: 16, cat: TV/Sport, desc: "Blu-ray"}
|
||||||
|
- {id: 13, cat: TV/Sport, desc: "Career Set"}
|
||||||
|
- {id: 8, cat: TV/Sport, desc: "DVD"}
|
||||||
|
- {id: 10, cat: TV/Sport, desc: "Foreign - Excellent"}
|
||||||
|
- {id: 11, cat: TV/Sport, desc: "Foreign - Fair"}
|
||||||
|
- {id: 6, cat: TV/Sport, desc: "Foreign - Good"}
|
||||||
|
- {id: 12, cat: TV/Sport, desc: "Foreign - Poor"}
|
||||||
|
- {id: 1, cat: TV/Sport, desc: "Full - Excellent"}
|
||||||
|
- {id: 3, cat: TV/Sport, desc: "Full - Fair"}
|
||||||
|
- {id: 2, cat: TV/Sport, desc: "Full - Good"}
|
||||||
|
- {id: 4, cat: TV/Sport, desc: "Full - Poor"}
|
||||||
|
- {id: 14, cat: TV/Sport, desc: "HD"}
|
||||||
|
- {id: 7, cat: TV/Sport, desc: "Misc"}
|
||||||
|
- {id: 18, cat: TV/Sport, desc: "Instructional"}
|
||||||
|
- {id: 19, cat: TV/Documentary, desc: "Documentary"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: added
|
||||||
|
options:
|
||||||
|
added: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: DESC
|
||||||
|
options:
|
||||||
|
DESC: desc
|
||||||
|
ASC: asc
|
||||||
|
- name: info_download
|
||||||
|
type: info
|
||||||
|
label: "Download Restrictions"
|
||||||
|
default: "You must have uploaded at least 10GB before you are able to access all torrent sizes. Until then, you are restricted to torrents no larger than 2.5GB."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: takelogin.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: td.embedded:contains("Login failed!")
|
||||||
|
test:
|
||||||
|
path: browse.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
download:
|
||||||
|
selectors:
|
||||||
|
- selector: a[href^="download.php"]
|
||||||
|
attribute: href
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://tc-boxing.com/browse.php?c16=1&c8=1&c14=1&incldead=1
|
||||||
|
# https://tc-boxing.com/browse.php?search=tyson&cat=0&incldead=1
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ if .Categories }}{{ range .Categories }}c{{.}}=1&{{end}}{{ else }}cat=0{{ end }}"
|
||||||
|
# 1 incldead, null active
|
||||||
|
incldead: 1
|
||||||
|
# 1 freeleech only, null all
|
||||||
|
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
d: "{{ .Config.type }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table[border="1"][cellspacing="0"][cellpadding="5"] tr:has(a[href^="details.php?id="])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="browse.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
files:
|
||||||
|
selector: td:nth-last-child(8)
|
||||||
|
date:
|
||||||
|
selector: td:nth-last-child(6)
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " -07:00" # PDT
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||||
|
size:
|
||||||
|
selector: td:nth-last-child(5)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-last-child(4)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-last-child(3)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-last-child(2)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
"b:contains(\"FreeLeech\")": 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
minimumseedtime:
|
||||||
|
# 3 day (as seconds = 3 x 24 x 60 x 60)
|
||||||
|
text: 259200
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,135 @@
|
|||||||
|
---
|
||||||
|
id: brasiltracker
|
||||||
|
name: BrasilTracker
|
||||||
|
description: "BrasilTracker is a BRAZILIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||||
|
language: pt-BR
|
||||||
|
encoding: UTF-8
|
||||||
|
type: private
|
||||||
|
links:
|
||||||
|
- https://brasiltracker.org/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categories:
|
||||||
|
Other: Other
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q, imdbid]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: cookie
|
||||||
|
type: text
|
||||||
|
label: Cookie
|
||||||
|
- name: info_cookie
|
||||||
|
type: info
|
||||||
|
label: How to get the Cookie
|
||||||
|
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||||
|
- name: info_8000
|
||||||
|
type: info
|
||||||
|
label: About BrasilTracker Categories
|
||||||
|
default: BrasilTracker does not return categories in its search results.</br>To add to your Apps' Torznab indexer, replace all categories with 8000(Other).
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: time
|
||||||
|
options:
|
||||||
|
time: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
|
||||||
|
login:
|
||||||
|
method: cookie
|
||||||
|
inputs:
|
||||||
|
cookie: "{{ .Config.cookie }}"
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href^="logout.php?auth="]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://brasiltracker.org/torrents.php?order_by=time&order_way=desc&freetorrent=1&filter_cat[6]=1&filter_cat[3]=1&action=basic&searchsubmit=1
|
||||||
|
# https://brasiltracker.org/torrents.php?searchstr=mandalorain&order_by=size&order_way=desc&action=basic&searchsubmit=1
|
||||||
|
# https://brasiltracker.org/torrents.php?searchstr=tt8179024&order_by=time&order_way=desc&action=basic&searchsubmit=1
|
||||||
|
- path: torrents.php
|
||||||
|
inputs:
|
||||||
|
searchstr: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||||
|
order_by: "{{ .Config.sort }}"
|
||||||
|
order_way: "{{ .Config.type }}"
|
||||||
|
group_results: 0
|
||||||
|
action: basic
|
||||||
|
freetorrent: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||||
|
searchsubmit: 1
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table#torrent_table > tbody > tr.torrent
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
text: Other
|
||||||
|
details:
|
||||||
|
selector: a[href^="torrents.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="torrents.php?action=download&id="]
|
||||||
|
attribute: href
|
||||||
|
description:
|
||||||
|
selector: div.tags
|
||||||
|
poster:
|
||||||
|
selector: img[alt="Cover"]
|
||||||
|
attribute: src
|
||||||
|
imdbid:
|
||||||
|
selector: a[href*="imdb.com/title/tt"]
|
||||||
|
attribute: href
|
||||||
|
tmdbid:
|
||||||
|
selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"]
|
||||||
|
attribute: href
|
||||||
|
files:
|
||||||
|
selector: td:nth-child(3)
|
||||||
|
date:
|
||||||
|
selector: span.time
|
||||||
|
attribute: title
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " -03:00" # BRT
|
||||||
|
- name: dateparse
|
||||||
|
args: "MMM d yyyy, HH:mm zzz"
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
strong.tl_free: 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
title_details:
|
||||||
|
selector: div.torrent_info
|
||||||
|
remove: strong
|
||||||
|
title:
|
||||||
|
selector: a[href^="torrents.php?id="]
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " {{ .Result.title_details }}"
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
minimumseedtime:
|
||||||
|
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||||
|
text: 172800
|
||||||
|
# Project Gazelle
|
||||||
@@ -0,0 +1,139 @@
|
|||||||
|
---
|
||||||
|
id: broadcity
|
||||||
|
name: BroadCity
|
||||||
|
description: "BroadCity is a TURKISH Private Torrent Tracker for MOVIES and TV"
|
||||||
|
language: tr-TR
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://broadcity.in/ # site is forcing to https
|
||||||
|
legacylinks:
|
||||||
|
- http://broadcity.in/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: Movies/UHD, desc: "UHD"}
|
||||||
|
- {id: 2, cat: Movies/UHD, desc: "UHD - BluRay"}
|
||||||
|
- {id: 8, cat: Movies/UHD, desc: "UHD - TV"}
|
||||||
|
- {id: 6, cat: Movies/WEB-DL, desc: "UHD - WEB-DL"}
|
||||||
|
- {id: 16, cat: Movies/UHD, desc: "UHD - WEBRip"}
|
||||||
|
- {id: 31, cat: Movies/BluRay, desc: "BluRay Disk"}
|
||||||
|
- {id: 3, cat: Movies/HD, desc: "HD"}
|
||||||
|
- {id: 25, cat: Movies/3D, desc: "HD - 3D"}
|
||||||
|
- {id: 4, cat: Movies/HD, desc: "HD - BluRay"}
|
||||||
|
- {id: 7, cat: Movies/HD, desc: "HD - TV"}
|
||||||
|
- {id: 5, cat: Movies/WEB-DL, desc: "HD - WEB-DL"}
|
||||||
|
- {id: 14, cat: Movies/HD, desc: "HD - WEBRip"}
|
||||||
|
- {id: 40, cat: Movies/HD, desc: "PTer"}
|
||||||
|
- {id: 9, cat: Movies/SD, desc: "SD"}
|
||||||
|
- {id: 23, cat: Movies/SD, desc: "SD - BluRay"}
|
||||||
|
- {id: 10, cat: Movies/DVD, desc: "SD - DVD"}
|
||||||
|
- {id: 36, cat: Movies/SD, desc: "SD - DVDRip"}
|
||||||
|
- {id: 12, cat: Movies/SD, desc: "SD - TV"}
|
||||||
|
- {id: 13, cat: Movies/WEB-DL, desc: "SD - WEB-DL"}
|
||||||
|
- {id: 15, cat: Movies/SD, desc: "SD - WEBRip"}
|
||||||
|
- {id: 17, cat: TV, desc: "TV"}
|
||||||
|
- {id: 26, cat: TV/Other, desc: "TV - TV Program"}
|
||||||
|
- {id: 19, cat: TV, desc: "TV - Yabanci Dizi"}
|
||||||
|
- {id: 18, cat: TV, desc: "TV - Yerli Dizi"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: cookie
|
||||||
|
type: text
|
||||||
|
label: Cookie
|
||||||
|
- name: info
|
||||||
|
type: info
|
||||||
|
label: How to get the Cookie
|
||||||
|
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Filter freeleech only
|
||||||
|
default: false
|
||||||
|
|
||||||
|
login:
|
||||||
|
method: cookie
|
||||||
|
inputs:
|
||||||
|
cookie: "{{ .Config.cookie }}"
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href*="/logout.php?logouthash="]
|
||||||
|
|
||||||
|
download:
|
||||||
|
before:
|
||||||
|
path: takethanks.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
torrentid: "{{ .DownloadUri.Query.id }}"
|
||||||
|
selectors:
|
||||||
|
- selector: a[href*="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: browse.php
|
||||||
|
inputs:
|
||||||
|
# does not support multi categories so defaulting to ALL
|
||||||
|
do: search
|
||||||
|
keywords: "{{ .Keywords }}"
|
||||||
|
category: 0
|
||||||
|
search_type: t_name
|
||||||
|
include_dead_torrents: yes
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: "table#sortabletable tbody tr:has(div[id^=\"port-target-\"]){{ if .Config.freeleech }}:has(img[src$=\"/freedownload.gif\"]){{ else }}{{ end }}"
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href*="browse.php?category="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: category
|
||||||
|
title:
|
||||||
|
selector: div[id^="port-target-"] a
|
||||||
|
details:
|
||||||
|
selector: div[id^="port-target-"] a
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: div[id^="port-target-"] a
|
||||||
|
attribute: href
|
||||||
|
poster:
|
||||||
|
selector: div[id^="port-content-"] img
|
||||||
|
attribute: src
|
||||||
|
date:
|
||||||
|
selector: td:nth-child(2)
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: (\d{2}-\d{2}-\d{4} \d{2}:\d{2})
|
||||||
|
- name: append
|
||||||
|
args: " +03:00" # TRT
|
||||||
|
- name: dateparse
|
||||||
|
args: "dd-MM-yyyy HH:mm zzz"
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src$="/freedownload.gif"]: 0
|
||||||
|
img[src$="/silverdownload.gif"]: 0.5
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src$="/x2.gif"]: 2
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 0.5
|
||||||
|
minimumseedtime:
|
||||||
|
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||||
|
text: 172800
|
||||||
|
# TS Special Edition v.7.5
|
||||||
@@ -0,0 +1,149 @@
|
|||||||
|
---
|
||||||
|
id: brsociety-api
|
||||||
|
name: BrSociety (API)
|
||||||
|
description: "BrSociety (SemeandoCC) is a BRAZILIAN Private Torrent Tracker for E-LEARNING"
|
||||||
|
language: pt-BR
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://brsociety.club/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: Other, desc: "Cursos"}
|
||||||
|
- {id: 2, cat: Books/EBook, desc: "eBooks"}
|
||||||
|
- {id: 5, cat: Books/Mags, desc: "Revistas"}
|
||||||
|
- {id: 3, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||||
|
- {id: 4, cat: Other, desc: "Arquivos de Auxilio"}
|
||||||
|
- {id: 6, cat: Other, desc: "Graduação"}
|
||||||
|
- {id: 7, cat: TV/Documentary, desc: "Documentários"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: apikey
|
||||||
|
type: text
|
||||||
|
label: APIKey
|
||||||
|
- name: info_key
|
||||||
|
type: info
|
||||||
|
label: About your API key
|
||||||
|
default: "Find or Generate a new API Token by accessing your <a href=\"https://brsociety.club/\" target=\"_blank\">BrSociety</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: created_at
|
||||||
|
options:
|
||||||
|
created_at: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Your account will be considered inactive if it exceeds 90 days without you logging in to the Website. After 90 days of inactivity (i.e., 180 days without login) it will be deleted from the tracker."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: /api/torrents
|
||||||
|
method: get
|
||||||
|
inputs: {} # TODO: remove in v10
|
||||||
|
error:
|
||||||
|
- selector: a[href*="/login"]
|
||||||
|
message:
|
||||||
|
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||||
|
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||||
|
- path: "/api/torrents/filter"
|
||||||
|
response:
|
||||||
|
type: json
|
||||||
|
|
||||||
|
headers:
|
||||||
|
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||||
|
name: "{{ .Keywords }}"
|
||||||
|
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||||
|
sortField: "{{ .Config.sort }}"
|
||||||
|
sortDirection: "{{ .Config.type }}"
|
||||||
|
perPage: 100
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["\\.", " "]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: data
|
||||||
|
attribute: attributes
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: category_id
|
||||||
|
title:
|
||||||
|
selector: name
|
||||||
|
details:
|
||||||
|
selector: details_link
|
||||||
|
download:
|
||||||
|
selector: download_link
|
||||||
|
magnet:
|
||||||
|
selector: magnet_link
|
||||||
|
optional: true
|
||||||
|
infohash:
|
||||||
|
selector: info_hash
|
||||||
|
files:
|
||||||
|
selector: num_file
|
||||||
|
seeders:
|
||||||
|
selector: seeders
|
||||||
|
leechers:
|
||||||
|
selector: leechers
|
||||||
|
grabs:
|
||||||
|
selector: times_completed
|
||||||
|
date:
|
||||||
|
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||||
|
selector: created_at
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +00:00" # GMT
|
||||||
|
- name: dateparse
|
||||||
|
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||||
|
size:
|
||||||
|
selector: size
|
||||||
|
downloadvolumefactor:
|
||||||
|
# api returns 0%, 25%, 50%, 75%, 100%
|
||||||
|
selector: freeleech
|
||||||
|
case:
|
||||||
|
0%: 1 # not free
|
||||||
|
25%: 0.75
|
||||||
|
50%: 0.5
|
||||||
|
75%: 0.25
|
||||||
|
100%: 0 # freeleech
|
||||||
|
"*": 0 # catch errors
|
||||||
|
uploadvolumefactor:
|
||||||
|
# api returns False, True
|
||||||
|
selector: double_upload
|
||||||
|
case:
|
||||||
|
False: 1 # normal
|
||||||
|
True: 2 # double
|
||||||
|
# global MR is 0.7 but torrents must be seeded for 4 days regardless of ratio
|
||||||
|
# minimumratio:
|
||||||
|
# text: 0.7
|
||||||
|
minimumseedtime:
|
||||||
|
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||||||
|
text: 345600
|
||||||
|
# json UNIT3D 7.1.3 (custom)
|
||||||
@@ -0,0 +1,238 @@
|
|||||||
|
---
|
||||||
|
id: btarg
|
||||||
|
name: BTArg
|
||||||
|
description: "BTArg is an ARGENTINIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||||
|
language: es-AR
|
||||||
|
type: private
|
||||||
|
encoding: iso-8859-1
|
||||||
|
links:
|
||||||
|
- https://www.btarg.com.ar/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
# use upload page when updating cats, browse.php uses 0a, 0b, etc for cats >10
|
||||||
|
categorymappings:
|
||||||
|
- {id: 01, cat: Movies, desc: "Cine Arg."}
|
||||||
|
- {id: 02, cat: Movies/Foreign, desc: "Cine Int."}
|
||||||
|
- {id: 03, cat: TV, desc: "TV Arg."}
|
||||||
|
- {id: 04, cat: TV/Foreign, desc: "TV Int."}
|
||||||
|
- {id: 05, cat: XXX, desc: "XXX"}
|
||||||
|
- {id: 06, cat: TV/Anime, desc: "Anime"}
|
||||||
|
- {id: 07, cat: TV/Sport, desc: "Deportes"}
|
||||||
|
- {id: 08, cat: Audio/Video, desc: "Video Clips"}
|
||||||
|
- {id: 09, cat: Audio, desc: "Musica Arg."}
|
||||||
|
- {id: 10, cat: Audio/Foreign, desc: "Musica Int."}
|
||||||
|
- {id: 11, cat: Movies/DVD, desc: "DVD-R"}
|
||||||
|
- {id: 12, cat: PC/Games, desc: "Juegos"}
|
||||||
|
- {id: 13, cat: PC/0day, desc: "Software Arg."}
|
||||||
|
- {id: 14, cat: PC/0day, desc: "Software Int."}
|
||||||
|
- {id: 15, cat: Other, desc: "Otros"}
|
||||||
|
- {id: 16, cat: Other, desc: "Subpacks"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid]
|
||||||
|
movie-search: [q, imdbid]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: added
|
||||||
|
options:
|
||||||
|
added: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
name: title
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
DESC: desc
|
||||||
|
ASC: asc
|
||||||
|
- name: info_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Por página Torrents:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Those new accounts that do not register a transfer or have any movement in the forum after 4 weeks will be disabled."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: tracker/takelogin.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: td.embedded:has(h2:contains("fallado"))
|
||||||
|
test:
|
||||||
|
path: tracker/index.php
|
||||||
|
selector: a[href="logout.php"], a[href^="download.php/"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: tracker/browse.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}cat[]={{.}}&{{end}}"
|
||||||
|
keywords: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||||
|
# 0 title, 1 title+descr, 2 descr
|
||||||
|
type: "{{ if .Query.IMDBID }}2{{ else }}0{{ end }}"
|
||||||
|
# 0 active, 1 incldead, 2 dead
|
||||||
|
incldead: 0 # dead results don't have torrents
|
||||||
|
# 0 all, 1 free, 2 normal
|
||||||
|
inclfree: "{{ if .Config.freeleech }}1{{ else }}0{{ end }}"
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
d: "{{ .Config.type }}"
|
||||||
|
list: 1
|
||||||
|
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(S(\\d{1,3}))(?![\\dE])", "Temporada"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table > tbody > tr:not(tr:first-child):not(tr.browse)
|
||||||
|
after: 1
|
||||||
|
|
||||||
|
fields:
|
||||||
|
categorydesc:
|
||||||
|
selector: a[href*="?cat="] img
|
||||||
|
attribute: title
|
||||||
|
title_default:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Primera Temporada)", "S01"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Segunda Temporada)", "S02"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Tercera Temporada)", "S03"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Cuarta Temporada)", "S04"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Quinta Temporada)", "S05"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Sexta Temporada)", "S06"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Septima Temporada)", "S07"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Octava Temporada)", "S08"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Novena Temporada)", "S09"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Decima Temporada)", "S10"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Onceava Temporada)", "S11"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Decimosegunda Temporada)", "S12"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)Temporada (\\d{1,3})\\s*y\\s*(\\d{1,3})", "S$1-$2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)Temporada (\\d{1,3})", "S$1"]
|
||||||
|
# move ARG tag to end
|
||||||
|
- name: re_replace
|
||||||
|
args: ["^(\\[ARG\\]) (.+?)$", "$2 $1"]
|
||||||
|
# move quality tags to end
|
||||||
|
- name: re_replace
|
||||||
|
args: ["^(\\[.+?\\]) (.+?)$", "$2 $1"]
|
||||||
|
title:
|
||||||
|
selector: a[title][href^="details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result.title_default }}"
|
||||||
|
filters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Primera Temporada)", "S01"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Segunda Temporada)", "S02"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Tercera Temporada)", "S03"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Cuarta Temporada)", "S04"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Quinta Temporada)", "S05"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Sexta Temporada)", "S06"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Septima Temporada)", "S07"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Octava Temporada)", "S08"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Novena Temporada)", "S09"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Decima Temporada)", "S10"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Onceava Temporada)", "S11"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)(Decimosegunda Temporada)", "S12"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)Temporada (\\d{1,3})\\s*y\\s*(\\d{1,3})", "S$1-$2"]
|
||||||
|
- name: re_replace
|
||||||
|
args: ["(?i)Temporada (\\d{1,3})", "S$1"]
|
||||||
|
# move ARG tag to end
|
||||||
|
- name: re_replace
|
||||||
|
args: ["^(\\[ARG\\]) (.+?)$", "$2 $1"]
|
||||||
|
# move quality tags to end
|
||||||
|
- name: re_replace
|
||||||
|
args: ["^(\\[.+?\\]) (.+?)$", "$2 $1"]
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php/"]
|
||||||
|
attribute: href
|
||||||
|
date:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
remove: font
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +00:00" # auto adjusted by site account profile
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd zzz"
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(3)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "^(\\d+) \/"
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "\/ (\\d+)$"
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(9)
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "\\\xA0(\\d+)\\\xA0"
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
"font[color=\"red\"]:contains(\"FREE!\")": 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
minimumratio:
|
||||||
|
text: 0.5
|
||||||
|
description_default:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
description:
|
||||||
|
selector: a[title][href^="details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result.description_default }}"
|
||||||
|
# engine tbd
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
---
|
||||||
|
id: btetree
|
||||||
|
name: BT.etree
|
||||||
|
description: "BT.etree is a Public Tracker dedicated to Bootleg FLAC MUSIC"
|
||||||
|
language: en-US
|
||||||
|
type: public
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://bt.etree.org/
|
||||||
|
legacylinks:
|
||||||
|
- http://bt.etree.org/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categories:
|
||||||
|
Music: Audio/Lossless
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
music-search: [q, artist]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: added
|
||||||
|
options:
|
||||||
|
added: created
|
||||||
|
seeders: seeders
|
||||||
|
name: title
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# http://bt.etree.org/?searchzzzz=&cat=0
|
||||||
|
- path: /
|
||||||
|
inputs:
|
||||||
|
searchzzzz: "{{ if .Query.Artist }}{{ .Query.Artist }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||||
|
cat: 0
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table[bgcolor="#CCCCCC"] tbody tr:has(a[href^="download.php"])
|
||||||
|
filters:
|
||||||
|
- name: andmatch
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
text: Music
|
||||||
|
title:
|
||||||
|
selector: a.details_link
|
||||||
|
details:
|
||||||
|
selector: a.details_link
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php"]
|
||||||
|
attribute: href
|
||||||
|
files:
|
||||||
|
selector: td:nth-child(4)
|
||||||
|
date:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: [" ", " 0"]
|
||||||
|
- name: dateparse
|
||||||
|
args: "MM/dd HH:mm"
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(7)
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(9)
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,105 @@
|
|||||||
|
---
|
||||||
|
id: btmet
|
||||||
|
name: BTMET
|
||||||
|
description: "BTMET is a Public magnet indexer"
|
||||||
|
language: en-US
|
||||||
|
type: public
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://btmet.com/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categories:
|
||||||
|
Audio: Audio
|
||||||
|
Compressed: Other
|
||||||
|
Document: Books
|
||||||
|
Image: Other
|
||||||
|
Installation: PC
|
||||||
|
Other: Other
|
||||||
|
TV: TV # dummy cat to allow both Movies,TV to be categorised when Video is found.
|
||||||
|
Video: Movies
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: 0
|
||||||
|
options:
|
||||||
|
0: relevance
|
||||||
|
1: created
|
||||||
|
2: size
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://btmet.com/search.php?q=2022&c=&l=&o=1
|
||||||
|
- path: search.php
|
||||||
|
inputs:
|
||||||
|
q: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||||
|
# does not support multi cats so defaulting to all
|
||||||
|
c: ""
|
||||||
|
# 1 Chinese, 2 Japanese, 3 Korean
|
||||||
|
l: ""
|
||||||
|
o: "{{ if .Keywords }}{{ .Config.sort }}{{ else }}1{{ end }}"
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: div.search-item:has(a[href^="magnet"])
|
||||||
|
filters:
|
||||||
|
- name: andmatch
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: div.item-bar > span[class="cpill blue-pill"]
|
||||||
|
category|append:
|
||||||
|
# add tv to video
|
||||||
|
optional: true
|
||||||
|
selector: div.item-bar > span[class="cpill blue-pill"]
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["Video", "TV"]
|
||||||
|
title:
|
||||||
|
selector: a.smashTitle > script
|
||||||
|
filters:
|
||||||
|
- name: urldecode
|
||||||
|
- name: replace
|
||||||
|
args: ['document.write(decodeURIComponent("', ""]
|
||||||
|
- name: replace
|
||||||
|
args: ['"));', ""]
|
||||||
|
- name: replace
|
||||||
|
args: ["<b style='color:#ea644a'>", ""]
|
||||||
|
- name: replace
|
||||||
|
args: ["</b>", ""]
|
||||||
|
details:
|
||||||
|
selector: a.smashTitle
|
||||||
|
attribute: href
|
||||||
|
infohash:
|
||||||
|
selector: a[href^="magnet:?xt="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: ([a-f|0-9]{40})
|
||||||
|
date:
|
||||||
|
# unix
|
||||||
|
selector: div.item-bar > span:nth-child(2) > b
|
||||||
|
attribute: t
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: (\d{10})
|
||||||
|
size:
|
||||||
|
selector: div.item-bar > span:nth-child(3) > b
|
||||||
|
files:
|
||||||
|
selector: div.item-bar > span:nth-child(4) > b
|
||||||
|
seeders:
|
||||||
|
selector: div.item-bar > span:nth-child(5) > b
|
||||||
|
leechers:
|
||||||
|
text: 1
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,278 @@
|
|||||||
|
---
|
||||||
|
id: btnext
|
||||||
|
name: BTNext
|
||||||
|
description: "BTNext (BTNT) is a PORTUGUESE Private Torrent Tracker for 0DAY / GENERAL"
|
||||||
|
language: pt-PT
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://tracker.btnext.com/ # site forces https
|
||||||
|
legacylinks:
|
||||||
|
- http://tracker.btnext.com/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 86, cat: Other, desc: "Freeleech"}
|
||||||
|
- {id: 88, cat: Movies, desc: "Movies"}
|
||||||
|
- {id: 89, cat: Console, desc: "Games"}
|
||||||
|
- {id: 87, cat: TV, desc: "Series"}
|
||||||
|
- {id: 93, cat: Audio, desc: "Musica"}
|
||||||
|
- {id: 108, cat: Movies, desc: "ViP"}
|
||||||
|
- {id: 1, cat: Movies, desc: "Movies"}
|
||||||
|
- {id: 70, cat: Movies/3D, desc: "Movies 3D"}
|
||||||
|
- {id: 71, cat: Movies/SD, desc: "Movies 480p"}
|
||||||
|
- {id: 72, cat: Movies/BluRay, desc: "Movies BD-R"}
|
||||||
|
- {id: 31, cat: Movies/HD, desc: "Movies BDRIP/BRRip"}
|
||||||
|
- {id: 16, cat: Movies/SD, desc: "Movies CAM"}
|
||||||
|
- {id: 74, cat: Movies/DVD, desc: "Movies DvD-R"}
|
||||||
|
- {id: 76, cat: Movies, desc: "Movies Packs"}
|
||||||
|
- {id: 115, cat: Movies/Other, desc: "Movies Kids"}
|
||||||
|
- {id: 91, cat: Movies/Other, desc: "Movies Kids Inglês"}
|
||||||
|
- {id: 113, cat: Movies/Other, desc: "Movies Kids PT-BR"}
|
||||||
|
- {id: 114, cat: Movies/Other, desc: "Movies Kids PT-PT"}
|
||||||
|
- {id: 77, cat: Movies/WEB-DL, desc: "Movies WEB-DL"}
|
||||||
|
- {id: 85, cat: Movies/DVD, desc: "Movies Custom-DVDR"}
|
||||||
|
- {id: 14, cat: Movies/SD, desc: "Movies DVDRip/XViD"}
|
||||||
|
- {id: 98, cat: Movies/Other, desc: "Movies Juvenil"}
|
||||||
|
- {id: 104, cat: Movies/UHD, desc: "Movies Bluray-UHD"}
|
||||||
|
- {id: 102, cat: Movies/HD, desc: "Movies HD-720p"}
|
||||||
|
- {id: 101, cat: Movies/HD, desc: "Movies HD-1080p"}
|
||||||
|
- {id: 103, cat: Movies/UHD, desc: "Movies HD-2160p"}
|
||||||
|
- {id: 42, cat: TV, desc: "TV Series"}
|
||||||
|
- {id: 45, cat: TV/Documentary, desc: "Documentaries"}
|
||||||
|
- {id: 46, cat: TV/Sport, desc: "Sports"}
|
||||||
|
- {id: 47, cat: TV/HD, desc: "TV Bluray"}
|
||||||
|
- {id: 48, cat: TV/SD, desc: "TV Dvd-R"}
|
||||||
|
- {id: 49, cat: TV/SD, desc: "TV DVDRiP"}
|
||||||
|
- {id: 50, cat: TV, desc: "TV Packs"}
|
||||||
|
- {id: 92, cat: TV, desc: "TV Kids"}
|
||||||
|
- {id: 112, cat: TV, desc: "TV Juvenil"}
|
||||||
|
- {id: 52, cat: TV/SD, desc: "TV SDx264"}
|
||||||
|
- {id: 53, cat: TV/WEB-DL, desc: "TV WEB-DL"}
|
||||||
|
- {id: 55, cat: TV/HD, desc: "TV X264"}
|
||||||
|
- {id: 56, cat: TV/SD, desc: "TV-XViD"}
|
||||||
|
- {id: 7, cat: Audio, desc: "Music"}
|
||||||
|
- {id: 20, cat: Audio/Video, desc: "Music MVideo"}
|
||||||
|
- {id: 21, cat: Audio/MP3, desc: "Music MP3"}
|
||||||
|
- {id: 33, cat: Audio/Video, desc: "Music MP4"}
|
||||||
|
- {id: 32, cat: Audio/Lossless, desc: "Music FLAC"}
|
||||||
|
- {id: 2, cat: Console, desc: "Games"}
|
||||||
|
- {id: 78, cat: PC/Games, desc: "Games Linux"}
|
||||||
|
- {id: 79, cat: PC/Mac, desc: "Games MacOSX"}
|
||||||
|
- {id: 28, cat: Console/NDS, desc: "Games Nintendo DS"}
|
||||||
|
- {id: 27, cat: PC/Games, desc: "Games PC/Windows"}
|
||||||
|
- {id: 111, cat: Console, desc: "Games Nintendo Sw"}
|
||||||
|
- {id: 80, cat: Console/PS3, desc: "Games PS2"}
|
||||||
|
- {id: 81, cat: Console/PS3, desc: "Games PS3"}
|
||||||
|
- {id: 82, cat: Console/PS4, desc: "Games PS4"}
|
||||||
|
- {id: 83, cat: Console/PSP, desc: "Games PSP"}
|
||||||
|
- {id: 95, cat: Console/PS Vita, desc: "Games PSVITA"}
|
||||||
|
- {id: 4, cat: Console/Wii, desc: "Games Wii"}
|
||||||
|
- {id: 26, cat: Console/XBox 360, desc: "Games XBOX360"}
|
||||||
|
- {id: 84, cat: Console/XBox, desc: "Games XONE"}
|
||||||
|
- {id: 6, cat: PC, desc: "Applications"}
|
||||||
|
- {id: 18, cat: PC/ISO, desc: "Applications PC"}
|
||||||
|
- {id: 19, cat: PC/Mac, desc: "Applications Macintosh"}
|
||||||
|
- {id: 34, cat: PC/ISO, desc: "Applications Linux"}
|
||||||
|
- {id: 44, cat: Other, desc: "Miscellaneous"}
|
||||||
|
- {id: 54, cat: Audio/Audiobook, desc: "Books Audiobook"}
|
||||||
|
- {id: 57, cat: Books/EBook, desc: "Books E-Books"}
|
||||||
|
- {id: 58, cat: Books/Comics, desc: "Books Comics"}
|
||||||
|
- {id: 59, cat: Books, desc: "Books Educational"}
|
||||||
|
- {id: 60, cat: Books/Mags, desc: "Books Magazines/Journals"}
|
||||||
|
- {id: 61, cat: Other, desc: "Pics/Wallpapers"}
|
||||||
|
- {id: 62, cat: PC/Mobile-Android, desc: "Android"}
|
||||||
|
- {id: 63, cat: PC/Mobile-iOS, desc: "iOS"}
|
||||||
|
- {id: 66, cat: PC/Mobile-Other, desc: "WindowsPhone"}
|
||||||
|
- {id: 90, cat: Other, desc: "GPS"}
|
||||||
|
- {id: 68, cat: Other, desc: "Others"}
|
||||||
|
- {id: 100, cat: Other, desc: "Revistas"}
|
||||||
|
- {id: 109, cat: TV/Anime, desc: "Anime"}
|
||||||
|
- {id: 51, cat: TV/Anime, desc: "Anime Filmes"}
|
||||||
|
- {id: 99, cat: TV/Anime, desc: "Anime Hentai"}
|
||||||
|
- {id: 110, cat: TV/Anime, desc: "Anime TV Séries"}
|
||||||
|
- {id: 41, cat: XXX, desc: "XXX"}
|
||||||
|
- {id: 64, cat: XXX, desc: "XXX-Magazines"}
|
||||||
|
- {id: 65, cat: XXX, desc: "XXX-Movies"}
|
||||||
|
- {id: 67, cat: XXX/Pack, desc: "XXX-Packs"}
|
||||||
|
- {id: 69, cat: XXX/ImageSet, desc: "XXX-Pics/Wallpapers"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid]
|
||||||
|
movie-search: [q, imdbid]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: info
|
||||||
|
type: info
|
||||||
|
label: Layout
|
||||||
|
default: "<ol><li>Only the English Classic profile is supported.</li><li>Make sure to set the <b>Torrent Listing (Lista de Torrents)</b> option in your profile to <b>Classic (Clássico)</b></li><li>Using the <i>Moderna</i> theme will prevent results.</li></ol>"
|
||||||
|
- name: sort
|
||||||
|
type: select
|
||||||
|
label: Sort requested from site
|
||||||
|
default: added
|
||||||
|
options:
|
||||||
|
added: created
|
||||||
|
seeders: seeders
|
||||||
|
size: size
|
||||||
|
- name: type
|
||||||
|
type: select
|
||||||
|
label: Order requested from site
|
||||||
|
default: desc
|
||||||
|
options:
|
||||||
|
desc: desc
|
||||||
|
asc: asc
|
||||||
|
- name: info_results
|
||||||
|
type: info
|
||||||
|
label: Search results
|
||||||
|
default: "If you get 0 results check the log for error: <b>An error has occurred!You can't view this page unless you read all your unread messages</b>, then access the site with your browser and <b>mark as read</b> all PMs."
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: ?p=home&pid=1
|
||||||
|
method: form
|
||||||
|
form: form#loginbox_form
|
||||||
|
submitpath: /ajax/login.php
|
||||||
|
inputs:
|
||||||
|
action: login
|
||||||
|
loginbox_membername: "{{ .Config.username }}"
|
||||||
|
loginbox_password: "{{ .Config.password }}"
|
||||||
|
loginbox_remember: 1
|
||||||
|
selectorinputs:
|
||||||
|
securitytoken:
|
||||||
|
selector: "script:contains(\"stKey: \")"
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "stKey: \"(.+?)\","
|
||||||
|
error:
|
||||||
|
- selector: ":contains(\"-ERROR-\")"
|
||||||
|
test:
|
||||||
|
path: ?p=torrents&pid=32
|
||||||
|
selector: a#logout
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
keywordsfilters:
|
||||||
|
- name: re_replace
|
||||||
|
args: ["[^a-zA-Z0-9]+", "%25"]
|
||||||
|
inputs:
|
||||||
|
p: torrents
|
||||||
|
pid: 32
|
||||||
|
$raw: "{{ range .Categories }}cid[]={{.}}&{{end}}"
|
||||||
|
keywords: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||||
|
# name, description, both, uploader
|
||||||
|
search_type: "{{ if .Query.IMDBID }}description{{ else }}name{{ end }}"
|
||||||
|
"sortOptions[sortBy]": "{{ .Config.sort }}"
|
||||||
|
"sortOptions[sortOrder]": "{{ .Config.type }}"
|
||||||
|
error:
|
||||||
|
- selector: div.error:not(:contains("Não existem resultados encontrados.")):not(:contains("There are no results found."))
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table#torrents_table_classic > tbody > tr:has(td.torrent_name)
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: div.category_image > a
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cid
|
||||||
|
title:
|
||||||
|
selector: a[href*="?p=torrents&pid=10&action=details"]
|
||||||
|
details:
|
||||||
|
selector: a[href*="?p=torrents&pid=10&action=details"]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href*="?p=torrents&pid=10&action=download"]
|
||||||
|
attribute: href
|
||||||
|
size:
|
||||||
|
selector: a[rel="torrent_size"]
|
||||||
|
seeders:
|
||||||
|
selector: a[rel="torrent_seeders"]
|
||||||
|
leechers:
|
||||||
|
selector: a[rel="torrent_leechers"]
|
||||||
|
grabs:
|
||||||
|
selector: a[rel="times_completed"]
|
||||||
|
poster:
|
||||||
|
selector: a[rel="fancybox"]
|
||||||
|
attribute: href
|
||||||
|
imdbid:
|
||||||
|
# a href="http://tracker.btnext.com/data/torrents/imdb/tt0249677.jpg"
|
||||||
|
selector: a[href*="/imdb/tt"]
|
||||||
|
attribute: href
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
"img[title=\"FREE!\"]": 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
date_ago:
|
||||||
|
selector: td.torrent_name > abbr.timeago
|
||||||
|
optional: true
|
||||||
|
attribute: data-time
|
||||||
|
date_year:
|
||||||
|
selector: td.torrent_name:not(:has(abbr.timeago)):not(:contains("day")):not(:contains("Domingo")):not(:contains("Sábado")):not(:contains("Sexta")):not(:contains("Quinta")):not(:contains("Quarta")):not(:contains("Terça")):not(:contains("Segunda")):not(:contains("ontem")):not(:contains("Hoje"))
|
||||||
|
optional: true
|
||||||
|
remove: span, a, br
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["Enviado ", ""] # Uploaded
|
||||||
|
- name: replace
|
||||||
|
args: ["Uploaded ", ""]
|
||||||
|
- name: replace
|
||||||
|
args: [" por", ""] # by
|
||||||
|
- name: replace
|
||||||
|
args: [" by", ""]
|
||||||
|
- name: replace
|
||||||
|
args: ["às ", ""] # at
|
||||||
|
- name: replace
|
||||||
|
args: ["at ", ""]
|
||||||
|
- name: append
|
||||||
|
args: " +00:00" # WET
|
||||||
|
- name: dateparse
|
||||||
|
args: "dd-MM-yyyy HH:mm zzz"
|
||||||
|
date_day:
|
||||||
|
selector: td.torrent_name:not(:has(abbr.timeago)):contains("day"), td.torrent_name:not(:has(abbr.timeago)):contains("Domingo"), td.torrent_name:not(:has(abbr.timeago)):contains("Sábado"), td.torrent_name:not(:has(abbr.timeago)):contains("Quinta"), td.torrent_name:not(:has(abbr.timeago)):contains("Sexta"), td.torrent_name:not(:has(abbr.timeago)):contains("Quarta"), td.torrent_name:not(:has(abbr.timeago)):contains("Terça"), td.torrent_name:not(:has(abbr.timeago)):contains("Segunda"), td.torrent_name:not(:has(abbr.timeago)):contains("ontem"), td.torrent_name:not(:has(abbr.timeago)):contains("Hoje")
|
||||||
|
optional: true
|
||||||
|
remove: span, a, br
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["Enviado ", ""] # Uploaded
|
||||||
|
- name: replace
|
||||||
|
args: ["Uploaded ", ""]
|
||||||
|
- name: replace
|
||||||
|
args: [" por", ""] # by
|
||||||
|
- name: replace
|
||||||
|
args: [" by", ""]
|
||||||
|
- name: replace
|
||||||
|
args: ["às ", "at "]
|
||||||
|
- name: replace
|
||||||
|
args: ["Hoje", "Today"]
|
||||||
|
- name: replace
|
||||||
|
args: ["ontem", "Yesterday"]
|
||||||
|
- name: replace
|
||||||
|
args: ["Segunda", "Monday"]
|
||||||
|
- name: replace
|
||||||
|
args: ["Terça", "Tuesday"]
|
||||||
|
- name: replace
|
||||||
|
args: ["Quarta", "Wednesday"]
|
||||||
|
- name: replace
|
||||||
|
args: ["Quinta", "Thursday"]
|
||||||
|
- name: replace
|
||||||
|
args: ["Sexta", "Friday"]
|
||||||
|
- name: replace
|
||||||
|
args: ["Sábado", "Saturday"]
|
||||||
|
- name: replace
|
||||||
|
args: ["Domingo", "Sunday"]
|
||||||
|
- name: fuzzytime
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_year .Result.date_day .Result.date_ago }}{{ or .Result.date_year .Result.date_day .Result.date_ago }}{{ else }}now{{ end }}"
|
||||||
|
# TSUE 2.2
|
||||||
@@ -0,0 +1,158 @@
|
|||||||
|
---
|
||||||
|
id: btschool
|
||||||
|
name: BTSCHOOL
|
||||||
|
description: "BTSCHOOL is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||||
|
language: zh-CN
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://pt.btschool.club/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 405, cat: Movies, desc: "电影/Movies"}
|
||||||
|
- {id: 406, cat: TV, desc: "连续剧/TV-Series"}
|
||||||
|
- {id: 407, cat: TV/Anime, desc: "动漫/Animation"}
|
||||||
|
- {id: 408, cat: TV/Documentary, desc: "纪录片/Documentary"}
|
||||||
|
- {id: 412, cat: TV, desc: "综艺/TV-Show"}
|
||||||
|
- {id: 404, cat: PC/0day, desc: "软件/Software"}
|
||||||
|
- {id: 402, cat: TV, desc: "资料/Education"}
|
||||||
|
- {id: 411, cat: PC/Games, desc: "游戏/Game"}
|
||||||
|
- {id: 409, cat: Audio, desc: "音乐/Music"}
|
||||||
|
- {id: 410, cat: TV/Sport, desc: "体育/Sports"}
|
||||||
|
- {id: 415, cat: Other, desc: "其他/Other"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid]
|
||||||
|
movie-search: [q, imdbid]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: flaresolverr
|
||||||
|
type: info
|
||||||
|
label: FlareSolverr
|
||||||
|
default: This site may use Cloudflare DDoS Protection, therefore Prowlarr requires <a href="https://wiki.servarr.com/prowlarr/faq#can-i-use-flaresolverr-indexers" target="_blank" rel="noreferrer">FlareSolverr</a> to access it.
|
||||||
|
- name: info_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Cherish your user account. Inactive accounts would be deleted based on the following rules:<ol><li>Extreme User or above would never be deleted.</li><li>Veteran User or above would never be deleted if packed (at User CP).</li><li>Packed accounts would be deleted if users have not logged in for more than 365 days in a row.</li><li>Unpacked accounts would be deleted if users have not logged in for more than 150 days in a row.</li><li>Accounts with both uploaded and downloaded amount being 0 would be deleted if users have not logged in for more than 30 days in a row.</li></ol>"
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login.php
|
||||||
|
method: form
|
||||||
|
form: form[action="takelogin.php"]
|
||||||
|
captcha:
|
||||||
|
type: image
|
||||||
|
selector: img[alt="CAPTCHA"]
|
||||||
|
input: imagestring
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: td.embedded:has(h2:contains("登錄失敗"))
|
||||||
|
- selector: td.embedded:has(h2:contains("失败"))
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||||
|
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||||
|
# 0 incldead, 1 active, 2 justdead
|
||||||
|
incldead: 0
|
||||||
|
# promotion: 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x 50%, 7 30%
|
||||||
|
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||||
|
# 0 title, 1 descr, 3 uploader, 4 imdb
|
||||||
|
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
|
||||||
|
# 0 AND, 1 OR, 2 exact
|
||||||
|
search_mode: 0
|
||||||
|
sort: 4
|
||||||
|
type: desc
|
||||||
|
notnewword: 1
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title:
|
||||||
|
selector: a[title][href^="details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
details:
|
||||||
|
selector: a[title][href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
date_elapsed:
|
||||||
|
# time type: time elapsed (default)
|
||||||
|
selector: td:nth-child(4) > span[title]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
date_added:
|
||||||
|
# time added
|
||||||
|
selector: td:nth-child(4):not(:has(span))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: td.rowfollow:nth-child(5)
|
||||||
|
seeders:
|
||||||
|
selector: td.rowfollow:nth-child(6)
|
||||||
|
leechers:
|
||||||
|
selector: td.rowfollow:nth-child(7)
|
||||||
|
grabs:
|
||||||
|
selector: td.rowfollow:nth-child(8)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_free: 0
|
||||||
|
img.pro_free2up: 0
|
||||||
|
img.pro_50pctdown: 0.5
|
||||||
|
img.pro_50pctdown2up: 0.5
|
||||||
|
img.pro_30pctdown: 0.3
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_50pctdown2up: 2
|
||||||
|
img.pro_free2up: 2
|
||||||
|
img.pro_2up: 2
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
description:
|
||||||
|
selector: td:nth-child(2)
|
||||||
|
remove: a, b, font, img, span
|
||||||
|
# NexusPHP Standard v1.5 Beta 4
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
---
|
||||||
|
id: btsow
|
||||||
|
name: BTSOW
|
||||||
|
description: "BTSOW is a Public torrent indexer"
|
||||||
|
language: en-US
|
||||||
|
type: public
|
||||||
|
encoding: UTF-8
|
||||||
|
# use https://tellme.pw/btsow to find the new domain
|
||||||
|
links:
|
||||||
|
- https://btsow.motorcycles/
|
||||||
|
legacylinks:
|
||||||
|
- https://btsow.rest/
|
||||||
|
- https://btsow.bar/
|
||||||
|
- https://btsow.click/
|
||||||
|
- https://btsow.cfd/
|
||||||
|
- https://btsow.sbs/
|
||||||
|
- https://btsow.quest/
|
||||||
|
- https://btsow.autos/
|
||||||
|
- https://btsow.beauty/
|
||||||
|
- https://btsow.mom/
|
||||||
|
- https://btsow.boats/
|
||||||
|
- https://btsow.hair/
|
||||||
|
- https://btsow.bond/
|
||||||
|
- https://btsow.skin/
|
||||||
|
- https://btsow.makeup/
|
||||||
|
- https://btsow.homes/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categories:
|
||||||
|
Other: Other
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: info_8000
|
||||||
|
type: info
|
||||||
|
label: About BTSOW Categories
|
||||||
|
default: BTSOW does not return categories in its search results.</br>To add to your Apps' Torznab indexer, replace all categories with 8000(Other).
|
||||||
|
|
||||||
|
download:
|
||||||
|
selectors:
|
||||||
|
- selector: a#magnetOpen
|
||||||
|
attribute: href
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: "search/{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
|
||||||
|
|
||||||
|
headers:
|
||||||
|
# site blocks Jackett's User-Agents, so slightly alter it here (e.g. Safari/537.36 > Safari/537.35)
|
||||||
|
User-Agent: ["Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.35"]
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: div.row:has(a[href*="/detail/hash/"])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
text: Other
|
||||||
|
title:
|
||||||
|
selector: a[href*="/detail/hash/"]
|
||||||
|
attribute: title
|
||||||
|
details:
|
||||||
|
selector: a[href*="/detail/hash/"]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href*="/detail/hash/"]
|
||||||
|
attribute: href
|
||||||
|
date:
|
||||||
|
selector: div.date
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " -00:00" # GMT
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd zzz"
|
||||||
|
size:
|
||||||
|
selector: div.size
|
||||||
|
seeders:
|
||||||
|
text: 1
|
||||||
|
leechers:
|
||||||
|
text: 1
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# engine n/a
|
||||||
@@ -0,0 +1,235 @@
|
|||||||
|
---
|
||||||
|
id: bwtorrents
|
||||||
|
name: BwTorrents
|
||||||
|
description: "BwTorrents is a Private Torrent Tracker for BollyWood MOVIES / TV / GENERAL"
|
||||||
|
language: en-US
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://bwtorrents.tv/
|
||||||
|
- https://bwtorrents.co/
|
||||||
|
- https://bwtorrents.cc/
|
||||||
|
legacylinks:
|
||||||
|
- https://bwtorrents.fun/
|
||||||
|
- https://bwtorrents.xyz/
|
||||||
|
- https://bwtorrents.us/
|
||||||
|
- https://bwtorrents.live/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
# note: to update cats for this site its easier to use my.php and sort by cat integer
|
||||||
|
# also cat 187 is undocumented but exists
|
||||||
|
- {id: 113, cat: Movies, desc: "Bollywood-Pre-Release"}
|
||||||
|
- {id: 114, cat: Movies/UHD, desc: "Bollywood-4K Ultra HD / Upscaled"}
|
||||||
|
- {id: 115, cat: Movies/BluRay, desc: "Bollywood-Untouched BluRay"}
|
||||||
|
- {id: 116, cat: Movies/HD, desc: "Bollywood-1080p BluRay Rips"}
|
||||||
|
- {id: 117, cat: Movies/HD, desc: "Bollywood-720p BluRay Rips"}
|
||||||
|
- {id: 118, cat: Movies, desc: "Bollywood-Remuxes BluRay"}
|
||||||
|
- {id: 119, cat: Movies/WEB-DL, desc: "Bollywood-Untouched WEB-DLs"}
|
||||||
|
- {id: 120, cat: Movies/WEB-DL, desc: "Bollywood-1080p WEB-Rips"}
|
||||||
|
- {id: 121, cat: Movies/DVD, desc: "Bollywood-Untouched DVDs"}
|
||||||
|
- {id: 122, cat: Movies/WEB-DL, desc: "Bollywood-DVDRips 1080p/720p"}
|
||||||
|
- {id: 123, cat: Movies/WEB-DL, desc: "Bollywood-SDRips WEB/DVD"}
|
||||||
|
- {id: 124, cat: Movies/3D, desc: "Bollywood-3D-Movies"}
|
||||||
|
- {id: 125, cat: Movies/WEB-DL, desc: "Bollywood-Web Series"}
|
||||||
|
- {id: 126, cat: Movies/UHD, desc: "Hollywood-4K Ultra HD / Upscaled"}
|
||||||
|
- {id: 127, cat: Movies/BluRay, desc: "Hollywood-Untouched BluRay"}
|
||||||
|
- {id: 128, cat: Movies/HD, desc: "Hollywood-1080p BluRay Rips"}
|
||||||
|
- {id: 129, cat: Movies/HD, desc: "Hollywood-720p BluRay Rips"}
|
||||||
|
- {id: 130, cat: Movies, desc: "Hollywood-BluRay Remuxes"}
|
||||||
|
- {id: 131, cat: Movies/WEB-DL, desc: "Hollywood-Untouched WEB-DLs"}
|
||||||
|
- {id: 132, cat: Movies, desc: "Hollywood-1080p WEB-Rips"}
|
||||||
|
- {id: 133, cat: Movies/DVD, desc: "Hollywood-Untouched DVDs"}
|
||||||
|
- {id: 134, cat: Movies/WEB-DL, desc: "Hollywood-DVDRips 1080p/720p"}
|
||||||
|
- {id: 135, cat: Movies/3D, desc: "Hollywood-3D-Movies"}
|
||||||
|
- {id: 136, cat: Movies, desc: "Hollywood-Pre-Release"}
|
||||||
|
- {id: 137, cat: Movies, desc: "Malayalam-Movies"}
|
||||||
|
- {id: 140, cat: Movies, desc: "Punjabi-Movies"}
|
||||||
|
- {id: 141, cat: Movies, desc: "Kannada-Movies"}
|
||||||
|
- {id: 142, cat: Movies, desc: "Lollywood-Movies"}
|
||||||
|
- {id: 143, cat: Movies, desc: "Bhoipuri-Movies"}
|
||||||
|
- {id: 144, cat: Movies, desc: "Marathi-Movies"}
|
||||||
|
- {id: 145, cat: Movies, desc: "Bangla-Movies"}
|
||||||
|
- {id: 146, cat: TV, desc: "TV-Colors"}
|
||||||
|
- {id: 147, cat: TV, desc: "TV-TV"}
|
||||||
|
- {id: 148, cat: TV, desc: "TV-Life OK"}
|
||||||
|
- {id: 149, cat: TV, desc: "TV-Pakistan Drams"}
|
||||||
|
- {id: 150, cat: TV, desc: "TV-Sab TV"}
|
||||||
|
- {id: 151, cat: TV, desc: "TV-Sony"}
|
||||||
|
- {id: 152, cat: TV, desc: "TV-Star Bharat"}
|
||||||
|
- {id: 153, cat: TV, desc: "TV-Star Plus"}
|
||||||
|
- {id: 154, cat: TV, desc: "TV-Zee TV"}
|
||||||
|
- {id: 155, cat: TV/Sport, desc: "TV-Sports"}
|
||||||
|
- {id: 156, cat: TV/Documentary, desc: "TV-Documentaries"}
|
||||||
|
- {id: 157, cat: TV, desc: "TV-Hollywood Tv Shows"}
|
||||||
|
- {id: 158, cat: TV, desc: "TV-Other Tv Shows"}
|
||||||
|
- {id: 159, cat: Audio, desc: "Music-Religion & Spirituality"}
|
||||||
|
- {id: 160, cat: Audio, desc: "Music-Classical"}
|
||||||
|
- {id: 161, cat: Audio/Lossless, desc: "Music-Flacs"}
|
||||||
|
- {id: 162, cat: Audio, desc: "Music-Ghazals"}
|
||||||
|
- {id: 163, cat: Audio, desc: "Music-Hindi OSTs"}
|
||||||
|
- {id: 164, cat: Audio, desc: "Music-Instrumental"}
|
||||||
|
- {id: 165, cat: Audio, desc: "Music-Kannada"}
|
||||||
|
- {id: 166, cat: Audio, desc: "Music-Lollywood"}
|
||||||
|
- {id: 167, cat: Audio, desc: "Music-Malayalam"}
|
||||||
|
- {id: 168, cat: Audio, desc: "Music-Marathi"}
|
||||||
|
- {id: 169, cat: Audio/Video, desc: "Music-Videos"}
|
||||||
|
- {id: 170, cat: Audio, desc: "Music-Pop"}
|
||||||
|
- {id: 171, cat: Audio, desc: "Music-Punjabi"}
|
||||||
|
- {id: 172, cat: Audio, desc: "Music-Remix"}
|
||||||
|
- {id: 173, cat: Audio, desc: "Music-Tamil"}
|
||||||
|
- {id: 174, cat: Audio, desc: "Music-Telugu"}
|
||||||
|
- {id: 175, cat: Books/EBook, desc: "Ebooks"}
|
||||||
|
- {id: 176, cat: PC/Games, desc: "Games PC"}
|
||||||
|
- {id: 177, cat: Console, desc: "Games Console"}
|
||||||
|
- {id: 178, cat: TV/Anime, desc: "Anime"}
|
||||||
|
- {id: 179, cat: PC, desc: "Appz"}
|
||||||
|
- {id: 180, cat: PC/Mobile-Other, desc: "Mobile Stuff"}
|
||||||
|
- {id: 181, cat: Other, desc: "Pics/Wallpapers"}
|
||||||
|
- {id: 182, cat: Movies, desc: "Other Movies"}
|
||||||
|
- {id: 183, cat: Movies, desc: "English Hindi Dubbed"}
|
||||||
|
- {id: 184, cat: Movies, desc: "South Hindi Dubbed"}
|
||||||
|
- {id: 185, cat: Movies, desc: "Gujarati-Movies"}
|
||||||
|
- {id: 186, cat: TV, desc: "TV-Dangal Tv"}
|
||||||
|
- {id: 187, cat: XXX, desc: "Adult XXX 18+"}
|
||||||
|
- {id: 188, cat: Movies/WEB-DL, desc: "Bollywood-720p WEB-Rips"}
|
||||||
|
- {id: 189, cat: Movies/DVD, desc: "Bollywood-Encoded DVDs"}
|
||||||
|
- {id: 190, cat: Movies, desc: "Bollywood-Movie packs"}
|
||||||
|
- {id: 191, cat: Movies/WEB-DL, desc: "Hollywood-Encoded DVDs"}
|
||||||
|
- {id: 192, cat: Movies, desc: "Hollywood-720p WEB-Rips"}
|
||||||
|
- {id: 193, cat: Movies/SD, desc: "Hollywood-SDRips - WEB/DVD"}
|
||||||
|
- {id: 194, cat: Movies, desc: "Hollywood-Movie packs"}
|
||||||
|
- {id: 195, cat: TV, desc: "TV-Tv Packs"}
|
||||||
|
- {id: 196, cat: Audio, desc: "Music-Packs"}
|
||||||
|
- {id: 197, cat: Movies, desc: "Turkish Hindi Dubbed"}
|
||||||
|
- {id: 198, cat: Movies, desc: "TV-MTV"}
|
||||||
|
- {id: 199, cat: Movies, desc: "Telgu-Movies | 4K Ultra HD - Upscaled"}
|
||||||
|
- {id: 200, cat: Movies, desc: "Telgu-Movies | Untouched WEB-DLs"}
|
||||||
|
- {id: 201, cat: Movies, desc: "Telgu-Movies | 1080p/720p WEBRips"}
|
||||||
|
- {id: 202, cat: Movies, desc: "Telgu-Movies | Untouched BluRay"}
|
||||||
|
- {id: 203, cat: Movies, desc: "Telgu-Movies | Untouched DVDs"}
|
||||||
|
- {id: 204, cat: Movies, desc: "Telgu-Movies | SD-WEBRips / DVDRips"}
|
||||||
|
- {id: 205, cat: Movies, desc: "Telgu-Movies | Movie Packs"}
|
||||||
|
- {id: 207, cat: Movies, desc: "Telgu-Movies | BluRay Rips"}
|
||||||
|
- {id: 208, cat: Movies, desc: "Telgu-Movies | Remuxes BluRay"}
|
||||||
|
- {id: 209, cat: Movies, desc: "Tamil-Movies | 4K Ultra HD - Upscaled"}
|
||||||
|
- {id: 210, cat: Movies, desc: "Tamil-Movies | Untouched WEB-DLs"}
|
||||||
|
- {id: 211, cat: Movies, desc: "Tamil-Movies | 1080p/720p WEBRips"}
|
||||||
|
- {id: 212, cat: Movies, desc: "Tamil-Movies | Untouched BluRay"}
|
||||||
|
- {id: 213, cat: Movies, desc: "Tamil-Movies | Untouched DVDs"}
|
||||||
|
- {id: 214, cat: Movies, desc: "Tamil-Movies | SD-WEBRips / DVDRips"}
|
||||||
|
- {id: 215, cat: Movies, desc: "Tamil-Movies | Movie Packs"}
|
||||||
|
- {id: 216, cat: Movies, desc: "Tamil-Movies | BluRay Rips"}
|
||||||
|
- {id: 217, cat: Movies, desc: "Tamil-Movies | Remuxes BluRay"}
|
||||||
|
- {id: 218, cat: TV, desc: "TV-Ishara TV"}
|
||||||
|
- {id: 219, cat: TV, desc: "TV-Bengali Tv"}
|
||||||
|
- {id: 220, cat: TV, desc: "TV-Shemaroo Umang"}
|
||||||
|
- {id: 221, cat: TV, desc: "TV-JioTv"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep]
|
||||||
|
movie-search: [q]
|
||||||
|
music-search: [q]
|
||||||
|
book-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
default: false
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Account activity:<ol><li>Zero activity accounts (0 bytes download and 0 bytes upload) are automatically deleted after 30 days</li><li>Inactive accounts under VIP and without parked are automatically deleted after 40 days.</li></ol>"
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: takelogin.php
|
||||||
|
method: post
|
||||||
|
inputs:
|
||||||
|
username: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
error:
|
||||||
|
- selector: td.embedded:has(h2:contains("failed"))
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href="logout.php"]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
# https://bwtorrents.tv/index.php?search=&blah=0&c120=1&c119=1&incldead=1
|
||||||
|
- path: index.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||||
|
search: "{{ .Keywords }}"
|
||||||
|
# 1 all, 2 onlydead, 3 free
|
||||||
|
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||||
|
# 0 name, 1 descr, 2 both
|
||||||
|
blah: 0
|
||||||
|
# does not support imdbid searches and does not have imdb links in results.
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table[width="1200"] > tbody > tr:has(a[href^="download.php/"])
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="index.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title:
|
||||||
|
selector: a[href^="details.php?id="] b
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
files:
|
||||||
|
selector: td:nth-child(3)
|
||||||
|
date:
|
||||||
|
selector: td:nth-child(5)
|
||||||
|
# auto adjusted by site account profile
|
||||||
|
filters:
|
||||||
|
- name: dateparse
|
||||||
|
args: "dd-MM-yyyyHH:mm:ss"
|
||||||
|
size:
|
||||||
|
selector: td:nth-child(6)
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php/"]
|
||||||
|
attribute: href
|
||||||
|
seeders:
|
||||||
|
selector: td:nth-child(8)
|
||||||
|
leechers:
|
||||||
|
selector: td:nth-child(9)
|
||||||
|
grabs:
|
||||||
|
selector: td:nth-child(9)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
"font:contains(\"FreeLeech\")": 0
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img[src="pic/double_upload.png"]: 2
|
||||||
|
"*": 1
|
||||||
|
genre:
|
||||||
|
selector: td:nth-child(2)
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: "Genre:\\s(.+?)$"
|
||||||
|
- name: replace
|
||||||
|
args: [", ", ","]
|
||||||
|
- name: replace
|
||||||
|
args: [" ", "_"]
|
||||||
|
description:
|
||||||
|
text: "{{ .Result.genre }}"
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
minimumseedtime:
|
||||||
|
# 3 day (as seconds = 3 x 24 x 60 x 60)
|
||||||
|
text: 259200
|
||||||
|
# AEON
|
||||||
@@ -0,0 +1,180 @@
|
|||||||
|
---
|
||||||
|
id: byrbt
|
||||||
|
name: BYRBT
|
||||||
|
description: "BYRBT is a CHINESE Private Torrent Tracker for HD MOVIES / TV / GENERAL"
|
||||||
|
language: zh-CN
|
||||||
|
type: private
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://byr.pt/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 408, cat: Movies, desc: "电影Movies"}
|
||||||
|
- {id: 401, cat: TV, desc: "剧集TV Series"}
|
||||||
|
- {id: 404, cat: TV/Anime, desc: "动漫Animations"}
|
||||||
|
- {id: 402, cat: Audio, desc: "音乐Music"}
|
||||||
|
- {id: 405, cat: Other, desc: "综艺Arts"}
|
||||||
|
- {id: 403, cat: Console, desc: "游戏Games"}
|
||||||
|
- {id: 406, cat: PC, desc: "软件Software"}
|
||||||
|
- {id: 407, cat: TV/Documentary, desc: "资料Documentaries"}
|
||||||
|
- {id: 409, cat: TV/Sport, desc: "体育Sports"}
|
||||||
|
- {id: 410, cat: Other/Misc, desc: "纪录Records"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
tv-search: [q, season, ep, imdbid, doubanid]
|
||||||
|
movie-search: [q, imdbid, doubanid]
|
||||||
|
music-search: [q]
|
||||||
|
|
||||||
|
settings:
|
||||||
|
- name: username
|
||||||
|
type: text
|
||||||
|
label: Username
|
||||||
|
- name: password
|
||||||
|
type: password
|
||||||
|
label: Password
|
||||||
|
- name: freeleech
|
||||||
|
type: checkbox
|
||||||
|
label: Search freeleech only
|
||||||
|
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_tpp
|
||||||
|
type: info
|
||||||
|
label: Results Per Page
|
||||||
|
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||||
|
- name: info_ipv6
|
||||||
|
type: info
|
||||||
|
label: IPv6 only
|
||||||
|
default: This site only accepts IPv6 addresses. If you are using IPv4 you will get a DNS Lookup Error.
|
||||||
|
- name: info_activity
|
||||||
|
type: info
|
||||||
|
label: Account Inactivity
|
||||||
|
default: "Account retention rules:<ol><li>Newly registered users who have not generated any traffic within 14 days (that is, the upload/download data are both 0) will be deleted</li><li>Users with a user level of Peasant that have failed to successfully improve their sharing rate within 14 days will be deleted.</li></ol>"
|
||||||
|
|
||||||
|
login:
|
||||||
|
path: login.php
|
||||||
|
method: form
|
||||||
|
form: form[action="takelogin.php"]
|
||||||
|
inputs:
|
||||||
|
logintype: username
|
||||||
|
userinput: "{{ .Config.username }}"
|
||||||
|
password: "{{ .Config.password }}"
|
||||||
|
autologin: yes
|
||||||
|
error:
|
||||||
|
- selector: td.embedded:has(h2:contains("失败"))
|
||||||
|
test:
|
||||||
|
path: index.php
|
||||||
|
selector: a[href^="logout.php?key="]
|
||||||
|
|
||||||
|
search:
|
||||||
|
paths:
|
||||||
|
- path: torrents.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||||
|
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.DoubanID }}/{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||||
|
# 0 incldead, 1 active, 2 dead
|
||||||
|
incldead: 0
|
||||||
|
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||||
|
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||||
|
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||||
|
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||||
|
# 0 AND, 1 OR, 2 exact, 3 NOT
|
||||||
|
search_mode: 0
|
||||||
|
sort: "{{ .Config.sort }}"
|
||||||
|
type: "{{ .Config.type }}"
|
||||||
|
notnewword: 1
|
||||||
|
|
||||||
|
rows:
|
||||||
|
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
selector: a[href^="torrents.php?cat="]
|
||||||
|
attribute: href
|
||||||
|
filters:
|
||||||
|
- name: querystring
|
||||||
|
args: cat
|
||||||
|
title_default:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
title:
|
||||||
|
selector: a[title][href^="details.php?id="]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result.title_default }}"
|
||||||
|
details:
|
||||||
|
selector: a[href^="details.php?id="]
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: a[href^="download.php?id="]
|
||||||
|
attribute: href
|
||||||
|
imdbid:
|
||||||
|
selector: a[href*="imdb.com/title/tt"]
|
||||||
|
attribute: href
|
||||||
|
date_elapsed:
|
||||||
|
# time type: time elapsed (default)
|
||||||
|
selector: td.rowfollow:nth-last-of-type(6) > span[title]
|
||||||
|
attribute: title
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||||
|
date_added:
|
||||||
|
# time added
|
||||||
|
selector: td.rowfollow:nth-last-of-type(6):not(:has(span))
|
||||||
|
optional: true
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " +08:00" # CST
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||||
|
date:
|
||||||
|
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||||
|
size:
|
||||||
|
selector: td.rowfollow:nth-last-of-type(5)
|
||||||
|
seeders:
|
||||||
|
selector: td.rowfollow:nth-last-of-type(4)
|
||||||
|
leechers:
|
||||||
|
selector: td.rowfollow:nth-last-of-type(3)
|
||||||
|
grabs:
|
||||||
|
selector: td.rowfollow:nth-last-of-type(2)
|
||||||
|
downloadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_free: 0
|
||||||
|
img.pro_free2up: 0
|
||||||
|
img.pro_50pctdown: 0.5
|
||||||
|
img.pro_50pctdown2up: 0.5
|
||||||
|
img.pro_30pctdown: 0.3
|
||||||
|
"*": 1
|
||||||
|
uploadvolumefactor:
|
||||||
|
case:
|
||||||
|
img.pro_50pctdown2up: 2
|
||||||
|
img.pro_free2up: 2
|
||||||
|
img.pro_2up: 2
|
||||||
|
"*": 1
|
||||||
|
minimumratio:
|
||||||
|
text: 1.0
|
||||||
|
minimumseedtime:
|
||||||
|
# 1 day (as seconds = 1 x 24 x 60 x 60)
|
||||||
|
text: 86400
|
||||||
|
description:
|
||||||
|
selector: td:nth-child(2)
|
||||||
|
remove: a, b, font, img, span
|
||||||
|
# NexusPHP v1.5 beta 5 20120707
|
||||||
@@ -0,0 +1,414 @@
|
|||||||
|
---
|
||||||
|
id: byrutor
|
||||||
|
name: Byrutor
|
||||||
|
description: "Byrutor is a RUSSIAN Public Torrent Tracker for GAMES"
|
||||||
|
language: ru-RU
|
||||||
|
type: public
|
||||||
|
encoding: UTF-8
|
||||||
|
links:
|
||||||
|
- https://thebyrut.org/
|
||||||
|
legacylinks:
|
||||||
|
- https://byrutor.org/
|
||||||
|
- https://byrutdb.org/
|
||||||
|
- https://byrut.org/
|
||||||
|
|
||||||
|
caps:
|
||||||
|
categorymappings:
|
||||||
|
- {id: 1, cat: PC/Games, desc: "Экшены"}
|
||||||
|
- {id: 2, cat: PC/Games, desc: "Приключения"}
|
||||||
|
- {id: 3, cat: PC/Games, desc: "Гонки"}
|
||||||
|
- {id: 4, cat: PC/Games, desc: "RPG"}
|
||||||
|
- {id: 5, cat: PC/Games, desc: "Головоломка"}
|
||||||
|
- {id: 6, cat: PC/Games, desc: "Инди"}
|
||||||
|
- {id: 7, cat: PC/Games, desc: "Стратегии"}
|
||||||
|
- {id: 8, cat: PC/Games, desc: "Выживание"}
|
||||||
|
- {id: 9, cat: PC/Games, desc: "Шутеры"}
|
||||||
|
- {id: 10, cat: PC/Games, desc: "Симуляторы"}
|
||||||
|
- {id: 11, cat: PC/Games, desc: "Спортивные"}
|
||||||
|
- {id: 12, cat: PC/Games, desc: "Аркады"}
|
||||||
|
- {id: 13, cat: PC/Games, desc: "Файтинги"}
|
||||||
|
- {id: 14, cat: PC/Games, desc: "Хорроры"}
|
||||||
|
- {id: 15, cat: PC/Games, desc: "Открытый мир"}
|
||||||
|
- {id: 16, cat: PC/Games, desc: "Аниме"}
|
||||||
|
- {id: 248, cat: PC/Games, desc: "Repack от Chovka"}
|
||||||
|
- {id: 17, cat: PC/Games, desc: "Repack от Механики"}
|
||||||
|
- {id: 20, cat: PC/Games, desc: "RePack от FitGirl"}
|
||||||
|
- {id: 18, cat: PC/Games, desc: "Repack от Xatab"}
|
||||||
|
- {id: 232, cat: PC/Games, desc: "RePack от SpaceX"}
|
||||||
|
- {id: 233, cat: PC/Games, desc: "RePack от Pioneer"}
|
||||||
|
- {id: 19, cat: PC/Games, desc: "Repack от Catalyst"}
|
||||||
|
- {id: 249, cat: PC/Games, desc: "GOG игры"}
|
||||||
|
- {id: 22, cat: PC/Games, desc: "Русская озвучка"}
|
||||||
|
- {id: 25, cat: PC/Games, desc: "Старые игры"}
|
||||||
|
- {id: 26, cat: PC/Games, desc: "Игры с геймпадом"}
|
||||||
|
- {id: 27, cat: PC/Games, desc: "Мультиплеер"}
|
||||||
|
- {id: 28, cat: PC/Games, desc: "На двоих"}
|
||||||
|
- {id: 29, cat: PC/Games, desc: "Рогалик"}
|
||||||
|
- {id: 30, cat: PC/Games, desc: "Слэшер"}
|
||||||
|
- {id: 31, cat: PC/Games, desc: "Стелс"}
|
||||||
|
- {id: 32, cat: PC/Games, desc: "Фэнтези"}
|
||||||
|
- {id: 33, cat: PC/Games, desc: "Платформер"}
|
||||||
|
- {id: 34, cat: PC/Games, desc: "Песочница"}
|
||||||
|
- {id: 35, cat: PC/Games, desc: "Игры в 2D"}
|
||||||
|
- {id: 36, cat: PC/Games, desc: "Казуальная"}
|
||||||
|
- {id: 37, cat: PC/Games, desc: "Point and click"}
|
||||||
|
- {id: 38, cat: PC/Games, desc: "Вид сбоку"}
|
||||||
|
- {id: 39, cat: PC/Games, desc: "Вид сверху"}
|
||||||
|
- {id: 40, cat: PC/Games, desc: "Tower Defense"}
|
||||||
|
- {id: 41, cat: PC/Games, desc: "Экономика"}
|
||||||
|
- {id: 42, cat: PC/Games, desc: "Тактика"}
|
||||||
|
- {id: 43, cat: PC/Games, desc: "Пошаговые стратегии (TBS)"}
|
||||||
|
- {id: 44, cat: PC/Games, desc: "Глобальные стратегии"}
|
||||||
|
- {id: 45, cat: PC/Games, desc: "Стратегии в реальном времени"}
|
||||||
|
- {id: 48, cat: PC/Games, desc: "Для взрослых"}
|
||||||
|
- {id: 49, cat: PC/Games, desc: "От первого лица"}
|
||||||
|
- {id: 50, cat: PC/Games, desc: "От третьего лица"}
|
||||||
|
- {id: 51, cat: PC/Games, desc: "Шутер от первого лица"}
|
||||||
|
- {id: 52, cat: PC/Games, desc: "Шутер от третьего лица"}
|
||||||
|
- {id: 53, cat: PC/Games, desc: "Игры для слабых ПК"}
|
||||||
|
- {id: 58, cat: PC/Games, desc: "Психологический хоррор"}
|
||||||
|
- {id: 59, cat: PC/Games, desc: "Хоррор на выживание"}
|
||||||
|
- {id: 60, cat: PC/Games, desc: "Ролевой экшен"}
|
||||||
|
- {id: 61, cat: PC/Games, desc: "Приключенческий экшен"}
|
||||||
|
- {id: 63, cat: PC/Games, desc: "Головоломка-платформер"}
|
||||||
|
- {id: 64, cat: PC/Games, desc: "Скролл-шутер"}
|
||||||
|
- {id: 65, cat: PC/Games, desc: "Шутер с видом сверху"}
|
||||||
|
- {id: 66, cat: PC/Games, desc: "Градостроительный симулятор"}
|
||||||
|
- {id: 67, cat: PC/Games, desc: "Космический симулятор"}
|
||||||
|
- {id: 68, cat: PC/Games, desc: "Научная фантастика"}
|
||||||
|
- {id: 69, cat: PC/Games, desc: "Ролевая стратегия"}
|
||||||
|
- {id: 70, cat: PC/Games, desc: "Тактическая ролевая игра"}
|
||||||
|
- {id: 71, cat: PC/Games, desc: "Тактика в реальном времени"}
|
||||||
|
- {id: 72, cat: PC/Games, desc: "Японская ролевая игра"}
|
||||||
|
- {id: 73, cat: PC/Games, desc: "Тёмное фэнтези"}
|
||||||
|
- {id: 74, cat: PC/Games, desc: "Сложная"}
|
||||||
|
- {id: 75, cat: PC/Games, desc: "Атмосфера"}
|
||||||
|
- {id: 76, cat: PC/Games, desc: "Смешная"}
|
||||||
|
- {id: 77, cat: PC/Games, desc: "Пиксельная графика"}
|
||||||
|
- {id: 78, cat: PC/Games, desc: "Юмор"}
|
||||||
|
- {id: 79, cat: PC/Games, desc: "Классика"}
|
||||||
|
- {id: 80, cat: PC/Games, desc: "Космос"}
|
||||||
|
- {id: 81, cat: PC/Games, desc: "Зомби"}
|
||||||
|
- {id: 82, cat: PC/Games, desc: "Мрачная"}
|
||||||
|
- {id: 83, cat: PC/Games, desc: "Тайна"}
|
||||||
|
- {id: 84, cat: PC/Games, desc: "Физика"}
|
||||||
|
- {id: 85, cat: PC/Games, desc: "Реализм"}
|
||||||
|
- {id: 86, cat: PC/Games, desc: "Короткая"}
|
||||||
|
- {id: 87, cat: PC/Games, desc: "Строительство"}
|
||||||
|
- {id: 88, cat: PC/Games, desc: "Война"}
|
||||||
|
- {id: 89, cat: PC/Games, desc: "Крафтинг"}
|
||||||
|
- {id: 90, cat: PC/Games, desc: "Будущее"}
|
||||||
|
- {id: 91, cat: PC/Games, desc: "Средневековье"}
|
||||||
|
- {id: 92, cat: PC/Games, desc: "Затягивающая"}
|
||||||
|
- {id: 93, cat: PC/Games, desc: "Строительство базы"}
|
||||||
|
- {id: 94, cat: PC/Games, desc: "Управление ресурсами"}
|
||||||
|
- {id: 95, cat: PC/Games, desc: "Насилие"}
|
||||||
|
- {id: 96, cat: PC/Games, desc: "Для всей семьи"}
|
||||||
|
- {id: 97, cat: PC/Games, desc: "Исследование"}
|
||||||
|
- {id: 98, cat: PC/Games, desc: "Расслабляющая"}
|
||||||
|
- {id: 99, cat: PC/Games, desc: "Реиграбельность"}
|
||||||
|
- {id: 100, cat: PC/Games, desc: "Поиск предметов"}
|
||||||
|
- {id: 101, cat: PC/Games, desc: "Пост-апокалипсис"}
|
||||||
|
- {id: 102, cat: PC/Games, desc: "Вторая мировая война"}
|
||||||
|
- {id: 103, cat: PC/Games, desc: "Военные действия"}
|
||||||
|
- {id: 105, cat: PC/Games, desc: "Вождение"}
|
||||||
|
- {id: 189, cat: PC/Games, desc: "Пошаговая"}
|
||||||
|
- {id: 106, cat: PC/Games, desc: "Пошаговая тактика"}
|
||||||
|
- {id: 328, cat: PC/Games, desc: "2D-платформер"}
|
||||||
|
- {id: 107, cat: PC/Games, desc: "3D-платформер"}
|
||||||
|
- {id: 108, cat: PC/Games, desc: "Одна жизнь"}
|
||||||
|
- {id: 109, cat: PC/Games, desc: "Паркур"}
|
||||||
|
- {id: 110, cat: PC/Games, desc: "Детектив"}
|
||||||
|
- {id: 111, cat: PC/Games, desc: "Криминал"}
|
||||||
|
- {id: 112, cat: PC/Games, desc: "Разрушения"}
|
||||||
|
- {id: 113, cat: PC/Games, desc: "90-е"}
|
||||||
|
- {id: 114, cat: PC/Games, desc: "80-е"}
|
||||||
|
- {id: 115, cat: PC/Games, desc: "Разделение экрана"}
|
||||||
|
- {id: 116, cat: PC/Games, desc: "Военные конфликты"}
|
||||||
|
- {id: 117, cat: PC/Games, desc: "Драконы"}
|
||||||
|
- {id: 118, cat: PC/Games, desc: "Пираты"}
|
||||||
|
- {id: 119, cat: PC/Games, desc: "Ниндзя"}
|
||||||
|
- {id: 120, cat: PC/Games, desc: "Поезда"}
|
||||||
|
- {id: 121, cat: PC/Games, desc: "Динозавры"}
|
||||||
|
- {id: 122, cat: PC/Games, desc: "Раннер"}
|
||||||
|
- {id: 123, cat: PC/Games, desc: "Супергерои"}
|
||||||
|
- {id: 124, cat: PC/Games, desc: "По комиксу"}
|
||||||
|
- {id: 125, cat: PC/Games, desc: "Хакерство"}
|
||||||
|
- {id: 126, cat: PC/Games, desc: "Эмоциональная"}
|
||||||
|
- {id: 127, cat: PC/Games, desc: "Футбол"}
|
||||||
|
- {id: 128, cat: PC/Games, desc: "Рыбалка"}
|
||||||
|
- {id: 129, cat: PC/Games, desc: "Бездорожье"}
|
||||||
|
- {id: 130, cat: PC/Games, desc: "Программирование"}
|
||||||
|
- {id: 131, cat: PC/Games, desc: "Вампиры"}
|
||||||
|
- {id: 132, cat: PC/Games, desc: "Снайпер"}
|
||||||
|
- {id: 133, cat: PC/Games, desc: "Ремейк"}
|
||||||
|
- {id: 134, cat: PC/Games, desc: "Отличный саундтрек"}
|
||||||
|
- {id: 135, cat: PC/Games, desc: "Глубокий сюжет"}
|
||||||
|
- {id: 136, cat: PC/Games, desc: "Женщина-протагонист"}
|
||||||
|
- {id: 137, cat: PC/Games, desc: "Кровь"}
|
||||||
|
- {id: 138, cat: PC/Games, desc: "Киберпанк"}
|
||||||
|
- {id: 139, cat: PC/Games, desc: "Эпичная"}
|
||||||
|
- {id: 140, cat: PC/Games, desc: "Мясо"}
|
||||||
|
- {id: 141, cat: PC/Games, desc: "Нагота"}
|
||||||
|
- {id: 142, cat: PC/Games, desc: "Цветастая"}
|
||||||
|
- {id: 143, cat: PC/Games, desc: "Education"}
|
||||||
|
- {id: 144, cat: PC/Games, desc: "Менеджмент"}
|
||||||
|
- {id: 145, cat: PC/Games, desc: "Упрощённый рогалик"}
|
||||||
|
- {id: 146, cat: PC/Games, desc: "Музыка"}
|
||||||
|
- {id: 147, cat: PC/Games, desc: "Кастомизация персонажа"}
|
||||||
|
- {id: 148, cat: PC/Games, desc: "История"}
|
||||||
|
- {id: 149, cat: PC/Games, desc: "Охота"}
|
||||||
|
- {id: 150, cat: PC/Games, desc: "По мотивам книги"}
|
||||||
|
- {id: 151, cat: PC/Games, desc: "Первая мировая война"}
|
||||||
|
- {id: 152, cat: PC/Games, desc: "Тайм-менеджмент"}
|
||||||
|
- {id: 153, cat: PC/Games, desc: "Психоделия"}
|
||||||
|
- {id: 154, cat: PC/Games, desc: "Наука"}
|
||||||
|
- {id: 155, cat: PC/Games, desc: "Морские бои"}
|
||||||
|
- {id: 156, cat: PC/Games, desc: "Сельское хозяйство"}
|
||||||
|
- {id: 157, cat: PC/Games, desc: "Кинематографичная"}
|
||||||
|
- {id: 158, cat: PC/Games, desc: "Вестерн"}
|
||||||
|
- {id: 159, cat: PC/Games, desc: "Три в ряд"}
|
||||||
|
- {id: 160, cat: PC/Games, desc: "Стимпанк"}
|
||||||
|
- {id: 161, cat: PC/Games, desc: "Редактор уровней"}
|
||||||
|
- {id: 162, cat: PC/Games, desc: "Культовая классика"}
|
||||||
|
- {id: 163, cat: PC/Games, desc: "Минимализм"}
|
||||||
|
- {id: 164, cat: PC/Games, desc: "Shoot'em up"}
|
||||||
|
- {id: 165, cat: PC/Games, desc: "Решения с последствиями"}
|
||||||
|
- {id: 166, cat: PC/Games, desc: "Процедурная генерация"}
|
||||||
|
- {id: 167, cat: PC/Games, desc: "Мультипликация"}
|
||||||
|
- {id: 168, cat: PC/Games, desc: "Мультфильм"}
|
||||||
|
- {id: 169, cat: PC/Games, desc: "Пошаговые сражения"}
|
||||||
|
- {id: 170, cat: PC/Games, desc: "Магия"}
|
||||||
|
- {id: 171, cat: PC/Games, desc: "Изометрия"}
|
||||||
|
- {id: 172, cat: PC/Games, desc: "Карточная игра"}
|
||||||
|
- {id: 173, cat: PC/Games, desc: "Чёрный юмор"}
|
||||||
|
- {id: 174, cat: PC/Games, desc: "Beat'em up"}
|
||||||
|
- {id: 175, cat: PC/Games, desc: "Свобода выбора"}
|
||||||
|
- {id: 176, cat: PC/Games, desc: "Рисованная графика"}
|
||||||
|
- {id: 177, cat: PC/Games, desc: "Инопланетяне"}
|
||||||
|
- {id: 178, cat: PC/Games, desc: "Твин-стик шутер"}
|
||||||
|
- {id: 179, cat: PC/Games, desc: "Настольная игра"}
|
||||||
|
- {id: 180, cat: PC/Games, desc: "Полёты"}
|
||||||
|
- {id: 181, cat: PC/Games, desc: "Лут"}
|
||||||
|
- {id: 183, cat: PC/Games, desc: "MOBA"}
|
||||||
|
- {id: 184, cat: PC/Games, desc: "Демоны"}
|
||||||
|
- {id: 185, cat: PC/Games, desc: "Расследование"}
|
||||||
|
- {id: 186, cat: PC/Games, desc: "Мифология"}
|
||||||
|
- {id: 187, cat: PC/Games, desc: "VR"}
|
||||||
|
- {id: 191, cat: PC/Games, desc: "Психологическая"}
|
||||||
|
- {id: 193, cat: PC/Games, desc: "Подземелье"}
|
||||||
|
- {id: 196, cat: PC/Games, desc: "Шедевр"}
|
||||||
|
- {id: 197, cat: PC/Games, desc: "Ретро"}
|
||||||
|
- {id: 198, cat: PC/Games, desc: "Олдскул"}
|
||||||
|
- {id: 251, cat: PC/Games, desc: "Визуальная новелла"}
|
||||||
|
- {id: 252, cat: PC/Games, desc: "Образование"}
|
||||||
|
- {id: 253, cat: PC/Games, desc: "Партийная RPG"}
|
||||||
|
- {id: 254, cat: PC/Games, desc: "Симулятор ходьбы"}
|
||||||
|
- {id: 255, cat: PC/Games, desc: "Симулятор жизни"}
|
||||||
|
- {id: 256, cat: PC/Games, desc: "Автосимулятор"}
|
||||||
|
- {id: 257, cat: PC/Games, desc: "Ритм-игра"}
|
||||||
|
- {id: 258, cat: PC/Games, desc: "Королевская битва"}
|
||||||
|
- {id: 259, cat: PC/Games, desc: "Симулятор колонии"}
|
||||||
|
- {id: 260, cat: PC/Games, desc: "Симулятор фермы"}
|
||||||
|
- {id: 261, cat: PC/Games, desc: "Иммерсивный симулятор"}
|
||||||
|
- {id: 262, cat: PC/Games, desc: "Кликер"}
|
||||||
|
- {id: 263, cat: PC/Games, desc: "Арена-шутер"}
|
||||||
|
- {id: 264, cat: PC/Games, desc: "Платформер на точность"}
|
||||||
|
- {id: 265, cat: PC/Games, desc: "Метроидвания"}
|
||||||
|
- {id: 266, cat: PC/Games, desc: "Похожа на Dark Souls"}
|
||||||
|
- {id: 267, cat: PC/Games, desc: "Коллектатон"}
|
||||||
|
- {id: 268, cat: PC/Games, desc: "Idle-игра"}
|
||||||
|
- {id: 269, cat: PC/Games, desc: "Поиск существ"}
|
||||||
|
- {id: 270, cat: PC/Games, desc: "Зрелищные сражения"}
|
||||||
|
- {id: 271, cat: PC/Games, desc: "Пасьянс"}
|
||||||
|
- {id: 272, cat: PC/Games, desc: "Боевые гонки"}
|
||||||
|
- {id: 273, cat: PC/Games, desc: "Лутер-шутер"}
|
||||||
|
- {id: 274, cat: PC/Games, desc: "Политический симулятор"}
|
||||||
|
- {id: 275, cat: PC/Games, desc: "Традиционный рогалик"}
|
||||||
|
- {id: 276, cat: PC/Games, desc: "Милая"}
|
||||||
|
- {id: 277, cat: PC/Games, desc: "Стилизация"}
|
||||||
|
- {id: 278, cat: PC/Games, desc: "Псевдотрёхмерность"}
|
||||||
|
- {id: 279, cat: PC/Games, desc: "Абстрактная"}
|
||||||
|
- {id: 280, cat: PC/Games, desc: "Красивая"}
|
||||||
|
- {id: 281, cat: PC/Games, desc: "Воксельная графика"}
|
||||||
|
- {id: 282, cat: PC/Games, desc: "Логика"}
|
||||||
|
- {id: 283, cat: PC/Games, desc: "Драма"}
|
||||||
|
- {id: 284, cat: PC/Games, desc: "Романтика"}
|
||||||
|
- {id: 285, cat: PC/Games, desc: "Сюрреалистичная"}
|
||||||
|
- {id: 286, cat: PC/Games, desc: "Мемы"}
|
||||||
|
- {id: 287, cat: PC/Games, desc: "Природа"}
|
||||||
|
- {id: 288, cat: PC/Games, desc: "Роботы"}
|
||||||
|
- {id: 289, cat: PC/Games, desc: "Проработанная вселенная"}
|
||||||
|
- {id: 290, cat: PC/Games, desc: "Триллер"}
|
||||||
|
- {id: 291, cat: PC/Games, desc: "Антиутопия"}
|
||||||
|
- {id: 292, cat: PC/Games, desc: "Сверхъестественное"}
|
||||||
|
- {id: 293, cat: PC/Games, desc: "Альтернативная история"}
|
||||||
|
- {id: 294, cat: PC/Games, desc: "Сражения на мечах"}
|
||||||
|
- {id: 295, cat: PC/Games, desc: "Котики"}
|
||||||
|
- {id: 296, cat: PC/Games, desc: "Америка"}
|
||||||
|
- {id: 297, cat: PC/Games, desc: "Иллюминаты"}
|
||||||
|
- {id: 298, cat: PC/Games, desc: "Капитализм"}
|
||||||
|
- {id: 299, cat: PC/Games, desc: "Заговор"}
|
||||||
|
- {id: 300, cat: PC/Games, desc: "Сатира"}
|
||||||
|
- {id: 301, cat: PC/Games, desc: "Готика"}
|
||||||
|
- {id: 303, cat: PC/Games, desc: "Шахты"}
|
||||||
|
- {id: 304, cat: PC/Games, desc: "Боевые искусства"}
|
||||||
|
- {id: 305, cat: PC/Games, desc: "Танки"}
|
||||||
|
- {id: 306, cat: PC/Games, desc: "Подводный мир"}
|
||||||
|
- {id: 307, cat: PC/Games, desc: "Кулинария"}
|
||||||
|
- {id: 308, cat: PC/Games, desc: "Флот"}
|
||||||
|
- {id: 309, cat: PC/Games, desc: "Транспорт"}
|
||||||
|
- {id: 311, cat: PC/Games, desc: "Марс"}
|
||||||
|
- {id: 312, cat: PC/Games, desc: "Оборотни"}
|
||||||
|
- {id: 313, cat: PC/Games, desc: "Бой"}
|
||||||
|
- {id: 314, cat: PC/Games, desc: "Несколько концовок"}
|
||||||
|
- {id: 315, cat: PC/Games, desc: "Игра против ИИ"}
|
||||||
|
- {id: 316, cat: PC/Games, desc: "Линейная"}
|
||||||
|
- {id: 192, cat: PC/Games, desc: "Нелинейная"}
|
||||||
|
- {id: 317, cat: PC/Games, desc: "Повествовательная"}
|
||||||
|
- {id: 318, cat: PC/Games, desc: "Набор очков"}
|
||||||
|
- {id: 319, cat: PC/Games, desc: "Менеджмент инвентаря"}
|
||||||
|
- {id: 320, cat: PC/Games, desc: "Перемещение по сетке"}
|
||||||
|
- {id: 321, cat: PC/Games, desc: "Разделение на классы"}
|
||||||
|
- {id: 322, cat: PC/Games, desc: "Кастомизация оружия"}
|
||||||
|
- {id: 323, cat: PC/Games, desc: "Построение колоды"}
|
||||||
|
- {id: 324, cat: PC/Games, desc: "Гонки на выживание"}
|
||||||
|
- {id: 325, cat: PC/Games, desc: "Свобода движения"}
|
||||||
|
- {id: 326, cat: PC/Games, desc: "Замедление времени"}
|
||||||
|
- {id: 327, cat: PC/Games, desc: "Динамическое повествование"}
|
||||||
|
- {id: 238, cat: PC/Games, desc: "Игры 2024 года"}
|
||||||
|
- {id: 237, cat: PC/Games, desc: "Игры 2023 года"}
|
||||||
|
- {id: 236, cat: PC/Games, desc: "Игры 2022 года"}
|
||||||
|
- {id: 235, cat: PC/Games, desc: "Игры 2021 года"}
|
||||||
|
- {id: 199, cat: PC/Games, desc: "Игры 2020 года"}
|
||||||
|
- {id: 200, cat: PC/Games, desc: "Игры 2019 года"}
|
||||||
|
- {id: 201, cat: PC/Games, desc: "Игры 2018 года"}
|
||||||
|
- {id: 202, cat: PC/Games, desc: "Игры 2017 года"}
|
||||||
|
- {id: 203, cat: PC/Games, desc: "Игры 2016 года"}
|
||||||
|
- {id: 204, cat: PC/Games, desc: "Игры 2015 года"}
|
||||||
|
- {id: 205, cat: PC/Games, desc: "Игры 2014 года"}
|
||||||
|
- {id: 206, cat: PC/Games, desc: "Игры 2013 года"}
|
||||||
|
- {id: 207, cat: PC/Games, desc: "Игры 2012 года"}
|
||||||
|
- {id: 208, cat: PC/Games, desc: "Игры 2011 года"}
|
||||||
|
- {id: 209, cat: PC/Games, desc: "Игры 2010 года"}
|
||||||
|
- {id: 210, cat: PC/Games, desc: "Игры 2009 года"}
|
||||||
|
- {id: 211, cat: PC/Games, desc: "Игры 2008 года"}
|
||||||
|
- {id: 212, cat: PC/Games, desc: "Игры 2007 года"}
|
||||||
|
- {id: 213, cat: PC/Games, desc: "Игры 2006 года"}
|
||||||
|
- {id: 214, cat: PC/Games, desc: "Игры 2005 года"}
|
||||||
|
- {id: 215, cat: PC/Games, desc: "Игры 2004 года"}
|
||||||
|
- {id: 216, cat: PC/Games, desc: "Игры 2003 года"}
|
||||||
|
- {id: 217, cat: PC/Games, desc: "Игры 2002 года"}
|
||||||
|
- {id: 218, cat: PC/Games, desc: "Игры 2001 года"}
|
||||||
|
- {id: 219, cat: PC/Games, desc: "Игры 2000 года"}
|
||||||
|
- {id: 220, cat: PC/Games, desc: "Игры 1999 года"}
|
||||||
|
- {id: 221, cat: PC/Games, desc: "Игры 1998 года"}
|
||||||
|
- {id: 222, cat: PC/Games, desc: "Игры 1997 года"}
|
||||||
|
- {id: 223, cat: PC/Games, desc: "Игры 1996 года"}
|
||||||
|
- {id: 224, cat: PC/Games, desc: "Игры 1995 года"}
|
||||||
|
- {id: 225, cat: PC/Games, desc: "Игры 1994 года"}
|
||||||
|
- {id: 226, cat: PC/Games, desc: "Игры 1993 года"}
|
||||||
|
- {id: 227, cat: PC/Games, desc: "Игры 1992 года"}
|
||||||
|
- {id: 228, cat: PC/Games, desc: "Игры 1991 года"}
|
||||||
|
- {id: 229, cat: PC/Games, desc: "Игры 1990 года"}
|
||||||
|
- {id: 231, cat: PC/Games, desc: "Дополнения"}
|
||||||
|
- {id: 250, cat: PC/Games, desc: "Модификации"}
|
||||||
|
- {id: 23, cat: PC/Games, desc: "Ранний Доступ"}
|
||||||
|
- {id: 246, cat: PC/Games, desc: "Обновление"}
|
||||||
|
- {id: 230, cat: PC/Games, desc: "Все Топ игры"}
|
||||||
|
- {id: 329, cat: PC/Games, desc: "Актуальные Топ игры"}
|
||||||
|
- {id: 24, cat: PC/Games, desc: "Новинка"}
|
||||||
|
- {id: 194, cat: PC/Games, desc: "Игры по сети"}
|
||||||
|
|
||||||
|
modes:
|
||||||
|
search: [q]
|
||||||
|
|
||||||
|
settings: []
|
||||||
|
|
||||||
|
download:
|
||||||
|
selectors:
|
||||||
|
- selector: a.itemdown_games
|
||||||
|
attribute: href
|
||||||
|
|
||||||
|
search:
|
||||||
|
# keywords (article titles only search)
|
||||||
|
# do=search&subaction=search&story=five+freddy&titleonly=3&searchdate=0&sortby=date&resorder=desc&catlist[]=1&catlist[]=2&catlist[]=3
|
||||||
|
# keywordless (article body search) query=game
|
||||||
|
# do=search&subaction=search&story=game&titleonly=0&searchdate=0&sortby=date&resorder=desc&catlist[]=0
|
||||||
|
paths:
|
||||||
|
- path: index.php
|
||||||
|
inputs:
|
||||||
|
$raw: "{{ range .Categories }}catlist[]={{.}}&{{end}}"
|
||||||
|
do: search
|
||||||
|
subaction: search
|
||||||
|
search_start: 0
|
||||||
|
full_search: 1
|
||||||
|
result_from: 1
|
||||||
|
showposts: 1
|
||||||
|
# 0 article, 1 comments, 2 static pages, 3 article titles
|
||||||
|
titleonly: "{{ if .Keywords }}3{{ else }}0{{ end }}"
|
||||||
|
searchdate: 0
|
||||||
|
story: "{{ if .Keywords }}{{ .Keywords }}{{ else }}game{{ end }}"
|
||||||
|
sortby: date
|
||||||
|
resorder: desc
|
||||||
|
|
||||||
|
rows:
|
||||||
|
# results without sizes are just pre-release announcements
|
||||||
|
selector: div.short_search:has(div.shor_subtitles span:nth-child(2):contains(" "))
|
||||||
|
|
||||||
|
fields:
|
||||||
|
category:
|
||||||
|
text: 1
|
||||||
|
year:
|
||||||
|
selector: div.shor_subtitles span
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: (\d+)
|
||||||
|
title:
|
||||||
|
selector: div.short_titles > a
|
||||||
|
filters:
|
||||||
|
- name: append
|
||||||
|
args: " [{{ .Result.year }}]"
|
||||||
|
details:
|
||||||
|
selector: div.short_titles > a
|
||||||
|
attribute: href
|
||||||
|
download:
|
||||||
|
selector: div.short_titles > a
|
||||||
|
attribute: href
|
||||||
|
poster:
|
||||||
|
selector: img
|
||||||
|
attribute: src
|
||||||
|
date:
|
||||||
|
selector: img
|
||||||
|
attribute: src
|
||||||
|
filters:
|
||||||
|
- name: regexp
|
||||||
|
args: ".*/(\\d{4}-\\d{2})/.*"
|
||||||
|
- name: dateparse
|
||||||
|
args: "yyyy-MM"
|
||||||
|
seeders:
|
||||||
|
text: 1
|
||||||
|
leechers:
|
||||||
|
text: 1
|
||||||
|
size_rus:
|
||||||
|
selector: div.shor_subtitles span:nth-child(2):contains("Б")
|
||||||
|
optional: true
|
||||||
|
default: "0 B"
|
||||||
|
filters:
|
||||||
|
- name: replace
|
||||||
|
args: ["ТБ", "TB"]
|
||||||
|
- name: replace
|
||||||
|
args: ["ГБ", "GB"]
|
||||||
|
- name: replace
|
||||||
|
args: ["МБ", "MB"]
|
||||||
|
- name: replace
|
||||||
|
args: ["КБ", "KB"]
|
||||||
|
size:
|
||||||
|
selector: div.shor_subtitles span:nth-child(2):contains("B")
|
||||||
|
optional: true
|
||||||
|
default: "{{ .Result.size_rus }}"
|
||||||
|
downloadvolumefactor:
|
||||||
|
text: 0
|
||||||
|
uploadvolumefactor:
|
||||||
|
text: 1
|
||||||
|
# engine n/a
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user