diff --git a/README.md b/README.md index 1ff270f04..5ac1e8919 100644 --- a/README.md +++ b/README.md @@ -216,6 +216,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht * Sharewood * SkTorrent * SkTorrent-org + * themixingbowl (TMB) * Toloka.to * Torrent-Explosiv * Torrents-Local diff --git a/src/Jackett.Common/Definitions/themixingbowl.yml b/src/Jackett.Common/Definitions/themixingbowl.yml new file mode 100644 index 000000000..0c7844c8c --- /dev/null +++ b/src/Jackett.Common/Definitions/themixingbowl.yml @@ -0,0 +1,144 @@ +--- +id: themixingbowl +name: themixingbowl +description: "themixingbowl (TMB) is a Semi-Private Torrent Tracker for DJ Music mixes" +language: en-us +type: semi-private +encoding: UTF-8 +links: + - https://tmb.dj/ + - https://themixingbowl.org/ + +caps: + categorymappings: + - {id: 1, cat: Audio, desc: Music} + + modes: + search: [q] + music-search: [q, artist] + +settings: + - name: info_nojs + type: info + label: JavaScript + default: This indexer requires that the web site not use JS when searching.
Access your account Preferences on the web site and change the set JavaScript level: setting to No JavaScript. + - name: username + type: text + label: Username + - name: password + type: password + label: Password + - name: freeleech + type: checkbox + label: Search freeleech only + default: false + - name: sort + type: select + label: Sort requested from site + default: 11 + options: + 11: created + 8: seeders + 4: size + 3: title + - name: type + type: select + label: Order requested from site + default: d + options: + d: desc + a: asc + - name: info_tpp + type: info + label: Results Per Page + default: For best results, change the Torrents per page: setting to 50 on your account preferences. + +login: + path: login/ + method: post + inputs: + loginform: show + page_history: disable + page_js_enabled: false + redirect: "{{ .Config.sitelink }}" + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + keeploggedin: on + restricttoip: "" + ok: Login + error: + - selector: div:contains("do not match") + test: + path: / + selector: a[href="/logout/"] + +search: + paths: + # https://themixingbowl.org/torrent/advancedsearch/?search=tmb&go=Search&freesearch=on&results-order1=11.d&results-page=1 + - path: torrent/advancedsearch/ + inputs: + search: "{{ .Keywords }}" + go: Search + artistsearch: "{{ if .Query.Artist }}{{ .Query.Artist }}{{ else }}{{ end }}" + freesearch: "{{ if .Config.freeleech }}on{{ else }}{{ end }}" + results-order1: "{{ .Config.sort }}.{{ .Config.type }}" + results-page: 1 + tagsearch: "{{ range .Categories }}{{.}},{{end}}" + + rows: + selector: table.torrenttable > tbody > tr:has(a[href^="/torrent/download/"]) + + fields: + category: + text: 1 + title: + selector: td.name a + details: + selector: td:nth-child(16) a + attribute: href + filters: + - name: append + args: "/details/" + download: + selector: a[href^="/torrent/download/"] + attribute: href + size: + selector: td:nth-child(5) + artist: + selector: span.artist + optional: true + tag: + selector: span.tag + optional: true + codec: + selector: td:nth-child(6) + optional: true + bit: + selector: td:nth-child(7) + optional: true + description: + text: "Artist=[{{ .Result.artist }}] , Tags={{ .Result.tag }} , Codec=[{{ .Result.codec }}] , BitRate=[{{ .Result.bit }}]" + grabs: + selector: td:nth-child(8) + seeders: + selector: td:nth-child(9) + leechers: + selector: td:nth-child(10) + date: + selector: td:nth-child(12) + filters: + - name: replace + args: ["at", ""] + - name: append + args: " +00:00" # auto adjusted by site account profile + - name: dateparse + args: "2 Jan 2006 15:04 -07:00" + downloadvolumefactor: + case: + "img[src$=\"freeleech.png\"]": 0 + "*": 1 + uploadvolumefactor: + text: 1 + minimumratio: + text: 1.0 +# engine n/a