Compare commits

...

16 Commits

Author SHA1 Message Date
Garfield69
d44408c988 add focusx a Russian Public site. Resolves #5045 2019-04-09 16:01:37 +12:00
Garfield69
d99de43309 add crazyhd a Bangladeshi private tracker. resolves #5043 2019-04-09 08:44:56 +12:00
Garfield69
eaa562a20a torrentproject2: update row selector 2019-04-09 08:02:03 +12:00
Garfield69
b124ba469f torrent9clone: new domain 2019-04-09 06:59:25 +12:00
flightlevel
d002382883 Updater: remove jackett executable
#5022
2019-04-08 20:32:08 +10:00
Garfield69
363d08634a puntotorrent: update categories. resolves #5042 2019-04-08 10:59:12 +12:00
Garfield69
2b503e01a1 amigosshare: adjustments resolves #5004
add banner
fix a category
2019-04-07 16:41:27 +12:00
Garfield69
a838dbcb6c xktorrent: categories
and other assorted selectors
2019-04-07 09:53:51 +12:00
Garfield69
16f96e0419 avg: update category selector
and date processing
2019-04-07 08:44:33 +12:00
Garfield69
5fe974afad asiancinema: updates for unit3d 1.9.2 2019-04-07 08:26:05 +12:00
Garfield69
593bbb37d3 dxdhd: updates for unti3d 1.9.2
plus add / amend categories
2019-04-07 08:11:27 +12:00
ThomasClemenceau
c9fbc7268b cpasbien, cpasbienclone, gktorrent, torrent9, torrent9clone: fix title with MULTI language. (#5031)
The MULTI was before the year so it was not supported by Radarr,Couchpotato etc..
2019-04-06 10:43:51 +13:00
Garfield69
a32ad215cd add SoundPark a semi-private russian site for music. #5022
downloading is untested.
the site has an aggressive advert method and the dl link is only available ad-free to members or vip
a newbie like me has to wait 1 week before becoming a member
meanwhile the dl link redirects to ads randomly :-(
2019-04-06 10:06:35 +13:00
Garfield69
34509d284f torrent9clone: new domain wwv.*.vg 2019-04-06 08:48:45 +13:00
Garfield69
2ca7975d3d cpasbien, cpasbienclone, gktorrent, torrent9, torrent9clone: fix title. resolves #5027 2019-04-06 07:52:28 +13:00
Garfield69
e8dbaa4a8e lesaloon: add capcha. resolves #5026 2019-04-05 15:59:40 +13:00
19 changed files with 794 additions and 183 deletions

View File

@@ -107,6 +107,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* RuTracker
* Sharewood
* SkTorrent
* SoundPark
* Union Fansub
* Vanila
* XtreMeZone (MYXZ)
@@ -176,6 +177,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* CinemaZ (EuTorrents)
* Classix
* CrnaBerza
* CrazyHD
* DanishBits (DB)
* Dark-Shadow
* Das Unerwartete
@@ -200,6 +202,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* FANO.IN
* FileList (FL)
* Femdomcult
* FocusX
* Freedom-HD (Freedom Paradise)
* FreeTorrent
* FullMixMusic

View File

@@ -60,7 +60,7 @@
- {id: 2, cat: Movies, desc: "Filmes: Terror"}
- {id: 1, cat: Movies, desc: "Filmes: Ação"}
- {id: 80, cat: Movies, desc: "Filmes: Aventura"}
- {id: 70, cat: Other, desc: "Fotos: XXX"}
- {id: 70, cat: XXX, desc: "Fotos: XXX"}
- {id: 79, cat: Console/PS4, desc: "Jogos: Ps4"}
- {id: 47, cat: PC/Games, desc: "Jogos: Pc"}
- {id: 61, cat: Console, desc: "Jogos: Emuladores e Roms"}
@@ -142,18 +142,18 @@
error:
- selector: div.alert-error
test:
path: index.php
# selector: a[href="account-logout.php"]
path: torrents-search.php
selector: a[href="account-logout.php"]
ratio:
path: index.php
path: torrents-search.php
selector: li:contains("Ratio:") a b
search:
paths:
# http://amigos-share.club/torrents-search.php?search=&c1=1&c19=1&c36=1&incldead=0&freeleech=0&lang=0sort=id&order=desc&page=1
- path: torrents-search.php
# site displays just 21 results, no profile options found to change this, so we attempt to fetch 5 pages
# site displays just 9 results, no profile options found to change this, so we attempt to fetch 5 pages
- path: torrents-search.php
inputs:
page: 1
@@ -185,6 +185,12 @@
download:
selector: a[href^="download.php?id="]
attribute: href
banner:
selector: a[href^="torrents-details.php?id="]
attribute: title
filters:
- name: regexp
args: "src=\"(.*?)\""
category:
selector: td:first-child img
attribute: src
@@ -207,7 +213,7 @@
"[src$=\"/E-books.png\"]": "67"
"[src$=\"/Revista.png\"]": "68"
"[src$=\"/Aventura.png\"]": "80"
"[src$=\"/XXX.png\"]": "70"
"[src$=\"/Revistas-XXX.png\"]": "70"
"[src$=\"/Jogos-Ps4.png\"]": "79"
"[src$=\"/Jogos-PC.png\"]": "47"
"[src$=\"/Jogos-EmuladoreseRoms.png\"]": "61"

View File

@@ -25,10 +25,19 @@
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: 1
error:
- selector: form[action*="/login"] .text-red
- selector: div.has-error
test:
path: torrents
selector: a[href$="/logout"]
ratio:
path: torrents
selector: li:has(i.fa-sync-alt)
filters:
- name: regexp
args: "Ratio : (\\d+)"
search:
paths:
@@ -36,23 +45,24 @@
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
description: ""
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sorting: created_at
direction: desc
sort: "created_at"
direction: "desc"
qty: 100
rows:
selector: table > tbody > tr
fields:
category:
selector: a[href*="/category/"]
selector: a[href*="/categories/"]
attribute: href
filters:
- name: regexp
args: "/category/.*?\\.(\\d+)"
args: "/categories/.*?\\.(\\d+)"
title:
selector: a.view-torrent
download:
@@ -61,17 +71,28 @@
details:
selector: a.view-torrent
attribute: href
banner:
optional: true
selector: div.torrent-poster img
attribute: src
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
filters:
- name: regexp
args: ([\d\.]+)
imdb:
optional: true
selector: a[href*="www.imdb.com/title/tt"]
attribute: href
date:
selector: time
filters:
@@ -100,12 +121,17 @@
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" # Single Torrent Freeleech
"i[data-original-title=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store
"i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups
"i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
"i[data-original-title=\"Featured\"]": "0" # Featured Torrent
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
"*": "1"
# UNIT3D
# UNIT3D 1.9.2

View File

@@ -240,8 +240,8 @@
selector: td a.gen
attribute: href
filters:
- name: querystring
args: f
- name: regexp
args: "=(\\d+)\\."
size:
selector: td a.tr-dl
seeders:
@@ -258,74 +258,35 @@
grabs:
optional: true
selector: td[title^="Replies"]
# date for English
# date for English, Russian, Ukrainian
date:
selector: td[title="Added"] p:last-of-type
optional: true
filters:
- name: dateparse
args: "2-01-06"
# date for Russian
date:
selector: td[title="Добавлен"] p:last-of-type
optional: true
selector: td[title="Added"] p:last-of-type, td[title="Добавлен"] p:last-of-type, td[title="Додано"] p:last-of-type
filters:
# replace month abbreviations
- name: replace
args: ["Янв", "Jan"]
- name: replace
args: ["Фев", "Feb"]
- name: replace
args: ["Мар", "Mar"]
- name: replace
args: ["Апр", "Apr"]
- name: replace
args: ["Май", "May"]
- name: replace
args: ["Июн", "Jun"]
- name: replace
args: ["Июл", "Jul"]
- name: replace
args: ["Авг", "Aug"]
- name: replace
args: ["Сен", "Sep"]
- name: replace
args: ["Окт", "Oct"]
- name: replace
args: ["Ноя", "Nov"]
- name: replace
args: ["Дек", "Dec"]
- name: dateparse
args: "2-Jan-06"
# date for Ukrainian
date:
selector: td[title="Додано"] p:last-of-type
optional: true
filters:
- name: replace
args: ["Січ", "Jan"]
- name: replace
args: ["Лют", "Feb"]
- name: replace
args: ["Бер", "Mar"]
- name: replace
args: ["Кві", "Apr"]
- name: replace
args: ["Травень", "May"]
- name: replace
args: ["Чер", "Jun"]
- name: replace
args: ["Лип", "Jul"]
- name: replace
args: ["Сер", "Aug"]
- name: replace
args: ["Вер", "Sep"]
- name: replace
args: ["Жов", "Oct"]
- name: replace
args: ["Лис", "Nov"]
- name: replace
args: ["Грудень", "Dec"]
- name: re_replace
args: ["Янв|Січ", "Jan"]
- name: re_replace
args: ["Фев|Лют", "Feb"]
- name: re_replace
args: ["Мар|Бер", "Mar"]
- name: re_replace
args: ["Апр|Кві", "Apr"]
- name: re_replace
args: ["Май|Травень", "May"]
- name: re_replace
args: ["Июн|Чер", "Jun"]
- name: re_replace
args: ["Июл|Лип", "Jul"]
- name: re_replace
args: ["Авг|Сер", "Aug"]
- name: re_replace
args: ["Сен|Вер", "Sep"]
- name: re_replace
args: ["Окт|Жов", "Oct"]
- name: re_replace
args: ["Ноя|Лис", "Nov"]
- name: re_replace
args: ["Дек|Грудень", "Dec"]
- name: dateparse
args: "2-Jan-06"
downloadvolumefactor:

View File

@@ -67,7 +67,9 @@
filters:
# now we put the date at the right place according scene naming rules using .Result.site_date
- name: replace
args: ["FRENCH", "{{ .Result.site_date }} FRENCH"]
args: [" FRENCH", " {{ .Result.site_date }} FRENCH"]
- name: replace
args: ["MULTI", "{{ .Result.site_date }} MULTI"]
- name: replace
args: ["TRUEFRENCH", "{{ .Result.site_date }} TRUEFRENCH"]
- name: replace

View File

@@ -50,7 +50,9 @@
filters:
# now we put the date at the right place according scene naming rules using .Result.site_date
- name: replace
args: ["FRENCH", "{{ .Result.site_date }} FRENCH"]
args: [" FRENCH", " {{ .Result.site_date }} FRENCH"]
- name: replace
args: ["MULTI", "{{ .Result.site_date }} MULTI"]
- name: replace
args: ["TRUEFRENCH", "{{ .Result.site_date }} TRUEFRENCH"]
- name: replace

View File

@@ -0,0 +1,177 @@
---
site: crazyhd
name: CrazyHD
description: "CrazyHD is a BANGLADESHI Private Torrent Tracker for MOVIES / TV / GENERAL"
language: en-us
type: private
encoding: UTF-8
links:
- https://www.crazyhd.com/
caps:
categorymappings:
# Movies
- {id: 16, cat: Movies/BluRay, desc: "Movies English Bluray"}
- {id: 11, cat: Movies/DVD, desc: "Movies English DVD-RIP"}
- {id: 14, cat: Movies, desc: "Movies English CAM"}
- {id: 60, cat: Movies/WEBDL, desc: "Movies English HD/WEBRIP"}
- {id: 19, cat: Movies/DVD, desc: "Movies Hindi DVDRIP"}
- {id: 52, cat: Movies/BluRay, desc: "Movies Hindi Blu Ray"}
- {id: 18, cat: Movies/DVD, desc: "Movies Hindi PreDVD"}
- {id: 17, cat: Movies, desc: "Movies Hindi CAM"}
- {id: 42, cat: Movies, desc: "Movies Tamil"}
- {id: 65, cat: Movies/WEBDL, desc: "Movies Hindi Webrip/HDrip"}
- {id: 24, cat: Movies, desc: "Movies UNRATED"}
- {id: 53, cat: Movies/Foreign, desc: "Movies Other Foreign"}
- {id: 64, cat: Movies, desc: "Movies Animated"}
- {id: 45, cat: Movies, desc: "Movies Trailers"}
- {id: 93, cat: Movies, desc: "Movies Dual Movies"}
- {id: 59, cat: Movies, desc: "Movies Pack"}
- {id: 94, cat: Movies/UHD, desc: "Movies 4k"}
- {id: 62, cat: Movies/3D, desc: "Movies 3D"}
# TV
- {id: 34, cat: TV, desc: "TV English Series"}
- {id: 57, cat: TV, desc: "TV Bangla series"}
- {id: 58, cat: TV, desc: "TV Hindi series"}
- {id: 28, cat: TV/Sport, desc: "TV Sports"}
- {id: 29, cat: TV/Documentary, desc: "TV Documentary"}
# Games
- {id: 3, cat: PC/Games, desc: "Games PC"}
- {id: 75, cat: PC/Phone-Android, desc: "Games Android"}
- {id: 77, cat: PC/Phone-IOS, desc: "Games Ipad/Iphone"}
- {id: 79, cat: PC/Phone-Other, desc: "Games Other Platforms"}
- {id: 61, cat: PC/Games, desc: "Games trailer"}
- {id: 90, cat: Console/PS4, desc: "Games Ps4"}
- {id: 86, cat: Console/PS3, desc: "Games xbox / ps3"}
- {id: 92, cat: PC/Games, desc: "Games nrated"}
# Software
- {id: 7, cat: PC/0day, desc: "Software Windows"}
- {id: 20, cat: PC/Phone-Android, desc: "Software Android Apps"}
- {id: 83, cat: PC/Phone-IOS, desc: "Software Iphone Apps"}
- {id: 39, cat: PC, desc: "Software Tutorials"}
- {id: 63, cat: PC, desc: "Software Linux"}
- {id: 89, cat: PC/Mac, desc: "Software MAC OSX"}
#Bangla
- {id: 56, cat: Movies, desc: "Movies Bangla"}
- {id: 35, cat: Movies, desc: "Movies Bangla Natok"}
- {id: 47, cat: Movies, desc: "Movies Indian Bangla"}
- {id: 46, cat: Movies, desc: "Movies Eid Natok"}
- {id: 67, cat: Audio, desc: "Radio program"}
# Anime Anime
- {id: 36, cat: TV/Anime, desc: "Anime Cartoons"}
- {id: 40, cat: TV/Anime, desc: "Anime Subbed"}
- {id: 51, cat: TV/Anime, desc: "Anime Dubbed"}
- {id: 69, cat: TV/Anime, desc: "Anime Dual Audio"}
# Music
- {id: 25, cat: Audio/MP3, desc: "MP3 English"}
- {id: 26, cat: Audio/MP3, desc: "MP3 Bangla"}
- {id: 27, cat: Audio/MP3, desc: "MP3 Hindi"}
# Music Video
- {id: 48, cat: Audio/Video, desc: "MusicVideo English"}
- {id: 49, cat: Audio/Video, desc: "MusicVideo Bangla"}
- {id: 50, cat: Audio/Video, desc: "MusicVideo Hindi"}
# ETC
- {id: 6, cat: Books, desc: "Books"}
- {id: 4, cat: Other, desc: "Other"}
- {id: 44, cat: Other, desc: "Food & Recipes"}
- {id: 38, cat: Other, desc: "Pictures"}
- {id: 54, cat: Books/Magazines, desc: "Magazine"}
- {id: 88, cat: Books/Comics, desc: "Comics"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
login:
path: index.php?page=login
method: form
form: form[action^="index.php?page=login"]
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: tr td span[style="color:#FF0000;"]
test:
path: index.php
selector: a[href="logout.php"]
ratio:
path: index.php
selector: span:contains("Ratio ")
filters:
- name: replace
args: ["Ratio ", ""]
search:
paths:
- path: index.php
inputs:
page: searchpage
search: "{{ .Keywords }}"
category: "{{if .Categories}}{{range .Categories}}{{.}};{{end}}{{else}}0{{end}}"
# 0=filename 1=file&desc 2=descr 3=uploader
options: 0
# 0=all 1=active only 2=dead only
active: 0
order: "/"
by: 2
# 0=mixed 1=no free 2=50% 3=100% 4=50&100
gold: 0
rows:
selector: div.inf-table-row
fields:
title:
selector: div.list-name a.tlink
filters:
- name: replace
args: ["[100% FREE LEECH]", ""]
- name: replace
args: ["[50% FREE LEECH]", ""]
details:
selector: div.list-name a.tlink
attribute: href
category:
selector: div.torrent-cat small a
attribute: href
filters:
- name: querystring
args: category
banner:
selector: div.list-name a.tlink
optional: true
attribute: onmouseover
filters:
- name: regexp
args: "src=(.*?) width="
download:
selector: div.list-name a.tlink
attribute: tfid
filters:
- name: prepend
args: "download.php?id="
- name: append
args: "&f={{ .Result.title }}.torrent"
size:
selector: div.torrent-size
date:
selector: div.torrent-time
filters:
- name: dateparse
args: "02/01/2006"
seeders:
selector: div.torrent-seeder
leechers:
selector: div.torrent-peer
grabs:
selector: div.torrent-completed
downloadvolumefactor:
case:
img[src="gold/gold.gif"]: "0"
img[src="gold/silver.gif"]: "0.5"
"*": "1"
uploadvolumefactor:
text: "1"

View File

@@ -15,10 +15,11 @@
- {id: 3, cat: Audio, desc: "Music"}
- {id: 4, cat: TV/Anime, desc: "Anime"}
- {id: 5, cat: PC/0day, desc: "Apps"}
- {id: 6, cat: Books, desc: "Books"}
- {id: 6, cat: Books, desc: "eBooks"}
- {id: 7, cat: PC/Games, desc: "Games"}
- {id: 8, cat: TV/Sport, desc: "Sports"}
- {id: 9, cat: Other, desc: "Other"}
- {id: 9, cat: Other, desc: "Others"}
- {id: 10, cat: XXX, desc: "XXX"}
modes:
search: [q]
@@ -31,10 +32,19 @@
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: 1
error:
- selector: table.main:contains("Login Failed!")
- selector: div.has-error
test:
path: torrents
selector: a[href$="/logout"]
ratio:
path: torrents
selector: li:has(i.fa-sync-alt)
filters:
- name: regexp
args: "Ratio : (\\d+)"
search:
paths:
@@ -42,13 +52,14 @@
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
description: ""
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sorting: created_at
direction: desc
sort: "created_at"
direction: "desc"
qty: 100
rows:
selector: table > tbody > tr
@@ -67,17 +78,28 @@
details:
selector: a.view-torrent
attribute: href
banner:
optional: true
selector: div.torrent-poster img
attribute: src
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
filters:
- name: regexp
args: ([\d\.]+)
imdb:
optional: true
selector: a[href*="www.imdb.com/title/tt"]
attribute: href
date:
selector: time
filters:
@@ -106,12 +128,17 @@
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" # Single Torrent Freeleech
"i[data-original-title=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store
"i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups
"i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
"i[data-original-title=\"Featured\"]": "0" # Featured Torrent
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
"*": "1"
# UNIT3D
# UNIT3D 1.9.2

View File

@@ -0,0 +1,237 @@
---
site: focusx
name: FocusX
description: "FocusX is a RUSSIAN Public torrent site for MOVIES and TV"
language: re-RU
type: public
encoding: UTF-8
links:
- https://focu.sx/
caps:
categorymappings:
- {id: 111, cat: Movies, desc: "1922"}
- {id: 135, cat: Movies, desc: "Анон"}
- {id: 168, cat: Movies, desc: "Воспитательница"}
- {id: 10, cat: Movies, desc: "Мёд в голове"}
- {id: 16, cat: Movies, desc: "Малыш"}
- {id: 18, cat: Movies, desc: "Копенгаген"}
- {id: 19, cat: Movies, desc: "Заброшенный"}
- {id: 38, cat: Movies, desc: "Звёздные войны: Эпизод 7 Пробуждение силы"}
- {id: 42, cat: Movies, desc: "В лабиринте молчания"}
- {id: 44, cat: Movies, desc: "Женщина в золотом"}
- {id: 45, cat: Movies, desc: "Падение Лондона"}
- {id: 46, cat: Movies, desc: "Высотка"}
- {id: 49, cat: Movies, desc: "Капитан Америка: Гражданская война"}
- {id: 50, cat: Movies, desc: "Рыцарь кубков"}
- {id: 54, cat: Movies, desc: "Охотник: Война Зимы"}
- {id: 57, cat: Movies, desc: "Портниха"}
- {id: 60, cat: Movies, desc: "Бэтмен против Супермена: На заре справедливости"}
- {id: 61, cat: Movies, desc: "Комета"}
- {id: 64, cat: Movies, desc: "Зоотопия"}
- {id: 65, cat: Movies, desc: "В твоих глазах"}
- {id: 66, cat: Movies, desc: "Люди Икс: Апокалипсис"}
- {id: 67, cat: Movies, desc: "Потерянный Валентин"}
- {id: 70, cat: Movies, desc: "Припаркованные"}
- {id: 71, cat: Movies, desc: "Легенда о Тарзане"}
- {id: 72, cat: Movies, desc: "Пока я не исчезну"}
- {id: 73, cat: Movies, desc: "Механик: Воскрешение"}
- {id: 74, cat: Movies, desc: "Варкрафт"}
- {id: 76, cat: Movies, desc: "Гнилые кварталы"}
- {id: 80, cat: Movies, desc: "Приятные вибрации"}
- {id: 83, cat: Movies, desc: "Возмущение"}
- {id: 84, cat: Movies, desc: "Трейнспоттинг (На игле)"}
- {id: 85, cat: Movies, desc: "Тысячу раз 'спокойной ночи'"}
- {id: 90, cat: Movies, desc: "Дангал"}
- {id: 100, cat: TV, desc: "Смертельное оружие"}
- {id: 101, cat: TV, desc: "Гавайи 5-0"}
- {id: 102, cat: TV, desc: "Черный Список"}
- {id: 103, cat: TV, desc: "Нелюди"}
- {id: 106, cat: TV, desc: "Одаренные"}
- {id: 107, cat: TV, desc: "Теория большого взрыва"}
- {id: 108, cat: TV, desc: "Ходячие мертвецы"}
- {id: 109, cat: TV, desc: "Хроники Шаннары"}
- {id: 110, cat: TV, desc: "Порох"}
- {id: 112, cat: TV, desc: "Субура"}
- {id: 115, cat: TV, desc: "Безбожники"}
- {id: 116, cat: TV, desc: "Секретные Материалы"}
- {id: 118, cat: TV, desc: "Охотник за разумом"}
- {id: 119, cat: TV, desc: "Алиенист"}
- {id: 120, cat: TV, desc: "Ординатор"}
- {id: 121, cat: TV, desc: "Уэйко"}
- {id: 122, cat: TV, desc: "Американская история преступлений"}
- {id: 124, cat: TV, desc: "Бельвью"}
- {id: 126, cat: TV, desc: "Видоизменённый углерод"}
- {id: 128, cat: TV, desc: "Здесь и Сейчас"}
- {id: 129, cat: TV, desc: "Взлет"}
- {id: 130, cat: TV, desc: "Инстинкт"}
- {id: 131, cat: TV, desc: "Стартап"}
- {id: 133, cat: TV, desc: "Террор"}
- {id: 136, cat: TV, desc: "Мир Дикого Запада"}
- {id: 138, cat: TV, desc: "В пустыне смерти"}
- {id: 139, cat: TV, desc: "Дождь"}
- {id: 140, cat: TV, desc: "Страйк"}
- {id: 141, cat: TV, desc: "Безопасность"}
- {id: 143, cat: TV, desc: "Подлый пит"}
- {id: 144, cat: TV, desc: "Голиаф"}
- {id: 146, cat: TV, desc: "Весьма Английский Скандал"}
- {id: 147, cat: TV, desc: "Королева Сахара"}
- {id: 155, cat: TV, desc: "Наследники"}
- {id: 156, cat: TV, desc: "Джек Райан"}
- {id: 158, cat: TV, desc: "Леденящие кровь приключения Сабрины"}
- {id: 161, cat: TV, desc: "Частные сыщики"}
- {id: 162, cat: TV, desc: "Изнанка дела"}
- {id: 163, cat: TV, desc: "Наркос: Мексика"}
- {id: 164, cat: TV, desc: "Возвращение домой"}
- {id: 165, cat: TV, desc: "Метод Комински"}
- {id: 166, cat: TV, desc: "Элита"}
- {id: 167, cat: TV, desc: "Грязный Джон"}
- {id: 169, cat: TV, desc: "Романовы"}
- {id: 170, cat: TV, desc: "Страна приливов"}
- {id: 171, cat: TV, desc: "Тюрьма Оз"}
- {id: 172, cat: TV, desc: "Смертельный класс"}
- {id: 173, cat: TV, desc: "Парфюм"}
- {id: 174, cat: TV, desc: "Цветочный дом"}
- {id: 175, cat: TV, desc: "Каратель"}
- {id: 176, cat: TV, desc: "Матрёшка"}
- {id: 177, cat: TV, desc: "Берлинская резидентура"}
- {id: 178, cat: TV, desc: "Настоящий Детектив"}
- {id: 179, cat: TV, desc: "Половое Просвещение"}
- {id: 180, cat: TV, desc: "АКАДЕМИЯ АМБРЕЛЛА"}
- {id: 181, cat: TV, desc: "Сорвиголова"}
- {id: 182, cat: TV, desc: "Мистер Посредник"}
- {id: 9, cat: TV, desc: "Иерихон"}
- {id: 11, cat: TV, desc: "11-22-63"}
- {id: 12, cat: TV, desc: "Апокалипсис: Первая мировая война"}
- {id: 13, cat: TV, desc: "Смерть в раю"}
- {id: 14, cat: TV, desc: "Джереми Кларксон: Военные истории"}
- {id: 15, cat: TV, desc: "Чёрные паруса"}
- {id: 17, cat: TV, desc: "Карточный домик"}
- {id: 37, cat: TV, desc: "Джек Айриш"}
- {id: 39, cat: TV, desc: "Чужестранка"}
- {id: 40, cat: TV, desc: "Девушка по вызову"}
- {id: 41, cat: TV, desc: "Джереми Кларксон: Триллер"}
- {id: 43, cat: TV, desc: "Игра престолов"}
- {id: 47, cat: TV, desc: "Острые козырьки"}
- {id: 48, cat: TV, desc: "Странная парочка"}
- {id: 51, cat: TV, desc: "Проповедник"}
- {id: 52, cat: TV, desc: "Изгой"}
- {id: 53, cat: TV, desc: "Рэй Донован"}
- {id: 55, cat: TV, desc: "Оранжевый - хит сезона"}
- {id: 56, cat: TV, desc: "Бесстыдники"}
- {id: 58, cat: TV, desc: "Мистер Робот"}
- {id: 59, cat: TV, desc: "Валландер"}
- {id: 62, cat: TV, desc: "Штамм"}
- {id: 63, cat: TV, desc: "Куорри"}
- {id: 68, cat: TV, desc: "Бесстыжие"}
- {id: 69, cat: TV, desc: "Нарко"}
- {id: 75, cat: TV, desc: "Все схвачено"}
- {id: 77, cat: TV, desc: "Граница"}
- {id: 79, cat: TV, desc: "Бош"}
- {id: 81, cat: TV, desc: "Викинги"}
- {id: 82, cat: TV, desc: "Салем"}
- {id: 86, cat: TV, desc: "Кровавая Гонка"}
- {id: 87, cat: TV, desc: "Сеньор Авила"}
- {id: 88, cat: TV, desc: "Стрелок"}
- {id: 89, cat: TV, desc: "Миднайт Техас"}
- {id: 91, cat: TV, desc: "Утиные Истории"}
- {id: 96, cat: TV, desc: "Двойка"}
- {id: 97, cat: TV, desc: "Тик-герой"}
modes:
search: [q]
settings: []
search:
paths:
# https://focu.sx/tracker/search?freeleech=0&query=daredevil
- path: "{{if .Keywords}}tracker/search?freeleech=0&query={{.Keywords}}{{else}}tracker/{{end}}"
followredirect: true
rows:
selector: ol.torrentListItems li.torrentListItem
fields:
title:
selector: div.name div.titleText h3 a
details:
selector: div.name div.titleText h3 a
attribute: href
filters:
- name: prepend
args: "{{ .Config.sitelink }}"
category:
selector: div.torrentCategory a
attribute: href
filters:
- name: querystring
args: category_id
download:
selector: div.download a
attribute: href
filters:
- name: prepend
args: "{{ .Config.sitelink }}"
magnet:
selector: div.download a[href^="magnet:?"]
attribute: href
date:
selector: div.name div.titleText div.secondRow div span
attribute: title
# 7 мар 2019 в 21:06
filters:
- name: replace
args: [" в ", " "]
- name: replace
args: ["янв", "Jan"]
- name: replace
args: ["фев", "Feb"]
- name: replace
args: ["мар", "Mar"]
- name: replace
args: ["апр", "Apr"]
- name: replace
args: ["май", "May"]
- name: replace
args: ["июн", "Jun"]
- name: replace
args: ["июл", "Jul"]
- name: replace
args: ["авг", "Aug"]
- name: replace
args: ["сен", "Sep"]
- name: replace
args: ["окт", "Oct"]
- name: replace
args: ["ноя", "Nov"]
- name: replace
args: ["дек", "Dec"]
- name: dateparse
args: "2 Jan 2006 15:04"
size:
selector: div.size
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
- name: replace
args: ["ТБ", "TB"]
- name: replace
args: ["ГБ", "GB"]
- name: replace
args: ["МБ", "MB"]
- name: replace
args: ["КБ", "KB"]
grabs:
selector: div.snatched
seeders:
selector: div.seeders
leechers:
selector: div.leechers
downloadvolumefactor:
case:
"div.name div.titleText h3 span:contains(\"Золото\")": "0"
"*": "1"
uploadvolumefactor:
text: "1"

View File

@@ -63,7 +63,9 @@
filters:
# now we put the date at the right place according scene naming rules using .Result.site_date
- name: replace
args: ["FRENCH", "{{ .Result.site_date }} FRENCH"]
args: [" FRENCH", " {{ .Result.site_date }} FRENCH"]
- name: replace
args: ["MULTI", "{{ .Result.site_date }} MULTI"]
- name: replace
args: ["TRUEFRENCH", "{{ .Result.site_date }} TRUEFRENCH"]
- name: replace

View File

@@ -86,6 +86,10 @@
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
captcha:
type: image
selector: img[src^="access_code/"]
input: private_key
error:
- selector: tr td span[style="color:#FF0000;"]
test:

View File

@@ -12,55 +12,55 @@
categorymappings:
- {id: 17, cat: Movies/Other, desc: "VCD/SVCD - SVCD/VCD"}
- {id: 78, cat: Movies/Other, desc: "VCD/SVCD - Estrenos VCD/SVCD"}
- {id: 14, cat: Movies/SD, desc: "XVID - Series"}
- {id: 45, cat: Movies/SD, desc: "XVID - Animación"}
- {id: 46, cat: Movies/SD, desc: "XVID - Deportes"}
- {id: 47, cat: Movies/SD, desc: "XVID - Documentales"}
- {id: 14, cat: TV/SD, desc: "XVID - Series"}
- {id: 45, cat: TV/Anime, desc: "XVID - Animación"}
- {id: 46, cat: TV/Sport, desc: "XVID - Deportes"}
- {id: 47, cat: TV/Documentary, desc: "XVID - Documentales"}
- {id: 33, cat: Movies/SD, desc: "XVID - Estrenos"}
- {id: 48, cat: Movies/SD, desc: "XVID - Películas"}
- {id: 114, cat: Movies/SD, desc: "XVID - Estrenos BajaCalidad"}
- {id: 12, cat: Movies/SD, desc: "XVID - Adulto (+18)"}
- {id: 51, cat: Movies/SD, desc: "XVID - Música"}
- {id: 37, cat: Movies/DVD, desc: "DVD - Animación"}
- {id: 38, cat: Movies/DVD, desc: "DVD - Deportes"}
- {id: 39, cat: Movies/DVD, desc: "DVD - Documentales"}
- {id: 12, cat: XXX/XviD, desc: "XVID - Adulto (+18)"}
- {id: 51, cat: Audio/Video, desc: "XVID - Música"}
- {id: 37, cat: TV/Anime, desc: "DVD - Animación"}
- {id: 38, cat: TV/Sport, desc: "DVD - Deportes"}
- {id: 39, cat: TV/Documentary, desc: "DVD - Documentales"}
- {id: 40, cat: Movies/DVD, desc: "DVD - Películas"}
- {id: 41, cat: Movies/DVD, desc: "DVD - Series"}
- {id: 42, cat: Movies/DVD, desc: "DVD - Adulto (+18)"}
- {id: 43, cat: Movies/DVD, desc: "DVD - Música"}
- {id: 106, cat: Movies/HD, desc: "HDRip - Animación"}
- {id: 107, cat: Movies/HD, desc: "HDRip - Deportes"}
- {id: 108, cat: Movies/HD, desc: "HDRip - Documentales"}
- {id: 41, cat: TV/SD, desc: "DVD - Series"}
- {id: 42, cat: XXX/DVD, desc: "DVD - Adulto (+18)"}
- {id: 43, cat: Audio/Video, desc: "DVD - Música"}
- {id: 106, cat: TV/Anime, desc: "HDRip - Animación"}
- {id: 107, cat: TV/Sport, desc: "HDRip - Deportes"}
- {id: 108, cat: TV/Documentary, desc: "HDRip - Documentales"}
- {id: 109, cat: Movies/HD, desc: "HDRip - Películas"}
- {id: 110, cat: Movies/HD, desc: "HDRip - Series"}
- {id: 112, cat: Movies/HD, desc: "HDRip - Adulto (+18)"}
- {id: 111, cat: Movies/HD, desc: "HDRip - Música"}
- {id: 117, cat: Movies/3D, desc: "3D - Animación"}
- {id: 118, cat: Movies/3D, desc: "3D - Deportes"}
- {id: 119, cat: Movies/3D, desc: "3D - Documentales"}
- {id: 110, cat: TV/HD, desc: "HDRip - Series"}
- {id: 112, cat: XXX/x264, desc: "HDRip - Adulto (+18)"}
- {id: 111, cat: Audio/Video, desc: "HDRip - Música"}
- {id: 117, cat: TV/Anime, desc: "3D - Animación"}
- {id: 118, cat: TV/Sport, desc: "3D - Deportes"}
- {id: 119, cat: TV/Documentary, desc: "3D - Documentales"}
- {id: 120, cat: Movies/3D, desc: "3D - Películas"}
- {id: 121, cat: Movies/3D, desc: "3D - Adulto (+18)"}
- {id: 126, cat: Movies/HD, desc: "Micro HD - Animación"}
- {id: 127, cat: Movies/HD, desc: "Micro HD - Deportes"}
- {id: 128, cat: Movies/HD, desc: "Micro HD - Documentales"}
- {id: 121, cat: XXX, desc: "3D - Adulto (+18)"}
- {id: 126, cat: TV/Anime, desc: "Micro HD - Animación"}
- {id: 127, cat: TV/Sport, desc: "Micro HD - Deportes"}
- {id: 128, cat: TV/Documentary, desc: "Micro HD - Documentales"}
- {id: 57, cat: Movies/HD, desc: "Micro HD - Películas"}
- {id: 124, cat: Movies/HD, desc: "Micro HD - Series"}
- {id: 129, cat: Movies/HD, desc: "Micro HD - Adulto"}
- {id: 130, cat: Movies/HD, desc: "Micro HD - Música"}
- {id: 53, cat: Movies/HD, desc: "HD - Animación"}
- {id: 54, cat: Movies/HD, desc: "HD - Deportes"}
- {id: 55, cat: Movies/HD, desc: "HD - Documentales"}
- {id: 124, cat: TV/HD, desc: "Micro HD - Series"}
- {id: 129, cat: XXX/x264, desc: "Micro HD - Adulto"}
- {id: 130, cat: Audio/Video, desc: "Micro HD - Música"}
- {id: 53, cat: TV/Anime, desc: "HD - Animación"}
- {id: 54, cat: TV/Sport, desc: "HD - Deportes"}
- {id: 55, cat: TV/Documentary, desc: "HD - Documentales"}
- {id: 56, cat: Movies/HD, desc: "HD - BDrip/BDremux/FullBD"}
- {id: 58, cat: Movies/HD, desc: "HD - WEB-DL/Line Dubbed"}
- {id: 59, cat: Movies/HD, desc: "HD - Series"}
- {id: 63, cat: Movies/HD, desc: "HD - Adulto (+18)"}
- {id: 61, cat: Movies/HD, desc: "HD - Música"}
- {id: 136, cat: Movies/UHD, desc: "UHD - Animación"}
- {id: 137, cat: Movies/UHD, desc: "UHD - Deportes"}
- {id: 138, cat: Movies/UHD, desc: "UHD - Documentales"}
- {id: 59, cat: TV/HD, desc: "HD - Series"}
- {id: 63, cat: XXX/x264, desc: "HD - Adulto (+18)"}
- {id: 61, cat: Audio/Video, desc: "HD - Música"}
- {id: 136, cat: TV/Anime, desc: "UHD - Animación"}
- {id: 137, cat: TV/Sport, desc: "UHD - Deportes"}
- {id: 138, cat: TV/Documentary, desc: "UHD - Documentales"}
- {id: 139, cat: Movies/UHD, desc: "UHD - Películas"}
- {id: 140, cat: Movies/UHD, desc: "UHD - Series"}
- {id: 141, cat: Movies/UHD, desc: "UHD - Adulto (+18)"}
- {id: 140, cat: TV/UHD, desc: "UHD - Series"}
- {id: 141, cat: XXX/x264, desc: "UHD - Adulto (+18)"}
- {id: 69, cat: Audio/MP3, desc: "MP3"}
- {id: 70, cat: Audio/Lossless, desc: "FLAC"}
- {id: 71, cat: Audio/Other, desc: "Otros Formatos"}

View File

@@ -0,0 +1,129 @@
---
site: soundpark
name: SoundPark
description: "SoundPark Semi-Private RUSSIAN site dedicated to MUSIC."
language: ru-RU
type: semi-private
encoding: UTF-8
links:
- https://soundpark-club.com/
- https://soundpark-club.casa/
caps:
categories:
"Music": Audio
modes:
search: [q]
login:
path: login
method: form
form: form[action="/login"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
returnto: ""
error:
- selector: div.stdmsg_text
test:
path: /
selector: a[href="/logout"]
download:
selector: a[href^="/album/download-torrent/"]
search:
paths:
- path: "{{if .Keywords}}search{{else}}music{{end}}"
inputs:
q: "{{ .Keywords }}"
num: 50
rows:
# first selector is for the music page (recent uploads) and the second selector is for the search page
selector: div[itemscope] > table.browse_albums, div.div-rellist
fields:
title:
selector: tr:nth-child(1) td:nth-child(1) h2 a, div h3 a
details:
selector: tr:nth-child(1) td:nth-child(1) h2 a, div h3 a
attribute: href
category:
text: "Music"
banner:
selector: tr:nth-child(2) td:nth-child(1) a img, div i img
attribute: src
optional: true
download:
selector: tr:nth-child(1) td:nth-child(1) h2 a, div h3 a
attribute: href
# dates come in two flavours:
# Russian, Spanish and English supported
date:
# fix for spanish yesterday, the time is not present
text: now
date:
# Today at 22:28:10
# Yesterday at 10:18:40
# Вчера в 10:18:40
# Hoy a las 07:33:17
selector: tr:nth-child(1) > td:nth-child(2) > div.details > span:nth-child(1):contains(":"), div > span.edit:contains(":")
optional: true
filters:
- name: replace
args: [" at ", " "]
- name: re_replace
args: ["Ayer a las|Вчера в", "Yesterday"]
- name: re_replace
args: ["Hoy a las|Сегодня в", "Today"]
date:
# 3 april 2019
selector: tr:nth-child(1) > td:nth-child(2) > div.details > span:nth-child(1):not(:contains(":")), div > span.edit:not(:contains(":"))
optional: true
filters:
- name: re_replace
args: ["enero|января", "January"]
- name: re_replace
args: ["febrero|февраля", "February"]
- name: re_replace
args: ["marzo|марта ", "March"]
- name: re_replace
args: ["abril|апреля", "April"]
- name: re_replace
args: ["mayo|мая", "May"]
- name: re_replace
args: ["junio|июня", "June"]
- name: re_replace
args: ["julio|июля", "July"]
- name: re_replace
args: ["agosto|августа", "August"]
- name: re_replace
args: ["septiembre|сентября", "September"]
- name: re_replace
args: ["octubre|октября", "October"]
- name: re_replace
args: ["noviembre|ноября", "November"]
- name: re_replace
args: ["diciembre|декабря", "December"]
- name: dateparse
args: "2 January 2006"
size:
# search page does not have size.
text: "500 MB"
size:
# but today's page can, if the content fixed-length string contains a title that is not too long.
selector: tr:nth-child(2) td.descr meta
attribute: content
optional: true
filters:
- name: regexp
args: "Size: (.*?),"
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 1
uploadvolumefactor:
text: 1

View File

@@ -63,7 +63,9 @@
filters:
# now we put the date at the right place according scene naming rules using .Result.site_date
- name: replace
args: ["FRENCH", "{{ .Result.site_date }} FRENCH"]
args: [" FRENCH", " {{ .Result.site_date }} FRENCH"]
- name: replace
args: ["MULTI", "{{ .Result.site_date }} MULTI"]
- name: replace
args: ["TRUEFRENCH", "{{ .Result.site_date }} TRUEFRENCH"]
- name: replace

View File

@@ -7,11 +7,14 @@
encoding: UTF-8
followredirect: true
links:
- https://www2.torrent9.ch/
- https://www.torrent9.vc/
legacylinks:
- https://www.torrents9.pw/
- https://www.torrent9.ch/
- https://www1.torrent9.ch/
- https://www2.torrent9.ch/
- https://wwv.torrent9.vg/
- https://www.torrent9.lol/
caps:
categorymappings:
@@ -72,7 +75,9 @@
filters:
# now we put the date at the right place according scene naming rules using .Result.site_date
- name: replace
args: ["FRENCH", "{{ .Result.site_date }} FRENCH"]
args: [" FRENCH", " {{ .Result.site_date }} FRENCH"]
- name: replace
args: ["MULTI", "{{ .Result.site_date }} MULTI"]
- name: replace
args: ["TRUEFRENCH", "{{ .Result.site_date }} TRUEFRENCH"]
- name: replace

View File

@@ -61,7 +61,7 @@
- path: "?t={{if .Keywords}}{{.Keywords}}{{else}}test{{end}}&orderby=latest{{if .Config.filter-verified }}&safe=on{{else}}{{end}}"
followredirect: true
rows:
selector: "#similarfiles div:has(a[href^=\"/t3-\"])"
selector: "#similarfiles div:has(a[href^=\"/t0-\"])"
fields:
title:
selector: span > a

View File

@@ -12,23 +12,20 @@
categorymappings:
- {id: 1, cat: Movies, desc: "Film"}
- {id: 2, cat: TV, desc: "Série"}
- {id: 3, cat: TV/Anime, desc: "Film d'Animation"}
- {id: 5, cat: TV/Sport, desc: "Sport"}
- {id: 3, cat: TV/Anime, desc: "Animés"}
- {id: 5, cat: Audio, desc: "Audios"}
- {id: 6, cat: TV/Documentary, desc: "Documentaire"}
- {id: 7, cat: Audio, desc: "Musique"}
- {id: 8, cat: Audio/Other, desc: "Podcast Audio"}
- {id: 7, cat: Other, desc: "Formations"}
- {id: 13, cat: Books/Ebook, desc: "eBooks"}
- {id: 14, cat: TV, desc: "Spectacle"}
- {id: 14, cat: Console, desc: "Jeux"}
- {id: 15, cat: Audio/Video, desc: "Concert"}
- {id: 18, cat: TV/Anime, desc: "Manga"}
- {id: 19, cat: Books/Comics, desc: "Comics"}
- {id: 20, cat: Books/Comics, desc: "Bande dessinée"}
- {id: 22, cat: Console, desc: "Jeux"}
- {id: 25, cat: PC, desc: "Logiciels"}
- {id: 27, cat: TV, desc: "Spectacles"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
tv-search: [q, season, ep]
movie-search: [q]
login:
path: login
@@ -37,18 +34,14 @@
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: 1
selectorinputs:
_token:
selector: meta[name="csrf-token"]
attribute: content
error:
- selector: form[action$="/login"] span strong
test:
path: /
path: torrents
selector: a[href$="/logout"]
ratio:
path: /
path: torrents
selector: span:has(i.fa-sync-alt)
filters:
- name: regexp
@@ -59,14 +52,11 @@
- path: filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
search: "{{ .Keywords }}"
description: ""
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sorting: created_at
direction: desc
sort: "created_at"
direction: "desc"
qty: 100
rows:
selector: table > tbody > tr
@@ -85,21 +75,17 @@
details:
selector: a.view-torrent
attribute: href
imdb:
selector: a[href^="https://www.imdb.com/title/"]
attribute: href
optional: true
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
selector: td:nth-child(4)
grabs:
selector: td:nth-child(6)
selector: td:nth-child(5)
filters:
- name: regexp
args: ([\d\.]+)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
date:
selector: time
filters:
@@ -117,12 +103,13 @@
args: " ago"
downloadvolumefactor:
case:
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Freeleech\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Global freeleech\"]": "0" # Global Freeleech
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Global freeleech\"]": "2" # Global Freeleech
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"*": "1"
# UNIT3D
# UNIT3D 1.?

View File

@@ -103,5 +103,18 @@ namespace Jackett.Common.Utils
}
}
}
public bool IsNonWindowsDotNetCoreVariant(JackettVariant variant)
{
if (variant == JackettVariant.CoreMacOs || variant == JackettVariant.CoreLinuxAmdx64
|| variant == JackettVariant.CoreLinuxArm32 || variant == JackettVariant.CoreLinuxArm64)
{
return true;
}
else
{
return false;
}
}
}
}

