Compare commits

..

59 Commits

Author SHA1 Message Date
Garfield69
9d68ca86da ilcorsaronero: domain change and fix for invalid CA. #3968 2018-10-14 20:07:08 +13:00
Garfield69
5b9165cd2f nnm-club: bypass invalid CA 2018-10-14 12:44:01 +13:00
LuisMi
8a48874b42 Add definition for EliteTorrent.biz (#3990) resolves #1293 2018-10-14 10:17:12 +13:00
Garfield69
b0132da030 ilcorsaroblu: adjustments for their recent changes 2018-10-14 08:23:08 +13:00
3744111
175d7f5379 hdtorrent-uploader-support (#3985)
Adds support for higher user classes like uploader
2018-10-13 18:10:46 +13:00
Garfield69
dc8023afe1 prostylex: public 0day and general tracker. resolves #3966 2018-10-12 21:15:08 +13:00
xfouloux
d956872d95 Rockbox: back to semi-private (#3975) 2018-10-12 17:15:19 +13:00
Garfield69
35defc04e0 katcrs: domain change. resolves #3965 2018-10-12 17:01:57 +13:00
garfield69
a2f5e5a5aa rockbox is semi-private 2018-10-12 16:56:09 +13:00
garfield69
ec5a8e6e33 Romanian Metal Torrent 2018-10-12 16:44:17 +13:00
xfouloux
f00aa5faca metaliplayro: Romanian Metal Torrent, a private music tracker (#3963) resolves #2587 2018-10-12 16:43:16 +13:00
Garfield69
51ece1726c ilcorsaroblu: #3970
they have been playing with the search page, and appear to have dropped the size field.
now defaulting to 500MB unless it pops up again
2018-10-12 11:43:22 +13:00
Garfield69
579190b4bd RockBox: public heavy metal music tracker. resolves #3009 2018-10-12 10:31:18 +13:00
xfouloux
fd4d8d490a Create rockbox.yml (#3964)
#3009
2018-10-12 10:08:33 +13:00
Garfield69
e2fe43b3a7 horriblesubs: cleanup plus ensure guid is always created 2018-10-12 09:47:07 +13:00
Gerdus van Zyl
bedde1a3db Fix for #3957 (#3967)
* Initial Version

* Episode number filtering

* fix for issue #3957
handle case where result has no torrent file link
2018-10-12 06:55:30 +13:00
xfouloux
da638ad712 Update yts.cs (#3962) resolves #3182
add [YTS] in front of movie name
2018-10-11 15:40:59 +13:00
CodeMonkey
10ae5e9d5d Make sure release title contains "[HorribleSubs]" (#3947)
* This is needed for things like configuring tag restrictions in Sonarr
2018-10-10 08:01:25 +13:00
Garfield69
71749ba8db Merge branch 'master' of https://github.com/Jackett/Jackett 2018-10-10 07:59:54 +13:00
Garfield69
4373c38869 yts: yes, the domain changed back to .am again. resolves #3948 2018-10-10 07:59:47 +13:00
morpheus133
2a17783a9c - Add pagination support for ncore (#3943)
- Correct handling of Descriptions
- Add hun tag to torrent title if it contains hungarian audio but not visible in title
2018-10-10 06:30:00 +13:00
Jorman
a184ad4d7c Fix some rows for ilcorsaroblu (#3942) 2018-10-10 06:29:08 +13:00
Garfield69
acc1e7e65a gktorremt: they are forcing to https 2018-10-09 15:22:37 +13:00
Garfield69
95ffd0caa3 btdb: fix test #3851 2018-10-09 15:19:39 +13:00
Garfield69
b0e788788f cpabien: domain changed again 2018-10-09 15:14:16 +13:00
Garfield69
80f0c1b7da yggtorrent: domain change. resolves #3935 2018-10-08 20:59:52 +13:00
Garfield69
7abdd0d817 resolve #3914
sites that don't provide seeders now default to 1 instead of 999
2018-10-08 15:37:25 +13:00
Garfield69
736330bea3 torrentcouch: new domain. resolves #3924 2018-10-07 07:09:55 +13:00
Garfield69
accd06d291 YTS: domain back to yts.ag. resolves #3908 2018-10-06 10:16:49 +13:00
Garfield69
fed8294ae0 gktorrent: domain changed. resolves #3912 2018-10-06 06:17:54 +13:00
Garfield69
1093355e77 Revert "mteamtp: selector mods. possible solve for #3907"
This reverts commit 4f96f437ad.
2018-10-05 11:05:07 +13:00
Garfield69
aae73741e8 Revert "mteamtp: selector order out by one. possible resolve for #3907"
This reverts commit 17002a6ede.
2018-10-05 11:04:55 +13:00
Garfield69
17002a6ede mteamtp: selector order out by one. possible resolve for #3907 2018-10-05 10:00:39 +13:00
Garfield69
4f96f437ad mteamtp: selector mods. possible solve for #3907 2018-10-05 09:10:28 +13:00
Garfield69
335ea77e9e tehconnectionme: new domain. resolves #3904 2018-10-05 06:54:39 +13:00
Garfield69
41a4dc2922 audiobookbay: fix details and add banner #3160 2018-10-04 15:20:21 +13:00
Garfield69
ee1d7a7625 audiobookbay: add size, category, date, and try to grap 35 results. #3160 2018-10-04 09:33:23 +13:00
Jorman
e9aa0edc37 Update certificate key (#3895) resolves #3892 2018-10-04 06:53:54 +13:00
Garfield69
e64d7ea947 katcrs: domain change. 2018-10-03 11:43:20 +13:00
Garfield69
8eb0415aaf gktorrent: domain changed. fix #3888 2018-10-03 06:51:04 +13:00
HDVinnie
ef20198a4f (Update) racing4everyone.yml (#3883)
- add Global Double Upload
- add translations
- all credit to @garfield69
2018-09-30 06:47:33 +13:00
HDVinnie
6c6d379002 (Update) btxpress.yml (#3882)
- add Global Double Upload
- add translations
- all credit to @garfield69
2018-09-30 06:47:02 +13:00
HDVinnie
7c2a343629 (Update) redtopia.yml (#3881)
- add translations
- all credit to @garfield69
2018-09-30 06:46:35 +13:00
HDVinnie
ea2e88d6bb (Update) blutopia.yml (#3880)
* (Update) blutopia.yml

- add translations
- all credit to @garfield69

* (Fix) Typo
2018-09-30 06:45:43 +13:00
HDVinnie
abaf909ef1 (Update) blutopia.yml (#3879)
- add Global Double Upload
2018-09-30 06:44:30 +13:00
Garfield69
74054523c5 torrentheaven: domain change. resolves #3870 #3867 2018-09-29 21:22:37 +12:00
Garfield69
37daacf9fa hd4free: translations for date field. resolves #3878 2018-09-29 20:58:20 +12:00
eybox
b58dc51f8d Adding Audio/Music support to the tracker Zamunda.net (#3875)
* Adding Audio/Music support to the tracker

So far it has had only Movies and TV shows, but now I'm also adding Audio/Music support for this tracker

* Update zamundanet.yml
2018-09-27 22:27:58 +12:00
Garfield69
6c661a4974 rarbg: bump delay between http requests from 2.0 to 2.1
to satisfy the api 1req/2s limit.
2018-09-27 15:12:33 +12:00
xfouloux
7a49ddda3a Update yggtorrent.yml to ADD MULTI.ENGLISH (#3874)
* Update yggtorrent.yml to ADD MULTI.ENGLISH

Add the MULTI.ENGLISH option in rewrite MULTI

* fix

removed the comma
2018-09-27 13:24:03 +12:00
Garfield69
5e4cb3581d bt-scene: gone.
if it shows up again we can always add it back.
2018-09-26 20:08:47 +12:00
Garfield69
968c2ca3a6 Merge branch 'master' of https://github.com/Jackett/Jackett 2018-09-26 07:57:44 +12:00
Garfield69
af4fb5c6a0 katcrs: andmatch 2018-09-26 07:57:42 +12:00
Justin Kromlinger
fc7d5a0e35 Update definition for bittorrentfiles.me (#3864) 2018-09-26 07:25:21 +12:00
Garfield69
2a7c693917 possible solve for #3846 part2
make category selector more generic
2018-09-26 07:22:19 +12:00
Garfield69
838ad77d7f magico: possible solve for #3846 2018-09-25 18:27:13 +12:00
Garfield69
3978ba6c04 zooqle: add a missing category 2018-09-25 16:42:29 +12:00
Garfield69
60554c25d9 Merge branch 'master' of https://github.com/Jackett/Jackett 2018-09-25 14:09:31 +12:00
Garfield69
bd03c903d0 horriblesubs: fix #3841 generate a Guid. 2018-09-25 14:09:27 +12:00
35 changed files with 875 additions and 315 deletions

View File

@@ -28,9 +28,9 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* BTstor.net
* btbit
* BTDB
* BT-Scene
* cpasbien
* ETTV
* EliteTorrent.biz
* ExtraTorrent.ag
* ExtraTorrentClone
* EZTV
@@ -51,6 +51,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Nyaa.si
* Nyaa-Pantsu
* Nyoo
* ProStyleX
* RARBG
* RuTor
* ShowRSS
@@ -85,6 +86,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Newstudio
* NetHD
* NoName Club
* RockBox
* RuTracker
* SkTorrent
* Union Fansub
@@ -240,6 +242,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* RevolutionTT
* RGU
* RoDVD
* Romanian Metal Torrent
* SceneFZ
* SceneReactor
* SceneTime

View File

@@ -135,22 +135,22 @@
selector: a[href^="/download.php"]
attribute: href
files:
selector: td:nth-child(7)
selector: td:nth-child(5)
grabs:
selector: td:nth-child(6)
selector: td:nth-child(4)
size:
selector: td:nth-child(8)
selector: td:nth-child(6)
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
seeders:
selector: td:nth-child(3) > a
selector: td:nth-child(2) > a
leechers:
selector: td:nth-child(4)
selector: td:nth-child(3)
date:
selector: td:nth-child(9)
selector: td:nth-child(10)
filters:
- name: split
args: ["by", 0]

View File

@@ -12,23 +12,23 @@
caps:
categorymappings:
- {id: Children, cat: Audio/Audiobook, desc: "Children"}
- {id: Teen & Young Adult, cat: Audio/Audiobook, desc: "Teen & Young Adult"}
- {id: Teen, cat: Audio/Audiobook, desc: "Teen & Young Adult"}
- {id: Adults, cat: Audio/Audiobook, desc: "Adults"}
- {id: The Undead, cat: Audio/Audiobook, desc: "The Undead"}
- {id: The, cat: Audio/Audiobook, desc: "The Undead"}
- {id: Action, cat: Audio/Audiobook, desc: "Action"}
- {id: Adventure, cat: Audio/Audiobook, desc: "Adventure"}
- {id: Art, cat: Audio/Audiobook, desc: "Art"}
- {id: Autobiography & Biographies, cat: Audio/Audiobook, desc: "Autobiography & Biographies"}
- {id: Autobiography, cat: Audio/Audiobook, desc: "Autobiography & Biographies"}
- {id: Business, cat: Audio/Audiobook, desc: "Business"}
- {id: Computer, cat: Audio/Audiobook, desc: "Computer"}
- {id: Contemporary, cat: Audio/Audiobook, desc: "Contemporary"}
- {id: Crime, cat: Audio/Audiobook, desc: "Crime"}
- {id: Detective, cat: Audio/Audiobook, desc: "Detective"}
- {id: Doctor Who, cat: Audio/Audiobook, desc: "Doctor Who"}
- {id: Doctor, cat: Audio/Audiobook, desc: "Doctor Who"}
- {id: Education, cat: Audio/Audiobook, desc: "Education"}
- {id: Fantasy, cat: Audio/Audiobook, desc: "Fantasy"}
- {id: General Fiction, cat: Audio/Audiobook, desc: "General Fiction"}
- {id: Historical Fiction, cat: Audio/Audiobook, desc: "Historical Fiction"}
- {id: General, cat: Audio/Audiobook, desc: "General Fiction"}
- {id: Historical, cat: Audio/Audiobook, desc: "Historical Fiction"}
- {id: History, cat: Audio/Audiobook, desc: "History"}
- {id: Horror, cat: Audio/Audiobook, desc: "Horror"}
- {id: Humor, cat: Audio/Audiobook, desc: "Humor"}
@@ -36,39 +36,39 @@
- {id: LGBT, cat: Audio/Audiobook, desc: "LGBT"}
- {id: Literature, cat: Audio/Audiobook, desc: "Literature"}
- {id: LitRPG, cat: Audio/Audiobook, desc: "LitRPG"}
- {id: Misc. Non-fiction, cat: Audio/Audiobook, desc: "Misc. Non-fiction"}
- {id: Misc., cat: Audio/Audiobook, desc: "Misc. Non-fiction"}
- {id: Mystery, cat: Audio/Audiobook, desc: "Mystery"}
- {id: Myth Hunting, cat: Audio/Audiobook, desc: "Myth Hunting"}
- {id: Myth, cat: Audio/Audiobook, desc: "Myth Hunting"}
- {id: Paranormal, cat: Audio/Audiobook, desc: "Paranormal"}
- {id: Plays & Theater, cat: Audio/Audiobook, desc: "Plays & Theater"}
- {id: Plays, cat: Audio/Audiobook, desc: "Plays & Theater"}
- {id: Poetry, cat: Audio/Audiobook, desc: "Poetry"}
- {id: Political, cat: Audio/Audiobook, desc: "Political"}
- {id: Postapocalyptic, cat: Audio/Audiobook, desc: "Postapocalyptic"}
- {id: Radio Productions, cat: Audio/Audiobook, desc: "Radio Productions"}
- {id: Radio, cat: Audio/Audiobook, desc: "Radio Productions"}
- {id: Romance, cat: Audio/Audiobook, desc: "Romance"}
- {id: Sci-Fi, cat: Audio/Audiobook, desc: "Sci-Fi"}
- {id: Science, cat: Audio/Audiobook, desc: "Science"}
- {id: Self-help, cat: Audio/Audiobook, desc: "Self-help"}
- {id: SHTF, cat: Audio/Audiobook, desc: "SHTF"}
- {id: Spiritual & Religious, cat: Audio/Audiobook, desc: "Spiritual & Religious"}
- {id: Spiritual, cat: Audio/Audiobook, desc: "Spiritual & Religious"}
- {id: Sports, cat: Audio/Audiobook, desc: "Sports"}
- {id: Suspense, cat: Audio/Audiobook, desc: "Suspense"}
- {id: Thriller, cat: Audio/Audiobook, desc: "Thriller"}
- {id: True Crime, cat: Audio/Audiobook, desc: "True Crime"}
- {id: True, cat: Audio/Audiobook, desc: "True Crime"}
- {id: Tutorial, cat: Audio/Audiobook, desc: "Tutorial"}
- {id: Westerns, cat: Audio/Audiobook, desc: "Westerns"}
- {id: Anthology, cat: Audio/Audiobook, desc: "Anthology"}
- {id: Bestsellers, cat: Audio/Audiobook, desc: "Bestsellers"}
- {id: Classic, cat: Audio/Audiobook, desc: "Classic"}
- {id: Documentary, cat: Audio/Audiobook, desc: "Documentary"}
- {id: Full Cast, cat: Audio/Audiobook, desc: "Full Cast"}
- {id: Full, cat: Audio/Audiobook, desc: "Full Cast"}
- {id: Libertarian, cat: Audio/Audiobook, desc: "Libertarian"}
- {id: Military, cat: Audio/Audiobook, desc: "Military"}
- {id: Novel, cat: Audio/Audiobook, desc: "Novel"}
- {id: Short Story, cat: Audio/Audiobook, desc: "Short Story"}
- {id: Short, cat: Audio/Audiobook, desc: "Short Story"}
modes:
search: [s]
search: [q]
login:
path: https://audiobookbay.nl/member/login.php
@@ -90,17 +90,43 @@
search:
paths:
# show members page if no search parameters
- path: /
inputs:
"s": "{{ .Keywords }}"
# with just 7 results per page, try to grab up to 35 results
# http://audiobookbay.nl/?s=teeth
# http://audiobookbay.nl/page/2/?s=teeth
- path: "{{if .Keywords}}/?s={{ .Keywords}}{{else}}/{{end}}"
- path: "{{if .Keywords}}/page/2/?s={{ .Keywords}}{{else}}{{end}}"
- path: "{{if .Keywords}}/page/3/?s={{ .Keywords}}{{else}}{{end}}"
- path: "{{if .Keywords}}/page/4/?s={{ .Keywords}}{{else}}{{end}}"
- path: "{{if .Keywords}}/page/5/?s={{ .Keywords}}{{else}}{{end}}"
rows:
selector: div.post
selector: div.post:has(div[class="postTitle"])
fields:
title:
selector: div.postTitle
details:
selector: div.postTitle
selector: div.postTitle h2 a
attribute: href
download:
selector: a[href^="/audio-books/"]
attribute: href
banner:
optional: true
selector: img
attribute: src
category:
selector: div.postInfo
filters:
- name: regexp
args: "Category: (.+?)\\s"
date:
selector: div.postContent p:contains("Posted:")
filters:
- name: regexp
args: "Posted: (.+?)Format:"
- name: dateparse
args: "2 Jan 2006"
size:
selector: div.postContent p:contains("File Size:")
filters:
- name: regexp
args: "File Size: (.+?)s"

View File

@@ -74,12 +74,37 @@
args: ([\d\.]+)
date:
selector: time
filters:
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
- name: re_replace
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
- name: re_replace
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
- name: re_replace
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
- name: re_replace
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
- name: re_replace
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
- name: re_replace
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
- name: re_replace
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
- name: re_replace
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
- name: re_replace
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
- name: re_replace
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
- name: re_replace
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
downloadvolumefactor:
case:
"i[data-original-title=\"100% Free\"]": "0"
"i[data-original-title=\"Global FreeLeech\"]": "0"
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2"
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"

View File

@@ -1,94 +0,0 @@
---
site: bt-scene
name: BT-Scene
description: "BT-Scene (BTS) is a Public site for MOVIES / TV / GENERAL"
language: us-en
type: public
encoding: UTF-8
links:
- https://bt-scene.cc/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "Series"}
- {id: 3, cat: Audio, desc: "Music"}
- {id: 4, cat: PC/Games, desc: "Games"}
- {id: 5, cat: PC/0day, desc: "Software"}
- {id: 6, cat: TV/Anime, desc: "Anime"}
- {id: 7, cat: Books, desc: "Ebooks"}
- {id: 8, cat: Other, desc: "Misc"}
- {id: 9, cat: XXX, desc: "Porn"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: category
type: select
label: Category
default: "0"
options:
"0" : "All"
"1": "Movies"
"2": "Series"
"3": "Music"
"4": "Games"
"5": "Software"
"6": "Anime"
"7": "Ebooks"
"8": "Misc"
"9": "Porn"
search:
# https://bt-scene.cc/cat/id/1/
# https://bt-scene.cc/results_.php?q=midnight+texas+s01e10&advcat=2
keywordsfilters:
# replace space between keywords with +
- name: re_replace
args: [" ", "+"]
paths:
- path: "{{ if .Keywords }}results_.php?q={{ .Keywords }}&advcat={{ .Config.category }}{{else}}indexfull/{{end}}"
rows:
selector: table.tor > tbody > tr[id^="_"]
filters:
- name: andmatch
fields:
title:
selector: td[class^="tname"] > a
details:
selector: td[class^="tname"] > a
attribute: href
category:
selector: td[class^="tname"] > div.subinfo > a[href^="/cat/id"]
optional: true
attribute: href
filters:
- name: re_replace
args: ["[^\\d+]", ""]
download:
# build "/torrentget.php?id=5730447" from "_5730447"
selector: tr
attribute: id
filters:
- name: replace
args: ["_", ""]
- name: prepend
args: "/torrentget.php?id="
size:
selector: td[class^="tsize"]
seeders:
selector: td[class^="tseeds"]
leechers:
selector: td[class^="tpeers"]
date:
selector: td[class^="ttime"]
filters:
- name: append
args: " ago"
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -54,9 +54,9 @@
grabs:
selector: .sbar span:nth-of-type(6) b
seeders:
text: "999"
text: "1"
leechers:
text: "999"
text: "1"
downloadvolumefactor:
text: "0"
uploadvolumefactor:

View File

@@ -25,7 +25,7 @@
search:
paths:
- path: "{{if .Keywords}}q/{{ .Keywords}}/?sort=time{{else}}recent{{end}}"
- path: "{{if .Keywords}}q/{{ .Keywords}}/?sort=time{{else}}q/test/{{end}}"
- path: "{{if .Keywords}}q/{{ .Keywords}}/2?sort=time{{else}}{{end}}"
- path: "{{if .Keywords}}q/{{ .Keywords}}/3?sort=time{{else}}{{end}}"
- path: "{{if .Keywords}}q/{{ .Keywords}}/4?sort=time{{else}}{{end}}"

View File

@@ -73,12 +73,37 @@
args: ([\d\.]+)
date:
selector: time
filters:
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
- name: re_replace
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
- name: re_replace
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
- name: re_replace
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
- name: re_replace
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
- name: re_replace
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
- name: re_replace
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
- name: re_replace
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
- name: re_replace
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
- name: re_replace
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
- name: re_replace
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
- name: re_replace
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
downloadvolumefactor:
case:
"i[data-original-title=\"100% Free\"]": "0"
"i[data-original-title=\"Global FreeLeech\"]": "0"
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2"
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"

View File

@@ -6,7 +6,7 @@
type: public
encoding: UTF-8
links:
- https://ww1.cpabien.io/
- https://www.cpabien.io/
legacylinks:
- http://www.cpasbiens.cc/
- http://www.cpabien.cm/
@@ -22,6 +22,7 @@
- http://cpabien.la/
- http://cpabien.club/
- http://www.cpabien.io/
- https://ww1.cpabien.io/
caps:
categorymappings:

View File

@@ -0,0 +1,75 @@
---
site: elitetorrent-biz
name: EliteTorrent.biz
description: "EliteTorrent.biz is a Public torrent site for TV, movies and documentaries"
language: es-es
type: public
encoding: UTF-8
links:
- https://www.elitetorrent.biz/
caps:
categories:
"series": TV
"peliculas": Movies
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings: []
download:
selector: a[href^="magnet:?"]
attribute: href
search:
path: index.php
keywordsfilters:
# most ES/ITA TV torrents are in XXxYY format, so we search without S/E prefixes and filter later
- name: re_replace
args: ["S0?(\\d{1,2})", " $1 "]
- name: re_replace
args: ["E(\\d{2,3})", " $1 "]
inputs:
s: "{{ .Keywords }}"
$raw: "&x=0&y=0"
rows:
selector: "#principal .miniboxs-ficha li"
fields:
title:
selector: .meta a
# normalize to SXXEYY format
filters:
- name: re_replace
args: ["(\\d{2})×(\\d{2})", "S$1E$2"]
- name: re_replace
args: ["(\\d{1})×(\\d{2})", "S0$1E$2"]
details:
selector: .meta a
attribute: href
download:
selector: .meta a
attribute: href
category:
selector: .meta a
attribute: href
filters:
- name: split
args: ["/", 3]
size:
selector: .voto1
filters:
- name: replace
args: ["s", ""]
date:
text: now
seeders:
text: "1"
leechers:
text: "1"
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -6,14 +6,16 @@
type: public
encoding: UTF-8
links:
- https://ww2.gktorrent.com/
- https://www.gktorrent.net/
legacylinks:
- https://www.gktorrent.org/
- http://www.gktorrent.net/
- https://www.gktorrent.com/ # they're forcing http
- https://www.gktorrent.com/
- http://www.gktorrent.com/
- http://ww1.gktorrent.com/
- http://ww2.gktorrent.com/ # they're forcing https
- http://ww2.gktorrent.com/
- https://ww2.gktorrent.com/
- https://ww3.gktorrent.com/
- http://www.gktorrent.net/
caps:
categorymappings:

View File

@@ -79,6 +79,30 @@
args: ([\d\.]+)
date:
selector: time
filters:
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
- name: re_replace
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
- name: re_replace
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
- name: re_replace
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
- name: re_replace
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
- name: re_replace
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
- name: re_replace
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
- name: re_replace
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
- name: re_replace
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
- name: re_replace
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
- name: re_replace
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
- name: re_replace
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
downloadvolumefactor:
case:
"i[data-original-title=\"100% Free\"]": "0"
@@ -87,4 +111,5 @@
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2"
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"

View File

@@ -96,9 +96,9 @@
size:
selector: div[class="resultdivbotton"] div[class="resultlength"] div[class="resultdivbottonlength"]
seeders:
text: "999"
text: "1"
leechers:
text: "999"
text: "1"
downloadvolumefactor:
text: "0"
uploadvolumefactor:

View File

@@ -136,26 +136,30 @@
details:
selector: td:nth-child(2) > a
attribute: href
banner:
optional: true
selector: td:nth-child(2) > a
attribute: onmouseover
filters:
- name: regexp
args: "src=(.+?) "
# banner:
# optional: true
# selector: td:nth-child(2) > a
# attribute: onmouseover
# filters:
# - name: regexp
# args: "src=(.+?) "
size:
selector: td:nth-child(10)
selector: td:nth-last-child(3)
date:
selector: td:nth-child(6)
selector: td:nth-last-child(7)
filters:
- name: dateparse
args: "02/01/2006"
grabs:
selector: td:nth-child(9)
selector: td:nth-last-child(4)
filters:
- name: replace
args: ["---", "0"]
seeders:
selector: td:nth-child(7)
selector: td:nth-last-child(6)
leechers:
selector: td:nth-child(8)
selector: td:nth-last-child(5)
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -6,11 +6,15 @@
type: public
encoding: UTF-8
links:
- https://ilcorsaronero.ch/
legacylinks:
- https://ilcorsaronero.info/
certificates:
- 89c12d4a080b5aeec00acbb269dc9b44584b1b3f # incomplete CA chain
- aa7c40aa360a1cec8a9687312fd50402b912e618 # incomplete CA chain
- 83174ec1f92fa13cdef9d51888ea1dfba2166e17 # incomplete CA chain
- c414bf4ad6c69841693c147849f4c314aa200bdf # incomplete CA chain
- 3a402766ce22fd1aa24bfc1a4fd47e9309eb8c98 # incomplete CA chain
caps:
categorymappings:

View File

@@ -6,7 +6,10 @@
type: public
encoding: UTF-8
links:
- https://kickassextratorrent.xyz/
legacylinks:
- https://kickasskatcr.website/
- https://kickasskatcr.stream/
caps:
categories:
@@ -35,6 +38,8 @@
- path: "{{ if .Keywords }}search/{{ .Keywords }}/{{else}}new/{{end}}"
rows:
selector: table.data tr.odd
filters:
- name: andmatch
fields:
category:
selector: span.uploader_block strong a

View File

@@ -11,89 +11,91 @@
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 84, cat: Movies, desc: "N ees (2016, 2017)"}
- {id: 14, cat: Movies/SD, desc: "DVDRip-BDRip-BRRip (e?? 2015) FREE"}
- {id: 16, cat: Movies/SD, desc: "In Avouri (CAM) FREE"}
- {id: 17, cat: Movies/BluRay, desc: "B LU-RAY"}
- {id: 44, cat: Movies, desc: "E English Movies"}
- {id: 76, cat: Movies, desc: "N tokimanter"}
- {id: 82, cat: Movies, desc: "I EATP"}
- {id: 84, cat: Movies, desc: "Movies New (2017, 2018)"}
- {id: 14, cat: Movies/SD, desc: "Movies DVDRip-BDRip-BRRip (up to 2016) FREE"}
- {id: 16, cat: Movies/SD, desc: "Movies (CAM) FREE"}
- {id: 17, cat: Movies/BluRay, desc: "Movies BLU-RAY"}
- {id: 44, cat: Movies, desc: "Movies Greek"}
- {id: 76, cat: Movies, desc: "Movies Documentaries"}
- {id: 82, cat: Movies, desc: "Movies Theater"}
- {id: 52, cat: TV, desc: "series"}
- {id: 53, cat: TV/SD, desc: ", O Enes"}
- {id: 70, cat: TV/HD, desc: "O Enes (720p)"}
- {id: 54, cat: TV, desc: "E English"}
- {id: 86, cat: TV, desc: "O Enes Complete Seasons"}
- {id: 92, cat: TV, desc: "O Enes Complete Seasons (720p)"}
- {id: 87, cat: TV, desc: "E English Complete Seasons"}
- {id: 63, cat: TV, desc: "Y ychagogikes Emissions"}
- {id: 52, cat: TV, desc: "TV Series"}
- {id: 53, cat: TV/SD, desc: "TV Series Foreign"}
- {id: 70, cat: TV/HD, desc: "TV Series Foreign (720p)"}
- {id: 54, cat: TV, desc: "TV Series Greek"}
- {id: 86, cat: TV, desc: "TV Series Foreign Complete Seasons"}
- {id: 92, cat: TV, desc: "TV Series Foreign Complete Seasons (720p)"}
- {id: 87, cat: TV, desc: "TV Series Greek Complete Seasons"}
- {id: 63, cat: TV, desc: "TV Series Recreational"}
- {id: 83, cat: TV/Sport, desc: "TV Sports"}
- {id: 55, cat: Movies, desc: "Children"}
- {id: 38, cat: Movies, desc: "M etaglotismena (Movies)"}
- {id: 39, cat: Movies, desc: "M e Subtitled (Movies)"}
- {id: 93, cat: Movies, desc: "M etaglotismena (Series)"}
- {id: 94, cat: Movies, desc: "M e Subtitled (Series)"}
- {id: 45, cat: Movies, desc: "I absent Anime"}
- {id: 98, cat: Movies, desc: "M etaglotismena 3D"}
- {id: 64, cat: Movies, desc: "M music for Children"}
- {id: 38, cat: Movies, desc: "Children (Movies)"}
- {id: 39, cat: Movies, desc: "Children Subtitled (Movies)"}
- {id: 93, cat: Movies, desc: "Children (TV Series)"}
- {id: 94, cat: Movies, desc: "Children Subtitled (TV Series)"}
- {id: 45, cat: Movies, desc: "Children Anime"}
- {id: 98, cat: Movies, desc: "Children 3D"}
- {id: 64, cat: Movies, desc: "Children Music"}
- {id: 7, cat: Audio, desc: "Foreign music"}
- {id: 21, cat: Audio, desc: "N ees Releases"}
- {id: 46, cat: Audio, desc: "P. Alai Releases"}
- {id: 32, cat: Audio, desc: "D. iskografies"}
- {id: 20, cat: Audio, desc: "In ylloges"}
- {id: 102, cat: Audio, desc: "M AGICO Radio"}
- {id: 81, cat: Audio, desc: "K araoke"}
- {id: 95, cat: Audio, desc: "Soundtrack"}
- {id: 7, cat: Audio, desc: "Music Foreign"}
- {id: 21, cat: Audio, desc: "Music Foreign New Releases"}
- {id: 46, cat: Audio, desc: "Music Foreign Old Releases"}
- {id: 32, cat: Audio, desc: "Music Foreign Discographies"}
- {id: 20, cat: Audio, desc: "Music Foreign Collections"}
- {id: 102, cat: Audio, desc: "Music Foreign MAGICO Radio"}
- {id: 81, cat: Audio, desc: "Music Foreign Karaoke"}
- {id: 95, cat: Audio, desc: "Music Foreign Soundtrack"}
- {id: 47, cat: Audio, desc: "Greek music"}
- {id: 48, cat: Audio, desc: "N ees Releases"}
- {id: 49, cat: Audio, desc: "P. Alai Releases"}
- {id: 51, cat: Audio, desc: "D. iskografies"}
- {id: 50, cat: Audio, desc: "In ylloges"}
- {id: 101, cat: Audio, desc: "M AGICO Radio"}
- {id: 97, cat: Audio, desc: "Live Cd 's"}
- {id: 57, cat: Audio, desc: "P empetika"}
- {id: 58, cat: Audio, desc: "D. imotika"}
- {id: 59, cat: Audio, desc: "K exception of preservatives"}
- {id: 60, cat: Audio, desc: "N isiotika"}
- {id: 62, cat: Audio, desc: "P. ontiaka"}
- {id: 80, cat: Audio, desc: "K araoke"}
- {id: 96, cat: Audio, desc: "Soundtracks"}
- {id: 47, cat: Audio, desc: "Music Greek"}
- {id: 48, cat: Audio, desc: "Music Greek New Releases"}
- {id: 49, cat: Audio, desc: "Music Greek Old Releases"}
- {id: 51, cat: Audio, desc: "Music Greek Discographies"}
- {id: 50, cat: Audio, desc: "Music Greek Collections"}
- {id: 101, cat: Audio, desc: "Music Greek MAGICO Radio"}
- {id: 97, cat: Audio, desc: "Music Greek Live Cd's"}
- {id: 57, cat: Audio, desc: "Music Greek Rebetika"}
- {id: 58, cat: Audio, desc: "Music Greek Primary"}
- {id: 59, cat: Audio, desc: "Music Greek Cretan"}
- {id: 60, cat: Audio, desc: "Music Greek Island"}
- {id: 62, cat: Audio, desc: "Music Greek Pontian"}
- {id: 80, cat: Audio, desc: "Music Greek Karaoke"}
- {id: 96, cat: Audio, desc: "Music Greek Soundtracks"}
- {id: 73, cat: Audio, desc: "seasonal Music"}
- {id: 74, cat: Audio, desc: "X ristougenna"}
- {id: 79, cat: Audio, desc: "P. ascha"}
- {id: 75, cat: Audio, desc: "A pokriatika"}
- {id: 78, cat: Audio, desc: "A Tariff Valentine"}
- {id: 73, cat: Audio, desc: "Music Seasonal"}
- {id: 74, cat: Audio, desc: "Music Seasonal Xmas"}
- {id: 79, cat: Audio, desc: "Music Seasonal Easter"}
- {id: 75, cat: Audio, desc: "Music Seasonal Halloween"}
- {id: 78, cat: Audio, desc: "Music Seasonal Valentines"}
- {id: 33, cat: Books, desc: "Books"}
- {id: 41, cat: Books, desc: "E nglis"}
- {id: 65, cat: Books, desc: "K omix"}
- {id: 43, cat: Books, desc: "P. periods"}
- {id: 72, cat: Books, desc: "P. aidika"}
- {id: 66, cat: Books, desc: "L. exika - Educational"}
- {id: 42, cat: Books, desc: "O enoglossa"}
- {id: 67, cat: Books, desc: "E. Konya-Photos"}
- {id: 41, cat: Books, desc: "Books Greek"}
- {id: 65, cat: Books, desc: "Books Comics"}
- {id: 43, cat: Books, desc: "Books Periodicals"}
- {id: 105, cat: Books, desc: "Books Audio"}
- {id: 72, cat: Books, desc: "Books Children"}
- {id: 66, cat: Books, desc: "Books Educational"}
- {id: 42, cat: Books, desc: "Books Foreign"}
- {id: 67, cat: Books, desc: "Books Photos"}
- {id: 6, cat: PC, desc: "programs"}
- {id: 18, cat: PC/0day, desc: "PC"}
- {id: 40, cat: PC/Phone-Android, desc: "Android"}
- {id: 19, cat: PC/Mac, desc: "Mac"}
- {id: 6, cat: PC, desc: "Programs"}
- {id: 18, cat: PC/0day, desc: "Programs PC"}
- {id: 40, cat: PC/Phone-Android, desc: "Programs Android"}
- {id: 19, cat: PC/Mac, desc: "Programs Mac"}
- {id: 2, cat: PC/Games, desc: "Games"}
- {id: 27, cat: PC/Games, desc: "PC"}
- {id: 68, cat: PC/Phone-Android, desc: "Android"}
- {id: 27, cat: PC/Games, desc: "Games PC"}
- {id: 68, cat: PC/Phone-Android, desc: "Games Android"}
- {id: 88, cat: Other, desc: "Design / Tutorials / Accessories"}
- {id: 89, cat: Other, desc: "Photoshop Tutorials"}
- {id: 91, cat: Other, desc: "Illustrator Tutorials"}
- {id: 90, cat: Other, desc: "After Effects Tutorials"}
- {id: 88, cat: Other, desc: "Tutorials / Design / Accessories"}
- {id: 89, cat: Other, desc: "Tutorials Photoshop"}
- {id: 91, cat: Other, desc: "Tutorials Illustrator"}
- {id: 90, cat: Other, desc: "Tutorials After Effects"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: /?p=home&pid=1
@@ -135,7 +137,7 @@
error:
- selector: div#show_error font
rows:
selector: div#content > div.torrent-box[id^="torrent_"]
selector: div#content > div.torrent-box[id^="torrent_"], tr:has(a[href*="?p=torrents&pid=10&action=details"])
filters:
- name: andmatch
fields:
@@ -145,7 +147,7 @@
- name: replace
args: ["Grey's Anatomy", "Greys Anatomy"]
category:
selector: div.categoryImage > a
selector: a[href*="?p=torrents&pid=10&cid="]
attribute: href
filters:
- name: querystring
@@ -157,6 +159,7 @@
selector: a[href*="?p=torrents&pid=10&action=download"]
attribute: href
imdb:
optional: true
selector: a[href^="http://www.imdb.com/title/tt"]
attribute: href
size:
@@ -172,6 +175,7 @@
selector: a[rel="fancybox"]
attribute: href
description:
optional: true
selector: div.torrentDetails > div:has(span.floatright)
downloadvolumefactor:
case:
@@ -217,5 +221,17 @@
args: ["Κυριακή", "Sunday"]
- name: dateparse
args: "02-01-2006 15:04"
date:
# <br /> Uploaded Saturday at 21:09 by
optional: true
selector: td.torrent_name
remove: div, a, span
filters:
- name: replace
args: ["Uploaded ", ""]
- name: replace
args: [" by", ""]
- name: replace
args: ["at ", ""]
- name: dateparse
args: "02-01-2006 15:04"

View File

@@ -0,0 +1,112 @@
---
site: metaliplayro
name: Romanian Metal Torrent
description: "Romanian Metal Torrent is a Private site dedicated to METAL MUSIC. This definition is for the English site."
language: en-us
type: private
encoding: UTF-8
links:
- https://metal.stream.bike/
caps:
categories:
"Music": Audio
modes:
search: [q]
music-search: [q, album, artist, label, year]
login:
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img
input: vImageCodP
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: div.errorSummary
message:
selector: div.errorSummary ul li
test:
path: browse.php
selector: a[href="logout.php"]
ratio:
path: browse.php
selector: img:contains("Ratio =") > img
download:
method: get
before:
path: "login.php"
method: "post"
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
search:
paths:
- path: browse.php
method: get
inputs:
"search": "{{if .Query.Artist}}{{ .Query.Artist }}{{else}}{{ .Keywords }}{{end}}"
rows:
selector: table.torrents_table tbody tr
fields:
title:
selector: td a[href^="details.php?id="]
details:
selector: td a[href^="details.php?id="]
attribute: href
download:
selector: td a[href^="download2.php?id="]
attribute: href
filters:
- name: replace
args: ["download2.php?id=", "download.php/"]
- name: append
args: "/{{ .Result.title }}.torrent"
banner:
optional: true
selector: td:nth-child(2) a
attribute: onmouseover
filters:
- name: regexp
args: 'img src=(.+?) >'
- name: replace
args: ["./pic/noposter.jpg", ""]
date:
selector: td:nth-child(8) > span
attribute: title
size:
selector: td:nth-child(6)
seeders:
selector: td:nth-child(7)
filters:
- name: regexp
args: '([\d]+) seeders'
leechers:
selector: td:nth-child(7)
filters:
- name: regexp
args: '([\d]+) leechers'
grabs:
selector: td:nth-child(6)
filters:
- name: regexp
args: '([\d]+) times'
category:
text: "Music"
downloadvolumefactor:
case:
img[src$="pic/freedownload.gif"]: "0"
img[src$="pic/half.gif"]: "0.5"
"*": "1"
uploadvolumefactor:
case:
img[src$="pic/sticky2.gif"]: "1.5"
"*": "1"

View File

@@ -9,6 +9,8 @@
- https://nnm-club.me/
legacylinks:
- https://nnm-club.name/
certificates:
- 7877113458e90f3643dd28424657a29469f5dc55
caps:
categorymappings:

View File

@@ -0,0 +1,107 @@
---
site: prostylex
name: ProStyleX
description: "ProStyleX is a Public torrent site for 0Day and General"
language: en-us
type: public
encoding: UTF-8
links:
- http://prostylex.com/
caps:
categorymappings:
- {id: 1, cat: Movies/SD, desc: "Movies - Divx/Xvid"}
- {id: 2, cat: Movies/WEBDL, desc: "Movies - h.264/x264"}
- {id: 3, cat: Movies/HD, desc: "Movies - HD"}
- {id: 4, cat: Movies/DVD, desc: "Movies - DVD"}
- {id: 5, cat: Movies/Other, desc: "Movies - Cam/TS"}
- {id: 6, cat: Movies/Foreign, desc: "Movies - Non-English"}
- {id: 7, cat: Movies/3D, desc: "Movies - 3D"}
- {id: 8, cat: Movies/UHD, desc: "Movies - 4K"}
- {id: 9, cat: Movies/Other, desc: "Movies - Dubs/Dual Audio"}
- {id: 12, cat: TV/WEB-DL, desc: "TV - x264"}
- {id: 13, cat: TV/SD, desc: "TV - Xvid"}
- {id: 14, cat: TV/HD, desc: "TV - HD"}
- {id: 15, cat: TV/OTHER, desc: "TV - Packs"}
- {id: 20, cat: Audio/MP3, desc: "Music - Audio"}
- {id: 21, cat: Audio/Video, desc: "Music - Video"}
- {id: 22, cat: Audio/Other, desc: "Music - Other"}
- {id: 40, cat: XXX, desc: "XXX - Video"}
- {id: 42, cat: XXX, desc: "XXX - HD Video"}
- {id: 43, cat: XXX, desc: "XXX - Movie"}
- {id: 44, cat: XXX, desc: "XXX - Anime/Hentai"}
- {id: 45, cat: XXX, desc: "XXX - Pics/Comix/Book"}
- {id: 46, cat: XXX, desc: "XXX - Games"}
- {id: 53, cat: Audio/Audiobook, desc: "Books - Audio books"}
- {id: 54, cat: Books/Comics, desc: "Books - Comics"}
- {id: 55, cat: Books/Ebook, desc: "Books - Ebooks"}
- {id: 56, cat: Books/Magazines, desc: "Books - Magazines"}
- {id: 57, cat: Books/Other, desc: "Books - Other"}
- {id: 58, cat: Other, desc: "Pictures - Other"}
- {id: 59, cat: Other, desc: "Pictures - Wallpapers"}
- {id: 65, cat: TV/Anime, desc: "Anime - All"}
- {id: 90, cat: PC/ISO, desc: "Games - PC-ISO"}
- {id: 91, cat: Console, desc: "Games - PS2"}
- {id: 92, cat: Console/PSP, desc: "Games - PSP"}
- {id: 93, cat: Console/PS3, desc: "Games - PS3"}
- {id: 94, cat: PC/Games, desc: "Games - PC-RIP"}
- {id: 95, cat: Console/Xbox 360, desc: "Games - Xbox360"}
- {id: 96, cat: Console/Other, desc: "Games - Other"}
- {id: 97, cat: Console/Wii, desc: "Games - Wii"}
- {id: 98, cat: Console/NDS, desc: "Games - Nintendo DS"}
- {id: 99, cat: PC/Phone-Android, desc: "Games - Android"}
- {id: 120, cat: PC/0day, desc: "Apps - Windows"}
- {id: 121, cat: PC, desc: "Apps - Linux"}
- {id: 122, cat: PC/Phone-Android, desc: "Apps - Android"}
- {id: 123, cat: PC/Mac, desc: "Apps - Mac"}
- {id: 124, cat: PC, desc: "Apps - Other"}
- {id: 130, cat: Other, desc: "Other - Other"}
- {id: 134, cat: Other, desc: "Other - Tutorials"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings: []
download:
selector: a[href^="magnet:?"]
search:
paths:
# http://prostylex.com/torrents-search.php?search=
# http://prostylex.com/torrents-search.php?c1=1&c2=1&c3=1&search=expanse&cat=0&incldead=0&freeleech=0&inclexternal=0&lang=0
- path: "torrents-search.php?{{range .Categories}}c{{.}}=1&{{end}}{{if .Keywords}}&search={{ .Keywords}}&cat=0&incldead=0&freeleech=0&inclexternal=0&lang=0{{else}}search={{end}}"
rows:
# selector: tr:has(a[href^="/torrent/"])
selector: tr.t-row
fields:
title:
selector: td a[href^="torrents-details.php?id="]
category:
selector: td a[href^="torrents.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: td a[href^="torrents-details.php?id="]
attribute: href
download:
selector: td a[href^="torrents-details.php?id="]
attribute: href
date:
selector: th:nth-child(5)
filters:
- name: timeago
size:
selector: th:nth-child(4)
seeders:
selector: th:nth-child(6)
leechers:
selector: th:nth-child(7)
downloadvolumefactor:
text: "0"
uploadvolumefactor:
text: "1"

View File

@@ -84,12 +84,37 @@
args: ([\d\.]+)
date:
selector: time
filters:
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
- name: re_replace
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
- name: re_replace
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
- name: re_replace
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
- name: re_replace
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
- name: re_replace
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
- name: re_replace
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
- name: re_replace
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
- name: re_replace
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
- name: re_replace
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
- name: re_replace
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
- name: re_replace
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
downloadvolumefactor:
case:
"i[data-original-title=\"100% Free\"]": "0"
"i[data-original-title=\"Global FreeLeech\"]": "0"
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2"
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"

View File

@@ -77,6 +77,30 @@
args: ([\d\.]+)
date:
selector: time
filters:
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
- name: re_replace
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
- name: re_replace
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
- name: re_replace
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
- name: re_replace
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
- name: re_replace
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
- name: re_replace
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
- name: re_replace
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
- name: re_replace
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
- name: re_replace
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
- name: re_replace
args: ["(ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
- name: re_replace
args: ["(ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
downloadvolumefactor:
case:
"i[data-original-title=\"100% Free\"]": "0"

View File

@@ -0,0 +1,69 @@
---
site: RockBox
name: RockBox Rock/Metal Tracker
description: "RockBox Semi-Private site dedicated to HEAVY METAL/ROCK MUSIC. This definition is for the English site."
language: en-us
type: semi-private
encoding: UTF-8
links:
- https://rawkbawx.rocks/
caps:
categories:
"Music": Audio
modes:
search: [q]
music-search: [q, album, artist, label, year]
login:
path: login.php
method: form
form: form[action="login.php?returnto=index.php"]
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: div.errorSummary
message:
selector: div.errorSummary ul li
test:
path: index.php
selector: a[href="logout.php"]
search:
paths:
- path: torrents.php
method: get
inputs:
search: "{{if .Query.Artist}}{{ .Query.Artist }}{{else}}{{ .Keywords }}{{end}}"
rows:
selector: body:nth-child(2) tbody tr td:nth-child(2) table.lista tbody tr:nth-child(2) table.lista tbody tr
fields:
title:
selector: td a[href^="details.php?id="]
details:
selector: td a[href^="details.php?id="]
attribute: href
comments: # link to the comments of the torrent
selector: td a[href^="details.php?id="]
attribute: href
download:
selector: td a[href^="download.php?id="]
attribute: href
date:
selector: td:nth-child(6)
size: # size of the torrent (units are handled automatically)
selector: td:nth-child(7)
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
grabs: # number of downloads
selector: td:nth-child(11)
category:
text: "Music"
downloadvolumefactor:
text: "1"
uploadvolumefactor:
text: "1"

View File

@@ -6,6 +6,8 @@
type: public
encoding: UTF-8
links:
- https://torrentcouch.net/
legacylinks:
- https://torrentcouch.com/
caps:
@@ -23,10 +25,12 @@
search:
# https://torrentcouch.com/?s=expanse
# https://torrentcouch.net/page/3/?s=expanse
paths:
- path: /
inputs:
s: "{{.Keywords}}"
- path: "{{if .Keywords}}/?s={{ .Keywords}}{{else}}/{{end}}"
- path: "{{if .Keywords}}/page/2/?s={{ .Keywords}}{{else}}{{end}}"
- path: "{{if .Keywords}}/page/3/?s={{ .Keywords}}{{else}}{{end}}"
- path: "{{if .Keywords}}/page/4/?s={{ .Keywords}}{{else}}{{end}}"
rows:
selector: article
fields:
@@ -45,9 +49,9 @@
size:
text: "500 MB"
seeders:
text: "999"
text: "1"
leechers:
text: "999"
text: "1"
date:
text: now
downloadvolumefactor:

View File

@@ -6,7 +6,7 @@
type: semi-private
encoding: UTF-8
links:
- https://yggtorrent.to/
- https://www3.yggtorrent.to/
legacylinks:
- https://yggtorrent.is/
- https://yggtorrent.com/
@@ -16,6 +16,7 @@
- https://ww2.yggtorrent.is/
- https://ww3.yggtorrent.is/
- https://ww4.yggtorrent.is/
- https://yggtorrent.to/
caps:
categorymappings:
@@ -114,6 +115,7 @@
FRENCH : "FRENCH"
MULTI.FRENCH: "MULTI.FRENCH"
ENGLISH: "ENGLISH"
MULTI.ENGLISH: "MULTI.ENGLISH"
login:
method: form
path: /

View File

@@ -20,6 +20,11 @@
20: Movies/DVD
9: XXX
49: XXX/Other
6: Audio
30: Audio/Other
29: Audio/Other
51: Audio/Other
34: Audio/Lossless
modes:
search: [q]

View File

@@ -13,10 +13,11 @@
"anime": TV/Anime
"app": PC
"book": Books
"files": Other/Misc
"game": PC/Games
"movies": Movies
"music": Audio
"other": Other/Misc
"other": Other
"tv": TV
modes:

View File

@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Globalization;
@@ -155,19 +155,22 @@ namespace Jackett.Common.Indexers
release.MinimumRatio = 1;
release.MinimumSeedTime = 172800;
int tdIndex = 0;
if(qRow.Find("td:nth-last-child(1)").Text() == "Edit") tdIndex = 1;
// Sometimes the uploader column is missing
int seeders, peers;
if (ParseUtil.TryCoerceInt(qRow.Find("td:nth-last-child(3)").Text(), out seeders))
if (ParseUtil.TryCoerceInt(qRow.Find($"td:nth-last-child({tdIndex + 3})").Text(), out seeders))
{
release.Seeders = seeders;
if (ParseUtil.TryCoerceInt(qRow.Find("td:nth-last-child(2)").Text(), out peers))
if (ParseUtil.TryCoerceInt(qRow.Find($"td:nth-last-child({tdIndex + 2})").Text(), out peers))
{
release.Peers = peers + release.Seeders;
}
}
release.Grabs = ParseUtil.CoerceLong(qRow.Find("td:nth-last-child(1)").Text());
release.Grabs = ParseUtil.CoerceLong(qRow.Find($"td:nth-last-child({tdIndex + 1})").Text());
string fullSize = qRow.Find("td.mainblockcontent").Get(6).InnerText;
release.Size = ReleaseInfo.GetBytes(fullSize);

View File

@@ -135,6 +135,13 @@ namespace Jackett.Common.Indexers
continue;
}
// Ensure fansub group name is present in the title
// This is needed for things like configuring tag restrictions in Sonarr
if (title.Contains("[HorribleSubs]") == false)
{
title = "[HorribleSubs] " + title;
}
DateTime releasedate;
if (dateStr == "Today")
{
@@ -148,23 +155,33 @@ namespace Jackett.Common.Indexers
{
releasedate = DateTime.SpecifyKind(DateTime.ParseExact(dateStr, "MM/dd/yy", CultureInfo.InvariantCulture), DateTimeKind.Utc).ToLocalTime();
}
var p480 = releaserow.QuerySelector(".link-480p");
if (p480 != null)
{
var release = new ReleaseInfo();
var release = new ReleaseInfo
{
PublishDate = releasedate,
Files = 1,
Category = new List<int> { TorznabCatType.TVAnime.ID },
Size = 524288000,
Seeders = 1,
Peers = 2,
DownloadVolumeFactor = 0,
UploadVolumeFactor = 1
};
release.Title = string.Format("{0} [480p]", title);
release.PublishDate = releasedate;
release.Link = new Uri(p480.QuerySelector(".hs-torrent-link > a").GetAttribute("href"));
release.MagnetUri = new Uri(p480.QuerySelector(".hs-magnet-link > a").GetAttribute("href"));
release.Files = 1;
release.Category = new List<int> { TorznabCatType.TVAnime.ID };
release.Size = 524288000;
release.Seeders = 999;
release.Peers = 1998;
release.DownloadVolumeFactor = 0;
release.UploadVolumeFactor = 1;
if (p480.QuerySelector(".hs-torrent-link > a") != null)
{
release.Link = new Uri(p480.QuerySelector(".hs-torrent-link > a").GetAttribute("href"));
release.Guid = release.Link;
}
if (p480.QuerySelector(".hs-magnet-link > a") != null)
{
release.MagnetUri = new Uri(p480.QuerySelector(".hs-magnet-link > a").GetAttribute("href"));
release.Guid = release.MagnetUri;
}
releases.Add(release);
}
@@ -172,18 +189,28 @@ namespace Jackett.Common.Indexers
if (p720 != null)
{
var release = new ReleaseInfo();
var release = new ReleaseInfo
{
PublishDate = releasedate,
Files = 1,
Category = new List<int> { TorznabCatType.TVAnime.ID },
Size = 524288000,
Seeders = 1,
Peers = 2,
DownloadVolumeFactor = 0,
UploadVolumeFactor = 1
};
release.Title = string.Format("{0} [720p]", title);
release.PublishDate = releasedate;
release.Link = new Uri(p720.QuerySelector(".hs-torrent-link > a").GetAttribute("href"));
release.MagnetUri = new Uri(p720.QuerySelector(".hs-magnet-link > a").GetAttribute("href"));
release.Files = 1;
release.Category = new List<int> { TorznabCatType.TVAnime.ID };
release.Size = 524288000;
release.Seeders = 999;
release.Peers = 1998;
release.DownloadVolumeFactor = 0;
release.UploadVolumeFactor = 1;
if (p720.QuerySelector(".hs-torrent-link > a") != null)
{
release.Link = new Uri(p720.QuerySelector(".hs-torrent-link > a").GetAttribute("href"));
release.Guid = release.Link;
}
if (p720.QuerySelector(".hs-magnet-link > a") != null)
{
release.MagnetUri = new Uri(p720.QuerySelector(".hs-magnet-link > a").GetAttribute("href"));
release.Guid = release.MagnetUri;
}
releases.Add(release);
}
@@ -191,21 +218,30 @@ namespace Jackett.Common.Indexers
if (p1080 != null)
{
var release = new ReleaseInfo();
var release = new ReleaseInfo
{
PublishDate = releasedate,
Files = 1,
Category = new List<int> { TorznabCatType.TVAnime.ID },
Size = 524288000,
Seeders = 1,
Peers = 2,
DownloadVolumeFactor = 0,
UploadVolumeFactor = 1
};
release.Title = string.Format("{0} [1080p]", title);
release.PublishDate = releasedate;
release.Link = new Uri(p1080.QuerySelector(".hs-torrent-link > a").GetAttribute("href"));
release.MagnetUri = new Uri(p1080.QuerySelector(".hs-magnet-link > a").GetAttribute("href"));
release.Files = 1;
release.Category = new List<int> { TorznabCatType.TVAnime.ID };
release.Size = 524288000;
release.Seeders = 999;
release.Peers = 1998;
release.DownloadVolumeFactor = 0;
release.UploadVolumeFactor = 1;
if (p1080.QuerySelector(".hs-torrent-link > a") != null)
{
release.Link = new Uri(p1080.QuerySelector(".hs-torrent-link > a").GetAttribute("href"));
release.Guid = release.Link;
}
if (p1080.QuerySelector(".hs-magnet-link > a") != null)
{
release.MagnetUri = new Uri(p1080.QuerySelector(".hs-magnet-link > a").GetAttribute("href"));
release.Guid = release.MagnetUri;
}
releases.Add(release);
}
}
}
catch (Exception ex)

View File

@@ -117,45 +117,9 @@ namespace Jackett.Common.Indexers
return IndexerConfigurationStatus.RequiresTesting;
}
protected async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query, String seasonep)
List<ReleaseInfo> parseTorrents(WebClientStringResult results, String seasonep, TorznabQuery query, int already_founded)
{
var releases = new List<ReleaseInfo>();
var searchString = query.GetQueryString();
var pairs = new List<KeyValuePair<string, string>>();
if (seasonep != null)
{
searchString = query.SanitizedSearchTerm;
}
pairs.Add(new KeyValuePair<string, string>("nyit_sorozat_resz", "true"));
pairs.Add(new KeyValuePair<string, string>("miben", "name"));
pairs.Add(new KeyValuePair<string, string>("tipus", "kivalasztottak_kozott"));
pairs.Add(new KeyValuePair<string, string>("submit.x", "1"));
pairs.Add(new KeyValuePair<string, string>("submit.y", "1"));
pairs.Add(new KeyValuePair<string, string>("submit", "Ok"));
pairs.Add(new KeyValuePair<string, string>("mire", searchString));
var cats = MapTorznabCapsToTrackers(query);
if (cats.Count == 0)
cats = GetAllTrackerCategories();
foreach (var lcat in LanguageCats)
{
if (!configData.Hungarian.Value)
cats.Remove(lcat + "_hun");
if (!configData.English.Value)
cats.Remove(lcat);
}
foreach (var cat in cats)
{
pairs.Add(new KeyValuePair<string, string>("kivalasztott_tipus[]", cat));
}
var results = await PostDataWithCookiesAndRetry(SearchUrl, pairs);
try
{
CQ dom = results.Content;
@@ -163,9 +127,10 @@ namespace Jackett.Common.Indexers
ReleaseInfo release;
var rows = dom[".box_torrent_all"].Find(".box_torrent");
foreach (var row in rows)
// Check torrents only till we reach the query Limit
for(int i=0; (i<rows.Length && (already_founded + releases.Count) < query.Limit); i++)
{
CQ qRow = row.Cq();
CQ qRow = rows[i].Cq();
var key = dom["link[rel=alternate]"].First().Attr("href").Split('=').Last();
@@ -173,7 +138,8 @@ namespace Jackett.Common.Indexers
var torrentTxt = qRow.Find(".torrent_txt, .torrent_txt2").Find("a").Get(0);
//if (torrentTxt == null) continue;
release.Title = torrentTxt.GetAttribute("title");
release.Description = qRow.Find("div.siterank").Text();
release.Description = qRow.Find("span").Get(0).GetAttribute("title") + " " + qRow.Find("a.infolink").Text();
release.MinimumRatio = 1;
release.MinimumSeedTime = 172800;
release.DownloadVolumeFactor = 0;
@@ -203,6 +169,11 @@ namespace Jackett.Common.Indexers
string catlink = qRow.Find("a:has(img[class='categ_link'])").First().Attr("href");
string cat = ParseUtil.GetArgumentFromQueryString(catlink, "tipus");
release.Category = MapTrackerCatToNewznab(cat);
/* if the release name not contains the language we add it because it is know from category */
if (cat.Contains("hun") && !release.Title.Contains("hun"))
release.Title += ".hun";
if (seasonep == null)
releases.Add(release);
@@ -252,6 +223,76 @@ namespace Jackett.Common.Indexers
return releases;
}
protected async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query, String seasonep)
{
var releases = new List<ReleaseInfo>();
var searchString = query.GetQueryString();
var pairs = new List<KeyValuePair<string, string>>();
if (seasonep != null)
{
searchString = query.SanitizedSearchTerm;
}
pairs.Add(new KeyValuePair<string, string>("nyit_sorozat_resz", "true"));
pairs.Add(new KeyValuePair<string, string>("miben", "name"));
pairs.Add(new KeyValuePair<string, string>("tipus", "kivalasztottak_kozott"));
pairs.Add(new KeyValuePair<string, string>("submit.x", "1"));
pairs.Add(new KeyValuePair<string, string>("submit.y", "1"));
pairs.Add(new KeyValuePair<string, string>("submit", "Ok"));
pairs.Add(new KeyValuePair<string, string>("mire", searchString));
var cats = MapTorznabCapsToTrackers(query);
if (cats.Count == 0)
cats = GetAllTrackerCategories();
foreach (var lcat in LanguageCats)
{
if (!configData.Hungarian.Value)
cats.Remove(lcat + "_hun");
if (!configData.English.Value)
cats.Remove(lcat);
}
foreach (var cat in cats)
{
pairs.Add(new KeyValuePair<string, string>("kivalasztott_tipus[]", cat));
}
var results = await PostDataWithCookiesAndRetry(SearchUrl, pairs);
CQ dom = results.Content;
int numVal = 0;
// find pagelinks in the bottom
var pagelinks = dom["div[id=pager_bottom]"].Find("a");
if (pagelinks.Length > 0)
{
// If there are several pages find the link for the latest one
var last_page_link = (pagelinks[pagelinks.Length - 1].Cq().Attr("href")).Trim();
// find out the number of the last page from the link
Match match = Regex.Match(last_page_link, @"(?<=[\?,&]oldal=)(\d+)(?=&)");
numVal = Int32.Parse(match.Value);
}
releases = parseTorrents(results, seasonep, query, releases.Count);
// Check all the pages for the torrents.
// The starting index is 2. (the first one is the original where we parse out the pages.)
for (int i=2; (i<= numVal && releases.Count < query.Limit); i++ )
{
pairs.Add(new KeyValuePair<string, string>("oldal", i.ToString()));
results = await PostDataWithCookiesAndRetry(SearchUrl, pairs);
releases.AddRange(parseTorrents(results, seasonep, query, releases.Count));
pairs.Remove(new KeyValuePair<string, string>("oldal", i.ToString()));
}
return releases;
}
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{
var results = await PerformQuery(query, null);

View File

@@ -59,7 +59,7 @@ namespace Jackett.Common.Indexers
TorznabCaps.SupportsImdbSearch = true;
webclient.requestDelay = 2.0; // 0.5 requests per second (2 causes problems)
webclient.requestDelay = 2.1; // The api has a 1req/2s limit.
AddCategoryMapping(4, TorznabCatType.XXX, "XXX (18+)");
AddCategoryMapping(14, TorznabCatType.MoviesSD, "Movies/XVID");

View File

@@ -9,10 +9,14 @@ namespace Jackett.Common.Indexers
{
public class TehConnectionMe : GazelleTracker
{
public override string[] LegacySiteLinks { get; protected set; } = new string[] {
"https://tehconnection.me/",
};
public TehConnectionMe(IIndexerConfigurationService configService, WebClient webClient, Logger logger, IProtectionService protectionService)
: base(name: "TehConnection.me",
desc: "A movies tracker",
link: "https://tehconnection.me/",
link: "https://anthelion.me/",
configService: configService,
logger: logger,
protectionService: protectionService,

View File

@@ -19,9 +19,15 @@ namespace Jackett.Common.Indexers
{
public class TorrentHeaven : BaseWebIndexer
{
public override string[] LegacySiteLinks { get; protected set; } = new string[] {
"https://torrentheaven.myfqdn.info/",
};
private string IndexUrl { get { return SiteLink + "index.php"; } }
private string LoginCompleteUrl { get { return SiteLink + "index.php?strWebValue=account&strWebAction=login_complete&ancestry=verify"; } }
private static readonly string certificateHash = "6F5CE30D578C2A7AECFB919D0D013976D395055F";
private static readonly string[] certificateHashs = new string[] {
"6F5CE30D578C2A7AECFB919D0D013976D395055F",
"66096DB5FD0107E4FFBAF5EC8378EB235CADA909",
};
private new ConfigurationDataCaptchaLogin configData
{
@@ -32,7 +38,7 @@ namespace Jackett.Common.Indexers
public TorrentHeaven(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps)
: base(name: "TorrentHeaven",
description: "A German general tracker.",
link: "https://torrentheaven.myfqdn.info/",
link: "https://newheaven.nl/",
caps: TorznabUtil.CreateDefaultTorznabTVCaps(),
configService: configService,
client: wc,
@@ -92,7 +98,8 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(70, TorznabCatType.PC, "APPLICATIONS/Linux");
AddCategoryMapping(71, TorznabCatType.PCMac, "APPLICATIONS/Mac");
webclient.AddTrustedCertificate(new Uri(SiteLink).Host, certificateHash);
foreach (var certificateHash in certificateHashs)
webclient.AddTrustedCertificate(new Uri(SiteLink).Host, certificateHash);
}
public override async Task<ConfigurationData> GetConfigurationForSetup()

View File

@@ -142,7 +142,7 @@ namespace Jackett.Common.Indexers
// Append the quality to the title because thats how radarr seems to be determining the quality?
// All releases are BRRips, see issue #2200
release.Title = movie_item.Value<string>("title_long") + " " + torrent_info.Value<string>("quality") + " BRRip";
release.Title = "[YTS] " + movie_item.Value<string>("title_long") + " " + torrent_info.Value<string>("quality") + " BRRip";
var imdb = movie_item.Value<string>("imdb_code");
release.Imdb = ParseUtil.GetImdbID(imdb);

View File

@@ -275,6 +275,7 @@ namespace Jackett.Updater
"Definitions/torrentkim.yml",
"Definitions/horriblesubs.yml",
"Definitions/idope.yml",
"Definitions/bt-scene.yml",
};
foreach (var oldFile in oldFiles)