From 56065f75f28483112c5a525904cc04e8ef476af5 Mon Sep 17 00:00:00 2001
From: ilike2burnthing <59480337+ilike2burnthing@users.noreply.github.com>
Date: Sun, 22 Oct 2023 02:26:46 +0100
Subject: [PATCH] dreamingtree: add semi-private tracker. resolves #14789
(#14790)
---
README.md | 1 +
.../Definitions/dreamingtree.yml | 151 ++++++++++++++++++
2 files changed, 152 insertions(+)
create mode 100644 src/Jackett.Common/Definitions/dreamingtree.yml
diff --git a/README.md b/README.md
index cccfb0c73..0c7c35100 100644
--- a/README.md
+++ b/README.md
@@ -165,6 +165,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Deildu
* Demonoid
* Devil-Torrents
+ * DreamingTree
* DXP (Deaf Experts)
* Electro-Torrent
* EniaHD
diff --git a/src/Jackett.Common/Definitions/dreamingtree.yml b/src/Jackett.Common/Definitions/dreamingtree.yml
new file mode 100644
index 000000000..c3a684226
--- /dev/null
+++ b/src/Jackett.Common/Definitions/dreamingtree.yml
@@ -0,0 +1,151 @@
+---
+id: dreamingtree
+name: DreamingTree
+description: "DreamingTree is a Semi-Private Torrent Tracker for DAVE MATHEWS MUSIC / BOOTLEGS"
+language: en-US
+type: semi-private
+encoding: UTF-8
+links:
+ - https://dreamingtree.org/
+
+caps:
+ categorymappings:
+ - {id: 1, cat: Audio, desc: Music}
+
+ modes:
+ search: [q]
+ music-search: [q, year, genre]
+
+settings:
+ - 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: time
+ options:
+ time: created
+ seeders: seeders
+ size: size
+ - 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 Covers per page: setting to 100 on your account profile.
+
+login:
+ path: login.php
+ method: form
+ form: form[action="login.php"]
+ inputs:
+ username: "{{ .Config.username }}"
+ password: "{{ .Config.password }}"
+ keeplogged: 1
+ login: "Log in"
+ error:
+ - selector: span.warning
+ message:
+ selector: span[class="warning"]:not(:contains("JavaScript"))
+ test:
+ path: index.php
+ selector: a[href^="logout.php"]
+
+search:
+ paths:
+ - path: torrents.php
+ inputs:
+ $raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
+ searchstr: "{{ .Keywords }}"
+ # freetorrent: 0 normal, 1 freeleech, 2 neutral leech, 3 either
+ freetorrent: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
+ # we can only grab the first release if group_results=1
+ group_results: 0
+ action: advanced
+ year: "{{ .Query.Year }}"
+ taglist: "{{ .Query.Genre }}"
+ order_by: "{{ .Config.sort }}"
+ order_way: "{{ .Config.type }}"
+ searchsubmit: 1
+
+ rows:
+ selector: tr.torrent
+
+ fields:
+ category:
+ text: 1
+ title_artist:
+ selector: a[href^="artist.php?id="]
+ optional: true
+ filters:
+ - name: append
+ args: " - "
+ title_name:
+ selector: a[href^="torrents.php?id="]
+ year:
+ selector: div.group_info.clear
+ filters:
+ - name: regexp
+ args: "\\[(\\d{4})\\]"
+ title:
+ text: "{{ .Result.title_artist }}{{ .Result.title_name }} [{{ .Result.year }}]"
+ details:
+ selector: a[href^="torrents.php?id="]
+ attribute: href
+ poster:
+ selector: img
+ attribute: src
+ filters:
+ - name: replace
+ args: ["static/common/noartwork/music.png", ""]
+ genre:
+ selector: div.tags
+ description_info:
+ selector: div.torrent_info
+ description:
+ text: "{{ .Result.description_info }}{{ .Result.genre }}"
+ download:
+ selector: span > a[href^="torrents.php?action=download&id="]
+ attribute: href
+ date:
+ selector: span.time.tooltip
+ filters:
+ - name: timeago
+ size:
+ selector: td.number_column.nobr
+ files:
+ selector: td:nth-last-child(6)
+ seeders:
+ selector: td:nth-last-child(2)
+ leechers:
+ selector: td:nth-last-child(1)
+ grabs:
+ selector: td:nth-last-child(3)
+ downloadvolumefactor:
+ case:
+ div.torrent_info:contains("Freeleech"): 0
+ div.torrent_info:contains("Neutral Leech"): 0
+ "*": 1
+ uploadvolumefactor:
+ case:
+ div.torrent_info:contains("Neutral Leech"): 0
+ "*": 1
+ minimumratio:
+ text: 0.6
+ minimumseedtime:
+ # 3 days (as seconds = 3 x 24 x 60 x 60)
+ text: 259200
+# engine n/a