View File

@@ -174,6 +174,34 @@ namespace Jackett.Updater
// On unix we kill the PIDs after the update so e.g. systemd can automatically restart the process
KillPids(pids);
}
Variants variants = new Variants();
if (variants.IsNonWindowsDotNetCoreVariant(variant))
{
// On Linux you can't modify an executable while it is executing
// https://github.com/Jackett/Jackett/issues/5022
// https://stackoverflow.com/questions/16764946/what-generates-the-text-file-busy-message-in-unix#comment32135232_16764967
// Delete the ./jackett executable
try
{
logger.Info("Attempting to remove the jackett executable from: " + options.Path);
string executable = options.Path.TrimEnd('/') + "/jackett";
if (File.Exists(executable))
{
File.Delete(executable);
logger.Info("Deleted " + executable);
}
else
{
logger.Info("jackett executable not found in: " + executable);
}
}
catch (Exception e)
{
logger.Error(e);
}
}
logger.Info("Finding files in: " + updateLocation);
var files = Directory.GetFiles(updateLocation, "*.*", SearchOption.AllDirectories);
foreach (var file in files)
@@ -402,8 +430,8 @@ namespace Jackett.Updater
private string GetJackettConsolePath(string directoryPath)
{
if (variant == Variants.JackettVariant.CoreMacOs || variant == Variants.JackettVariant.CoreLinuxAmdx64
|| variant == Variants.JackettVariant.CoreLinuxArm32 || variant == Variants.JackettVariant.CoreLinuxArm64)
Variants variants = new Variants();
if (variants.IsNonWindowsDotNetCoreVariant(variant))
{
return Path.Combine(directoryPath, "jackett");
}