From 99b77743a00924f7cecc55b96cc2054eef63f46b Mon Sep 17 00:00:00 2001 From: Garfield69 Date: Tue, 2 Sep 2025 17:58:29 +1200 Subject: [PATCH] Update luckpt.yml --- src/Jackett.Common/Definitions/luckpt.yml | 370 +++++++++++----------- 1 file changed, 185 insertions(+), 185 deletions(-) diff --git a/src/Jackett.Common/Definitions/luckpt.yml b/src/Jackett.Common/Definitions/luckpt.yml index fb76bde58..d94612427 100644 --- a/src/Jackett.Common/Definitions/luckpt.yml +++ b/src/Jackett.Common/Definitions/luckpt.yml @@ -1,185 +1,185 @@ ---- -id: luckpt -name: LuckPT -description: "LuckPT is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" -language: zh-CN -type: private -encoding: UTF-8 -links: - - https://pt.luckpt.de/ - -caps: - categorymappings: - - {id: 401, cat: Movies, desc: "电影 / Movies"} - - {id: 402, cat: TV, desc: "电视剧 / TV Series"} - - {id: 405, cat: TV/Anime, desc: "动漫 / Animations"} - - {id: 406, cat: Audio/Video, desc: "演唱会、MV / Music Videos"} - - {id: 408, cat: Audio, desc: "音乐 / Music"} - - {id: 409, cat: Other, desc: "其他 / Other"} - - {id: 410, cat: TV, desc: "综艺 / TV Shows"} - - {id: 411, cat: TV/Documentary, desc: "纪录片 / Documentary"} - - {id: 412, cat: TV/Sport, desc: "体育 / Sports"} - - {id: 413, cat: TV/Other, desc: "短剧 / Playlet"} - - modes: - search: [q] - tv-search: [q, season, ep, imdbid, doubanid] - movie-search: [q, imdbid, doubanid] - music-search: [q] - -settings: - - name: cookie - type: text - label: Cookie - - name: info_cookie - type: info_cookie - - name: freeleech - type: checkbox - label: Search freeleech only - default: false - - name: sort - type: select - label: Sort requested from site - default: 4 - options: - 4: created - 7: seeders - 5: size - 1: title - - name: type - type: select - label: Order requested from site - default: desc - options: - desc: desc - asc: asc - - name: info_tpp - type: info - label: Results Per Page - default: For best results, change the Torrents per page: setting to 100 on your account profile. - - name: info_activity - type: info - label: Account Inactivity - default: "Account retention rules:
  1. If there is no valid traffic within 100 days of registration (participation in the calculation of sharing rate), the account will be blocked
  2. After the level is reduced to \"Peasant\", if the sharing rate is not improved within 30 days, the account will be blocked
  3. Long-term non-login:
      - UnParked account: 150 consecutive days of non-login → banned
      - Parked account: 400 consecutive days of non-login → banned
      - Veteran Master and above levels are not subject to long-term non-login ban restrictions
