mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-10 13:48:02 +02:00
Compare commits
31 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
9c18d2595f | ||
![]() |
30c37d6050 | ||
![]() |
eb61795422 | ||
![]() |
fa45924421 | ||
![]() |
30e56fa7a5 | ||
![]() |
80628f5956 | ||
![]() |
40ef0ca0e5 | ||
![]() |
bff6d17d0e | ||
![]() |
41d76d8325 | ||
![]() |
f712af9533 | ||
![]() |
0be8639e7a | ||
![]() |
fbb1f15d70 | ||
![]() |
6fc7c62305 | ||
![]() |
41b4742ca6 | ||
![]() |
7ec2ac514e | ||
![]() |
565530169d | ||
![]() |
14a7ad37cb | ||
![]() |
ab1f2116ff | ||
![]() |
24deb9de7a | ||
![]() |
a478ca1a36 | ||
![]() |
bb95857584 | ||
![]() |
68a838459b | ||
![]() |
eb3b6d351f | ||
![]() |
f00aedb542 | ||
![]() |
258f7fba1f | ||
![]() |
91325fd720 | ||
![]() |
d5b53dc897 | ||
![]() |
03fe6cbe79 | ||
![]() |
f794785866 | ||
![]() |
c758aa723d | ||
![]() |
eb21038e18 |
89
.github/workflows/codeql-analysis.yml
vendored
Normal file
89
.github/workflows/codeql-analysis.yml
vendored
Normal file
@@ -0,0 +1,89 @@
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
#
|
||||
# ******** NOTE ********
|
||||
# We have attempted to detect the languages in your repository. Please check
|
||||
# the `language` matrix defined below to confirm you have the correct set of
|
||||
# supported CodeQL languages.
|
||||
#
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
paths:
|
||||
- src/**/*.cs
|
||||
- src/**/*.js
|
||||
- '!src/Jackett.Common/Indexers/**'
|
||||
- '!src/Jackett.IntegrationTests/**'
|
||||
- '!src/Jackett.Test/**'
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ master ]
|
||||
paths:
|
||||
- src/**/*.cs
|
||||
- src/**/*.js
|
||||
- '!src/Jackett.Common/Indexers/**'
|
||||
- '!src/Jackett.IntegrationTests/**'
|
||||
- '!src/Jackett.Test/**'
|
||||
schedule:
|
||||
- cron: '00 00 * * 5'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: windows-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'csharp', 'javascript' ]
|
||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
||||
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
- name: Set up dotnet
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: '6.0.*'
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
|
@@ -66,6 +66,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* EZTV
|
||||
* FileListing
|
||||
* FireBit
|
||||
* freshMeat
|
||||
* Frozen Layer
|
||||
* GamesTorrents
|
||||
* GkTorrent
|
||||
@@ -132,7 +133,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Sexxi
|
||||
* Sexy-Pics
|
||||
* ShizaProject
|
||||
* shokweb
|
||||
* ShowRSS
|
||||
* Solid Torrents
|
||||
* sosulki
|
||||
@@ -183,6 +183,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
|
||||
* AniDUB
|
||||
* Anime-Free
|
||||
* AnimeLayer
|
||||
* ArenaBG
|
||||
* BaibaKo
|
||||
* BookTracker
|
||||
@@ -288,6 +289,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* BiTTuRK
|
||||
* BJ-Share (BJ)
|
||||
* BlueBird [![(invite needed)][inviteneeded]](#)
|
||||
* Blues-Brothers
|
||||
* Blutopia (BLU)
|
||||
* Borgzelle [![(invite needed)][inviteneeded]](#)
|
||||
* Boxing Torrents
|
||||
@@ -388,6 +390,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* HDCity [![(invite needed)][inviteneeded]](#)
|
||||
* HDHome (HDBigger) [![(invite needed)][inviteneeded]](#)
|
||||
* HDME
|
||||
* HDMonkey
|
||||
* HDRoute [![(invite needed)][inviteneeded]](#)
|
||||
* HDSky [![(invite needed)][inviteneeded]](#)
|
||||
* HDTime
|
||||
@@ -409,6 +412,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* JPTV
|
||||
* Karagarga
|
||||
* Keep Friends [![(invite needed)][inviteneeded]](#)
|
||||
* KrazyZone
|
||||
* LastFiles
|
||||
* Lat-Team [![(invite needed)][inviteneeded]](#)
|
||||
* Le Saloon
|
||||
@@ -436,6 +440,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Mononoké-BT [![(invite needed)][inviteneeded]](#)
|
||||
* MoreThanTV (MTV)
|
||||
* MouseBits
|
||||
* Movie-Torrentz
|
||||
* Moviesite
|
||||
* MyAnonamouse (MAM)
|
||||
* MySpleen [![(invite needed)][inviteneeded]](#)
|
||||
@@ -456,6 +461,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* P2PElite
|
||||
* Partis [![(invite needed)][inviteneeded]](#)
|
||||
* PassThePopcorn (PTP)
|
||||
* Peeratiko
|
||||
* PeerJunkies
|
||||
* Peers.FM
|
||||
* Pirata Digital
|
||||
|
201
src/Jackett.Common/Definitions/animelayer.yml
Normal file
201
src/Jackett.Common/Definitions/animelayer.yml
Normal file
@@ -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
|
185
src/Jackett.Common/Definitions/bluesbrothers.yml
Normal file
185
src/Jackett.Common/Definitions/bluesbrothers.yml
Normal file
@@ -0,0 +1,185 @@
|
||||
---
|
||||
id: bluesbrothers
|
||||
name: Blues-Brothers
|
||||
description: "Blues-Brothers is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://blues-brothers.biz/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 9, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: 1, cat: PC/0day, desc: "Apps"}
|
||||
- {id: 17, cat: Audio/Audiobook, desc: "AudioBooks"}
|
||||
- {id: 16, cat: Books/EBook, desc: "Ebooks"}
|
||||
- {id: 12, cat: PC/Games, desc: "Games PC"}
|
||||
- {id: 7, cat: Console/PS3, desc: "Games PS3"}
|
||||
- {id: 19, cat: Console/Wii, desc: "Games Wii"}
|
||||
- {id: 8, cat: Console/XBox 360, desc: "Games XBOX360"}
|
||||
- {id: 18, cat: PC/Mac, desc: "MAC"}
|
||||
- {id: 41, cat: PC/Mobile-Android, desc: "Mobile"}
|
||||
- {id: 26, cat: Movies, desc: "Movie BDRip"}
|
||||
- {id: 29, cat: Movies/HD, desc: "Movie BluRay 1080p"}
|
||||
- {id: 28, cat: Movies/HD, desc: "Movie BluRay 720p"}
|
||||
- {id: 27, cat: Movies/SD, desc: "Movie BRRip"}
|
||||
- {id: 24, cat: Movies/SD, desc: "Movie CAM/TS"}
|
||||
- {id: 23, cat: Movies/DVD, desc: "Movie DVD-R"}
|
||||
- {id: 11, cat: Movies/SD, desc: "Movie DVDRip"}
|
||||
- {id: 25, cat: Movies/SD, desc: "Movie DVDSCR/R5"}
|
||||
- {id: 30, cat: Movies, desc: "Movie Packs"}
|
||||
- {id: 10, cat: Movies/HD, desc: "Movie XviD x264"}
|
||||
- {id: 6, cat: XXX, desc: "Movie XXX"}
|
||||
- {id: 22, cat: Audio/Lossless, desc: "Music Flac"}
|
||||
- {id: 21, cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: 14, cat: Audio, desc: "Music Packs"}
|
||||
- {id: 20, cat: Audio/Video, desc: "Music Videos"}
|
||||
- {id: 34, cat: TV, desc: "TV Packs"}
|
||||
- {id: 36, cat: TV/HD, desc: "TV X264 HD"}
|
||||
- {id: 37, cat: TV/SD, desc: "TV X264 SD"}
|
||||
- {id: 35, cat: TV/SD, desc: "TV XviD"}
|
||||
- {id: 38, cat: Other, desc: "VIP"}
|
||||
- {id: 40, cat: Other, desc: "VIP ONLY"}
|
||||
|
||||
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: 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"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
use_ssl: 1
|
||||
perm_ssl: ""
|
||||
returnto: /
|
||||
error:
|
||||
- selector: table.main:contains("Login failed!")
|
||||
message:
|
||||
selector: table tr td.colhead2
|
||||
test:
|
||||
path: /
|
||||
selector: a[href*="logout.php?hash_please="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://blues-brothers.biz/browse.php?c27=1&c28=1&c29=1&search=&searchin=title&incldead=1&sort=4&type=desc
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# title, descr, genre, all
|
||||
searchin: title
|
||||
# 0 active, 1 incldead, 2 onlydead
|
||||
incldead: 1
|
||||
only_free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", " +$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: table.table-bordered tr:has(a[href^="download.php?torrent="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Tip\\('<b>(.+?)</b>"
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=\\'(.+?)\\'
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-child(5)
|
||||
date_day:
|
||||
selector: td:nth-child(7):contains("day")
|
||||
optional: true
|
||||
filters:
|
||||
- name: fuzzytime
|
||||
date_year:
|
||||
selector: td:nth-child(7):not(:contains("day"))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(8)
|
||||
grabs:
|
||||
selector: td:nth-child(9)
|
||||
seeders:
|
||||
selector: td:nth-child(10)
|
||||
leechers:
|
||||
selector: td:nth-child(11)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
"a.info:contains(\"[FREE]\")": 0
|
||||
"a.info:contains(\"[SILVER]\")": 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# U-232 V5
|
@@ -59,6 +59,10 @@ search:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
count:
|
||||
@@ -105,11 +109,15 @@ search:
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
0: 1 # not free
|
||||
1: 0 # freeleech
|
||||
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
|
||||
|
@@ -90,6 +90,10 @@ search:
|
||||
page: 1
|
||||
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
|
||||
@@ -165,19 +169,22 @@ search:
|
||||
- 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
|
||||
span.torrent-listings-global-freeleech: 0
|
||||
span.torrent-listings-personal-freeleech: 0
|
||||
span.torrent-listings-freeleech-token: 0
|
||||
span.torrent-listings-featured: 0
|
||||
span.torrent-listings-freeleech[data-original-title*="25%"]: 0.75
|
||||
span.torrent-listings-freeleech[data-original-title*="50%"]: 0.5
|
||||
span.torrent-listings-freeleech[data-original-title*="75%"]: 0.25
|
||||
span.torrent-listings-freeleech[data-original-title*="100%"]: 0
|
||||
span.torrent-listings-special-freeleech: 0
|
||||
"*": 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
|
||||
span.torrent-listings-global-double-upload: 2
|
||||
span.torrent-listings-double-upload: 2
|
||||
span.torrent-listings-featured: 2
|
||||
span.torrent-listings-special-double-upload: 2
|
||||
"*": 1
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
|
@@ -101,9 +101,6 @@ search:
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["download_check", "download"]
|
||||
magnet:
|
||||
selector: a[href^="magnet:?"]
|
||||
attribute: href
|
||||
details:
|
||||
selector: a.view-torrent
|
||||
attribute: href
|
||||
|
@@ -144,6 +144,10 @@ search:
|
||||
category: "{{ if .Categories }}{{ range .Categories }}{{.}};{{end}}{{ else }}0{{ end }}"
|
||||
search: "{{ .Keywords }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: div.inf-table-row
|
||||
|
||||
|
73
src/Jackett.Common/Definitions/freshmeat.yml
Normal file
73
src/Jackett.Common/Definitions/freshmeat.yml
Normal file
@@ -0,0 +1,73 @@
|
||||
---
|
||||
id: freshmeat
|
||||
name: freshMeat
|
||||
description: "freshMeat is a Public torrent meta-search engine"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://freshmeat.io/
|
||||
|
||||
caps:
|
||||
# unfortunately freshMeat does not display categories anywhere in its search results page :-(
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
- {id: 3, cat: Other, desc: "Other"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
|
||||
settings:
|
||||
- name: info_8000
|
||||
type: info
|
||||
label: About freshMeat Categories
|
||||
default: freshMeat 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[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}s?q={{ .Keywords }}{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table.torrent-list > tbody > tr
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: 3
|
||||
title:
|
||||
selector: td:nth-child(2)
|
||||
details:
|
||||
selector: td:nth-child(2) a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td:nth-child(2) a
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(1)
|
||||
attribute: data-sort-value
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "2006-01-02 15:04:05"
|
||||
description:
|
||||
selector: td:nth-child(3) img
|
||||
attribute: title
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
seeders:
|
||||
selector: td:nth-child(5)
|
||||
leechers:
|
||||
text: 0
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
164
src/Jackett.Common/Definitions/hdmonkey.yml
Normal file
164
src/Jackett.Common/Definitions/hdmonkey.yml
Normal file
@@ -0,0 +1,164 @@
|
||||
---
|
||||
id: hdmonkey
|
||||
name: HDMonkey
|
||||
description: "HDMonkey is a ROMANIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: ro-RO
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://hdmonkey.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 6, cat: PC/0day, desc: "Apps: Windows"}
|
||||
- {id: 7, cat: PC/Mac, desc: "Apps: Mac"}
|
||||
- {id: 8, cat: PC, desc: "Apps: Linux"}
|
||||
- {id: 75, cat: Movies/DVD, desc: "Movies: DVD"}
|
||||
- {id: 26, cat: Movies/BluRay, desc: "Movies: Blu-Ray"}
|
||||
- {id: 42, cat: Movies/HD, desc: "Movies: FHD-HD"}
|
||||
- {id: 50, cat: Movies/WEB-DL, desc: "Movies: Web-Dl"}
|
||||
- {id: 74, cat: Movies/SD, desc: "Movies: SD"}
|
||||
- {id: 49, cat: Movies/UHD, desc: "Movies: 4k"}
|
||||
- {id: 46, cat: Movies/3D, desc: "Movies: 3D"}
|
||||
- {id: 24, cat: Movies, desc: "Movies: Packs"}
|
||||
- {id: 28, cat: Movies, desc: "Movies: Cartoons"}
|
||||
- {id: 47, cat: XXX, desc: "Movies: XXX"}
|
||||
- {id: 41, cat: TV/HD, desc: "TV: HD"}
|
||||
- {id: 52, cat: TV/WEB-DL, desc: "TV: WEB-DL"}
|
||||
- {id: 48, cat: TV, desc: "TV: Packs"}
|
||||
- {id: 9, cat: TV/Documentary, desc: "TV: Documentaries"}
|
||||
- {id: 22, cat: Audio/MP3, desc: "Music: MP3"}
|
||||
- {id: 23, cat: Audio/Lossless, desc: "Music: FLAC"}
|
||||
- {id: 25, cat: Audio/Video, desc: "Music: Video"}
|
||||
- {id: 27, cat: Audio, desc: "Music: Pack"}
|
||||
- {id: 53, cat: PC/Games, desc: "Games: Pc"}
|
||||
- {id: 54, cat: Console, desc: "Games: PsP"}
|
||||
|
||||
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: 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_results
|
||||
type: info
|
||||
label: Search results
|
||||
default: "If you are not getting results, then access the site with your browser and mark as read all PMs."
|
||||
|
||||
login:
|
||||
path: account-login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.myBlock:contains("Access Denied")
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="account-logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents-search.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||
# 0 both 1 local 2 external
|
||||
inclexternal: 0
|
||||
# 0 only active 1 incl dead 2 only dead
|
||||
incldead: 1
|
||||
# 0 all 1 not freeleech 2 only freeleech
|
||||
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0 all 1 english 2 french 3 german 4 italian 5 japanese 6 spanish 7 russian 8 other
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: table.ttable_headinner > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
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
|
||||
poster:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=([^\s]+)
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td:nth-child(4)
|
||||
date:
|
||||
# 19.Jul<br>2021<br>06:57
|
||||
selector: td:nth-child(5)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "2.Jan200615:04 -07:00"
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
description:
|
||||
case:
|
||||
img[src="images/t_extern.png"]: External
|
||||
"*": Local
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/t_extern.png"]: 0
|
||||
img[src="images/free.png"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 24 x 60 x 60)
|
||||
text: 86400
|
||||
# engine n/a
|
241
src/Jackett.Common/Definitions/krazyzone.yml
Normal file
241
src/Jackett.Common/Definitions/krazyzone.yml
Normal file
@@ -0,0 +1,241 @@
|
||||
---
|
||||
id: krazyzone
|
||||
name: KrazyZone
|
||||
description: "KrazyZone is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://krazyzone.net/ # does not support https, CA expired Dec 2016
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 3, cat: Audio, desc: "Mastermix"}
|
||||
- {id: 4, cat: Audio, desc: "Mastermix Classic"}
|
||||
- {id: 5, cat: Audio, desc: "Mastermix DJ Beats"}
|
||||
- {id: 6, cat: Audio, desc: "Mastermix Extended"}
|
||||
- {id: 7, cat: Audio, desc: "Mastermix- Grandmaster"}
|
||||
- {id: 8, cat: Audio, desc: "Mastermix- Mastermix Other"}
|
||||
- {id: 9, cat: Audio, desc: "Mastermix- Mastermix Packs"}
|
||||
- {id: 10, cat: Audio, desc: "Mastermix Monthly Issue"}
|
||||
- {id: 11, cat: Audio, desc: "Mastermix Pro Dance / Disc"}
|
||||
- {id: 12, cat: Audio, desc: "Mastermix Professional"}
|
||||
- {id: 13, cat: Audio, desc: "DMC"}
|
||||
- {id: 83, cat: Audio, desc: "DMC Bootlegs"}
|
||||
- {id: 84, cat: Audio, desc: "DMC Classic"}
|
||||
- {id: 85, cat: Audio, desc: "DMC Commercial"}
|
||||
- {id: 86, cat: Audio, desc: "DMC Complete"}
|
||||
- {id: 87, cat: Audio, desc: "DMC Dance Mixes"}
|
||||
- {id: 88, cat: Audio, desc: "DMC Essential"}
|
||||
- {id: 89, cat: Audio, desc: "DMC Guide"}
|
||||
- {id: 90, cat: Audio, desc: "DMC Monsterjam"}
|
||||
- {id: 91, cat: Audio, desc: "DMC Other DMC and Packs"}
|
||||
- {id: 92, cat: Audio, desc: "DMC Promo"}
|
||||
- {id: 14, cat: Audio, desc: "MUSIC Albums"}
|
||||
- {id: 110, cat: Audio, desc: "MUSIC Album / Music Packs and other MP3"}
|
||||
- {id: 76, cat: Audio, desc: "MUSIC Artist Albums "}
|
||||
- {id: 77, cat: Audio, desc: "MUSIC Compilations "}
|
||||
- {id: 109, cat: Audio, desc: "MUSIC Discographys , Collection"}
|
||||
- {id: 80, cat: Audio, desc: "MUSIC Flac / Lossy / DTS Packs "}
|
||||
- {id: 81, cat: Audio/Lossless, desc: "MUSIC FLAC 24bit Hi-Res "}
|
||||
- {id: 115, cat: Audio, desc: "MUSIC Singles , Maxi CD and Vinyl"}
|
||||
- {id: 15, cat: Audio, desc: "DJ Only"}
|
||||
- {id: 74, cat: Audio, desc: "DJ Other DJ Music Including Select Mix , Promo Only"}
|
||||
- {id: 75, cat: Audio, desc: "DJ UK Top 40 / Other Top 20 / 40"}
|
||||
- {id: 82, cat: Audio, desc: "DJ Ultramix , Ultrasound , UltraTraxx , Xmix "}
|
||||
- {id: 16, cat: Audio, desc: "ONLY KZN Packs / Albums"}
|
||||
- {id: 73, cat: Audio, desc: "ONLY KZN KZN Packs / Albums Exclusive VIP only"}
|
||||
- {id: 69, cat: Audio, desc: "ONLY KZN Album / Music Packs"}
|
||||
- {id: 72, cat: Audio, desc: "ONLY KZN MP3 Weekly"}
|
||||
- {id: 17, cat: Audio, desc: "Karaoke"}
|
||||
- {id: 67, cat: Audio, desc: "Karaoke All Karaoke "}
|
||||
- {id: 68, cat: Audio, desc: "Karaoke All Karaoke Packs "}
|
||||
- {id: 95, cat: Audio, desc: "KZN Mixed Albums / KZN Mixed Videos "}
|
||||
- {id: 96, cat: Audio, desc: "KZN Mixed Albums / KZN Mixed Videos"}
|
||||
- {id: 112, cat: Audio, desc: "KZN MP3 Weekly"}
|
||||
- {id: 18, cat: Audio/Video, desc: "Music Videos"}
|
||||
- {id: 66, cat: Audio/Video, desc: "Music Videos Singles Video"}
|
||||
- {id: 65, cat: Audio/Video, desc: "Music Videos Video Packs and Live Video Concerts"}
|
||||
- {id: 19, cat: Movies, desc: "Movie Packs"}
|
||||
- {id: 62, cat: Movies, desc: "Movie Packs Kids Movie Packs"}
|
||||
- {id: 63, cat: Movies, desc: "Movie Packs Movie Packs"}
|
||||
- {id: 64, cat: Movies, desc: "Movie Packs Pre 90 Movie Packs"}
|
||||
- {id: 21, cat: PC, desc: "Applications"}
|
||||
- {id: 50, cat: PC/Mobile-Android, desc: "Applications Android"}
|
||||
- {id: 51, cat: PC/Mac, desc: "Applications Misc , Linux , Mac "}
|
||||
- {id: 52, cat: PC/0day, desc: "Applications Windows"}
|
||||
- {id: 22, cat: Books, desc: "Ebooks/Mags"}
|
||||
- {id: 48, cat: Audio/Audiobook, desc: "Ebooks Audiobooks"}
|
||||
- {id: 49, cat: Books/EBook, desc: "Ebooks Ebooks / Mags"}
|
||||
- {id: 23, cat: PC/Games, desc: "Games"}
|
||||
- {id: 45, cat: PC/Games, desc: "Games PC / ISO"}
|
||||
- {id: 105, cat: Console/PS4, desc: "Games PS2 / PS3 / PS4 "}
|
||||
- {id: 46, cat: Console/NDS, desc: "Games Wii+ Nds"}
|
||||
- {id: 47, cat: Console/XBox 360, desc: "Games Xbox360"}
|
||||
- {id: 20, cat: Movies, desc: "Movies"}
|
||||
- {id: 113, cat: Movies, desc: "Movies 2021 Movies"}
|
||||
- {id: 116, cat: Movies/UHD, desc: "Movies 4K Movies"}
|
||||
- {id: 53, cat: Movies, desc: "Movies Anime / Kids"}
|
||||
- {id: 54, cat: Movies/BluRay, desc: "Movies Bluray,HDRip,BDRip,Webrip,HEVC"}
|
||||
- {id: 55, cat: Movies/SD, desc: "Movies Cam / TS / Screener"}
|
||||
- {id: 56, cat: Movies, desc: "Movies Classic Movies Pre 90s to 2000"}
|
||||
- {id: 57, cat: Movies/DVD, desc: "Movies DVDR ,NTSCPAL ,ISO"}
|
||||
- {id: 58, cat: Movies/WEB-DL, desc: "Movies DVDRip,AVI,XVID,BRRip"}
|
||||
- {id: 59, cat: Movies/Foreign, desc: "Movies Foreign"}
|
||||
- {id: 107, cat: Movies/HD, desc: "Movies Mp4 Movies"}
|
||||
- {id: 60, cat: Movies, desc: "Movies Netflix"}
|
||||
- {id: 61, cat: Movies/3D, desc: "Movies Remux , 3D"}
|
||||
- {id: 24, cat: TV, desc: "TV"}
|
||||
- {id: 39, cat: TV/Documentary, desc: "TV Discovery / Geographics / Documentary"}
|
||||
- {id: 41, cat: TV, desc: "TV Episodes"}
|
||||
- {id: 42, cat: TV/Anime, desc: "TV Kids / Anime"}
|
||||
- {id: 43, cat: TV/Sport, desc: "TV Sport"}
|
||||
- {id: 44, cat: TV/Sport, desc: "TV Sport Packs"}
|
||||
- {id: 26, cat: Books/Comics, desc: "Comics"}
|
||||
- {id: 37, cat: Books/Comics, desc: "Comics Comics"}
|
||||
- {id: 25, cat: TV, desc: "TV Packs/Full Seasons"}
|
||||
- {id: 38, cat: TV, desc: "TV Packs Full Seasons"}
|
||||
- {id: 40, cat: TV, desc: "TV Packs Kids / Anime Full Seasons"}
|
||||
- {id: 94, cat: TV, desc: "TV Packs Pre 90`s TV series"}
|
||||
- {id: 27, cat: Other, desc: "Wallpapers"}
|
||||
- {id: 36, cat: Other, desc: "Wallpapers PC Wallpapers"}
|
||||
- {id: 1, cat: Other/Misc, desc: "Unsorted"}
|
||||
- {id: 2, cat: Other/Misc, desc: "Unsorted To Be Edited"}
|
||||
- {id: 30, cat: Other, desc: "Exclusive VIP"}
|
||||
- {id: 33, cat: Other, desc: "Exclusive VIP Exclusive VIP Not To Be Uploaded Anywhere"}
|
||||
- {id: 31, cat: Other, desc: "VIP"}
|
||||
- {id: 32, cat: Other, desc: "VIP VIP Not To Be Uploaded Anywhere"}
|
||||
- {id: 99, cat: Other, desc: "Christmas Albums"}
|
||||
- {id: 101, cat: Other, desc: "Christmas Albums Packs"}
|
||||
- {id: 103, cat: Other, desc: "All Christmas Movies and Packs"}
|
||||
|
||||
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: Filter 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
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: table:contains("error has occured")
|
||||
- selector: a[href*="/login.php?error="]
|
||||
message:
|
||||
text: Wrong username or password.
|
||||
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
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["[\\s]+", "%"]
|
||||
inputs:
|
||||
do: search
|
||||
keywords: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# t_name, t_description, t_both, t_uploader, t_genre
|
||||
search_type: "{{ if .Query.IMDBID }}t_genre{{ else }}t_name{{ end }}"
|
||||
# does not support multi category searching so defaulting to all.
|
||||
category: 0
|
||||
include_dead_torrents: yes
|
||||
sort: "{{ if .Config.freeleech }}free{{ else }}{{ .Config.sort }}{{ end }}"
|
||||
order: "{{ if .Config.freeleech }}asc{{ else }}{{ .Config.type }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: "table.sortable tr:has(a[href*=\"/download.php?id=\"]){{ 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: a[href*="/details.php?id="]
|
||||
details:
|
||||
selector: a[href*="/details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="/details.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[src*="/torrents/images/"]
|
||||
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: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "02-01-2006 15:04 -07:00"
|
||||
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$="/freedownload.gif"]: 0
|
||||
img[src$="/silverdownload.gif"]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src$="/x2.gif"]: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
minimumseedtime:
|
||||
# 12 hours (as seconds = 12 x 60 x 60)
|
||||
text: 43200
|
||||
# TS Special Edition v.7.4
|
136
src/Jackett.Common/Definitions/movietorrentz.yml
Normal file
136
src/Jackett.Common/Definitions/movietorrentz.yml
Normal file
@@ -0,0 +1,136 @@
|
||||
---
|
||||
id: movietorrentz
|
||||
name: Movie-Torrentz
|
||||
description: "Movie-Torrentz is a Private Torrent Tracker for MOVIES / TV"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://m2g.link/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 106, cat: Movies, desc: "m2g: m2g"}
|
||||
- {id: 102, cat: PC, desc: "Misc: Programs"}
|
||||
- {id: 107, cat: Movies/SD, desc: "Movies: Xvid"}
|
||||
- {id: 108, cat: Movies/DVD, desc: "Movies: DVDR"}
|
||||
- {id: 109, cat: Movies, desc: "Movies: Packs"}
|
||||
- {id: 110, cat: Movies/HD, desc: "Movies: MP4"}
|
||||
- {id: 112, cat: Movies/SD, desc: "Movies: 480p"}
|
||||
- {id: 113, cat: Movies/BluRay, desc: "Movies: BluRay / x264"}
|
||||
- {id: 126, cat: Movies/HD, desc: "Movies: x265"}
|
||||
- {id: 127, cat: Movies/UHD, desc: "Movies: 4K"}
|
||||
- {id: 114, cat: TV/SD, desc: "TV: XviD"}
|
||||
- {id: 115, cat: TV/HD, desc: "TV: X264"}
|
||||
- {id: 116, cat: TV, desc: "TV: Packs"}
|
||||
- {id: 128, cat: TV/HD, desc: "TV: x265"}
|
||||
- {id: 103, cat: Movies, desc: "ViP3R: ViP3R"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-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: 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:
|
||||
path: account-login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: yes
|
||||
error:
|
||||
- selector: div.myBlock:contains("Access Denied")
|
||||
test:
|
||||
path: index.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 dead, 2 onlydead
|
||||
incldead: 1
|
||||
# 0 any, 1 english, etc
|
||||
lang: 0
|
||||
# 0 any, 1 notfree, 2 onlyfree
|
||||
freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
# does not support imdbid searching
|
||||
|
||||
rows:
|
||||
selector: tr.t-row
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="torrents.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
details:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="torrents-details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.+?) width"
|
||||
- name: replace
|
||||
args: ["images/nocover.jpg", ""]
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
date:
|
||||
text: now
|
||||
size:
|
||||
selector: td:nth-last-child(5)
|
||||
seeders:
|
||||
selector: td:nth-last-child(4)
|
||||
leechers:
|
||||
selector: td:nth-last-child(3)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/free.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
# TorrentTrader
|
202
src/Jackett.Common/Definitions/peeratiko.yml
Normal file
202
src/Jackett.Common/Definitions/peeratiko.yml
Normal file
@@ -0,0 +1,202 @@
|
||||
---
|
||||
id: peeratiko
|
||||
name: Peeratiko
|
||||
description: "Peeratiko is a GREEK Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: el-GR
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://peeratiko.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 58, cat: PC, desc: "Applications Linux"}
|
||||
- {id: 4, cat: PC/Mac, desc: "Applications Mac"}
|
||||
- {id: 54, cat: PC/Mobile-Other, desc: "Applications Mobiles"}
|
||||
- {id: 2, cat: PC, desc: "Applications Other"}
|
||||
- {id: 3, cat: PC/0day, desc: "Applications Windows"}
|
||||
- {id: 39, cat: Books/EBook, desc: "Books Books"}
|
||||
- {id: 56, cat: Books/Comics, desc: "Books Comics"}
|
||||
- {id: 47, cat: Books/Mags, desc: "Books Magazines"}
|
||||
- {id: 57, cat: PC/Mobile-Other, desc: "Games Mobiles"}
|
||||
- {id: 5, cat: Console/Other, desc: "Games Other"}
|
||||
- {id: 8, cat: Console/PS3, desc: "Games PSP/PS2/PS3"}
|
||||
- {id: 6, cat: PC/Games, desc: "Games Windows"}
|
||||
- {id: 7, cat: Console/XBox, desc: "Games XBOX"}
|
||||
- {id: 60, cat: Movies/3D, desc: "Movies 3D"}
|
||||
- {id: 1, cat: Movies, desc: "Movies Anime/Cartoons"}
|
||||
- {id: 9, cat: Movies/BluRay, desc: "Movies BluRay x264"}
|
||||
- {id: 62, cat: Movies/DVD, desc: "Movies DVD-R"}
|
||||
- {id: 15, cat: Movies/WEB-DL, desc: "DVD/BD/BR-rip x264"}
|
||||
- {id: 16, cat: Movies/WEB-DL, desc: "Movies Gr. Subs DVD/BD/BR-rip"}
|
||||
- {id: 18, cat: Movies, desc: "Movies Gr. Subs Embeddeed"}
|
||||
- {id: 19, cat: Movies/Other, desc: "Movies Gr. Subs Other"}
|
||||
- {id: 17, cat: Movies/DVD, desc: "Movies Greek DVD-R"}
|
||||
- {id: 21, cat: Movies/WEB-DL, desc: "Movies Greek DVD/BD/BR-rip"}
|
||||
- {id: 22, cat: Movies/Other, desc: "Movies Greek Other"}
|
||||
- {id: 10, cat: Movies/HD, desc: "Movies HD Packs"}
|
||||
- {id: 13, cat: Movies/Other, desc: "Movies Other"}
|
||||
- {id: 14, cat: Movies, desc: "Movies Packs"}
|
||||
- {id: 23, cat: Audio, desc: "Music DJs Stuff"}
|
||||
- {id: 26, cat: Audio, desc: "Music English/Discographies"}
|
||||
- {id: 24, cat: Audio, desc: "Music English/Foreign"}
|
||||
- {id: 25, cat: Audio/Lossless, desc: "Music English/Foreign FLAC"}
|
||||
- {id: 27, cat: Audio, desc: "Music Greek"}
|
||||
- {id: 28, cat: Audio/Lossless, desc: "Music Greek FLAC"}
|
||||
- {id: 29, cat: Audio, desc: "Music Greek/Discographies"}
|
||||
- {id: 36, cat: Audio/Video, desc: "Music Video Clips"}
|
||||
- {id: 61, cat: Other, desc: "Other Packs"}
|
||||
- {id: 40, cat: Other/Misc, desc: "Other Misc"}
|
||||
- {id: 59, cat: Other, desc: "Other Pictures"}
|
||||
- {id: 11, cat: TV/Documentary, desc: "TV Documentaries"}
|
||||
- {id: 12, cat: TV/HD, desc: "TV HD Series"}
|
||||
- {id: 63, cat: TV/HD, desc: "TV HD Series Packs"}
|
||||
- {id: 53, cat: TV/Other, desc: "TV Other"}
|
||||
- {id: 31, cat: TV, desc: "TV Series Gr. Subs"}
|
||||
- {id: 32, cat: TV, desc: "TV Series Gr. Subs Embedded"}
|
||||
- {id: 33, cat: TV, desc: "TV Series Gr. Subs Packs"}
|
||||
- {id: 34, cat: TV, desc: "TV Series Greek"}
|
||||
- {id: 35, cat: TV, desc: "TV Series Greek Packs"}
|
||||
- {id: 30, cat: TV/Sport, desc: "TV Sports"}
|
||||
|
||||
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_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 <i>Personal Options</i> from the <i>Personal Settings</i> menu on the Peeratiko webpage.
|
||||
- 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
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
use_ssl: 1
|
||||
keeplogged: 1
|
||||
error:
|
||||
- selector: h2
|
||||
message:
|
||||
selector: table tr td.text
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="/logout.php?auth="]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://peeratiko.org/browse.php?cats2[]=39&cats5[]=28&cats5[]=29&cats5[]=36&search=&searchin=title&incldead=1
|
||||
- path: browse.php
|
||||
inputs:
|
||||
# note: site uses the catsX[]=nn method which cardigann does not support.
|
||||
search: "{{ .Keywords }}"
|
||||
# title, descr, filelist, genre, tags, all
|
||||
searchin: title
|
||||
# 0 active, 1 incldead, 2 onlydead
|
||||
incldead: 1
|
||||
only_free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
# does not support searching imdbid and does not return imdb links
|
||||
|
||||
rows:
|
||||
selector: table[width="90%"] tbody tr:has(a[href^="download.php?torrent="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ">(.+?)<"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=..(https.+).. width"
|
||||
files:
|
||||
selector: td:nth-last-child(8)
|
||||
date_day:
|
||||
# Today<br>08:10 AM
|
||||
# Yesterday<br>06:44 PM
|
||||
optional: true
|
||||
selector: td:nth-last-child(6):contains("day")
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
date_year:
|
||||
# Dec 4 2021<br>10:20 AM
|
||||
optional: true
|
||||
selector: td:nth-last-child(6):not(:contains("day"))
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # auto adjusted by site account profile
|
||||
- name: dateparse
|
||||
args: "Jan 2 2006 03:04 PM -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
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(\"[FREE]\")": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# U-232 V3
|
@@ -121,6 +121,10 @@ search:
|
||||
- path: "index.php?torrents/&freeleech={{ if .Config.freeleech }}1{{ else }}{{ end }}&filename={{ .Keywords }}"
|
||||
# imdb and tmdb not supported
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: table.dataList-table > tbody.normal-torrents > tr
|
||||
|
||||
|
@@ -166,19 +166,22 @@ search:
|
||||
- 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
|
||||
span.torrent-listings-global-freeleech: 0
|
||||
span.torrent-listings-personal-freeleech: 0
|
||||
span.torrent-listings-freeleech-token: 0
|
||||
span.torrent-listings-featured: 0
|
||||
span.torrent-listings-freeleech i[data-original-title*="25%"]: 0.75
|
||||
span.torrent-listings-freeleech i[data-original-title*="50%"]: 0.5
|
||||
span.torrent-listings-freeleech i[data-original-title*="75%"]: 0.25
|
||||
span.torrent-listings-freeleech i[data-original-title*="100%"]: 0
|
||||
span.torrent-listings-special-freeleech: 0
|
||||
"*": 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
|
||||
span.torrent-listings-global-double-upload: 2
|
||||
span.torrent-listings-double-upload: 2
|
||||
span.torrent-listings-featured: 2
|
||||
span.torrent-listings-special-double-upload: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.4
|
||||
|
@@ -357,6 +357,14 @@ search:
|
||||
optional: true
|
||||
leechers:
|
||||
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
|
||||
date_minutes:
|
||||
# 55 минут назад
|
||||
selector: td:nth-of-type(6) p:nth-of-type(1):contains("минут")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["минут назад", "minutes ago"]
|
||||
- name: timeago
|
||||
date_day:
|
||||
# Сегодня, 03:04
|
||||
# Вчера, 22:47
|
||||
@@ -369,7 +377,7 @@ search:
|
||||
args: ["Вчера", "Yesterday"]
|
||||
date_year:
|
||||
# 12 янв 2019, 12:47
|
||||
selector: td:nth-of-type(6) p:nth-of-type(1):not(:contains("Сегодня")):not(:contains("Вчера"))
|
||||
selector: td:nth-of-type(6) p:nth-of-type(1):not(:contains("Сегодня")):not(:contains("Вчера")):not(:contains("минут"))
|
||||
optional: true
|
||||
filters:
|
||||
# replace month abbreviations
|
||||
@@ -404,7 +412,7 @@ search:
|
||||
- name: dateparse
|
||||
args: "02 Jan 2006 15:04 -07:00"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
text: "{{ if or .Result.date_year .Result.date_day .Result.date_minutes }}{{ or .Result.date_year .Result.date_day .Result.date_minutes }}{{ else }}now{{ end }}"
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
|
@@ -1,80 +0,0 @@
|
||||
---
|
||||
id: shokweb
|
||||
name: shokweb
|
||||
description: "shokweb is a CHINESE Public tracker"
|
||||
language: zh-CN
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://shokweb.com/
|
||||
certificates:
|
||||
- ba7fb6290a9d7d821e73efb0eac4ed95a7fd2d11 # expired
|
||||
|
||||
settings: []
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: "影视", cat: Movies, desc: "影视(Movie)"}
|
||||
- {id: "安装包", cat: PC/ISO, desc: "安装包(Installation Package)"}
|
||||
- {id: "其他", cat: Other, desc: "其他(Other)"}
|
||||
- {id: "音乐", cat: Audio, desc: "音乐(Music)"}
|
||||
- {id: "文档书籍", cat: Books, desc: "文档书籍(Documents Book)"}
|
||||
- {id: "压缩文件", cat: PC, desc: "压缩文件(Compressed Files)"}
|
||||
- {id: "图像", cat: Other/Misc, desc: "图像(Image)"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://shokweb.com/ (latest)
|
||||
# https://shokweb.com/search/supergirl%20s04e01 (search)
|
||||
- path: "{{ if .Keywords }}/search/{{ .Keywords }}{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: div:has(a[href^="magnet:?"])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: p:has(img) span:nth-last-child(4)
|
||||
title:
|
||||
selector: a[href^="/post/"]
|
||||
details:
|
||||
selector: a[href^="/post/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="magnet:?"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: p:has(img) span:nth-last-child(2)
|
||||
grabs:
|
||||
selector: p:has(img) span:nth-last-child(5)
|
||||
date:
|
||||
selector: p:has(img) span:nth-last-child(1)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["时", " hours"]
|
||||
- name: replace
|
||||
args: ["分", " minutes"]
|
||||
- name: replace
|
||||
args: ["天", " days"]
|
||||
- name: replace
|
||||
args: ["年", " year"]
|
||||
- name: replace
|
||||
args: ["月", " months"]
|
||||
- name: replace
|
||||
args: ["前", " ago"]
|
||||
seeders:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
@@ -56,6 +56,10 @@ search:
|
||||
type: json
|
||||
attribute: attributes
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: data
|
||||
count:
|
||||
|
@@ -87,6 +87,10 @@ search:
|
||||
page: 1
|
||||
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: table > tbody > tr
|
||||
|
||||
|
@@ -16,15 +16,21 @@ caps:
|
||||
- {id: 5, cat: PC, desc: "Apps"}
|
||||
- {id: 7, cat: Books/EBook, desc: "Ebooks"}
|
||||
- {id: 6, cat: PC/Games, desc: "Games PC"}
|
||||
- {id: 19, cat: Console/XBox 360, desc: "GAMES xbox360"}
|
||||
- {id: 8, cat: Movies, desc: "Movies Packs"}
|
||||
- {id: 1, cat: Movies/SD, desc: "Movies Divx/Xvid"}
|
||||
- {id: 9, cat: Movies/DVD, desc: "Movies DVD-r"}
|
||||
- {id: 17, cat: Movies/HD, desc: "Movies x.264"}
|
||||
- {id: 11, cat: Movies/BluRay, desc: "Movies BluRay"}
|
||||
- {id: 3, cat: Audio, desc: "Music"}
|
||||
- {id: 4, cat: XXX, desc: "Porn"}
|
||||
- {id: 15, cat: Movies/HD, desc: "Movies HEVC"}
|
||||
- {id: 14, cat: Audio/Lossless, desc: "Music FLAC"}
|
||||
- {id: 3, cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: 13, cat: TV/Sport, desc: "TV Sport"}
|
||||
- {id: 18, cat: TV, desc: "TV Packs"}
|
||||
- {id: 10, cat: TV, desc: "TV Shows"}
|
||||
- {id: 16, cat: TV/HD, desc: "TV Shows HEVC"}
|
||||
- {id: 12, cat: Other, desc: "VIP"}
|
||||
- {id: 4, cat: XXX, desc: "Porn"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
@@ -128,6 +128,12 @@ search:
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=\\'(.+?)\\'
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
|
@@ -7,9 +7,8 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentqq119.com/
|
||||
- https://torrentqq121.com/
|
||||
legacylinks:
|
||||
- https://torrentqq100.com/
|
||||
- https://torrentqq101.com/
|
||||
- https://torrentqq102.com/
|
||||
- https://torrentqq103.com/
|
||||
@@ -27,6 +26,8 @@ legacylinks:
|
||||
- https://torrentqq115.com/
|
||||
- https://torrentqq117.com/
|
||||
- https://torrentqq118.com/
|
||||
- https://torrentqq119.com/
|
||||
- https://torrentqq120.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -7,7 +7,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentsir43.com/
|
||||
- https://torrentsir44.com/
|
||||
legacylinks:
|
||||
- https://torrentsir31.com/
|
||||
- https://torrentsir33.com/
|
||||
@@ -20,6 +20,7 @@ legacylinks:
|
||||
- https://torrentsir40.com/
|
||||
- https://torrentsir41.com/
|
||||
- https://torrentsir42.com/
|
||||
- https://torrentsir43.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -7,7 +7,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://torrentview46.com/
|
||||
- https://torrentview47.com/
|
||||
legacylinks:
|
||||
- https://torrentview.net/
|
||||
- https://torrentview26.com/
|
||||
@@ -29,6 +29,7 @@ legacylinks:
|
||||
- https://torrentview42.com/
|
||||
- https://torrentview44.com/
|
||||
- https://torrentview45.com/
|
||||
- https://torrentview46.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
@@ -81,7 +81,10 @@ search:
|
||||
order_way: "{{ .Config.type }}"
|
||||
action: advanced
|
||||
searchsubmit: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
# if searching for season packs switch S01 to season 1 #10423
|
||||
- name: re_replace
|
||||
args: ["(?i)(S)(\\d{1,3})$", "season $2"]
|
||||
|
@@ -112,6 +112,13 @@ settings:
|
||||
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: 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>Find <b>'user-agent:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole user-agent string <i>(everything after 'user-agent: ')</i> and <b>Paste</b> here.</ol>"
|
||||
- name: category
|
||||
type: select
|
||||
label: Catégorie
|
||||
@@ -216,7 +223,7 @@ search:
|
||||
followredirect: true
|
||||
|
||||
headers:
|
||||
User-Agent: ["YggRobot"]
|
||||
User-Agent: ["{{ .Config.useragent }}"]
|
||||
|
||||
rows:
|
||||
selector: table.table > tbody > tr
|
||||
|
@@ -72,16 +72,8 @@ namespace Jackett.Common.Indexers
|
||||
AddCategoryMapping(30, TorznabCatType.Other, "Misc");
|
||||
}
|
||||
|
||||
protected override string GetSearchTerm(TorznabQuery query)
|
||||
{
|
||||
// Ignore season search without episode. Alpharatio doesn't support it.
|
||||
var searchTerm = string.IsNullOrWhiteSpace(query.Episode)
|
||||
? query.SanitizedSearchTerm
|
||||
: query.GetQueryString();
|
||||
|
||||
// Alpharatio can't handle dots in the searchstr
|
||||
return searchTerm.Replace(".", " ");
|
||||
}
|
||||
// Alpharatio can't handle dots in the searchstr
|
||||
protected override string GetSearchTerm(TorznabQuery query) => query.GetQueryString().Replace(".", " ");
|
||||
|
||||
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||||
{
|
||||
|
@@ -145,7 +145,8 @@ namespace Jackett.Common.Indexers
|
||||
queryCollection.Add("filter_cat[" + cat + "]", "1");
|
||||
}
|
||||
|
||||
request_urls.Add(SearchUrl + queryCollection.GetQueryString());
|
||||
// remove . as not used in titles
|
||||
request_urls.Add(SearchUrl + queryCollection.GetQueryString().Replace(".", " "));
|
||||
}
|
||||
|
||||
var downloadTasksQuery = from url in request_urls select RequestWithCookiesAndRetryAsync(url);
|
||||
|
@@ -54,6 +54,7 @@ namespace Jackett.Common.Indexers
|
||||
"https://www.divxtotal.ch/",
|
||||
"https://www.divxtotal.nz/",
|
||||
"https://www.divxtotal.li/",
|
||||
"https://www.divxtotal.nu/",
|
||||
"https://www.divxtotal.se/"
|
||||
};
|
||||
|
||||
@@ -62,7 +63,7 @@ namespace Jackett.Common.Indexers
|
||||
: base(id: "divxtotal",
|
||||
name: "DivxTotal",
|
||||
description: "DivxTotal is a SPANISH site for Movies, TV series and Software",
|
||||
link: "https://www.divxtotal.nu/",
|
||||
link: "https://www.divxtotal.nl/",
|
||||
caps: new TorznabCapabilities
|
||||
{
|
||||
TvSearchParams = new List<TvSearchParam>
|
||||
|
@@ -433,6 +433,7 @@ namespace Jackett.Updater
|
||||
"Definitions/shareuniversity.yml",
|
||||
"Definitions/sharingue.yml",
|
||||
"Definitions/shellife.yml",
|
||||
"Definitions/shokweb.yml",
|
||||
"Definitions/skytorrents.yml",
|
||||
"Definitions/skytorrents-lol.yml",
|
||||
"Definitions/skytorrents-to.yml",
|
||||
|
Reference in New Issue
Block a user