Compare commits

...

75 Commits

Author SHA1 Message Date
Garfield69
fee79f5997 freshmeat: ca expired. resolves #12698 2022-01-03 17:10:24 +13:00
Garfield69
d90b339f9c bitbasiz: add new cat 2022-01-03 12:51:08 +13:00
ilike2burnthing
678145d372 mircrew: don't search in subforums 2022-01-02 08:17:24 +00:00
ilike2burnthing
8b15b76941 bitbazis: update layout and login 2022-01-02 04:26:24 +00:00
ilike2burnthing
40da709e0a ilcorsaroverde: lint fix 2022-01-02 04:16:02 +00:00
ilike2burnthing
dc7ce8fd3e mircrew: typo fix 2022-01-02 04:11:15 +00:00
ilike2burnthing
f295f75c2b torrent9: use Windows UA, unix UA is blocked 2022-01-02 03:58:41 +00:00
ilike2burnthing
88d401fcc8 mircrew: update categories
Basically the same as ilcorsaroverde. Also the same, there can be multiple magnets for a single result, but they're behind the thanks button, so unless you thank every result there is no way of resolving this.
2022-01-02 03:31:55 +00:00
ilike2burnthing
a968966938 hdturk: update categories 2022-01-02 02:38:42 +00:00
ilike2burnthing
cd0e959351 torrentwhiz: change domain *36.com 2022-01-02 02:22:04 +00:00
ilike2burnthing
2e1c50ec92 torrentqq: change domain *123.com 2022-01-02 02:20:49 +00:00
ilike2burnthing
471618a6b9 tests: update reference year 2022-01-02 01:18:01 +00:00
Tom Homewood
1df455826a SceneHD: new certificate thumbprint (#12762) 2022-01-02 13:54:02 +13:00
Garfield69
f3048ad71c asiandvdclub: removed. resolves #11994 2022-01-01 12:27:33 +13:00
Garfield69
a211ae9af8 alleenretail: removed. resolves #12557 2022-01-01 08:24:14 +13:00
Uilton Oliveira
434d574867 bjshare: use cookie login method. resolves #12756 (#12757)
should also resolve #12746
2021-12-31 17:35:30 +00:00
ilike2burnthing
627864111f tests: update expected year 2021-12-31 17:23:08 +00:00
ilike2burnthing
2bf3526033 torrentseeds-api: minor edits 2021-12-30 03:06:07 +00:00
Mouton99
d8a48b2e50 TorrentSeeds now uses UNIT3D (#12752) 2021-12-30 14:33:23 +13:00
ilike2burnthing
3cd1b44896 Revert "New .in Url for ilcorsaronero (#12744)" pt3
would help if I actually paid attention...
2021-12-29 19:58:23 +00:00
ilike2burnthing
21850bf6a1 Revert "New .in Url for ilcorsaronero (#12744)" pt2 2021-12-29 19:18:04 +00:00
AlexR00T
82eeb1e4d3 Revert "New .in Url for ilcorsaronero (#12744)" (#12748) 2021-12-29 16:52:17 +00:00
diemade
1766de2a76 pornbay.org; Strings from site (#12741) 2021-12-29 09:04:24 +13:00
AlexR00T
d1b14e45ff New .in Url for ilcorsaronero (#12744) 2021-12-29 09:03:16 +13:00
diemade
27d88b4f49 readme: synocommunity package link added (#12740) 2021-12-28 14:24:31 +00:00
Garfield69
6d3903235a torrentz2eu: new domain 2021-12-27 14:16:16 +13:00
Garfield69
905f751a6f torrentview: bump domain 2021-12-27 14:16:01 +13:00
Garfield69
bad0076248 torrentqq: bump domain 2021-12-27 14:15:50 +13:00
Garfield69
cbea57b22a whiteangel: add new cat 2021-12-27 08:46:28 +13:00
ilike2burnthing
3b00646ac9 newpct: change domain *.net. resolves #12736
*.one isn't providing download links anymore
2021-12-26 06:22:22 +00:00
Garfield69
f61a2b4740 pornolab: add new cats resolves #12731 2021-12-24 07:12:52 +13:00
Garfield69
f890ddd119 danishbytes: new domain resolves #10758 2021-12-24 06:52:07 +13:00
Garfield69
f87430d9e7 thedevilslounge: new search path 2021-12-23 12:06:40 +13:00
Garfield69
d10ea528e2 redbits: add new cat 2021-12-23 12:00:58 +13:00
ilike2burnthing
d7baa2554a femdomcult: add MR 2021-12-22 01:58:49 +00:00
dctorrent1337
e6f7b3e0f7 Change pirata.digital to pt-BR (#12727) 2021-12-22 10:33:53 +13:00
Garfield69
293036008e spidertk: improve login error detection #12718 2021-12-21 18:20:34 +13:00
ilike2burnthing
29caa4f134 devilsplayground: removed, down for 30 days. resolves #12079 (#12721) 2021-12-20 21:36:01 +00:00
ilike2burnthing
7b29ed0182 spidertk: add private french tracker. resolves #12718 (#12720) 2021-12-20 21:27:39 +00:00
ilike2burnthing
c3620780e6 renegade: removed, down for 30 days. resolves #12325 (#12716)
* Delete renegade.yml

* Update README.md

* Update Program.cs
2021-12-19 04:35:26 +00:00
ilike2burnthing
d20110d9f9 efectodoppler: removed, down for 30 days. resolves #5222 (#12715) 2021-12-19 04:31:46 +00:00
ilike2burnthing
e3d317fca8 torrentsir: update domain *45.com 2021-12-18 21:01:51 +00:00
ilike2burnthing
c55a3bf27d docspedia: update categories 2021-12-18 20:14:18 +00:00
ilike2burnthing
584345480b assorted: optionally add russian tag to titles. resolves #12710 (#12713) 2021-12-18 17:52:15 +13:00
Garfield69
9c18d2595f rus-media: add minutes date detection 2021-12-17 09:17:58 +13:00
Garfield69
30c37d6050 torrentqq: bump domain 2021-12-17 09:07:33 +13:00
Garfield69
eb61795422 Revert "torrentz2eu: drop kick.php"
This reverts commit 41d76d8325.
2021-12-15 16:29:38 +13:00
Garfield69
fa45924421 torrentview: bump domain 2021-12-15 16:21:32 +13:00
Garfield69
30e56fa7a5 divxtotal: new domain *.nl 2021-12-15 16:19:29 +13:00
Garfield69
80628f5956 add animelayer a semi-private Russian anime site. resolves #12592 2021-12-15 11:48:06 +13:00
Garfield69
40ef0ca0e5 blutopia-api: catch freeleech errors 2021-12-14 15:06:14 +13:00
Garfield69
bff6d17d0e shokweb: removed. resolves #3210 2021-12-14 14:37:22 +13:00
Garfield69
41d76d8325 torrentz2eu: drop kick.php 2021-12-14 14:14:38 +13:00
Garfield69
f712af9533 add freshmeat a public metatracker resolves #12698 2021-12-14 09:17:46 +13:00
ilike2burnthing
0be8639e7a assorted: remove . from keywords. #12689 (#12702) 2021-12-13 12:22:31 +00:00
ilike2burnthing
fbb1f15d70 bb: remove . from keywords. #12689 (#12703) 2021-12-13 12:22:18 +00:00
Garfield69
6fc7c62305 reelflix: update DLVF and ULVF 2021-12-13 18:28:44 +13:00
Garfield69
41b4742ca6 blutopia-api: update DLVF 2021-12-13 16:23:10 +13:00
Garfield69
7ec2ac514e blutopia: update DLVF and ULVF 2021-12-13 16:22:48 +13:00
Garfield69
565530169d brsociety: drop magnet 2021-12-13 14:35:44 +13:00
ilike2burnthing
14a7ad37cb Revert "yggcookie: change UA to bypass cloudflare"
https://github.com/Jackett/Jackett/issues/12168
2021-12-12 03:20:41 +00:00
ilike2burnthing
ab1f2116ff skipthecommercials: remove . from keywords. #12689 (#12701) 2021-12-11 23:45:02 +00:00
ilike2burnthing
24deb9de7a theleachzone: add poster selector 2021-12-11 23:20:39 +00:00
ilike2burnthing
a478ca1a36 bluesbrothers: add new private tracker. resolves #12633 (#12700) 2021-12-11 23:12:59 +00:00
ilike2burnthing
bb95857584 torrentsir: change domain *44.com 2021-12-11 08:45:09 +00:00
ilike2burnthing
68a838459b torrentqq: change domain *120.com 2021-12-11 08:44:09 +00:00
Garfield69
eb3b6d351f add movietorrentz a private site. resolves #12628 2021-12-11 20:32:25 +13:00
ilike2burnthing
f00aedb542 alpharatio: re-enable searching by season only. resolves #12693 (#12694) 2021-12-11 03:57:31 +00:00
ilike2burnthing
258f7fba1f codeql: fix paths 2021-12-11 03:55:55 +00:00
Garfield69
91325fd720 add peeratiko a Greek private site. resolves #12627 2021-12-11 11:36:15 +13:00
Garfield69
d5b53dc897 add krazyzone a private site. resolves #12623 2021-12-10 20:43:37 +13:00
Garfield69
03fe6cbe79 add hdmonkey a Romanian private site. resolves #12688 2021-12-10 10:46:39 +13:00
ilike2burnthing
f794785866 codeql: only trigger on changes to core .cs and .js files 2021-12-09 17:36:05 +00:00
Garfield69
c758aa723d slosoul: add new cats 2021-12-09 22:48:50 +13:00
ilike2burnthing
eb21038e18 add CodeQL action - security vulnerabilities check
this time with .NET 6.0 fix from https://github.com/github/codeql-action/issues/757
2021-12-09 06:26:52 +00:00
63 changed files with 2015 additions and 1423 deletions

89
.github/workflows/codeql-analysis.yml vendored Normal file
View 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

View File

@@ -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
@@ -253,7 +254,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Aftershock
* Aidoru!Online
* Aither
* Alleen Retail
* AlphaRatio (AR)
* AmigosShareClub
* anasch.cc
@@ -264,7 +264,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Araba Fenice (Phoenix) [![(invite needed)][inviteneeded]](#)
* ArabP2P
* AsianCinema
* AsianDVDClub
* AudioNews (AN)
* Aussierul.es [![(invite needed)][inviteneeded]](#)
* AvistaZ (AsiaTorrents)
@@ -288,6 +287,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
@@ -337,7 +337,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Dragonworld Reloaded [![(invite needed)][inviteneeded]](#)
* EbookParadijs
* Ebooks-Shares
* EfectoDoppler
* Empornium (EMP) [![(invite needed)][inviteneeded]](#)
* eShareNet
* eStone (XiDER, BeLoad, BigTorrent)
@@ -388,6 +387,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 +409,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,11 +437,11 @@ 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]](#)
* NBTorrents [![(invite needed)][inviteneeded]](#)
* Nbytez
* NCore
* Nebulance (NBL) (TransmiTheNet)
* NetCosmo
@@ -456,6 +457,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
@@ -488,7 +490,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* RedBits
* Red Star Torrent (RST) [![(invite needed)][inviteneeded]](#)
* Redacted (PassTheHeadphones) [![(invite needed)][inviteneeded]](#)
* Renegade
* Resurrect The Net
* RetroFlix
* RevolutionTT
@@ -513,6 +514,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* SpeedCD
* Speedmaster HD [![(invite needed)][inviteneeded]](#)
* SpeedTorrent Reloaded [![(invite needed)][inviteneeded]](#)
* SpiderTK
* Spirit of Revolution [![(invite needed)][inviteneeded]](#)
* SportHD [![(invite needed)][inviteneeded]](#)
* SportsCult
@@ -730,7 +732,7 @@ Detailed instructions are available at [LinuxServer.io Jackett Docker](https://h
## Installation on Synology
Jackett is available as a beta package from [SynoCommunity](https://synocommunity.com/)
Jackett is available as a [beta package](https://synocommunity.com/package/jackett) from [SynoCommunity](https://synocommunity.com/)
## Running Jackett behind a reverse proxy

View File

@@ -1,186 +0,0 @@
---
id: alleenretail
name: Alleen Retail
description: "Alleen Retail is a DUTCH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: nl-NL
type: private
encoding: UTF-8
links:
- http://www.alleenretail.org/ # does not support https ERR_CONNECTION_REFUSED
caps:
categorymappings:
- {id: 2, cat: Movies/DVD, desc: "Films DVD"}
- {id: 17, cat: Movies, desc: "Films Promo"}
- {id: 3, cat: Audio/Video, desc: "Muziek Video"}
- {id: 4, cat: Audio/Video, desc: "Cabaret"}
- {id: 18, cat: Movies, desc: "Films Kids"}
- {id: 6, cat: TV, desc: "TV Series"}
- {id: 19, cat: Other, desc: "Overigen"}
- {id: 20, cat: TV/Documentary, desc: "Documentaire"}
- {id: 9, cat: PC/Games, desc: "Games PC"}
- {id: 10, cat: Books/Mags, desc: "Magazines"}
- {id: 11, cat: Movies/SD, desc: "Films AVI/DivX"}
- {id: 22, cat: Movies, desc: "Films Classics"}
- {id: 8, cat: Audio, desc: "Muziek"}
- {id: 23, cat: PC/Mac, desc: "Software Mac"}
- {id: 1, cat: Books/Comics, desc: "Stripboeken"}
- {id: 13, cat: PC/Mobile-Android, desc: "Android"}
- {id: 14, cat: PC/Mobile-Other, desc: "Navigatie"}
- {id: 7, cat: PC/0day, desc: "Software PC"}
- {id: 12, cat: PC/Mobile-iOS, desc: "iOS"}
- {id: 21, cat: Movies/HD, desc: "Films HD"}
- {id: 5, cat: Audio/Audiobook, desc: "Luisterboeken"}
- {id: 15, cat: XXX, desc: "18+"}
- {id: 24, cat: Movies/UHD, desc: "Films Blu-ray/3D/4K"}
- {id: 16, 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: thankyou
# type: text
# label: Thank You Comment
# - name: info
# type: info
# label: Thank you comment
# default: This site requires you to leave a Thank You comment before you can download. Enter your personalised comment above.
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table.main:contains("Aanmelden mislukt")
test:
path: /
selector: a[href="logout.php"]
# download:
# before:
# # /comment.php?action=add&tid=166386
# path: comment.php
# method: post
# inputs:
# action: add
# tid: "{{ .DownloadUri.Query.id }}"
# text: "{{ .Config.thankyou }}"
# submit: Opslaan
# selectors:
# - selector: a[href^="download.php?id="]
# attribute: href
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
incldead: 1
# does not support imdbid search and does not return imdb link in results
rows:
selector: table.mainouter
filters:
- name: andmatch
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: ["(?i)seizoen\\s*(\\d{1,2})\\s*(tot|t\/m)\\s*(\\d{1,2})", "S$1-$3"]
- name: re_replace
args: ["(?i)(seizoen\\s*)(\\d{1,2})", "S$2"]
- name: re_replace
args: ["(?i)(afl.\\s*|aflevering\\s*)(\\d{1,2})", "E$2"]
- name: re_replace
args: ["(?i)compleet", "Complete"]
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?id="]
attribute: href
size:
selector: a[href^="details_bestanden.php?torrent_id="]
filters:
- name: regexp
args: "(.+?) in"
files:
selector: a[href^="details_bestanden.php?torrent_id="]
filters:
- name: regexp
args: "in (\\d+) bestan"
grabs:
selector: table tr:nth-child(2) td:nth-child(1)
date:
selector: table tr:nth-child(2) td:nth-child(3)
filters:
- name: replace
args: ["januari", "January"]
- name: replace
args: ["februari", "February"]
- name: replace
args: ["maart", "March"]
- name: replace
args: ["april", "April"]
- name: replace
args: ["mei", "May"]
- name: replace
args: ["juni", "June"]
- name: replace
args: ["juli", "July"]
- name: replace
args: ["augustus", "August"]
- name: replace
args: ["september", "September"]
- name: replace
args: ["oktober", "October"]
- name: replace
args: ["november", "November"]
- name: replace
args: ["december", "December"]
- name: re_replace
args: ["\\s*om\\s*", " "]
- name: append
args: " +01:00" # CET
- name: dateparse
args: "2 January 2006 15:04:05 -07:00"
seeders_optional:
optional: true
selector: table tr:nth-child(3) td:nth-child(6) font b
seeders:
text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
leechers_optional:
optional: true
selector: table tr:nth-child(3) td:nth-child(6) font b:nth-child(2)
leechers:
text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
minimumratio:
# between 1.00 and 1.50 is required, and above 1.50 prohibited
text: 1.25
# engine n/a

View 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>&nbsp;18 августа в&nbsp;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>&nbsp;3 октября 2019 в&nbsp;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

View File

@@ -1,125 +0,0 @@
---
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"}
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: 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
method: post
inputs:
apple: evil
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: p:contains("Error")
test:
path: index
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 }}"
rows:
selector: table.torrenttable_helper > tbody > tr:has(img)
fields:
category:
selector: img[class^="cat-"]
attribute: class
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-misc: 12 # unconfirmed as there are currently no torrents for cat[12]
title:
selector: a[href^="/torrent/"]
details:
selector: a[href^="/torrent/"]
attribute: href
download:
selector: a[href^="/torrent/"]
attribute: href
filters:
- name: replace
args: ["torrent", "download"]
size:
selector: td:nth-last-child(6)
seeders:
selector: td:nth-last-child(5)
leechers:
selector: td:nth-last-child(4)
date:
selector: td:nth-last-child(3)
remove: p
filters:
- name: timeago
grabs:
selector: td:nth-last-child(2)
downloadvolumefactor:
case:
img[src="../images/golden.gif"]: 0
img[src="../images/silver.gif"]: 0.5 # unconfirmed as there are currently no silver torrents
"*": 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

View File

@@ -26,6 +26,7 @@ caps:
- {id: 69, cat: TV/Anime, desc: "Mese/XviD"}
- {id: 58, cat: TV, desc: "Sorozat/Eng"}
- {id: 68, cat: TV/Anime, desc: "Mese/DVD"}
- {id: 91, cat: TV/Anime, desc: "Mese/HD"}
- {id: 25, cat: Audio/MP3, desc: "Mp3/Hun"}
- {id: 26, cat: Audio/MP3, desc: "Mp3/Eng"}
- {id: 71, cat: Audio/Lossless, desc: "Lossless/Eng"}
@@ -53,12 +54,13 @@ caps:
music-search: [q]
settings:
- name: username
- name: cookie
type: text
label: Username
- name: password
type: password
label: Password
label: Cookie
- name: info
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: sort
type: select
label: Sort requested from site
@@ -67,7 +69,6 @@ settings:
1: title
4: added
5: size
7: seeders
- name: type
type: select
label: Order requested from site
@@ -81,13 +82,9 @@ settings:
default: For best results, change the <b>Torrentek száma egy oldalon:</b> setting to <b>100</b> on your account profile.
login:
path: login.php
method: post
method: cookie
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table[width="920"]:contains("Hiba")
cookie: "{{ .Config.cookie }}"
test:
path: index.php
selector: a[href^="logout.php?k="]
@@ -129,29 +126,27 @@ search:
- name: replace
args: ["details.php?id=", "download.php?torrent="]
size:
selector: td:last-child
selector: td:nth-last-child(2)
date:
# 2021-11-09 16:51:24
selector: td:nth-last-child(2)
selector: td:last-child
filters:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
files:
selector: td:nth-last-child(4)
grabs:
selector: td:nth-child(2)
selector: td:nth-child(6)
filters:
- name: regexp
args: "D:(\\d+)x"
args: "D:(\\d+)"
seeders:
selector: td:nth-child(2)
selector: td:nth-child(4)
filters:
- name: regexp
args: "S:(\\d+)"
leechers:
selector: td:nth-child(2)
selector: td:nth-child(5)
filters:
- name: regexp
args: "L:(\\d+)"

View 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

View File

@@ -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

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View File

@@ -1,173 +0,0 @@
---
id: devilsplayground
name: Devils-Playground
description: "Devils-Playground (Nbytez) is a Private Torrent Tracker for MOVIES / TV / GENERAL"
language: en-GB
type: private
encoding: UTF-8
links:
- http://devils-playground.org/
legacylinks:
- https://devils-playground.org/
- https://nbytez.me/
- http://nbytez.me/
caps:
categorymappings:
- {id: 3, cat: PC, desc: "Apps"}
- {id: 4, cat: Books/EBook, desc: "Ebooks"}
- {id: 22, cat: PC/Games, desc: "Games"}
- {id: 15, cat: Movies, desc: "Movies"}
- {id: 19, cat: Movies/UHD, desc: "Movies/Bluray"}
- {id: 20, cat: Movies, desc: "Movies/Packs"}
- {id: 17, cat: Movies/WEB-DL, desc: "Movies/Webrip"}
- {id: 16, cat: Movies/HD, desc: "Movies/x265"}
- {id: 18, cat: Movies/SD, desc: "Movies/XVID"}
- {id: 10, cat: Audio, desc: "Music/"}
- {id: 12, cat: Audio/Lossless, desc: "Music/FLAC"}
- {id: 11, cat: Audio/MP3, desc: "Music/MP3"}
- {id: 14, cat: Audio, desc: "Music/Packs"}
- {id: 13, cat: Audio, desc: "Music/Top UK 40"}
- {id: 5, cat: TV, desc: "TV"}
- {id: 9, cat: TV, desc: "TV/Packs"}
- {id: 6, cat: TV/HD, desc: "TV/x254"}
- {id: 7, cat: TV/HD, desc: "TV/x255"}
- {id: 8, cat: TV/SD, desc: "TV/XVID"}
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
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>Torrents per page:</b> setting to <b>40</b> on your account profile. The default is <i>15</i>.
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: table:has(a[href*="login.php?error=1"])
message:
text: "ERROR: Incorrect username!"
- selector: table:has(a[href*="login.php?error=4"])
message:
text: "ERROR: Incorrect password!"
- selector: table:has(a[href*="login.php?error="])
message:
text: "ERROR: Something went wrong during login!"
test:
path: index.php
selector: a[href*="logout.php?logouthash="]
search:
paths:
- path: browse.php
inputs:
do: search
# does not support multi categories so defaulting to ALL
category: 0
# yes incldead, no activeonly
include_dead_torrents: yes
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 }}"
sort: "{{ .Config.sort }}"
order: "{{ .Config.type }}"
# does not return imdb link in results
keywordsfilters:
- name: re_replace # replace special characters with "%" (wildcard)
args: ["[^a-zA-Z0-9]+", "%"]
rows:
selector: "table#sortabletable tbody 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_default:
# is often abbreviated
selector: a[href*="details.php?id="]
title_optional:
# usually longer than details title
selector: div[id^="port-content-"] div
optional: true
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
details:
selector: a[href*="details.php?id="]
attribute: href
download:
selector: a[href*="download.php?id="]
attribute: href
poster:
selector: div[id^="port-content-"] img
attribute: src
date:
selector: td:nth-child(2) > div:last-child
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-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
# TBD, Rules and FAQ do not cover this yet
# minimumratio:
# text: 1.0
# minimumseedtime:
# # 2 days (as seconds = 2 x 24 x 60 x 60)
# text: 172800
# TS Special Edition v.7.5

View File

@@ -10,24 +10,23 @@ links:
caps:
categorymappings:
- {id: 77, cat: PC, desc: "3D Models"}
- {id: 65, cat: Audio, desc: "Audio"}
- {id: 64, cat: Books/EBook, desc: "Books"}
- {id: 66, cat: TV, desc: "Business"}
- {id: 66, cat: Books, desc: "Business"}
- {id: 68, cat: Books/Comics, desc: "Comics"}
- {id: 67, cat: TV, desc: "Development"}
- {id: 60, cat: TV/Documentary, desc: "Documentaries"}
- {id: 59, cat: TV/Documentary, desc: "Docs/Movies"}
- {id: 60, cat: TV/Documentary, desc: "Docs/TV"}
- {id: 71, cat: Other, desc: "Fonts"}
- {id: 62, cat: Other, desc: "Graphic"}
- {id: 72, cat: Books, desc: "IT Books"}
- {id: 57, cat: Books/Mags, desc: "Magazine"}
- {id: 58, cat: TV, desc: "Medicine"}
- {id: 58, cat: Books, desc: "Medicine"}
- {id: 70, cat: Books/EBook, desc: "Occult"}
- {id: 74, cat: Audio, desc: "Podcasts"}
- {id: 69, cat: Other, desc: "PS Resources"}
- {id: 76, cat: Books, desc: "Self-Help"}
- {id: 56, cat: TV/Sport, desc: "Sports"}
- {id: 59, cat: TV, desc: "Video"}
- {id: 61, cat: TV, desc: "Video tutorials"}
- {id: 61, cat: Other, desc: "Tutorials"}
modes:
search: [q]

View File

@@ -1,146 +0,0 @@
---
id: efectodoppler
name: Efecto Doppler
description: "Efecto Doppler is a SPANISH Private Torrent Tracker for MUSIC"
language: es-ES
type: private
encoding: UTF-8
links:
- https://efectodoppler.pw/
caps:
categorymappings:
- {id: 1, cat: Audio, desc: "Música"}
- {id: 2, cat: PC, desc: "Aplicaciones"}
- {id: 3, cat: Books/EBook, desc: "Libros Electrónicos"}
- {id: 4, cat: Audio/Audiobook, desc: "Audiolibros"}
- {id: 5, cat: Audio/Video, desc: "Vídeos de aprendizaje"}
- {id: 6, cat: Books/Comics, desc: "Comedia"}
- {id: 7, cat: Books/Mags, desc: "Revistas"}
modes:
search: [q]
music-search: [q, album, artist]
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: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
keeplogged: 1
error:
- selector: form > span.warning
test:
path: index.php
selector: a[href^="logout.php?auth="]
search:
paths:
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
searchstr: "{{ .Keywords }}"
artistname: "{{ .Query.Artist }}"
groupname: "{{ .Query.Album }}"
order_by: "{{ .Config.sort }}"
order_way: "{{ .Config.type }}"
# 1 gold, 2 neutral, 3 other, 0 normal
freetorrent: "{{ if .Config.freeleech }}3{{ else }}{{ end }}"
rows:
selector: tr.torrent
filters:
- name: andmatch
fields:
category:
selector: div.tooltip
case:
div.cats_música: 1
div.cats_aplicaciones: 2
div.cats_libroselectrónicos: 3
div.cats_audiolibros: 4
div.cats_vídeosdeaprendizaje: 5
div.cats_comedia: 6
div.cats_revistas: 7
artist:
selector: a[href^="artist.php?id="]
optional: true
title:
selector: a[href^="torrents.php?id="]
filters:
- name: prepend
args: "{{ if .Result.artist }}{{ .Result.artist }}{{ else }}Varios artistas{{ end }} - "
details:
selector: a[href^="torrents.php?id="]
attribute: href
poster:
selector: div.group_image img
attribute: src
download:
selector: a[href^="torrents.php?action=download&id="]
attribute: href
description:
selector: div.torrent_info
files:
selector: td:nth-child(3)
date:
selector: td:nth-child(4) span
attribute: title
filters:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "Jan 02 2006, 15:04 -07:00"
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.torrent_label[title*="Neutral"]: 0
strong.torrent_label[title*="Oro"]: 0
"*": 1
uploadvolumefactor:
case:
strong.torrent_label[title*="Neutral"]: 0
"*": 1
minimumratio:
text: 0.6
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# engine n/a

View File

@@ -143,4 +143,10 @@ search:
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 0.5
# MR is reduced but not removed if MST is met
# minimumseedtime:
# # 3 days (as seconds = 3 x 24 x 60 x 60)
# text: 259200
# luminance

View File

@@ -0,0 +1,75 @@
---
id: freshmeat
name: freshMeat
description: "freshMeat is a Public torrent meta-search engine"
language: en-US
type: public
encoding: UTF-8
certificates:
- 9aa995b06d86a22074c90faf5a9836e8a0fe6327 # expired 03/Jan/2022
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

View 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

View File

@@ -25,18 +25,21 @@ caps:
- {id: 16, cat: TV, desc: "TV Yerli"}
- {id: 19, cat: TV/HD, desc: "TV Yerli HD"}
- {id: 170, cat: Movies/HD, desc: "Movies HD"}
- {id: 175, cat: Movies/HD, desc: "Movies 1080p Remux DUAL"}
- {id: 226, cat: Movies/HD, desc: "Movies 1080p Remux TR"}
- {id: 183, cat: Movies/HD, desc: "Movies 1080p Remux Yabancı"}
- {id: 174, cat: Movies/3D, desc: "Movies 3D DUAL"}
- {id: 180, cat: Movies/3D, desc: "Movies 3D TR"}
- {id: 181, cat: Movies/3D, desc: "Movies 3D Yabancı"}
- {id: 217, cat: Movies/UHD, desc: "Movies 4K DUAL"}
- {id: 224, cat: Movies/UHD, desc: "Movies 4K Remux DUAL"}
- {id: 225, cat: Movies/UHD, desc: "Movies 4K Remux Yabanci"}
- {id: 218, cat: Movies/UHD, desc: "Movies 4K TR"}
- {id: 216, cat: Movies/UHD, desc: "Movies 4K Yabancı"}
- {id: 205, cat: Movies/DVD, desc: "Movies DVD DUAL"}
- {id: 206, cat: Movies/DVD, desc: "Movies DVD TR/Yerli"}
- {id: 219, cat: Movies/DVD, desc: "Movies DVD Yabancı"}
- {id: 173, cat: Movies/BluRay, desc: "Movies Full BD"}
- {id: 175, cat: Movies/HD, desc: "Movies Remux DUAL"}
- {id: 183, cat: Movies/HD, desc: "Movies Remux Yabancı"}
- {id: 171, cat: Movies/HD, desc: "Movies x264 DUAL"}
- {id: 176, cat: Movies/HD, desc: "Movies x264 TR"}
- {id: 177, cat: Movies/HD, desc: "Movies x264 Yabancı"}
@@ -73,6 +76,7 @@ caps:
- {id: 221, cat: Other, desc: "VIP"}
- {id: 85, cat: XXX, desc: "XXX"}
- {id: 92, cat: XXX/Other, desc: "XXX E-Magazin"}
- {id: 220, cat: XXX/Other, desc: "XXX Hentai"}
- {id: 93, cat: XXX, desc: "XXX Movie"}
- {id: 95, cat: XXX/Pack, desc: "XXX Packs"}
- {id: 96, cat: XXX/ImageSet, desc: "XXX Pics"}

View File

@@ -12,25 +12,25 @@ caps:
# commented out categories are discussion-only forums
categorymappings:
# CIURMA
# - {id: "150", cat: Other, desc: "Regole per Postare"}
# - {id: "150", cat: Other, desc: "Regole per Postare"}
- {id: "140", cat: Other/Misc, desc: "Bozze - Sezione fruibile a tutti i nuovi Releaser", default: true}
# INFORMAZIONI E REGOLE DEL FORUM
# - {id: "108", cat: Other, desc: "Manifesto Generale"}
# - {id: "30", cat: Other, desc: "Disclaimer"}
# - {id: "76", cat: Other, desc: "Statuto"}
# - {id: "31", cat: Other, desc: "Comunicazioni dello STAFF"}
# - {id: "32", cat: Other, desc: "Guide sull'uso del Forum"}
# - {id: "124", cat: Other, desc: "iCV Community"}
# - {id: "108", cat: Other, desc: "Manifesto Generale"}
# - {id: "30", cat: Other, desc: "Disclaimer"}
# - {id: "76", cat: Other, desc: "Statuto"}
# - {id: "31", cat: Other, desc: "Comunicazioni dello STAFF"}
# - {id: "32", cat: Other, desc: "Guide sull'uso del Forum"}
# - {id: "124", cat: Other, desc: "iCV Community"}
# PROGETTI
# - {id: "172", cat: Audio, desc: "Progetto - Discografie"}
# - {id: "109", cat: Movies, desc: "Progetto - Filmografie"}
# - {id: "110", cat: Books, desc: "Progetto - Biblico"}
# - {id: "137", cat: Other, desc: "Progetto - Releaser/Crew"}
# - {id: "126", cat: Movies, desc: "Progetto - Cine Vintage "}
# - {id: "172", cat: Audio, desc: "Progetto - Discografie"}
# - {id: "109", cat: Movies, desc: "Progetto - Filmografie"}
# - {id: "110", cat: Books, desc: "Progetto - Biblico"}
# - {id: "137", cat: Other, desc: "Progetto - Releaser/Crew"}
# - {id: "126", cat: Movies, desc: "Progetto - Cine Vintage "}
# MUSICA
- {id: "19", cat: Audio, desc: "Musica Audio - Tutti i formati", default: true}
- {id: "20", cat: Audio/Video, desc: "Musica Video - Standard Definition - High Definition", default: true}
# - {id: "135", cat: Audio, desc: "Richieste Titoli Musica"}
# - {id: "135", cat: Audio, desc: "Richieste Titoli Musica"}
# VIDEO
- {id: "6", cat: Movies/SD, desc: "Video - Screener", default: true}
- {id: "7", cat: Movies/SD, desc: "Video - Standard Definition", default: true}
@@ -41,66 +41,66 @@ caps:
- {id: "95", cat: Movies, desc: "Video - Dispositivi Mobili (Portable)", default: true}
- {id: "79", cat: Movies, desc: "Video - TVRip - Standard Definition - High Definition", default: true}
- {id: "14", cat: TV/Other, desc: "Video - Documentari - Sportivi - Spettacoli - Lirica - Standard Definition - High Definition", default: true}
# - {id: "134", cat: Movies, desc: "Richieste Titoli Video"}
# - {id: "134", cat: Movies, desc: "Richieste Titoli Video"}
# SERIE TV
- {id: "12", cat: TV/SD, desc: "Serie TV - Standard Definition", default: true}
- {id: "102", cat: TV/HD, desc: "Serie TV - High definition H.264", default: true}
- {id: "161", cat: TV/HD, desc: "Serie TV - High definition HEVC/H.265", default: true}
# - {id: "103", cat: TV, desc: "L'angolo di Giuseppe-iCV & littlelinx"}
# - {id: "160", cat: TV, desc: "L'angolo di Pir8"}
# - {id: "169", cat: TV, desc: "L'angolo di TV-P2P"}
# - {id: "133", cat: TV, desc: "Richieste Titoli Serie TV"}
# - {id: "103", cat: TV, desc: "L'angolo di Giuseppe-iCV & littlelinx"}
# - {id: "160", cat: TV, desc: "L'angolo di Pir8"}
# - {id: "169", cat: TV, desc: "L'angolo di TV-P2P"}
# - {id: "133", cat: TV, desc: "Richieste Titoli Serie TV"}
# CARTONI ANIMATI - ANIME
- {id: "17", cat: Movies/SD, desc: "Cartoni Animati - Standard Definition - High Definition", default: true}
- {id: "18", cat: TV/HD, desc: "Cartoni Animati - Serie TV Standard Definition - High Definition", default: true}
- {id: "15", cat: TV/Anime, desc: "Anime - Standard Definition - High Definition", default: true}
- {id: "16", cat: TV/Anime, desc: "Anime - Serie TV Standard Definition - High Definition", default: true}
- {id: "89", cat: Movies/HD, desc: "Cartoni Animati - Anime - Serie Tv e Non - High Definition - HEVC/H.265", default: true}
# - {id: "132", cat: TV/Anime, desc: "Richieste Titoli Cartoni Animati - Anime"}
# - {id: "132", cat: TV/Anime, desc: "Richieste Titoli Cartoni Animati - Anime"}
# EBOOK - FUMETTI - RIVISTE - QUOTIDIANI
- {id: "25", cat: Books/EBook, desc: "Ebook", default: true}
- {id: "26", cat: Audio/Audiobook, desc: "Ebook Audio", default: true}
- {id: "170", cat: Books/Comics, desc: "Fumetti", default: true}
- {id: "28", cat: Books/Mags, desc: "Riviste - Quotidiani", default: true}
- {id: "47", cat: Other, desc: "Wallpapers - Poster - Calendari", default: true}
# - {id: "131", cat: Movies, desc: "Richieste Titoli Ebook - Fumetti - Riviste"}
# - {id: "131", cat: Movies, desc: "Richieste Titoli Ebook - Fumetti - Riviste"}
# SOFTWARE
- {id: "21", cat: PC/0day, desc: "Windows Software", default: true}
# - {id: "22", cat: PC, desc: "Windows Guide e altre in generale"}
# - {id: "92", cat: PC, desc: "Windows Supporto "}
# - {id: "22", cat: PC, desc: "Windows Guide e altre in generale"}
# - {id: "92", cat: PC, desc: "Windows Supporto "}
- {id: "138", cat: PC/Mac, desc: "macOS Software", default: true}
# - {id: "162", cat: PC/Mac, desc: "macOS Guide"}
# - {id: "163", cat: PC/Mac, desc: "macOS Supporto"}
# - {id: "164", cat: PC/Mac, desc: "Hackintosh Guide"}
# - {id: "165", cat: PC/Mac, desc: "Hackintosh Supporto"}
# - {id: "162", cat: PC/Mac, desc: "macOS Guide"}
# - {id: "163", cat: PC/Mac, desc: "macOS Supporto"}
# - {id: "164", cat: PC/Mac, desc: "Hackintosh Guide"}
# - {id: "165", cat: PC/Mac, desc: "Hackintosh Supporto"}
- {id: "23", cat: PC, desc: "Linux Software", default: true}
# - {id: "168", cat: PC, desc: "Linux Guide"}
# - {id: "93", cat: PC, desc: "Linux Supporto"}
# - {id: "168", cat: PC, desc: "Linux Guide"}
# - {id: "93", cat: PC, desc: "Linux Supporto"}
- {id: "24", cat: PC, desc: "Guide & Tutorial Video", default: true}
# - {id: "129", cat: PC, desc: "Richieste Titoli Software"}
# - {id: "129", cat: PC, desc: "Richieste Titoli Software"}
# GAMES
- {id: "36", cat: PC/Games, desc: "Games - Pc Windows", default: true}
- {id: "158", cat: PC/Mac, desc: "Games - macOS", default: true}
- {id: "37", cat: Console/XBox 360, desc: "Games - Console Microsoft Xbox 360", default: true}
- {id: "38", cat: Console/PS3, desc: "Games - Console Sony PS3", default: true}
- {id: "152", cat: Console/PS4, desc: "Games - Console Sony PS4", default: true}
# - {id: "99", cat: PC/Games, desc: "Games - Supporto"}
# - {id: "123", cat: PC/Games, desc: "Games - Guide"}
# - {id: "130", cat: PC/Games, desc: "Richieste Titoli Games"}
# - {id: "99", cat: PC/Games, desc: "Games - Supporto"}
# - {id: "123", cat: PC/Games, desc: "Games - Guide"}
# - {id: "130", cat: PC/Games, desc: "Richieste Titoli Games"}
# ANDROID
- {id: "58", cat: PC/Mobile-Android, desc: "Android Apps", default: true}
# - {id: "144", cat: PC/Mobile-Android, desc: "Android Guide"}
# - {id: "128", cat: PC/Mobile-Android, desc: "Richieste Titoli Android"}
# - {id: "144", cat: PC/Mobile-Android, desc: "Android Guide"}
# - {id: "128", cat: PC/Mobile-Android, desc: "Richieste Titoli Android"}
# TEAM GRAFICO
# - {id: "88", cat: Other, desc: "Vetrina Grafica"}
# - {id: "100", cat: Other, desc: "Tutorial Photoshop CC"}
# - {id: "88", cat: Other, desc: "Vetrina Grafica"}
# - {id: "100", cat: Other, desc: "Tutorial Photoshop CC"}
# TAVERNA DEI CORSARI
# - {id: "39", cat: Other, desc: "Presentati alla Community"}
# - {id: "112", cat: Other, desc: "Assistenza Forum"}
# - {id: "33", cat: Other, desc: "Chiacchiere in generale"}
# - {id: "83", cat: Other, desc: "Commenti Titoli "}
# - {id: "136", cat: Other, desc: "Sondaggi"}
# - {id: "145", cat: Other, desc: "il CorSaRo VeRde App"}
# - {id: "39", cat: Other, desc: "Presentati alla Community"}
# - {id: "112", cat: Other, desc: "Assistenza Forum"}
# - {id: "33", cat: Other, desc: "Chiacchiere in generale"}
# - {id: "83", cat: Other, desc: "Commenti Titoli "}
# - {id: "136", cat: Other, desc: "Sondaggi"}
# - {id: "145", cat: Other, desc: "il CorSaRo VeRde App"}
# ARCHIVIO FORUM
- {id: "171", cat: PC/0day, desc: "Windows Software obsoleto", default: true}

View 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

View File

@@ -9,54 +9,68 @@ links:
- https://mircrew-releases.org/
caps:
# commented out categories are discussion-only forums
categorymappings:
- {id: 1, cat: Other, desc: "MIRCrew Sharing Community"}
- {id: 2, cat: Other, desc: "Piazza Grande"}
- {id: 3, cat: Other, desc: "Comunicazioni, Annunci & Guide"}
- {id: 11, cat: Other, desc: "CAG Progetti & Collezioni"}
- {id: 12, cat: Other, desc: "CAG Pir8 Channel"}
- {id: 13, cat: Other, desc: "CAG Progetti"}
- {id: 61, cat: Other, desc: "CAG Video"}
- {id: 62, cat: Other, desc: "CAG Animazione"}
- {id: 63, cat: Other, desc: "CAG Libreria"}
- {id: 64, cat: Other, desc: "CAG Musica"}
- {id: 14, cat: Other, desc: "CAG Collezioni"}
- {id: 50, cat: Other, desc: "CAG Proposte & Richieste"}
- {id: 60, cat: Other, desc: "CAG Abbandonati"}
- {id: 15, cat: Other, desc: "Area Grafica"}
- {id: 16, cat: Other, desc: "Vetrina MIRCrew"}
- {id: 17, cat: Other, desc: "Vetrina Utenti"}
- {id: 19, cat: Other, desc: "Area Staff"}
- {id: 23, cat: Other, desc: "Archivio"}
- {id: 25, cat: Movies, desc: "Video Releases"}
- {id: 26, cat: Movies, desc: "Releases Film"}
- {id: 28, cat: TV, desc: "Releases Serie TV"}
- {id: 51, cat: TV, desc: "Releases TV Stagioni in corso"}
- {id: 52, cat: TV, desc: "Releases TV Stagioni complete"}
- {id: 29, cat: TV/Documentary, desc: "Documentari"}
- {id: 30, cat: TV, desc: "TV Show"}
- {id: 31, cat: TV, desc: "Teatro"}
- {id: 32, cat: Movies, desc: "Richieste Video"}
- {id: 53, cat: Movies, desc: "Richieste Film"}
- {id: 54, cat: TV, desc: "Richieste Serie TV"}
- {id: 55, cat: Movies, desc: "Richieste Video diverse"}
- {id: 57, cat: Movies, desc: "Richieste Video Soddisfatte"}
- {id: 33, cat: TV/Anime, desc: "Animazione Releases"}
- {id: 34, cat: TV/Anime, desc: "Anime - Movies"}
- {id: 35, cat: TV/Anime, desc: "Anime - Serie"}
- {id: 36, cat: TV/Anime, desc: "Cartoon - Movies"}
- {id: 37, cat: TV/Anime, desc: "Cartoon - Serie"}
- {id: 38, cat: TV/Anime, desc: "Richieste Animazione"}
- {id: 39, cat: Books, desc: "Libreria Releases"}
- {id: 40, cat: Books/EBook, desc: "E-Books"}
- {id: 41, cat: Audio/Audiobook, desc: "A-Books"}
- {id: 42, cat: Books/Comics, desc: "Comics"}
- {id: 43, cat: Books/Mags, desc: "Edicola"}
- {id: 44, cat: Books, desc: "Richieste Libreria"}
- {id: 45, cat: Audio, desc: "Music Releases"}
- {id: 46, cat: Audio, desc: "Musica - Audio"}
- {id: 47, cat: Audio/Video, desc: "Musica - Video"}
- {id: 48, cat: Audio, desc: "Richieste Musica"}
# - {id: 1, cat: Other, desc: "MIRCrew Sharing Community"}
# - {id: 2, cat: Other, desc: "Piazza Grande"}
# - {id: 4, cat: Other, desc: "PG Statuto & Regole"}
# - {id: 5, cat: Other, desc: "PG Info Point"}
# - {id: 6, cat: Other, desc: "PG Presentazioni"}
# - {id: 7, cat: Other, desc: "PG Off Topic"}
# - {id: 49, cat: Other, desc: "PG Segnalazioni allo Staff"}
# - {id: 3, cat: Other, desc: "Comunicazioni, Annunci & Guide"}
# - {id: 8, cat: Other, desc: "CAG Comunicazioni da MIRCrew"}
# - {id: 9, cat: Other, desc: "CAG Guide & Tutorial"}
# - {id: 11, cat: Other, desc: "Progetti & Collezioni"}
# - {id: 12, cat: Other, desc: "P&C Pir8 Channel"}
# - {id: 13, cat: Other, desc: "P&C Progetti"}
# - {id: 61, cat: Other, desc: "P&C Video"}
# - {id: 62, cat: Other, desc: "P&C Animazione"}
# - {id: 63, cat: Other, desc: "P&C Libreria"}
# - {id: 64, cat: Other, desc: "P&C Musica"}
# - {id: 14, cat: Other, desc: "P&C Collezioni"}
# - {id: 50, cat: Other, desc: "P&C Proposte & Richieste"}
# - {id: 60, cat: Other, desc: "P&C Abbandonati"}
# - {id: 15, cat: Other, desc: "Area Grafica"}
# - {id: 16, cat: Other, desc: "AG Vetrina MIRCrew"}
# - {id: 17, cat: Other, desc: "AG Vetrina Utenti"}
# - {id: 18, cat: Other, desc: "AG Richieste Grafica"}
# - {id: 19, cat: Other, desc: "Area Staff"}
# - {id: 20, cat: Other, desc: "AS Membri MIRCrew"}
# - {id: 21, cat: Other, desc: "AS Reclutamento MIRCrew"}
# - {id: 23, cat: Other, desc: "AS Archivio"}
- {id: 25, cat: Movies, desc: "Video Releases", default: true}
- {id: 26, cat: Movies, desc: "Releases Film", default: true}
# - {id: 28, cat: TV, desc: "Releases Serie TV"}
- {id: 51, cat: TV, desc: "Releases TV Stagioni in corso", default: true}
- {id: 52, cat: TV, desc: "Releases TV Stagioni complete", default: true}
- {id: 29, cat: TV/Documentary, desc: "Documentari", default: true}
- {id: 30, cat: TV, desc: "TV Show", default: true}
- {id: 31, cat: TV, desc: "Teatro", default: true}
# - {id: 32, cat: Movies, desc: "Richieste Video"}
# - {id: 53, cat: Movies, desc: "Richieste Film"}
# - {id: 54, cat: TV, desc: "Richieste Serie TV"}
# - {id: 55, cat: Movies, desc: "Richieste Video diverse"}
# - {id: 57, cat: Movies, desc: "Richieste Video Soddisfatte"}
- {id: 33, cat: TV/Anime, desc: "Animazione Releases", default: true}
- {id: 34, cat: TV/Anime, desc: "Anime - Movies", default: true}
- {id: 35, cat: TV/Anime, desc: "Anime - Serie", default: true}
- {id: 36, cat: TV/Anime, desc: "Cartoon - Movies", default: true}
- {id: 37, cat: TV/Anime, desc: "Cartoon - Serie", default: true}
# - {id: 38, cat: TV/Anime, desc: "Richieste Animazione", default: true}
# - {id: 58, cat: TV/Anime, desc: "Richieste Animazione Soddisfatte", default: true}
- {id: 39, cat: Books, desc: "Libreria Releases", default: true}
- {id: 40, cat: Books/EBook, desc: "E-Books", default: true}
- {id: 41, cat: Audio/Audiobook, desc: "A-Books", default: true}
- {id: 42, cat: Books/Comics, desc: "Comics", default: true}
- {id: 43, cat: Books/Mags, desc: "Edicola", default: true}
# - {id: 44, cat: Books, desc: "Richieste Libreria"}
# - {id: 59, cat: Books, desc: "Richieste Libreria Soddisfatte"}
- {id: 45, cat: Audio, desc: "Music Releases", default: true}
- {id: 46, cat: Audio, desc: "Musica - Audio", default: true}
- {id: 47, cat: Audio/Video, desc: "Musica - Video", default: true}
# - {id: 48, cat: Audio, desc: "Richieste Musica"}
# - {id: 56, cat: Audio, desc: "Richieste Musica Soddisfatte"}
modes:
search: [q]
@@ -114,7 +128,7 @@ search:
# Search by Author
author: ""
# Search in subforums: yes 1, no 0
sc: 1
sc: 0
# Search For: all, msgonly, titleonly, firstpost
sf: titleonly
# Show Results as: posts, topics

View 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

View File

@@ -17,6 +17,10 @@ settings:
type: checkbox
label: Strip Russian Letters
default: true
- name: addrussian
type: checkbox
label: Add RUSSIAN 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
@@ -797,6 +801,11 @@ search:
filters:
- name: querystring
args: f
title_is_rus:
selector: a[href^="viewtopic.php?t="] > b
filters:
- name: re_replace
args: ["[^А-Яа-яЁё]+", ""]
title:
selector: a[href^="viewtopic.php?t="] > b
filters:
@@ -818,6 +827,10 @@ search:
args: ["WEBDLRip", "WEBDL"]
- name: replace
args: ["HDTVRip", "HDTV"]
- name: append
args: "{{ if .Result.title_is_rus }} - RUSSIAN{{ else }}{{ end }}"
- name: re_replace
args: ["(.+?) - RUSSIAN", "{{ if .Config.addrussian }}$1 - RUSSIAN{{ else }}$1{{ end }}"]
details:
selector: a[href^="viewtopic.php?t="]
attribute: href

View File

@@ -23,6 +23,10 @@ settings:
type: checkbox
label: Strip Russian Letters
default: true
- name: addrussian
type: checkbox
label: Add RUSSIAN 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
@@ -822,6 +826,11 @@ search:
filters:
- name: querystring
args: f
title_is_rus:
selector: a[href^="viewtopic.php?t="] > b
filters:
- name: re_replace
args: ["[^А-Яа-яЁё]+", ""]
title:
selector: a[href^="viewtopic.php?t="] > b
filters:
@@ -843,6 +852,10 @@ search:
args: ["WEBDLRip", "WEBDL"]
- name: replace
args: ["HDTVRip", "HDTV"]
- name: append
args: "{{ if .Result.title_is_rus }} - RUSSIAN{{ else }}{{ end }}"
- name: re_replace
args: ["(.+?) - RUSSIAN", "{{ if .Config.addrussian }}$1 - RUSSIAN{{ else }}$1{{ end }}"]
details:
selector: a[href^="viewtopic.php?t="]
attribute: href

View 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

View File

@@ -1,8 +1,8 @@
---
id: piratadigital
name: Pirata Digital
description: "Pirata Digital (PD) is a Private Torrent Tracker for HD MOVIES / TV"
language: en-US
description: "Pirata Digital (PD) is a BRAZILIAN Private Torrent Tracker for HD MOVIES / TV"
language: pt-BR
type: private
encoding: UTF-8
links:

View File

@@ -66,11 +66,11 @@ settings:
- name: info_grid
type: info
label: GRID view
default: This indexer does not support the GRID view on the torrent search page. Change the <b>GRID</b> setting to <b>OFF</b> on your account profile. If set to <i>ON</i> will cause no results to be returned.
default: This indexer does not support the GRID view on the torrent search page. Change the <b>Grid View</b> setting to <b>OFF</b> on your User Settings. If set to <i>ON</i> will cause no results to be returned.
- 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. The default is <i>25</i>.
default: For best results, change the <b>Torrents per page</b> setting to <b>100</b> on your User Settings. The default is <i>25</i>.
login:
path: login.php

View File

@@ -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

View File

@@ -14,6 +14,7 @@ caps:
- {id: 2, cat: TV, desc: "Series"}
- {id: 6, cat: TV/Documentary, desc: "Documentales"}
- {id: 7, cat: TV/Sport, desc: "Deportes"}
- {id: 8, cat: Movies, desc: "Hagbard"}
modes:
search: [q]

View File

@@ -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

View File

@@ -1,184 +0,0 @@
---
id: renegade
name: Renegade
description: "Renegade is a HUNGARIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: hu-HU
type: private
encoding: ISO-8859-2
links:
- http://renegade-tracker.com/
legacylinks:
- https://renegade-tracker.com/ # ERR_CONNECTION_REFUSED
caps:
# dont forget to update the search fields category case block
categorymappings:
- {id: 26, cat: Movies/DVD, desc: "Film/DVD/Eng"}
- {id: 25, cat: Movies/DVD, desc: "Film/DVD/Hun"}
- {id: 38, cat: Movies/SD, desc: "Film/XviD/Eng"}
- {id: 24, cat: Movies/SD, desc: "Film/XviD/Hun"}
- {id: 50, cat: Movies/HD, desc: "Film/HD/Eng"}
- {id: 42, cat: Movies/HD, desc: "Film/HD/Hun"}
- {id: 28, cat: PC/Games, desc: "Játék/ISO"}
- {id: 30, cat: PC/Games, desc: "Játék/Rip"}
- {id: 31, cat: Other, desc: "Képek"}
- {id: 43, cat: Audio/Video, desc: "Klip"}
- {id: 33, cat: Books, desc: "Könyv/Eng"}
- {id: 44, cat: Books, desc: "Könyv/Hun"}
- {id: 32, cat: Console, desc: "Konzol"}
- {id: 53, cat: Audio/Lossless, desc: "Lossless/Eng"}
- {id: 52, cat: Audio/Lossless, desc: "Lossless/Hun"}
- {id: 51, cat: TV/Anime, desc: "Mese/Eng"}
- {id: 45, cat: TV/Anime, desc: "Mese/Hun"}
- {id: 34, cat: PC/Mobile-Other, desc: "Mobil"}
- {id: 40, cat: Audio/MP3, desc: "Mp3/Eng"}
- {id: 41, cat: Audio/MP3, desc: "Mp3/Hun"}
- {id: 35, cat: PC/0day, desc: "Program"}
- {id: 47, cat: TV, desc: "Sorozat/Eng"}
- {id: 36, cat: TV, desc: "Sorozat/Hun"}
- {id: 39, cat: XXX, desc: "XXX/Film"}
- {id: 49, cat: XXX/ImageSet, desc: "XXX/Kép"}
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
login:
path: login.php
method: post
inputs:
belepes: igen
fhnev: "{{ .Config.username }}"
jelszo: "{{ .Config.password }}"
error:
- selector: div#title_curent:contains("Hibás")
message:
selector: font[color="red"]
test:
path: ajanlo.php
selector: a[href="logout.php"]
search:
paths:
# https://renegade-tracker.com/letoltes.php?search=&incldead=1&cat=36
- path: letoltes.php
categories: ["!", 39, 49]
- path: xxx.php
categories: [39, 49]
keywordsfilters:
# the site uses % for wildcard
- name: re_replace
args: ["[^a-zA-Z0-9]+", "%"]
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0 active, 1 both, 2 dead, 3 free, 4 double, 5 Renegade releases, 6 my torrents
# note: free and double do not appear to work
incldead: 1
# does not support imdbid search
rows:
selector: "div#bro_browse_torrents_content{{ if .Config.freeleech }}:contains(\"Igen. Nem \"){{ else }}{{ end }}"
fields:
title:
selector: div#bro_browse_details b font a
details:
selector: div#bro_browse_details b font a
attribute: href
download:
selector: a#bro_dlbutton
attribute: href
poster:
selector: div#bro_browse_poster_1 a img
attribute: src
imdbid:
selector: a[href*="imdb.com/title/tt"]
attribute: href
size:
selector: div#bro_browse_details
filters:
- name: regexp
args: "(\\d+\\.\\d{1,2} [M|G|k]?B)"
files:
selector: div#bro_browse_details
filters:
- name: regexp
args: (\d+) fájl
seeders:
selector: div#bro_browse_details
filters:
- name: regexp
args: (\d+) seeder
leechers:
selector: div#bro_browse_details
filters:
- name: regexp
args: (\d+) leecher
date:
selector: div#bro_browse_details
filters:
- name: regexp
args: (\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})
- name: append
args: " +01:00" # CET
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
downloadvolumefactor:
case:
"div#bro_browse_torrents_content:contains(\"Igen. Nem \")": 0
"*": 1
uploadvolumefactor:
case:
"div#bro_browse_torrents_content:contains(\"DUPLA ott a \")": 2
"*": 1
category:
selector: div#bro_browse_details
remove: a
case:
":contains(\"DVD/Eng\")": 26
":contains(\"DVD/Hun\")": 25
":contains(\"XviD/Eng\")": 38
":contains(\"XviD/Hun\")": 24
":contains(\"HD/Eng\")": 50
":contains(\"HD/Hun\")": 42
":contains(\"Játék/ISO\")": 28
":contains(\"Játék/Rip\")": 30
":contains(\"Képek\")": 31
":contains(\"Klip\")": 43
":contains(\"Könyv/Eng\")": 33
":contains(\"Könyv/Hun\")": 44
":contains(\"Konzol\")": 32
":contains(\"Lossless/Eng\")": 53
":contains(\"Lossless/Hun\")": 52
":contains(\"Mese/Eng\")": 51
":contains(\"Mese/Hun\")": 45
":contains(\"Mobil\")": 34
":contains(\"Mp3/Eng\")": 40
":contains(\"Mp3/Hun\")": 41
":contains(\"Program\")": 35
":contains(\"Sorozat/Eng\")": 47
":contains(\"Sorozat/Hun\")": 36
":contains(\"XXX/Film\")": 39
":contains(\"XXX/Kép\")": 49
minimumratio:
text: 0.7
minimumseedtime:
# 2 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# engine n/a

View File

@@ -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:

View File

@@ -41,6 +41,10 @@ caps:
music-search: [q]
settings:
- name: addrussian
type: checkbox
label: Add RUSSIAN to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified.
default: false
- name: info
type: info
label: A note about RuTor
@@ -70,6 +74,11 @@ search:
fields:
category:
text: 3
title_is_rus:
selector: td:nth-of-type(2) a[href^="/torrent/"]
filters:
- name: re_replace
args: ["[^А-Яа-яЁё]+", ""]
title:
selector: td:nth-of-type(2) a[href^="/torrent/"]
filters:
@@ -79,6 +88,10 @@ search:
args: ["E -", "E01-99 -"]
- name: replace
args: ["Кураж-Бамбей", "kurazh"]
- name: append
args: "{{ if .Result.title_is_rus }} - RUSSIAN{{ else }}{{ end }}"
- name: re_replace
args: ["(.+?) - RUSSIAN", "{{ if .Config.addrussian }}$1 - RUSSIAN{{ else }}$1{{ end }}"]
details:
selector: td:nth-of-type(2) a[href^="/torrent/"]
attribute: href

View File

@@ -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

View File

@@ -56,6 +56,10 @@ search:
type: json
attribute: attributes
keywordsfilters:
- name: re_replace
args: ["\\.", " "]
rows:
selector: data
count:

View File

@@ -87,6 +87,10 @@ search:
page: 1
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
keywordsfilters:
- name: re_replace
args: ["\\.", " "]
rows:
selector: table > tbody > tr

View File

@@ -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]

View File

@@ -0,0 +1,224 @@
---
id: spidertk
name: SpiderTK
description: "SpiderTK is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: fr-FR
type: private
encoding: UTF-8
links:
- https://spidertk.xyz/
caps:
categorymappings:
- {id: 401, cat: Movies/BluRay, desc: "Films / 2160p / BluRay"}
- {id: 410, cat: Movies/UHD, desc: "Films / 2160p / REMUX"}
- {id: 411, cat: Movies/UHD, desc: "Films / 2160p / AV1"}
- {id: 412, cat: Movies/UHD, desc: "Films / 2160p / x265"}
- {id: 413, cat: Movies/BluRay, desc: "Films / 1080p / BluRay"}
- {id: 414, cat: Movies/HD, desc: "Films / 1080p / REMUX"}
- {id: 415, cat: Movies/HD, desc: "Films / 1080p / AV1"}
- {id: 416, cat: Movies/HD, desc: "Films / 1080p / x265"}
- {id: 417, cat: Movies/HD, desc: "Films / 1080p / x264"}
- {id: 418, cat: Movies/HD, desc: "Films / 720p / x264"}
- {id: 419, cat: Movies/SD, desc: "Films / SD / x264"}
- {id: 420, cat: Movies/3D, desc: "Films / 3D"}
- {id: 421, cat: Movies/SD, desc: "Films / XviD"}
- {id: 422, cat: Movies/HD, desc: "Films / HDTV / 1080p"}
- {id: 440, cat: Movies/HD, desc: "Films / HDTV / 720p"}
- {id: 423, cat: Movies/WEB-DL, desc: "Films / WEB / 1080p"}
- {id: 458, cat: Movies/WEB-DL, desc: "Films / WEB / 720p"}
- {id: 424, cat: TV/Documentary, desc: "Films / Documentaire"}
- {id: 425, cat: TV/Sport, desc: "Films / Sport"}
- {id: 426, cat: Movies, desc: "Films / Animation"}
- {id: 427, cat: Movies/Other, desc: "Films / Spectacle"}
- {id: 428, cat: Audio/Video, desc: "Films / Concerts, Clips"}
- {id: 429, cat: Movies, desc: "Films / VOSTFR"}
- {id: 460, cat: Movies, desc: "Films / VO"}
- {id: 430, cat: TV, desc: "Séries / BluRay"}
- {id: 431, cat: TV, desc: "Séries / Pack VF"}
- {id: 432, cat: TV/HD, desc: "Séries / HD VF"}
- {id: 433, cat: TV/SD, desc: "Séries / SD VF"}
- {id: 434, cat: TV, desc: "Séries / Pack VOSTFR"}
- {id: 435, cat: TV/HD, desc: "Séries / HD VOSTFR"}
- {id: 436, cat: TV/SD, desc: "Séries / SD VOSTFR"}
- {id: 437, cat: TV/Anime, desc: "Séries / Pack Animé"}
- {id: 438, cat: TV/Anime, desc: "Séries / Animé VF"}
- {id: 439, cat: TV/Anime, desc: "Séries / Animé VOSTFR"}
- {id: 441, cat: TV/Documentary, desc: "Séries / Documentaire"}
- {id: 442, cat: TV/Sport, desc: "Séries / Sport"}
- {id: 443, cat: TV, desc: "Séries / Émission TV"}
- {id: 461, cat: TV, desc: "Séries / VO"}
- {id: 444, cat: Books/EBook, desc: "Livres / Roman"}
- {id: 445, cat: Audio/Audiobook, desc: "Livres / Audio"}
- {id: 446, cat: Books/Mags, desc: "Livres / Magazine"}
- {id: 447, cat: Books/Comics, desc: "Livres / Bande Dessinée"}
- {id: 448, cat: Books/Comics, desc: "Livres / Comic"}
- {id: 449, cat: Books/Comics, desc: "Livres / Manga"}
- {id: 450, cat: PC/Games, desc: "Logiciels / Jeu PC"}
- {id: 451, cat: PC/Games, desc: "Logiciels / Jeu Mac"}
- {id: 452, cat: PC/Games, desc: "Logiciels / Jeu Linux"}
- {id: 453, cat: PC/0day, desc: "Logiciels / Appli Windows"}
- {id: 454, cat: PC/Mac, desc: "Logiciels / Appli Mac"}
- {id: 455, cat: PC, desc: "Logiciels / Appli Linux"}
- {id: 456, cat: Console, desc: "Logiciels / Console"}
- {id: 457, cat: PC/Mobile-iOS, desc: "Logiciels / iOS"}
- {id: 459, cat: PC/Mobile-Android, desc: "Logiciels / Android"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
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 SpiderTK Web Site. Otherwise just leave it empty."
- 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: 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"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
two_step_code: "{{ .Config.2facode }}"
logout: ""
securelogin: ""
ssl: yes
trackerssl: ""
error:
- selector: td.embedded:has(h2:contains("Echoué")) # invalid captcha
- selector: td.embedded:has(h2:contains("Échec")) # invalid uid or pwd
message:
selector: td.text
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 }}"
inclbookmarked: 0
# 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 }}"
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_optional:
optional: true
selector: a[title][href^="details.php?id="]
attribute: title
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
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: " +01:00" # CET
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
date_added:
# time added
selector: td:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
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: 0.81
# NexusPHP Standard v1.5 Beta 4

View File

@@ -110,9 +110,9 @@ download:
attribute: href
search:
# https://the-devils-lounge.xyz/torrents-search.php?search=&cat=0&incldead=0&freeleech=2&inclexternal=0&lang=0
# https://the-devils-lounge.xyz/torrents.php?search=&cat=0&incldead=0&freeleech=0&inclexternal=0&lang=0
paths:
- path: torrents-search.php
- path: torrents.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"

View File

@@ -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

View File

@@ -114,6 +114,10 @@ search:
- name: replace
args: [" ", "-"]
headers:
# site blocks Jackett's Linux User-Agent, so use Jackett's Windows User-Agent instead
User-Agent: ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"]
rows:
selector: table.table-striped > tbody > tr
filters:

View File

@@ -7,11 +7,8 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentqq119.com/
- https://torrentqq123.com/
legacylinks:
- https://torrentqq100.com/
- https://torrentqq101.com/
- https://torrentqq102.com/
- https://torrentqq103.com/
- https://torrentqq104.com/
- https://torrentqq105.com/
@@ -27,6 +24,10 @@ legacylinks:
- https://torrentqq115.com/
- https://torrentqq117.com/
- https://torrentqq118.com/
- https://torrentqq119.com/
- https://torrentqq120.com/
- https://torrentqq121.com/
- https://torrentqq122.com/
caps:
categorymappings:

View File

@@ -0,0 +1,140 @@
---
id: torrentseeds-api
name: TorrentSeeds (API)
description: "TorrentSeeds is a Private Torrent Tracker for MOVIES / TV / MUSIC / GENERAL"
language: en-US
type: private
encoding: UTF-8
links:
- https://torrentseeds.org/
caps:
# dont forget to update the case block in the search fields category
categorymappings:
- {id: 1, cat: PC/0day, desc: "Apps"}
- {id: 5, cat: TV/Anime, desc: "Anime"}
- {id: 2, cat: PC/Games, desc: "Games"}
- {id: 3, cat: Movies, desc: "Movies"}
- {id: 4, cat: Audio, desc: "Music"}
- {id: 6, cat: XXX, desc: "Porn"}
- {id: 7, cat: TV/Sport, desc: "Sport"}
- {id: 3205, cat: TV, desc: "TV"}
- {id: 8, cat: TV, desc: "Packs"}
- {id: 3206, cat: TV/Foreign, desc: "TV/Foreign"}
- {id: 3207, cat: Movies/Foreign, desc: "Movies/Foreign"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid, tvdbid]
movie-search: [q, imdbid, tmdbid]
music-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://torrentseeds.org/\" target =_blank>TorrentSeeds</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
search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
response:
type: json
attribute: attributes
rows:
selector: data
count:
selector: meta.total
fields:
category:
selector: category
case:
"Apps": 1
"Games": 2
"Movies": 3
"Music": 4
"Anime": 5
"Porn": 6
"Sport": 7
"Packs": 8
"TV": 3205
"TV/Foreign": 3206
"Movies/Foreign": 3207
title:
selector: name
details:
selector: details_link
download:
selector: download_link
poster:
selector: poster
filters:
- name: replace
args: ["https://via.placeholder.com/90x135", ""]
- name: replace
args: ["https://via.placeholder.com/400x600", ""]
imdbid:
selector: imdb_id
tmdbid:
selector: tmdb_id
tvdbid:
selector: tvdb_id
files:
selector: num_file
seeders:
selector: seeders
leechers:
selector: leechers
grabs:
selector: times_completed
date:
# 2021-10-18T00:34:50.000000Z"
selector: created_at
size:
selector: size
downloadvolumefactor:
# api returns 0=false, 1=true
selector: freeleech
case:
0: 1 # not free
1: 0 # freeleech
uploadvolumefactor:
# api returns 0=false, 1=true
selector: double_upload
case:
0: 1 # normal
1: 2 # double
# global MR is 0.5 but torrents must be seeded for 5 days regardless of ratio
# minimumratio:
# text: 0.5
minimumseedtime:
# 5 days (as seconds = 5 x 24 x 60 x 60)
text: 432000
# json UNIT3D 5.3.0

View File

@@ -7,7 +7,7 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentsir43.com/
- https://torrentsir45.com/
legacylinks:
- https://torrentsir31.com/
- https://torrentsir33.com/
@@ -20,6 +20,8 @@ legacylinks:
- https://torrentsir40.com/
- https://torrentsir41.com/
- https://torrentsir42.com/
- https://torrentsir43.com/
- https://torrentsir44.com/
caps:
categorymappings:

View File

@@ -7,10 +7,9 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentview46.com/
- https://torrentview49.com/
legacylinks:
- https://torrentview.net/
- https://torrentview26.com/
- https://torrentview27.com/
- https://torrentview28.com/
- https://torrentview29.com/
@@ -29,6 +28,8 @@ legacylinks:
- https://torrentview42.com/
- https://torrentview44.com/
- https://torrentview45.com/
- https://torrentview46.com/
- https://torrentview47.com/
caps:
categorymappings:

View File

@@ -7,7 +7,7 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentwiz35.com/
- https://torrentwiz36.com/
legacylinks:
- https://torrentwiz22.me/
- https://torrentwiz23.me/
@@ -22,6 +22,7 @@ legacylinks:
- https://torrentwiz32.com/
- https://torrentwiz33.com/
- https://torrentwiz34.com/
- https://torrentwiz35.com/
caps:
categorymappings:

View File

@@ -7,10 +7,12 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentz2.club/
- https://torrentz2eu.me/ # often rotates between *.me and *.org
- https://torrentzeu.org/
- https://torrentz2.org.in/
- https://torrentz2.unblockninja.com/
legacylinks:
- https://torrentz2.club/
- https://torrentz2eu.me/
- https://torrentzeu.org/
caps:
# unfortunately torrentz2eu does not display categories anywhere in its search results page :-(

View File

@@ -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"]

View File

@@ -12,6 +12,7 @@ caps:
categorymappings:
- {id: 39, cat: Books/EBook, desc: "E-book"}
- {id: 53, cat: XXX, desc: "Film (XXX)"}
- {id: 74, cat: TV/Anime, desc: "Film (Animáció cam)"}
- {id: 72, cat: TV/Anime, desc: "Film (Animáció)"}
- {id: 44, cat: Movies/SD, desc: "Film (Cam Hun)"}
- {id: 40, cat: Movies/DVD, desc: "Film (DVD Eng)"}

View File

@@ -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

View File

@@ -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)
{

View File

@@ -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);

View File

@@ -22,7 +22,6 @@ namespace Jackett.Common.Indexers
[ExcludeFromCodeCoverage]
public class BJShare : BaseWebIndexer
{
private string LoginUrl => SiteLink + "login.php";
private string BrowseUrl => SiteLink + "torrents.php";
private string TodayUrl => SiteLink + "torrents.php?action=today";
private static readonly Regex _EpisodeRegex = new Regex(@"(?:[SsEe]\d{2,4}){1,2}");
@@ -32,7 +31,7 @@ namespace Jackett.Common.Indexers
"https://bj-share.me/"
};
private ConfigurationDataBasicLoginWithRSSAndDisplay ConfigData => (ConfigurationDataBasicLoginWithRSSAndDisplay)configData;
private new ConfigurationDataCookie configData => (ConfigurationDataCookie)base.configData;
@@ -90,7 +89,7 @@ namespace Jackett.Common.Indexers
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLoginWithRSSAndDisplay())
configData: new ConfigurationDataCookie())
{
Encoding = Encoding.UTF8;
Language = "pt-BR";
@@ -123,20 +122,21 @@ namespace Jackett.Common.Indexers
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
{
LoadValuesFromJson(configJson);
var pairs = new Dictionary<string, string>
CookieHeader = configData.Cookie.Value;
try
{
{"username", ConfigData.Username.Value},
{"password", ConfigData.Password.Value},
{"keeplogged", "1"}
};
var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl, true);
await ConfigureIfOK(
result.Cookies, result.ContentString?.Contains("logout.php") == true, () =>
{
var errorMessage = result.ContentString;
throw new ExceptionWithConfigData(errorMessage, ConfigData);
});
return IndexerConfigurationStatus.RequiresTesting;
var results = await PerformQuery(new TorznabQuery());
if (!results.Any())
throw new Exception("Found 0 results in the tracker");
IsConfigured = true;
SaveConfig();
return IndexerConfigurationStatus.Completed;
}
catch (Exception e)
{
IsConfigured = false;
throw new Exception("Your cookie did not work: " + e.Message);
}
}
private static string InternationalTitle(string title)
@@ -222,17 +222,14 @@ namespace Jackett.Common.Indexers
// until they or the source from where they get that info fix it...
if (IsAbsoluteNumbering(title))
{
title = Regex.Replace(title, @"(Ep[\.]?[ ]?)|([S]\d\d[Ee])", "");
title = Regex.Replace(title, @"(Ep[\.]?[ ]?)|([S]\d\d[Ee])", "E");
return title;
}
return title;
}
private bool IsSessionIsClosed(WebResult result)
{
return result.IsRedirect && result.RedirectingTo.Contains("login.php");
}
private bool IsSessionIsClosed(WebResult result) => result.IsRedirect && result.RedirectingTo.Contains("login.php");
private string FixSearchTerm(TorznabQuery query)
{
@@ -265,14 +262,16 @@ namespace Jackett.Common.Indexers
{"searchsubmit", "1"}
};
foreach (var cat in MapTorznabCapsToTrackers(query))
{
queryCollection.Add("filter_cat[" + cat + "]", "1");
}
searchUrl += "?" + queryCollection.GetQueryString();
var results = await RequestWithCookiesAsync(searchUrl);
if (IsSessionIsClosed(results))
{
// re-login
await ApplyConfiguration(null);
results = await RequestWithCookiesAsync(searchUrl);
throw new Exception("The user is not logged in. It is possible that the cookie has expired or you " +
"made a mistake when copying it. Please check the settings.");
}
try
@@ -436,9 +435,8 @@ namespace Jackett.Common.Indexers
var results = await RequestWithCookiesAsync(TodayUrl);
if (IsSessionIsClosed(results))
{
// re-login
await ApplyConfiguration(null);
results = await RequestWithCookiesAsync(TodayUrl);
throw new Exception("The user is not logged in. It is possible that the cookie has expired or you " +
"made a mistake when copying it. Please check the settings.");
}
try

View File

@@ -23,12 +23,16 @@ namespace Jackett.Common.Indexers
private new ConfigurationDataAPIKey configData => (ConfigurationDataAPIKey)base.configData;
public override string[] LegacySiteLinks { get; protected set; } = {
"https://danishbytes.org/"
};
public DanishBytes(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
ICacheService cs)
: base(id: "danishbytes",
name: "DanishBytes",
description: "DanishBytes is a Private Danish Tracker",
link: "https://danishbytes.org/",
link: "https://danishbytes.club/",
caps: new TorznabCapabilities
{
LimitsDefault = 25,

View File

@@ -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>

View File

@@ -99,7 +99,7 @@ namespace Jackett.Common.Indexers
private readonly string[] _voUrls = { "serie-vo", "serievo" };
public override string[] AlternativeSiteLinks { get; protected set; } = {
"https://atomixhq.one/",
"https://atomixhq.net/",
"https://pctmix1.unblockit.tv/"
};
@@ -125,7 +125,8 @@ namespace Jackett.Common.Indexers
"https://maxitorrent.com",
"https://pctmix1.unblockit.kim/",
"https://atomixhq.com/",
"https://pctmix1.unblockit.bz/"
"https://pctmix1.unblockit.bz/",
"https://atomixhq.one/"
};
public NewPCT(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
@@ -133,7 +134,7 @@ namespace Jackett.Common.Indexers
: base(id: "newpct",
name: "NewPCT",
description: "NewPCT - Descargar peliculas, series y estrenos torrent gratis",
link: "https://atomixhq.one/",
link: "https://atomixhq.net/",
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>

View File

@@ -102,6 +102,7 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(1836, TorznabCatType.XXX, "Сайтрипы 2019 (HD Video) / SiteRip's 2019 (HD Video)");
AddCategoryMapping(1842, TorznabCatType.XXX, "Сайтрипы 2020 (HD Video) / SiteRip's 2020 (HD Video)");
AddCategoryMapping(1846, TorznabCatType.XXX, "Сайтрипы 2021 (HD Video) / SiteRip's 2021 (HD Video)");
AddCategoryMapping(1857, TorznabCatType.XXX, "Сайтрипы 2022 (HD Video) / SiteRip's 2022 (HD Video)");
AddCategoryMapping(1451, TorznabCatType.XXX, "Сайтрипы 1991-2010 / SiteRip's 1991-2010");
AddCategoryMapping(1788, TorznabCatType.XXX, "Сайтрипы 2011-2012 / SiteRip's 2011-2012");
AddCategoryMapping(1789, TorznabCatType.XXX, "Сайтрипы 2013 / SiteRip's 2013");
@@ -113,6 +114,7 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(1837, TorznabCatType.XXX, "Сайтрипы 2019 / SiteRip's 2019");
AddCategoryMapping(1843, TorznabCatType.XXX, "Сайтрипы 2020 / SiteRip's 2020");
AddCategoryMapping(1847, TorznabCatType.XXX, "Сайтрипы 2021 / SiteRip's 2021");
AddCategoryMapping(1856, TorznabCatType.XXX, "Сайтрипы 2022 / SiteRip's 2022");
AddCategoryMapping(1707, TorznabCatType.XXX, "Сцены из фильмов / Movie Scenes (кроме SiteRip)");
AddCategoryMapping(284, TorznabCatType.XXX, "Порноролики Разное / Clips (various)");
AddCategoryMapping(1853, TorznabCatType.XXX, "Компиляции и Музыкальные порно клипы / Compilations & Porn Music Video (PMV)");

View File

@@ -58,7 +58,7 @@ namespace Jackett.Common.Indexers
Language = "en-US";
Type = "private";
webclient.AddTrustedCertificate(new Uri(SiteLink).Host, "D948487DD52462F2D1E62B990D608051E3DE5AA6");
webclient.AddTrustedCertificate(new Uri(SiteLink).Host, "C360EEF4D9B288112E038E4BF3AD0064FDA478F1");
AddCategoryMapping(2, TorznabCatType.MoviesUHD, "Movie/2160");
AddCategoryMapping(1, TorznabCatType.MoviesHD, "Movie/1080");

View File

@@ -1,307 +0,0 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Net;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Html.Parser;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig;
using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils;
using Jackett.Common.Utils.Clients;
using Newtonsoft.Json.Linq;
using NLog;
namespace Jackett.Common.Indexers
{
[ExcludeFromCodeCoverage]
public class TorrentSeeds : BaseWebIndexer
{
private string LoginUrl => SiteLink + "takelogin.php";
private string CaptchaUrl => SiteLink + "simpleCaptcha.php?numImages=1";
private string SearchUrl => SiteLink + "browse_elastic.php";
private new ConfigurationDataBasicLoginWithRSSAndDisplay configData => (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData;
public TorrentSeeds(IIndexerConfigurationService configService, Utils.Clients.WebClient wc, Logger l,
IProtectionService ps, ICacheService cs)
: base(id: "torrentseeds",
name: "TorrentSeeds",
description: "TorrentSeeds is a Private site for MOVIES / TV / GENERAL",
link: "https://torrentseeds.org/",
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q
},
MusicSearchParams = new List<MusicSearchParam>
{
MusicSearchParam.Q
},
BookSearchParams = new List<BookSearchParam>
{
BookSearchParam.Q
}
},
configService: configService,
client: wc,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLoginWithRSSAndDisplay("For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile."))
{
Encoding = Encoding.UTF8;
Language = "en-US";
Type = "private";
// NOTE: Tracker Category Description must match Type/Category in details page!
AddCategoryMapping(37, TorznabCatType.TVAnime, "Anime/HD");
AddCategoryMapping(9, TorznabCatType.TVAnime, "Anime/SD");
AddCategoryMapping(72, TorznabCatType.TVAnime, "Anime/UHD");
AddCategoryMapping(13, TorznabCatType.PC0day, "Apps/0DAY");
AddCategoryMapping(27, TorznabCatType.Books, "Apps/Bookware");
AddCategoryMapping(1, TorznabCatType.PCISO, "Apps/ISO");
AddCategoryMapping(73, TorznabCatType.AudioAudiobook, "Music/Audiobooks");
AddCategoryMapping(47, TorznabCatType.ConsoleOther, "Console/NSW");
AddCategoryMapping(8, TorznabCatType.ConsolePS3, "Console/PS3");
AddCategoryMapping(30, TorznabCatType.ConsolePS4, "Console/PS4");
AddCategoryMapping(71, TorznabCatType.ConsolePS4, "Console/PS5");
AddCategoryMapping(7, TorznabCatType.ConsolePSP, "Console/PSP");
AddCategoryMapping(70, TorznabCatType.ConsolePSVita, "Console/PSV");
AddCategoryMapping(16, TorznabCatType.ConsoleWii, "Console/WII");
AddCategoryMapping(29, TorznabCatType.ConsoleWiiU, "Console/WIIU");
AddCategoryMapping(17, TorznabCatType.ConsoleXBox360, "Console/XBOX360");
AddCategoryMapping(32, TorznabCatType.BooksEBook, "E-books");
AddCategoryMapping(63, TorznabCatType.ConsoleOther, "Games/DOX");
AddCategoryMapping(2, TorznabCatType.PCGames, "Games/ISO");
AddCategoryMapping(12, TorznabCatType.PCGames, "Games/PC Rips");
AddCategoryMapping(31, TorznabCatType.MoviesBluRay, "Movies/Bluray");
AddCategoryMapping(50, TorznabCatType.MoviesBluRay, "Movies/Bluray-UHD");
AddCategoryMapping(3, TorznabCatType.MoviesDVD, "Movies/DVDR");
AddCategoryMapping(69, TorznabCatType.MoviesForeign, "Movies/DVDR-Foreign");
AddCategoryMapping(19, TorznabCatType.MoviesHD, "Movies/HD");
AddCategoryMapping(39, TorznabCatType.MoviesForeign, "Movies/HD-Foreign");
AddCategoryMapping(74, TorznabCatType.MoviesHD, "Movies/Remuxes");
AddCategoryMapping(25, TorznabCatType.MoviesSD, "Movies/SD");
AddCategoryMapping(62, TorznabCatType.MoviesForeign, "Movies/SD-Foreign");
AddCategoryMapping(49, TorznabCatType.MoviesUHD, "Movies/UHD");
AddCategoryMapping(76, TorznabCatType.MoviesForeign, "Movies/UHD-Foreign");
AddCategoryMapping(33, TorznabCatType.AudioLossless, "Music/FLAC");
AddCategoryMapping(89, TorznabCatType.AudioVideo, "Music/MBluRay");
AddCategoryMapping(28, TorznabCatType.AudioVideo, "Music/MBluRay-Rips");
AddCategoryMapping(34, TorznabCatType.AudioVideo, "Music/MDVDR");
AddCategoryMapping(4, TorznabCatType.AudioMP3, "Music/MP3");
AddCategoryMapping(20, TorznabCatType.AudioVideo, "Music/MVID");
AddCategoryMapping(77, TorznabCatType.TVAnime, "Anime/Packs");
AddCategoryMapping(78, TorznabCatType.BooksEBook, "Books/Packs");
AddCategoryMapping(80, TorznabCatType.MoviesHD, "Movies/HD-Packs");
AddCategoryMapping(81, TorznabCatType.MoviesHD, "Movies/Remux-Packs");
AddCategoryMapping(79, TorznabCatType.MoviesSD, "Movies/SD-Packs");
AddCategoryMapping(68, TorznabCatType.Audio, "Music/Packs");
AddCategoryMapping(67, TorznabCatType.TVHD, "TV/HD-Packs");
AddCategoryMapping(82, TorznabCatType.TVHD, "TV/Remux-Packs");
AddCategoryMapping(65, TorznabCatType.TVSD, "TV/SD-Packs");
AddCategoryMapping(84, TorznabCatType.TVUHD, "TV/UHD-Packs");
AddCategoryMapping(85, TorznabCatType.XXX, "XXX/Packs");
AddCategoryMapping(23, TorznabCatType.TVSD, "TV/DVDR");
AddCategoryMapping(26, TorznabCatType.TVHD, "TV/HD");
AddCategoryMapping(64, TorznabCatType.TVForeign, "TV/HD-Foreign");
AddCategoryMapping(11, TorznabCatType.TVHD, "TV/HD-Retail");
AddCategoryMapping(36, TorznabCatType.TVSport, "TV/HD-Sport");
AddCategoryMapping(18, TorznabCatType.TVSD, "TV/SD");
AddCategoryMapping(86, TorznabCatType.TVForeign, "TV/SD-Foreign");
AddCategoryMapping(24, TorznabCatType.TVSD, "TV/SD-Retail");
AddCategoryMapping(35, TorznabCatType.TVSport, "TV/SD-Sport");
AddCategoryMapping(61, TorznabCatType.TVUHD, "TV/UHD");
AddCategoryMapping(87, TorznabCatType.TVForeign, "TV/UHD-Foreign");
AddCategoryMapping(53, TorznabCatType.XXX, "XXX/HD");
AddCategoryMapping(88, TorznabCatType.XXXImageSet, "XXX/Image-Sets");
AddCategoryMapping(57, TorznabCatType.XXX, "XXX/Paysite");
AddCategoryMapping(6, TorznabCatType.XXXSD, "XXX/SD");
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
{
LoadValuesFromJson(configJson);
CookieHeader = ""; // clear old cookies
var result1 = await RequestWithCookiesAsync(CaptchaUrl);
var json1 = JObject.Parse(result1.ContentString);
var captchaSelection = json1["images"][0]["hash"];
var pairs = new Dictionary<string, string> {
{ "username", configData.Username.Value },
{ "password", configData.Password.Value },
{ "submitme", "X" },
{ "captchaSelection", (string)captchaSelection }
};
var result2 = await RequestLoginAndFollowRedirect(LoginUrl, pairs, result1.Cookies, true, null, null, true);
await ConfigureIfOK(result2.Cookies, result2.ContentString.Contains("logout.php"), () =>
throw new ExceptionWithConfigData("Login Failed", configData));
return IndexerConfigurationStatus.RequiresTesting;
}
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{
// remove operator characters
var cleanSearchString = Regex.Replace(query.GetQueryString().Trim(), "[ _.+-]+", " ", RegexOptions.Compiled);
var searchUrl = SearchUrl;
var queryCollection = new NameValueCollection
{
{ "search_in", "name" },
{ "search_mode", "all" },
{ "order_by", "added" },
{ "order_way", "desc" }
};
if (!string.IsNullOrWhiteSpace(cleanSearchString))
queryCollection.Add("query", cleanSearchString);
foreach (var cat in MapTorznabCapsToTrackers(query))
queryCollection.Add($"cat[{cat}]", "1");
searchUrl += "?" + queryCollection.GetQueryString();
var response = await RequestWithCookiesAndRetryAsync(searchUrl);
// handle cookie expiration
var results = response.ContentString;
if ((response.IsRedirect && response.RedirectingTo.Contains("/login.php?")) ||
(!response.IsRedirect && !results.Contains("/logout.php?")))
{
await ApplyConfiguration(null); // re-login
response = await RequestWithCookiesAndRetryAsync(searchUrl);
}
// handle single entries
if (response.IsRedirect)
{
var detailsLink = new Uri(response.RedirectingTo);
await FollowIfRedirect(response, accumulateCookies: true);
return ParseSingleResult(response, detailsLink);
}
return ParseMultiResult(response);
}
private List<ReleaseInfo> ParseSingleResult(WebResult response, Uri detailsLink)
{
var releases = new List<ReleaseInfo>();
var results = response.ContentString;
try
{
var parser = new HtmlParser();
var dom = parser.ParseDocument(results);
var content = dom.QuerySelector("tbody:has(script)");
if (content == null)
return releases; // no results
var release = new ReleaseInfo();
release.MinimumRatio = 1;
release.MinimumSeedTime = 72 * 60 * 60;
var catStr = content.QuerySelector("tr:has(td.heading:contains(\"Type\"))").Children[1].TextContent;
release.Category = MapTrackerCatDescToNewznab(catStr);
var qLink = content.QuerySelector("tr:has(td.heading:contains(\"Download\"))")
.QuerySelector("a[href*=\"download.php?torrent=\"]");
release.Link = new Uri(SiteLink + qLink.GetAttribute("href"));
release.Title = dom.QuerySelector("h1").TextContent.Trim();
release.Details = detailsLink;
release.Guid = detailsLink;
var qSize = content.QuerySelector("tr:has(td.heading:contains(\"Size\"))").Children[1].TextContent
.Split('(')[0].Trim();
release.Size = ReleaseInfo.GetBytes(qSize);
var peerStats = content.QuerySelector("tr:has(td:has(a[href^=\"./peerlist_xbt.php?id=\"]))").Children[1]
.TextContent.Split(',');
var qSeeders = peerStats[0].Replace(" seeder(s)", "").Trim();
var qLeechers = peerStats[1].Split('=')[0].Replace(" leecher(s) ", "").Trim();
release.Seeders = ParseUtil.CoerceInt(qSeeders);
release.Peers = ParseUtil.CoerceInt(qLeechers) + release.Seeders;
var rawDateStr = content.QuerySelector("tr:has(td.heading:contains(\"Added\"))").Children[1].TextContent;
var dateUpped = DateTimeUtil.FromUnknown(rawDateStr.Replace(",", string.Empty));
// Mar 4 2020, 05:47 AM
release.PublishDate = dateUpped.ToLocalTime();
var qGrabs = content.QuerySelector("tr:has(td.heading:contains(\"Snatched\"))").Children[1];
release.Grabs = ParseUtil.CoerceInt(qGrabs.TextContent.Replace(" time(s)", ""));
var qFiles = content.QuerySelector("tr:has(td.heading:has(a[href^=\"./filelist.php?id=\"]))").Children[1];
release.Files = ParseUtil.CoerceInt(qFiles.TextContent.Replace(" files", ""));
var qRatio = content.QuerySelector("tr:has(td.heading:contains(\"Ratio After Download\"))").Children[1];
release.DownloadVolumeFactor = qRatio.QuerySelector("del") != null ? 0 : 1;
release.UploadVolumeFactor = 1;
releases.Add(release);
}
catch (Exception ex)
{
OnParseError(results, ex);
}
return releases;
}
private List<ReleaseInfo> ParseMultiResult(WebResult response)
{
var releases = new List<ReleaseInfo>();
var results = response.ContentString;
try
{
var parser = new HtmlParser();
var dom = parser.ParseDocument(results);
var rows = dom.QuerySelectorAll("table.table-bordered > tbody > tr[class*=\"torrent_row_\"]");
foreach (var row in rows)
{
var release = new ReleaseInfo();
release.MinimumRatio = 1;
release.MinimumSeedTime = 72 * 60 * 60;
var qCatLink = row.QuerySelector("a[href^=\"/browse_elastic.php?cat=\"]");
var catStr = qCatLink.GetAttribute("href").Split('=')[1];
release.Category = MapTrackerCatToNewznab(catStr);
var qDetailsLink = row.QuerySelector("a[href^=\"/details.php?id=\"]");
var qDetailsTitle = row.QuerySelector("td:has(a[href^=\"/details.php?id=\"]) b");
release.Title = qDetailsTitle.TextContent.Trim();
var qDlLink = row.QuerySelector("a[href^=\"/download.php?torrent=\"]");
release.Link = new Uri(SiteLink + qDlLink.GetAttribute("href").TrimStart('/'));
release.Details = new Uri(SiteLink + qDetailsLink.GetAttribute("href").TrimStart('/'));
release.Guid = release.Details;
var qColumns = row.QuerySelectorAll("td");
release.Files = ParseUtil.CoerceInt(qColumns[3].TextContent);
release.PublishDate = DateTimeUtil.FromUnknown(qColumns[5].TextContent);
release.Size = ReleaseInfo.GetBytes(qColumns[6].TextContent);
release.Grabs = ParseUtil.CoerceInt(qColumns[7].TextContent.Replace("Times", ""));
release.Seeders = ParseUtil.CoerceInt(qColumns[8].TextContent);
release.Peers = ParseUtil.CoerceInt(qColumns[9].TextContent) + release.Seeders;
var qImdb = row.QuerySelector("a[href*=\"www.imdb.com\"]");
if (qImdb != null)
{
var deRefUrl = qImdb.GetAttribute("href");
release.Imdb = ParseUtil.GetImdbID(WebUtility.UrlDecode(deRefUrl).Split('/').Last());
}
release.DownloadVolumeFactor = row.QuerySelector("span.freeleech") != null ? 0 : 1;
release.UploadVolumeFactor = 1;
releases.Add(release);
}
}
catch (Exception ex)
{
OnParseError(results, ex);
}
return releases;
}
}
}

View File

@@ -44,12 +44,10 @@ namespace Jackett.Common.Services
{"broadcastthenet", "broadcasthenet"},
{"hdreactor", "hdhouse"},
{"icetorrent", "speedapp"},
{"feedurneed", "devils-playground"},
{"kickasstorrent-kathow", "kickasstorrents-ws"},
{"legacyhd", "reelflix"},
{"leaguehd", "lemonhd"},
{"metaliplayro", "romanianmetaltorrents"},
{"nbytez", "devils-playground"},
{"nnm-club", "noname-club"},
{"passtheheadphones", "redacted"},
{"puntorrent", "puntotorrent"},

View File

@@ -55,7 +55,7 @@ namespace Jackett.Test.Common.Indexers
Assert.AreEqual("magnet:?xt=urn:btih:d540fc48eb12f2833163eed6421d449dd8f1ce1f&dn=ubuntu-19.04-desktop-amd64.iso",
firstRelease.MagnetUri.ToString().Split(new[] { "&tr" }, StringSplitOptions.None).First());
Assert.AreEqual("d540fc48eb12f2833163eed6421d449dd8f1ce1f", firstRelease.InfoHash);
Assert.AreEqual(2019, firstRelease.PublishDate.Year);
Assert.AreEqual(2020, firstRelease.PublishDate.Year);
Assert.AreEqual(2097152000, firstRelease.Size);
Assert.AreEqual(12, firstRelease.Seeders);
Assert.AreEqual(13, firstRelease.Peers);

View File

@@ -157,7 +157,7 @@ namespace Jackett.Test.Common.Utils
DateTimeUtil.ParseDateTimeGoLang("21-06-2010 04:20:19 -04:00", "02-01-2006 15:04:05 -07:00"));
Assert.AreEqual(new DateTimeOffset(2010, 6, 21, 0, 0, 0, new TimeSpan(-5, -30, 0)).ToLocalTime().DateTime,
DateTimeUtil.ParseDateTimeGoLang("2010-06-21 -05:30", "2006-01-02 -07:00"));
var refDate = new DateTime(2021, 03, 12, 12, 00, 00, DateTimeKind.Local);
var refDate = new DateTime(2022, 03, 12, 12, 00, 00, DateTimeKind.Local);
Assert.AreEqual(new DateTime(refDate.Year - 1, 9, 14, 7, 0, 0),
DateTimeUtil.ParseDateTimeGoLang("7am Sep. 14", "3pm Jan. 2", relativeFrom: refDate));

View File

@@ -262,11 +262,13 @@ namespace Jackett.Updater
"Definitions/academictorrents.yml",
"Definitions/alein.yml",
"Definitions/alexfilm.yml",
"Definitions/alleenretail.yml",
"Definitions/anidex.yml", // migrated to C#
"Definitions/aox.yml",
"Definitions/apollo.yml", // migrated to C# gazelle base tracker
"Definitions/archetorrent.yml",
"Definitions/asgaard.yml",
"Definitions/asiandvdclub.yml",
"Definitions/ast4u.yml", // renamed to animeworld #10578
"Definitions/asylumshare.yml",
"Definitions/audiobooktorrents.yml", // renamed to abtorrents
@@ -303,12 +305,14 @@ namespace Jackett.Updater
"Definitions/demonsite.yml",
"Definitions/desireleasers.yml",
"Definitions/devils-playground.yml",
"Definitions/devilsplayground.yml",
"Definitions/digbt.yml",
"Definitions/documentarytorrents.yml",
"Definitions/downloadville.yml",
"Definitions/dragonworld.yml",
"Definitions/dreamteam.yml",
"Definitions/dxdhd.yml",
"Definitions/efectodoppler.yml",
"Definitions/eggmeon.yml",
"Definitions/elitehd.yml",
"Definitions/elittracker.yml",
@@ -414,6 +418,7 @@ namespace Jackett.Updater
"Definitions/rapidetracker.yml",
"Definitions/rarbg.yml", // migrated to C#
"Definitions/redtopia.yml",
"Definitions/renegade.yml",
"Definitions/retroflix.yml", // migrated to C#
"Definitions/rgu.yml",
"Definitions/rns.yml", // site merged with audiobooktorrents
@@ -433,6 +438,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",