--- 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: "{{ .Query.Artist }}" freesearch: "{{ if .Config.freeleech }}on{{ else }}{{ end }}" results-order1: "{{ .Config.sort }}.{{ .Config.type }}" results-page: 1 # can search by genre but need join support. &tagsearch=acid,+house for Acid and House 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 genre: 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.genre }} , 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) # auto adjusted by site account profile filters: - name: replace args: ["at", ""] - name: dateparse args: "d MMM yyyy HH:mm" downloadvolumefactor: case: "img[src$=\"freeleech.png\"]": 0 "*": 1 uploadvolumefactor: text: 1 minimumratio: text: 1.0 # engine n/a