coastalcrew: new engine. resolves #10715

This commit is contained in:
Garfield69
2025-03-25 08:41:30 +13:00
parent 0e62a8f76e
commit 87f78ca2eb

View File

@@ -1,7 +1,7 @@
---
id: coastalcrew
name: Coastal-Crew
description: "Coastal-Crew is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
name: Coastal-Music-Crew
description: "Coastal-Music-Crew (C-M-C) is a GERMAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: de-DE
type: private
encoding: UTF-8
@@ -10,47 +10,70 @@ links:
caps:
categorymappings:
- {id: 30, cat: TV/Anime, desc: "Filme - Animie"}
- {id: 28, cat: Movies/BluRay, desc: "Filme - Bluray"}
- {id: 31, cat: Movies/Other, desc: "Filme - Bollywood"}
- {id: 77, cat: TV/Documentary, desc: "Filme - DokusHD"}
- {id: 32, cat: Movies/DVD, desc: "Filme - DVD"}
- {id: 33, cat: Movies/HD, desc: "Filme - HD"}
- {id: 34, cat: Movies, desc: "Filme - Klassiker"}
- {id: 35, cat: Movies, desc: "Filme - Pack"}
- {id: 36, cat: Movies/SD, desc: "Filme - SD"}
- {id: 37, cat: Movies/UHD, desc: "Filme - UHD"}
- {id: 38, cat: Movies/HD, desc: "Filme - x264"}
- {id: 39, cat: Audio, desc: "Musik - Alben"}
- {id: 72, cat: Audio, desc: "Musik - Charts"}
- {id: 40, cat: Audio, desc: "Musik - Diskografie"}
- {id: 75, cat: Audio/Lossless, desc: "Musik - Flac"}
- {id: 41, cat: Audio/Audiobook, desc: "Musik - Hoerbuch"}
- {id: 74, cat: Audio/Other, desc: "Musik - Kids"}
- {id: 42, cat: Audio, desc: "Musik - Mixe"}
- {id: 66, cat: Audio, desc: "Musik - Pack"}
- {id: 70, cat: Audio, desc: "Musik - Sampler Deu."}
- {id: 71, cat: Audio, desc: "Musik - Sampler Int."}
- {id: 76, cat: Audio/Other, desc: "Musik - Soundtrack"}
- {id: 44, cat: Audio/Video, desc: "Musik - Video"}
- {id: 45, cat: PC, desc: "Programme - Linux"}
- {id: 48, cat: PC/Mac, desc: "Programme - Mac"}
- {id: 49, cat: PC/0day, desc: "Programme - Windows"}
- {id: 65, cat: TV, desc: "Serien - Allgemein"}
- {id: 50, cat: TV/Documentary, desc: "Serien - Dokus"}
- {id: 51, cat: TV, desc: "Serien - Klassiker"}
- {id: 52, cat: TV, desc: "Serien - Pack"}
- {id: 53, cat: TV/Sport, desc: "Serien - Sport"}
- {id: 62, cat: Books/EBook, desc: "EBook"}
- {id: 63, cat: Movies, desc: "Fuer Unsere Kleinsten"}
- {id: 64, cat: PC/Mobile-Other, desc: "Handy-Stuff"}
- {id: 60, cat: Other, desc: "Sonstiges"}
- {id: 69, cat: Books/Mags, desc: "Zeitung"}
- {id: 54, cat: PC/Mobile-Other, desc: "Spiele - Handy"}
- {id: 55, cat: Console, desc: "Spiele - Konsolen"}
- {id: 57, cat: PC/Games, desc: "Spiele - Mac / Linux / PC"}
- {id: 58, cat: Console/Other, desc: "Spiele - Wimmel"}
- {id: 59, cat: XXX, desc: "XXX"}
- {id: 122, cat: Movies, desc: "Movie Klassiker"}
- {id: 124, cat: Movies, desc: "Movie Kids"}
- {id: 114, cat: Movies/DVD, desc: "Movie DVD-R"}
- {id: 28, cat: Movies/SD, desc: "Movie SD"}
- {id: 32, cat: Movies/HD, desc: "Movie HD"}
- {id: 26, cat: Movies/UHD, desc: "Movie 4K"}
- {id: 56, cat: TV/SD, desc: "Serien DVD-R"}
- {id: 57, cat: TV/HD, desc: "Serien HD"}
- {id: 59, cat: TV, desc: "Serien Pack"}
- {id: 60, cat: TV/SD, desc: "Serien SD"}
- {id: 123, cat: TV, desc: "Serien Klassiker"}
- {id: 126, cat: TV, desc: "Serien Kids"}
- {id: 92, cat: TV/Documentary, desc: "Doku Avi"}
- {id: 94, cat: TV/Documentary, desc: "Doku Audio"}
- {id: 13, cat: TV/Documentary, desc: "Doku DVD-R"}
- {id: 14, cat: TV/Documentary, desc: "Doku HD"}
- {id: 15, cat: TV/Documentary, desc: "Doku SD"}
- {id: 9, cat: PC, desc: "App Linux"}
- {id: 10, cat: PC/Mac, desc: "App Mac"}
- {id: 11, cat: PC/Mobile-Other, desc: "App Other"}
- {id: 12, cat: PC/0day, desc: "App Win"}
- {id: 16, cat: Console, desc: "Game Misc"}
- {id: 17, cat: PC/Games, desc: "Game PC"}
- {id: 18, cat: Console/PS3, desc: "Game PS2"}
- {id: 19, cat: Console/PS3, desc: "Game PS3"}
- {id: 20, cat: Console/PSP, desc: "Game PSP"}
- {id: 21, cat: Console/PS4, desc: "Game PSX"}
- {id: 22, cat: Console/Wii, desc: "Game Wii"}
- {id: 23, cat: Console/XBox, desc: "Game XBOX"}
- {id: 24, cat: Console/XBox 360, desc: "Game XBOX360"}
- {id: 125, cat: Audio, desc: "Music Kids"}
- {id: 54, cat: Audio, desc: "Music Single"}
- {id: 48, cat: Audio, desc: "Music Album"}
- {id: 49, cat: Audio, desc: "Music Charts"}
- {id: 52, cat: Audio, desc: "Music Pack"}
- {id: 53, cat: Audio, desc: "Music Sampler"}
- {id: 120, cat: Audio, desc: "Music Xmas"}
- {id: 121, cat: Audio/Lossless, desc: "Music Flac"}
- {id: 55, cat: Audio/Video, desc: "Music Video SD"}
- {id: 109, cat: Audio/Video, desc: "Music Video HD"}
- {id: 110, cat: Audio/Video, desc: "Music DVD-R"}
- {id: 61, cat: TV/Sport, desc: "Sport HD"}
- {id: 62, cat: TV/Sport, desc: "Sport SD"}
- {id: 116, cat: TV/Sport, desc: "Sport DVD-R"}
- {id: 117, cat: TV/Sport, desc: "Sport DVD-R"}
- {id: 64, cat: TV/Anime, desc: "Sonstiges Anime"}
- {id: 63, cat: Audio/Audiobook, desc: "Sonstiges A-Book"}
- {id: 96, cat: Books/EBook, desc: "Sonstiges E-Book"}
- {id: 69, cat: Other, desc: "Sonstiges Tutorial"}
- {id: 71, cat: Other/Misc, desc: "Sonstiges Other"}
- {id: 98, cat: Movies/HD, desc: "Internt'l Movie HD"}
- {id: 99, cat: TV/HD, desc: "Internt'l Serie HD"}
- {id: 102, cat: TV/SD, desc: "Internt'l Serie SD"}
- {id: 103, cat: Movies/SD, desc: "Internt'l Movie SD"}
- {id: 104, cat: Other, desc: "Internt'l Misc"}
- {id: 105, cat: TV/Documentary, desc: "Internt'l Doku"}
- {id: 106, cat: Books/EBook, desc: "Internt'l E-Book"}
- {id: 107, cat: Audio/Audiobook, desc: "Internt'l A-Book"}
- {id: 115, cat: Movies/DVD, desc: "Internt'l DVD-R"}
- {id: 73, cat: XXX/x264, desc: "XXX HD"}
- {id: 74, cat: XXX/Other, desc: "XXX Other"}
- {id: 75, cat: XXX/Pack, desc: "XXX Pack"}
- {id: 76, cat: XXX/SD, desc: "XXX SD"}
- {id: 113, cat: XXX/DVD, desc: "XXX DVD-R"}
modes:
search: [q]
@@ -66,14 +89,6 @@ settings:
- name: password
type: password
label: Password
- name: onlyupload
type: checkbox
label: Filter OnlyUpload only
default: false
- name: info_free
type: info
label: About Freeleech and OnlyUpload at Coastal Crew
default: "<ul><li>FreeLeech are torrents where neither the download or upload is counted. (On the Jackett dashboard search results these are tagged as NoUpload).</li><li>OnlyUpload are torrents where download is not counted but upload is. Good for building your Ratio up. (On the Jackett dashboard search results these are tagged as Freeleech).</li></ul>"
- name: sort
type: select
label: Sort requested from site
@@ -93,85 +108,100 @@ settings:
- name: info_tpp
type: info
label: Results Per Page
default: For best results, change the <b>Torrents pro Seite:</b> setting to <b>100</b> on your Control Panel. The default is <i>15</i>.
- name: info_activity
default: For best results, change the <b>Anzahl der Torrents beim Durchsuchen</b> <i>Torrents per page:</i> setting to <b>60</b> on your account profile. The default is <i>15</i>.
type: info
label: Account Inactivity
default: "If you do not log in, your account will be automatically deleted after 28 days."
login:
path: takelogin.php
method: post
path: login.php
method: form
form: form[action="/login.php"]
cookies: ["JAVA=OK"] # avoid jscheck redirect
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: .tablea:contains("Fehler")
- selector: div#login_error
test:
path: index.php
selector: a[href="logout.php"]
search:
# https://coastal-crew.bounceme.net/browse.php?showsearch=1&c62=1&c33=1&search=&incldead=1&orderby=added&sort=desc
path: browse.php
paths:
- path: selection.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
showsearch: 1
search: "{{ .Keywords }}"
# 0 active, 1 all, 2 dead
incldead: 1
# 0 name, 1 descr, 2 both (options 1 and 2 are disabled)
blah: 0
orderby: "{{ .Config.sort }}"
sort: "{{ .Config.type }}"
# site does not support imdbid search from the browse.php page or return imdb links in results
rows:
selector: "table.tableinborder[cellspacing=\"1\"][cellpadding=\"0\"]:not(:has(a[href=\"index.php\"])) > tbody > tr:has(a[href^=\"download.php\"]){{ if .Config.onlyupload }}:has(img[src=\"pic/oupic.gif\"]){{ else }}{{ end }}"
selector: div.selection_wrap
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
category_p1:
selector: div.kat_cat_pic_name
category_p2:
selector: div.kat_cat_pic_name_b
categorydesc:
text: "{{ .Result.category_p1 }} {{ .Result.category_p2 }}"
title:
selector: a[href^="details.php"]
selector: a.selection_a
filters:
- name: re_replace
args: ["^\\[[\\w ]*\\]\\s?", ""]
details:
selector: a[href^="details.php"]
selector: a.selection_a
attribute: href
download:
selector: a[href^="download.php"]
selector: a[href^="download_ssl.php?torrent="]
attribute: href
poster:
selector: img[id="img-1"]
selector: div[id^="details"] img
attribute: src
size:
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(1) b:nth-child(1)
files:
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(1) b:nth-child(2)
seeders:
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(2) b:nth-child(1)
leechers:
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(2) > b:nth-of-type(2)
selector: div.selection_unter_ad
grabs:
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(3) b:nth-child(1)
date:
selector: td.tablea table tbody tr:nth-child(2) td:nth-child(5)
selector: div.selection_unter_ae
date_day:
# Heute 13:30:04
# Gestern 09:10:10
selector: div.selection_unter_ab:not(:contains("."))
optional: true
filters:
- name: replace
args: ["Heute", "Today"]
- name: replace
args: ["Gestern", "Yesterday"]
- name: append
args: " +01:00" # CET
date_year:
# 30.02.2018 um 23:12:50
selector: div.selection_unter_ab:contains(".")
optional: true
filters:
- name: replace
args: ["\xA0", " "]
args: [" um", ""]
- name: append
args: " +01:00" # CET
- name: dateparse
args: "dd.MM.yyyy HH:mm:ss zzz"
date:
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
seeders:
selector: div.selection_unter_aa
leechers:
selector: div.selection_unter_aaa
downloadvolumefactor:
case:
img[src="pic/oupic.gif"]: 0 # only upload is counted
"*": 1
text: 1
uploadvolumefactor:
case:
img[src="pic/freeleech.gif"]: 0 # nothing is counted
"*": 1
minimumratio:
text: 0.7
# engine n/a
text: 1
# global MR is 1.0 but torrents must be seeded for 3 days regardless of ratio
# minimumratio:
# text: 1.0
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# 3xT