diff --git a/README.md b/README.md index 314ccb2ae..90252f240 100644 --- a/README.md +++ b/README.md @@ -391,6 +391,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht * LastFiles * LatinoP2P * Le Saloon + * LearnBits * LearnFlakes * LegacyHD (HD4Free) * LemonHD diff --git a/src/Jackett.Common/Definitions/learnbits.yml b/src/Jackett.Common/Definitions/learnbits.yml new file mode 100644 index 000000000..0d65313f2 --- /dev/null +++ b/src/Jackett.Common/Definitions/learnbits.yml @@ -0,0 +1,216 @@ +--- +id: learnbits +name: LearnBits +description: "LearnBits is a Private Torrent Tracker for E-LEARNING" +language: en-us +type: private +encoding: UTF-8 +links: + - http://www.learnbits.me/ + +caps: + categorymappings: + - {id: 7, cat: TV/Documentary, desc: "Documentary"} + - {id: 83, cat: TV/Documentary, desc: "Documentary - Architecture"} + - {id: 61, cat: TV/Documentary, desc: "Documentary - Biography"} + - {id: 76, cat: TV/Documentary, desc: "Documentary - Culture"} + - {id: 75, cat: TV/Documentary, desc: "Documentary - EarthScience"} + - {id: 67, cat: TV/Documentary, desc: "Documentary - History"} + - {id: 80, cat: TV/Documentary, desc: "Documentary - MilitaryWar"} + - {id: 81, cat: TV/Documentary, desc: "Documentary - Politics"} + - {id: 82, cat: TV/Documentary, desc: "Documentary - Technology"} + - {id: 77, cat: TV/Documentary, desc: "Documentary - Travel"} + - {id: 74, cat: TV/Documentary, desc: "Documentary - Wildlife"} + - {id: 79", cat: TV/Documentary, desc: "Documentary Channels"} + - {id: 65, cat: TV/Documentary, desc: "Documentary Channels - BBC"} + - {id: 69, cat: TV/Documentary, desc: "Documentary Channels - Discovery"} + - {id: 56, cat: TV/Documentary, desc: "Documentary Channels - HistoryChannel"} + - {id: 55, cat: TV/Documentary, desc: "Documentary Channels - NationalGeo"} + - {id: 73, cat: TV/Documentary, desc: "Documentary Channels - PBS"} + - {id: 78, cat: TV/Documentary, desc: "Documentary Series"} + - {id: 58, cat: TV/Documentary, desc: "Documentary Series - AnimalPlanet"} + - {id: 66, cat: TV/Documentary, desc: "Documentary Series - ExtremeWorld"} + - {id: 70, cat: TV/Documentary, desc: "Documentary Series - Frontline"} + - {id: 62, cat: TV/Documentary, desc: "Documentary Series - Horizon"} + - {id: 59, cat: TV/Documentary, desc: "Documentary Series - HowItIsMade"} + - {id: 10, cat: TV/Documentary, desc: "Documentary Series - MegaFactories"} + - {id: 57, cat: TV/Documentary, desc: "Documentary Series - ModernMarvels"} + - {id: 63, cat: TV/Documentary, desc: "Documentary Series - NaturalWorld"} + - {id: 71, cat: TV/Documentary, desc: "Documentary Series - NatureOfThings"} + - {id: 54, cat: TV/Documentary, desc: "Documentary Series - Nova"} + - {id: 72, cat: TV/Documentary, desc: "Documentary Series - PBSNature"} + - {id: 68, cat: TV/Documentary, desc: "Documentary Series - ThroughTheWormhole"} + - {id: 60, cat: Other, desc: "General-Education"} + - {id: 34, cat: Other, desc: "General-Education - 3D-4D"} + - {id: 49, cat: Books/EBook, desc: "General-Education - Biographies"} + - {id: 3, cat: Books/EBook, desc: "General-Education - Business"} + - {id: 6, cat: Other, desc: "General-Education - Digital-Art"} + - {id: 36, cat: Other, desc: "General-Education - Early-Learning"} + - {id: 42, cat: Other, desc: "General-Education - Electronics"} + - {id: 48, cat: Other, desc: "General-Education - Graphic-Arts"} + - {id: 25, cat: Books/EBook, desc: "General-Education - History"} + - {id: 16, cat: Other, desc: "General-Education - Languages"} + - {id: 4, cat: Other, desc: "General-Education - Legal"} + - {id: 20, cat: Other, desc: "General-Education - Math"} + - {id: 21, cat: Other, desc: "General-Education - Medical"} + - {id: 41, cat: Other, desc: "General-Education - Philosophy"} + - {id: 53, cat: Other, desc: "General-Education - Photography"} + - {id: 45, cat: Other, desc: "General-Education - Politics"} + - {id: 39, cat: Other, desc: "General-Education - Psychology"} + - {id: 50, cat: Other, desc: "General-Education - Science"} + - {id: 35, cat: Other, desc: "General-Education - Trade-Skills"} + - {id: 38, cat: Other, desc: "General-Education - Writing"} + - {id: 46, cat: Other, desc: "Computer Science"} + - {id: 5, cat: Other, desc: "General-Education - Database"} + - {id: 9, cat: Other, desc: "General-Education - Exam-Guides"} + - {id: 11, cat: Other, desc: "General-Education - Forensics"} + - {id: 14, cat: Other, desc: "General-Education - IT-Manager"} + - {id: 15, cat: Other, desc: "General-Education - IT-Security"} + - {id: 17, cat: Other, desc: "General-Education - Linux-Unix"} + - {id: 18, cat: Other, desc: "General-Education - Mac-Apple"} + - {id: 31, cat: Other, desc: "General-Education - Microsoft"} + - {id: 22, cat: Other, desc: "General-Education - Network"} + - {id: 26, cat: Other, desc: "General-Education - Programming"} + - {id: 27, cat: Other, desc: "General-Education - Server-Admin"} + - {id: 29, cat: Other, desc: "General-Education - VOIP"} + - {id: 30, cat: Other, desc: "General-Education - Web-Design"} + - {id: 64, cat: Other, desc: "Just-4-Fun"} + - {id: 51, cat: Other, desc: "Just-4-Fun - Culinary"} + - {id: 12, cat: Other, desc: "Just-4-Fun - Fitness"} + - {id: 13, cat: Other, desc: "Just-4-Fun - Hobbies"} + - {id: 47, cat: Other, desc: "Just-4-Fun - Horticulture"} + - {id: 33, cat: Other, desc: "Just-4-Fun - International"} + - {id: 19, cat: Books/Mags, desc: "Just-4-Fun - Magazines"} + - {id: 52, cat: Other, desc: "Just-4-Fun - Magic"} + - {id: 32, cat: Other/Misc, desc: "Just-4-Fun - Miscellaneous"} + - {id: 23, cat: Other, desc: "Just-4-Fun - Music-Dance"} + - {id: 24, cat: Other, desc: "Just-4-Fun - Personal Growth"} + - {id: 28, cat: Other, desc: "Just-4-Fun - Sports-Self-Defence"} + - {id: 37, cat: Other, desc: "Just-4-Fun - VIP"} + + modes: + search: [q] + tv-search: [q, season, ep] + book-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: sort + type: select + label: Sort requested from site + default: added + options: + added: created + seeders: seeders + size: size + 1: title + - name: type + type: select + label: Order requested from site + default: DESC + options: + DESC: desc + ASC: asc + +login: + path: login.php + method: form + form: form[action="takelogin.php"] + captcha: + type: image + selector: img#regimage + input: security_code + inputs: + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + error: + - selector: table:contains("An error has occured!") + test: + path: index.php + selector: a[href*="/logout.php?logouthash="] + +search: + paths: + - path: browse.php + method: post + keywordsfilters: + - name: re_replace + args: ["[^a-zA-Z0-9]+", "%"] + inputs: + do: search + keywords: "{{ .Keywords }}" + # t_name, t_description, t_both, t_uploader, t_genre + search_type: t_name + # does not support multi categories so defaulting to ALL + category: 0 + sortby: "{{ .Config.sort }}" + orderby: "{{ .Config.type }}" + + rows: + selector: div#showcontents > table > tbody > tr:has(a[href]) + + fields: + category: + selector: a[href*="/browse.php?browse_categories"] + attribute: href + filters: + - name: querystring + args: category + title: + selector: a[href*="/details.php?id="] > b + details: + selector: a[href*="/details.php?id="] + attribute: href + download: + selector: a[href*="/download.php?id="] + attribute: href + files: + selector: td:nth-child(4) + seeders: + selector: td:nth-child(6) + leechers: + selector: td:nth-child(7) + grabs: + selector: td:nth-child(8) > b + downloadvolumefactor: + case: + img[src$="/external.gif"]: 0 + img[src$="/freedownload.gif"]: 0 + img[src$="/silverdownload.gif"]: 0.5 + "*": 1 + uploadvolumefactor: + case: + img[src$="/x2.gif"]: 2 + "*": 1 + size: + selector: td:nth-child(8) + remove: b + filters: + - name: replace + args: [" x time(s)", ""] + date: + selector: td:nth-child(2):contains("day ") + optional: true + remove: a, b, img, span + filters: + - name: append + args: " +00:00" # auto adjusted by site account profile + - name: fuzzytime + date: + # 2021-07-16 09:30 PM + selector: td:nth-child(2):not(:contains("day ")) + optional: true + remove: a, b, img, span + filters: + - name: append + args: " +00:00" # auto adjusted by site account profile + - name: dateparse + args: "2006-01-02 03:04 PM -07:00" + minimumratio: + text: 1.0 +# TS Special Edition