diff --git a/README.md b/README.md index c4c9e7bdf..f411f8b81 100644 --- a/README.md +++ b/README.md @@ -514,6 +514,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht * TheEmpire (TE) * TheLeachZone (TLZ) * TheScenePlace (TSP) + * TheSpit * TJUPT * TLFBits [![(invite needed)][inviteneeded]](#) * ToTheGlory (TTG) diff --git a/src/Jackett.Common/Definitions/thespit.yml b/src/Jackett.Common/Definitions/thespit.yml new file mode 100644 index 000000000..b05499db0 --- /dev/null +++ b/src/Jackett.Common/Definitions/thespit.yml @@ -0,0 +1,159 @@ +--- +id: thespit +name: TheSpit +description: "TheSpit is a Private Torrent Tracker for SPORT" +language: en +type: private +encoding: UTF-8 +links: + - https://www.thespit.me/ + +caps: + categorymappings: + - {id: 16, cat: TV/Sport, desc: "American Football"} + - {id: 8, cat: TV/Sport, desc: "Basketball"} + - {id: 6, cat: TV/Sport, desc: "Combat"} + - {id: 23, cat: TV/Documentary, desc: "Documentary"} + - {id: 22, cat: Books, desc: "eBooks"} + - {id: 5, cat: TV/Sport, desc: "Football"} + - {id: 14, cat: TV/Sport, desc: "Golf"} + - {id: 19, cat: TV/Sport, desc: "Gymnastics"} + - {id: 18, cat: TV/Sport, desc: "Handball"} + - {id: 10, cat: TV/Sport, desc: "Hockey"} + - {id: 25, cat: TV/Sport, desc: "Mindsports"} + - {id: 13, cat: TV/Sport, desc: "Motorsports"} + - {id: 21, cat: Other, desc: "Other"} + - {id: 20, cat: TV/Sport, desc: "Rugby"} + - {id: 24, cat: TV/Sport, desc: "Scene"} + - {id: 15, cat: TV/Sport, desc: "Tennis"} + - {id: 17, cat: TV/Sport, desc: "Watersports"} + - {id: 12, cat: TV/Sport, desc: "Wintersports"} + + modes: + search: [q] + tv-search: [q] + movie-search: [q] + book-search: [q] + +settings: + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - 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: sort + type: select + label: Sort requested from site + default: time + options: + time: created + seeders: seeders + size: size + - name: type + type: select + label: Order requested from site + default: desc + options: + desc: desc + asc: asc + +login: + path: login + method: form + inputs: + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + cinfo: "2550|1350|24|-60" + iplocked: 0 + keeploggedin: 1 + error: + - selector: div.error + test: + path: / + selector: "#nav_userinfo" + +search: + paths: + # https://www.thespit.me/torrents.php?filter_cat[22]=1&filter_cat[24]=1&order_by=time&order_way=desc&filter_freeleech=1&searchtext=&action=advanced&title=&filelist=&taglist= + - path: torrents.php + inputs: + $raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}" + searchtext: "" + title: "{{ .Keywords }}" + order_by: "{{ .Config.sort }}" + order_way: "{{ .Config.type }}" + action: advanced + filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}" + filelist: "" + taglist: "" + + rows: + selector: table#torrent_table > tbody > tr[class^="torrent row"] + + fields: + category: + selector: a[href^="/torrents.php?filter_cat"] + attribute: href + filters: + - name: regexp + args: "\\[(\\d+)\\]" + title: + selector: a[href^="/torrents.php?id="] + details: + selector: a[href^="/torrents.php?id="] + attribute: href + download: + selector: a[href^="torrents.php?action=download&id="] + attribute: href + description: + optional: true + selector: div.tags + poster: + selector: td:nth-child(2) > script + filters: + - name: regexp + args: "src=\\\\\"(.*?)\\\\\"" + - name: re_replace + args: ["\\\\(.)", "$1"] + - name: replace + args: ["/static/common/noartwork/noimage.png", ""] + files: + selector: td:nth-child(3) + date: + selector: td:nth-child(5) > span + attribute: title + filters: + - name: append + args: " +00:00" # auto adjusted by site account profile + - name: dateparse + args: "Jan 02 2006, 15:04 -07:00" + size: + selector: td:nth-child(6) + grabs: + selector: td:nth-child(7) + seeders: + selector: td:nth-child(8) + leechers: + selector: td:nth-child(9) + downloadvolumefactor: + case: + span.icon[title*="Freeleech"]: 0 + "img[alt=\"Freeleech\"]": 0 + "*": 1 + uploadvolumefactor: + text: 1 + minimumratio: + text: 0.5 + minimumseedtime: + # 3 days (as seconds = 3 x 24 x 60 x 60) + text: 259200 +# Luminance