From 613a55431403b818c9cdb9a87a2184f32047130e Mon Sep 17 00:00:00 2001 From: Garfield69 Date: Tue, 19 Mar 2019 20:32:56 +1300 Subject: [PATCH] add xktorrent a French private site. resolves #4903 --- README.md | 1 + src/Jackett.Common/Definitions/xktorrent.yml | 128 +++++++++++++++++++ 2 files changed, 129 insertions(+) create mode 100644 src/Jackett.Common/Definitions/xktorrent.yml diff --git a/README.md b/README.md index 3ee89b881..253e631d8 100644 --- a/README.md +++ b/README.md @@ -361,6 +361,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/ * x-ite.me (XM) * xBytesV2 * XSpeeds (XS) + * XKTorrent * XWTorrents (XWT) * Xthor * ExoticaZ (YourExotic) diff --git a/src/Jackett.Common/Definitions/xktorrent.yml b/src/Jackett.Common/Definitions/xktorrent.yml new file mode 100644 index 000000000..f8169181a --- /dev/null +++ b/src/Jackett.Common/Definitions/xktorrent.yml @@ -0,0 +1,128 @@ +--- + site: xktorrent + name: XKTorrent + description: "XKTorrent is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL" + language: fr-fr + type: private + encoding: UTF-8 + links: + - https://xktorrent.com/ + + caps: + 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: 6, cat: TV/Documentary, desc: "Documentaire"} + - {id: 7, cat: Audio, desc: "Musique"} + - {id: 8, cat: Audio/Other, desc: "Podcast Audio"} + - {id: 13, cat: Books/Ebook, desc: "eBooks"} + - {id: 14, cat: TV, desc: "Spectacle"} + - {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"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid] + movie-search: [q, imdbid] + + login: + path: login + method: form + inputs: + 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: / + selector: a[href$="/logout"] + + ratio: + path: / + selector: span:has(i.fa-sync-alt) + filters: + - name: regexp + args: "Ratio : (\\d+)" + + search: + paths: + - path: filterTorrents + inputs: + $raw: "{{range .Categories}}categories[]={{.}}&{{end}}" + search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}" + uploader: "" + imdb: "{{ .Query.IMDBIDShort }}" + tvdb: "" + tmdb: "" + mal: "" + sorting: created_at + direction: desc + qty: 100 + rows: + selector: table > tbody > tr + fields: + category: + selector: a[href*="/categories/"] + attribute: href + filters: + - name: regexp + args: "/categories/.*?\\.(\\d+)" + title: + selector: a.view-torrent + download: + selector: a[href*="/download/"] + attribute: href + 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) + grabs: + selector: td:nth-child(6) + filters: + - name: regexp + args: ([\d\.]+) + date: + selector: time + filters: + - name: replace + args: ["il y a ", ""] + - name: replace + args: ["heure", "hour"] + - name: replace + args: ["jour", "day"] + - name: replace + args: ["semaine", "week"] + - name: replace + args: ["mois", "month"] + - name: append + args: " ago" + downloadvolumefactor: + case: + "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" # Single Torrent Double Upload + "i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload + "*": "1" +# UNIT3D