From 9395e8464bf4c8463cb09a9773619e35392d4124 Mon Sep 17 00:00:00 2001 From: Garfield69 Date: Fri, 17 Mar 2023 07:02:25 +1300 Subject: [PATCH] add Lightning-Tor a semi-private Dutch site. resolves #14160 --- README.md | 1 + .../Definitions/lightning-tor.yml | 174 ++++++++++++++++++ 2 files changed, 175 insertions(+) create mode 100644 src/Jackett.Common/Definitions/lightning-tor.yml diff --git a/README.md b/README.md index d548d3a53..3b346e2a5 100644 --- a/README.md +++ b/README.md @@ -192,6 +192,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht * HunTorrent * Kinorun * Kinozal + * Lightning-Tor * LostFilm.tv * Magnetico (Local DHT) [[site](https://github.com/boramalper/magnetico)] * Marine Tracker diff --git a/src/Jackett.Common/Definitions/lightning-tor.yml b/src/Jackett.Common/Definitions/lightning-tor.yml new file mode 100644 index 000000000..b025c6fc6 --- /dev/null +++ b/src/Jackett.Common/Definitions/lightning-tor.yml @@ -0,0 +1,174 @@ +--- +id: lightning-tor +name: Lightning-Tor +description: "Lightning-Tor is a DUTCH Semi-Private Torrent Tracker for MOVIES / TV / GENERAL" +language: nl-NL +type: semi-private +encoding: UTF-8 +links: + - https://lightning-tor.org/ + +caps: + categorymappings: + # the search pull down cats disagrees with the prior category count links, so merged the two lists, with count overriding pull + - {id: 2, cat: Movies/DVD, desc: "DVD Retail"} + - {id: 17, cat: Movies/Other, desc: "DVD Promo/R5"} + - {id: 3, cat: Audio/Video, desc: "DVD Muziek"} + - {id: 4, cat: Movies/SD, desc: " DVD Cam"} + - {id: 18, cat: Movies/Other, desc: "DVD Kinderen"} + - {id: 6, cat: TV, desc: "Tv Serie"} + - {id: 19, cat: XXX/DVD, desc: "DVD XXX"} + - {id: 20, cat: TV/Documentary, desc: "Docomentaire"} + - {id: 45, cat: Audio/Video, desc: "Cabaret Div."} + - {id: 9, cat: PC/Games, desc: "Spelletjes Pc"} + - {id: 10, cat: Console/NDS, desc: "Ps2/NDS"} + - {id: 11, cat: Console/XBox, desc: "XBoX"} + - {id: 22, cat: Console/Wii, desc: "Wii"} + - {id: 8, cat: Audio, desc: "Muziek Album"} + - {id: 23, cat: Audio/Other, desc: "Muziek Diversen"} + - {id: 1, cat: Other, desc: "Kinderen Diversen"} + - {id: 13, cat: Other, desc: "Afbeeldingen"} + - {id: 14, cat: PC/Mobile-Other, desc: "GSM/Navigatie"} + - {id: 7, cat: PC, desc: "Software PC"} + - {id: 12, cat: PC/0day, desc: "Microsoft"} + - {id: 21, cat: PC/Mobile-Other, desc: "Software PDA"} + - {id: 5, cat: Movies/SD, desc: "Xvid Film"} + - {id: 15, cat: XXX/SD, desc: "Xvid XXX"} + - {id: 24, cat: Other, desc: "Xvid Diversen"} + - {id: 16, cat: Other/Misc, desc: "Overigen"} + - {id: 50, cat: Books, desc: "E-books"} + - {id: 48, cat: Movies/HD, desc: "movies 264"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + music-search: [q] + book-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: thankyou + type: text + label: Thank You Comment + - name: info + type: info + label: Thank you comment + default: This site requires you to leave a Thank You comment before you can download. Enter your personalised comment above. + +login: + path: takelogin.php + method: post + inputs: + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + error: + - selector: table.main:contains("Aanmelden mislukt") + test: + path: index.php + selector: a[href="logout.php"] + +download: + before: + # https://lightning-tor.org/comment.php?action=add&tid=166386 + path: comment.php + method: post + inputs: + action: add + tid: "{{ .DownloadUri.Query.id }}" + text: "{{ .Config.thankyou }}" + selectors: + - selector: a[href^="download.php?id="] + attribute: href + +search: + paths: + - path: browse.php + inputs: + $raw: "{{ range .Categories }}c{{.}}=1&{{end}}" + search: "{{ .Keywords }}" + incldead: 1 + # does not support imdbid search and does not return imdb link in results + keywordsfilters: + - name: re_replace # S01E02 to 1 2 + args: ["(?i)\\bS0*(\\d{1,2})\\s*E0*(\\d{1,2})\\b", "$1 $2"] + - name: re_replace # S01 to 1 + args: ["(?i)\\bS0*(\\d{1,2})\\b", "$1"] + + rows: + selector: table.embedded[width="99%"][border="1"][cellspacing="0"][cellpadding="0"] + filters: + - name: andmatch + + fields: + category: + selector: a[href^="browse.php?cat="] + attribute: href + filters: + - name: querystring + args: cat + title: + selector: a[href^="details.php?id="] + filters: + - name: re_replace + args: ["(?i)(seizoen\\s*)(\\d{1,2})\\s*(tot|t\/m|&|\\+)\\s*(\\d{1,2})", "S$2-$4"] + - name: re_replace + args: ["(?i)(seizoen\\s*)(\\d{1,2})", "S$2"] + - name: re_replace + args: ["(?i)(afl.\\s*|aflevering\\s*|ep.\\s*)(\\d{1,2})\\s*(tot|t\/m|&|\\+)\\s*(\\d{1,2})", "E$2-$4"] + - name: re_replace + args: ["(?i)(afl.\\s*|aflevering\\s*|ep.\\s*)(\\d{1,2})", "E$2"] + - name: re_replace + args: ["(?i)compleet", "Complete"] + details: + # using the download link because the details link has an error + selector: a[href^="download.php?id="] + attribute: href + filters: + - name: replace + args: ["download", "details"] + download: + # need to say thanks first + text: "{{ .Result.details }}" + size: + selector: a[href^="details_bestanden.php?torrent_id="] + filters: + - name: regexp + args: "(.+?) in" + files: + selector: a[href^="details_bestanden.php?torrent_id="] + filters: + - name: regexp + args: "in (\\d+) bestan" + grabs: + selector: table table tr:nth-child(2) td:nth-child(1) + date: + selector: table tr:nth-child(3) td:nth-child(7) + filters: + - name: regexp + args: (\d+) + - name: append + args: " hours ago" + - name: timeago + seeders_optional: + optional: true + selector: table tr:nth-child(3) td:nth-child(5) font b + seeders: + text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}" + leechers_optional: + optional: true + selector: table tr:nth-child(3) td:nth-child(5) font b:nth-child(2) + leechers: + text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}" + downloadvolumefactor: + text: 0 + uploadvolumefactor: + text: 1 + minimumratio: + text: 1.0 +# engine n/a