" - -login: - # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php - method: cookie - inputs: - cookie: "{{ .Config.cookie }}" - test: - path: index.php - selector: a[href="logout.php"] - -search: - paths: - - path: torrents.php - inputs: - $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" - search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" - # 0 incldead, 1 active, 2 dead - incldead: 0 - # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% - spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" - # 0 title, 1 descr, 3 uploader, 4 imdburl - search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" - # 0 AND, 2 exact - search_mode: 0 - sort: "{{ .Config.sort }}" - type: "{{ .Config.type }}" - notnewword: 1 - - rows: - selector: table.torrents > tbody > tr:has(a[href^="download.php?id="]) - - fields: - category: - selector: a[href^="?cat="] - attribute: href - filters: - - name: querystring - args: cat - title_default: - selector: a[href^="details.php?id="] - title: - selector: a[title][href^="details.php?id="] - attribute: title - optional: true - default: "{{ .Result.title_default }}" - details: - selector: a[href^="details.php?id="] - attribute: href - download: - selector: a[href^="download.php?id="] - attribute: href - poster: - selector: img[data-src] - attribute: data-src - imdbid: - # site currently only has a badge and rating, the id is not present. just in case a future update. - selector: a[href*="imdb.com/title/tt"] - attribute: href - doubanid: - # site currently only has a badge and rating, the id is not present. just in case a future update. - selector: a[href*="movie.douban.com/subject/"] - attribute: href - date_elapsed: - # time type: time elapsed (default) - selector: td.rowfollow:nth-child(4) > span[title] - attribute: title - optional: true - filters: - - name: append - args: " +08:00" # CST - - name: dateparse - args: "yyyy-MM-dd HH:mm:ss zzz" - date_added: - # time added - selector: td.rowfollow:nth-child(4):not(:has(span)) - optional: true - filters: - - name: append - args: " +08:00" # CST - - name: dateparse - args: "yyyy-MM-ddHH:mm:ss zzz" - date: - text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" - size: - selector: td.rowfollow:nth-child(5) - optional: true - default: 512MB - seeders: - selector: td.rowfollow:nth-child(6) - optional: true - default: 0 - leechers: - selector: td.rowfollow:nth-child(7) - optional: true - default: 0 - grabs: - selector: td.rowfollow:nth-child(8) - optional: true - default: 0 - downloadvolumefactor: - case: - img.pro_free: 0 - img.pro_free2up: 0 - img.pro_50pctdown: 0.5 - img.pro_50pctdown2up: 0.5 - img.pro_30pctdown: 0.3 - "*": 1 - uploadvolumefactor: - case: - img.pro_50pctdown2up: 2 - img.pro_free2up: 2 - img.pro_2up: 2 - "*": 1 - minimumratio: - text: 2.0 - minimumseedtime: - # 1 day (as seconds = 24 x 60 x 60) - text: 86400 - description: - selector: td.rowfollow:nth-child(2) - remove: a, b, font, img, span -# NexusPHP v1.9.6 2025-06-25 +--- +id: luckpt +name: LuckPT +description: "LuckPT is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL" +language: zh-CN +type: private +encoding: UTF-8 +links: + - https://pt.luckpt.de/ + +caps: + categorymappings: + - {id: 401, cat: Movies, desc: "电影 / Movies"} + - {id: 402, cat: TV, desc: "电视剧 / TV Series"} + - {id: 405, cat: TV/Anime, desc: "动漫 / Animations"} + - {id: 406, cat: Audio/Video, desc: "演唱会、MV / Music Videos"} + - {id: 408, cat: Audio, desc: "音乐 / Music"} + - {id: 409, cat: Other, desc: "其他 / Other"} + - {id: 410, cat: TV, desc: "综艺 / TV Shows"} + - {id: 411, cat: TV/Documentary, desc: "纪录片 / Documentary"} + - {id: 412, cat: TV/Sport, desc: "体育 / Sports"} + - {id: 413, cat: TV/Other, desc: "短剧 / Playlet"} + + modes: + search: [q] + tv-search: [q, season, ep, imdbid, doubanid] + movie-search: [q, imdbid, doubanid] + music-search: [q] + +settings: + - name: cookie + type: text + label: Cookie + - name: info_cookie + type: info_cookie + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 4 + options: + 4: created + 7: seeders + 5: size + 1: title + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 100 on your account profile. + - name: info_activity + type: info + label: Account Inactivity + default: "Account retention rules:
  1. If there is no valid traffic within 100 days of registration (participation in the calculation of sharing rate), the account will be blocked
  2. After the level is reduced to \"Peasant\", if the sharing rate is not improved within 30 days, the account will be blocked
  3. Long-term non-login:
      - UnParked account: 150 consecutive days of non-login → banned
      - Parked account: 400 consecutive days of non-login → banned
      - Veteran Master and above levels are not subject to long-term non-login ban restrictions
" + +login: + # using cookie method because site does a JS call to API/Challenge via JQuery to load response parm required for takelogin.php + method: cookie + inputs: + cookie: "{{ .Config.cookie }}" + test: + path: index.php + selector: a[href="logout.php"] + +search: + paths: + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}cat{{.}}=1&{{end}}" + search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}" + # 0 incldead, 1 active, 2 dead + incldead: 0 + # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% + spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" + # 0 title, 1 descr, 3 uploader, 4 imdburl + search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}" + # 0 AND, 2 exact + search_mode: 0 + sort: "{{ .Config.sort }}" + type: "{{ .Config.type }}" + notnewword: 1 + + rows: + selector: table.torrents > tbody > tr:has(a[href^="download.php?id="]) + + fields: + category: + selector: a[href^="?cat="] + attribute: href + filters: + - name: querystring + args: cat + title_default: + selector: a[href^="details.php?id="] + title: + selector: a[title][href^="details.php?id="] + attribute: title + optional: true + default: "{{ .Result.title_default }}" + details: + selector: a[href^="details.php?id="] + attribute: href + download: + selector: a[href^="download.php?id="] + attribute: href + poster: + selector: img[data-src] + attribute: data-src + imdbid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="imdb.com/title/tt"] + attribute: href + doubanid: + # site currently only has a badge and rating, the id is not present. just in case a future update. + selector: a[href*="movie.douban.com/subject/"] + attribute: href + date_elapsed: + # time type: time elapsed (default) + selector: td.rowfollow:nth-child(4) > span[title] + attribute: title + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-dd HH:mm:ss zzz" + date_added: + # time added + selector: td.rowfollow:nth-child(4):not(:has(span)) + optional: true + filters: + - name: append + args: " +08:00" # CST + - name: dateparse + args: "yyyy-MM-ddHH:mm:ss zzz" + date: + text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" + size: + selector: td.rowfollow:nth-child(5) + optional: true + default: 512MB + seeders: + selector: td.rowfollow:nth-child(6) + optional: true + default: 0 + leechers: + selector: td.rowfollow:nth-child(7) + optional: true + default: 0 + grabs: + selector: td.rowfollow:nth-child(8) + optional: true + default: 0 + downloadvolumefactor: + case: + img.pro_free: 0 + img.pro_free2up: 0 + img.pro_50pctdown: 0.5 + img.pro_50pctdown2up: 0.5 + img.pro_30pctdown: 0.3 + "*": 1 + uploadvolumefactor: + case: + img.pro_50pctdown2up: 2 + img.pro_free2up: 2 + img.pro_2up: 2 + "*": 1 + minimumratio: + text: 2.0 + minimumseedtime: + # 1 day (as seconds = 24 x 60 x 60) + text: 86400 + description: + selector: td.rowfollow:nth-child(2) + remove: a, b, font, img, span +# NexusPHP v1.9.6 2025-06-25