From 0dc08129bff8f20f22eb0dc16953e705e40fc5e2 Mon Sep 17 00:00:00 2001 From: Garfield69 Date: Tue, 17 Oct 2023 23:34:08 +1300 Subject: [PATCH] restore crazyspirits. resolves #5479 --- README.md | 1 + .../Definitions/crazyspirits.yml | 292 ++++++++++++++++++ src/Jackett.Updater/Program.cs | 1 - 3 files changed, 293 insertions(+), 1 deletion(-) create mode 100644 src/Jackett.Common/Definitions/crazyspirits.yml diff --git a/README.md b/README.md index 309b8ba5e..730627f1d 100644 --- a/README.md +++ b/README.md @@ -312,6 +312,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht * Coastal-Crew * Concertos * CrazyHD + * CrazySpirits * CrnaBerza * Dajiao (打胶) [![(invite needed)][inviteneeded]](#) * DANISH BYTES diff --git a/src/Jackett.Common/Definitions/crazyspirits.yml b/src/Jackett.Common/Definitions/crazyspirits.yml new file mode 100644 index 000000000..bca7882cc --- /dev/null +++ b/src/Jackett.Common/Definitions/crazyspirits.yml @@ -0,0 +1,292 @@ +--- +id: crazyspirits +name: CrazySpirits +description: "Crazy Spirits is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL" +language: fr-FR +type: private +encoding: UTF-8 +links: + - https://www.crazyspirits.com/ + +caps: + categorymappings: + # Films + - {id: 49, cat: Movies/3D, desc: "Films 3D"} + - {id: 1, cat: XXX, desc: "Films 3X"} + - {id: 48, cat: XXX/x264, desc: "Films 3X HD1080p"} + - {id: 47, cat: XXX/x264, desc: "Films 3X HD720p"} + - {id: 140, cat: XXX, desc: "Films 3X Video"} + - {id: 50, cat: Movies/UHD, desc: "Films 4K"} + - {id: 51, cat: TV/UHD, desc: "Films 4K UHDTV"} + - {id: 57, cat: Movies/BluRay, desc: "Films BD-Rip"} + - {id: 56, cat: Movies/BluRay, desc: "Films Blu-Ray"} + - {id: 58, cat: Movies/BluRay, desc: "Films BR-Rip"} + - {id: 66, cat: Movies/SD, desc: "Films Cam-TS"} + - {id: 96, cat: TV/Documentary, desc: "Docus TV"} + - {id: 59, cat: Movies/DVD, desc: "Films DVDR"} + - {id: 60, cat: Movies/DVD, desc: "Films DVDRip"} + - {id: 98, cat: Movies/Other, desc: "Films Animé"} + - {id: 126, cat: TV/HD, desc: "Films HDTV"} + - {id: 124, cat: TV/Documentary, desc: "Formation Vidéo"} + - {id: 65, cat: Movies, desc: "Films FSCR"} + - {id: 53, cat: Movies/HD, desc: "Films HD1080p"} + - {id: 52, cat: Movies/HD, desc: "Films HD 720p"} + - {id: 137, cat: Movies/UHD, desc: "Films HDR 2160p"} + - {id: 61, cat: Movies/HD, desc: "Films HDRip"} + - {id: 63, cat: Movies/HD, desc: "Films MHD"} + - {id: 67, cat: Movies, desc: "Films Pack Films"} + - {id: 129, cat: Movies, desc: "Films QC~Film"} + - {id: 64, cat: Movies, desc: "Films R5"} + - {id: 99, cat: Movies, desc: "Films Remux"} + - {id: 69, cat: Movies, desc: "Films VO"} + - {id: 68, cat: Movies, desc: "Films Vost-FR"} + - {id: 122, cat: Movies/WEB-DL, desc: "Films Web-DL 1080P"} + - {id: 138, cat: Movies/WEB-DL, desc: "Films WEB-DL 2160p"} + - {id: 123, cat: Movies/WEB-DL, desc: "Films WEB-DL 720p"} + - {id: 139, cat: Movies/WEB-DL, desc: "Films WEB-RIP 2160p"} + - {id: 73, cat: Movies/WEB-DL, desc: "Films Webrip"} + - {id: 70, cat: Movies/WEB-DL, desc: "Films WebRip 1080p"} + - {id: 71, cat: Movies/WEB-DL, desc: "Films WebRip 720p"} + - {id: 72, cat: Movies/WEB-DL, desc: "Films WEBRip-DL"} + # Jeux + - {id: 114, cat: PC/Games, desc: "Jeux PC"} + - {id: 115, cat: Console/PS3, desc: "Jeux PS3"} + - {id: 116, cat: Console/PSP, desc: "Jeux PSP- PSX"} + - {id: 117, cat: Console, desc: "Jeux Roms"} + - {id: 118, cat: Console, desc: "Jeux Switch"} + - {id: 119, cat: Console/Wii, desc: "Jeux Wii"} + - {id: 120, cat: Console/WiiU, desc: "Jeux WiiU"} + - {id: 121, cat: Console/XBox, desc: "Jeux Xbox"} + # Livre + - {id: 100, cat: Audio/Audiobook, desc: "Livre Audio"} + - {id: 101, cat: Books/EBook, desc: "Livre Epub"} + - {id: 102, cat: Books, desc: "Livre Mangas"} + - {id: 135, cat: Books, desc: "Livre Québéçois"} + - {id: 103, cat: Books, desc: "Livres BD"} + - {id: 104, cat: Books/Comics, desc: "Livres Comics"} + - {id: 105, cat: Books/Mags, desc: "Livres Press"} + - {id: 106, cat: Books, desc: "Livres Romans"} + # Logiciel + - {id: 113, cat: PC/Mobile-iOS, desc: "Logiciel Apple"} + - {id: 111, cat: PC, desc: "Logiciel Linux"} + - {id: 112, cat: PC/Mobile-Other, desc: "Logiciel Smart Phone"} + - {id: 110, cat: PC/0day, desc: "Logiciel Windows"} + # Musiques + - {id: 108, cat: Audio/Lossless, desc: "Musiques FLAC"} + - {id: 107, cat: Audio/MP3, desc: "Musiques MP3"} + - {id: 141, cat: Audio, desc: "Musiques Pack Album"} + - {id: 125, cat: Audio/Video, desc: "Musiques Videos Pack"} + - {id: 132, cat: Audio, desc: "Musiques QC~Musique"} + - {id: 109, cat: Audio, desc: "Musiques WMA"} + # Séries + - {id: 130, cat: TV, desc: "Séries QC~Serie"} + - {id: 97, cat: TV/Anime, desc: "Séries Animée"} + - {id: 84, cat: TV/HD, desc: "Séries Épisodes HD"} + - {id: 85, cat: TV/SD, desc: "Séries Épisodes SD"} + - {id: 77, cat: TV/HD, desc: "Séries HDTV"} + - {id: 88, cat: TV, desc: "Séries Pack HD"} + - {id: 128, cat: TV, desc: "Séries Pack SD"} + # Spéctacle + - {id: 131, cat: TV/Other, desc: "Spectacle QC~Spectacle"} + - {id: 90, cat: TV/Other, desc: "Spectacle 1080p"} + - {id: 91, cat: TV/Other, desc: "Spectacle 720p"} + - {id: 142, cat: TV/Other, desc: "Spectacle QC"} + - {id: 136, cat: TV/Other, desc: "Spectacle SD"} + # Télévision + - {id: 133, cat: TV, desc: "TV QC~Tv"} + - {id: 94, cat: TV, desc: "TV Animation"} + - {id: 93, cat: TV/Documentary, desc: "TV Documentaires"} + - {id: 92, cat: TV/Other, desc: "TV Spectacles"} + - {id: 95, cat: TV/Sport, desc: "TV Sports"} + - {id: 74, cat: TV/HD, desc: "TV TVHD"} + - {id: 75, cat: TV, desc: "TV TVRip"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info + type: info + label: How to get the Cookie + default: "
  1. Login to this tracker with your browser
  2. Open the DevTools panel by pressing F12
  3. Select the Network tab
  4. Click on the Doc button (Chrome Browser) or HTML button (FireFox)
  5. Refresh the page by pressing F5
  6. Click on the first row entry
  7. Select the Headers tab on the Right panel
  8. Find 'cookie:' in the Request Headers section
  9. Select and Copy the whole cookie string (everything after 'cookie: ') and Paste here.
" + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: multilang + type: checkbox + label: Replace MULTi by another language in release name + default: false + - name: multilanguage + type: select + label: Replace MULTi by this language + default: FRENCH + options: + FRENCH: FRENCH + MULTi FRENCH: MULTi FRENCH + ENGLISH: ENGLISH + MULTi ENGLISH: MULTi ENGLISH + VOSTFR: VOSTFR + MULTi VOSTFR: MULTi VOSTFR + - name: vostfr + type: checkbox + label: Replace VOSTFR and SUBFRENCH with ENGLISH + default: false + - name: sort + type: select + label: Sort requested from site + default: id + options: + id: created + seeders: seeders + size: size + name: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + +login: + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: torrents-search.php + selector: a[href="account-logout.php"] + +download: + before: + path: thanks.php + inputs: + id: "{{ .DownloadUri.Query.id }}" + to: give + torrent: "{{ .DownloadUri.Query.id }}" + selectors: + - selector: "a[href^=\"/{{ .DownloadUri.Query.id }}/\"]" + attribute: href + +search: + paths: + # https://www.crazyspirits.com/torrents-search.php?search=&cat=0&incldead=1&freeleech=0&recommended=0&lang=0 + - path: torrents-search.php + inputs: +# using multi cat search causes http 500 internal server error +# $raw: "{{ range .Categories }}c{{.}}=1&{{end}}" + search: "{{ .Keywords }}" + cat: 0 + # 0 active, 1 incldead, 2 onlydead + incldead: 1 + # 0 all, 1 nofree, 2 onlyfree + freeleech: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 all, 1 not recommended, 2 only recommended + recommended: 0 + # 0 all, 1 french, 2 english, etc + lang: 0 + sort: "{{ .Config.sort }}" + order: "{{ .Config.type }}" + # imdb search not supported and imdb links not in results. + + rows: + selector: table.border_table > tbody > tr.t-row + + fields: + title_phase0: + # title can be abbreviated + selector: a[href^="torrents-details.php?id="] b + title_phase1: + # if available, the youtube link has a full title + selector: a[rel="prettyPhoto"] img + attribute: alt + optional: true + filters: + - name: replace + args: ["-NoTag", ""] + title_phase2: + text: "{{ if .Result.title_phase1 }}{{ .Result.title_phase1 }}{{ else }}{{ .Result.title_phase0 }}{{ end }}" + title_vostfr: + text: "{{ .Result.title_phase2 }}" + filters: + - name: re_replace + args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"] + title_phase3: + text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase2 }}{{ end }}" + title_multilang: + text: "{{ .Result.title_phase3 }}" + filters: + - name: re_replace + args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"] + title: + text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase3 }}{{ end }}" + category: + selector: a[href^="torrents.php?cat="] + attribute: href + filters: + - name: querystring + args: cat + details: + selector: a[href^="torrents-details.php?id="] + attribute: href + download: + selector: a[href^="torrents-details.php?id="] + attribute: href + poster: + selector: a[onmouseover][href^="torrents-details.php?id="] + attribute: onmouseover + filters: + - name: regexp + args: "src=(.*?)><" + grabs: + selector: a[onmouseover][href^="torrents-details.php?id="] + attribute: onmouseover + filters: + - name: regexp + args: "Completé : (\\d+)<" + seeders: + selector: a[onmouseover][href^="torrents-details.php?id="] + attribute: onmouseover + filters: + - name: regexp + args: "=greene>(\\d+)<" + leechers: + selector: a[onmouseover][href^="torrents-details.php?id="] + attribute: onmouseover + filters: + - name: regexp + args: "=red>(\\d+)<" + size: + selector: a[onmouseover][href^="torrents-details.php?id="] + attribute: onmouseover + filters: + - name: regexp + args: "Taille : (.*?)(.*?)