From c5088ca09d74cb6134db639e640b06cd0d0e8a5d Mon Sep 17 00:00:00 2001
From: ilike2burnthing <59480337+ilike2burnthing@users.noreply.github.com>
Date: Sun, 10 Dec 2023 06:32:15 +0000
Subject: [PATCH] enthralled: add 3X tracker. resolves #14897 (#14898)
---
README.md | 1 +
src/Jackett.Common/Definitions/enthralled.yml | 134 ++++++++++++++++++
2 files changed, 135 insertions(+)
create mode 100644 src/Jackett.Common/Definitions/enthralled.yml
diff --git a/README.md b/README.md
index 7691fbd59..51a83e546 100644
--- a/README.md
+++ b/README.md
@@ -330,6 +330,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Drugari
* Ebooks-Shares
* Empornium (EMP) [![(invite needed)][inviteneeded]](#)
+ * Enthralled
* eShareNet
* eStone (BigTorrent)
* Exitorrent.org [![(invite needed)][inviteneeded]](#)
diff --git a/src/Jackett.Common/Definitions/enthralled.yml b/src/Jackett.Common/Definitions/enthralled.yml
new file mode 100644
index 000000000..f952ae654
--- /dev/null
+++ b/src/Jackett.Common/Definitions/enthralled.yml
@@ -0,0 +1,134 @@
+---
+id: enthralled
+name: Enthralled
+description: "Enthralled is a Private Torrent Tracker for FETISH 3X"
+language: en-US
+type: private
+encoding: UTF-8
+links:
+ - https://www.enthralled.me/
+
+caps:
+ categorymappings:
+ - {id: 1, cat: XXX, desc: "FemDom"}
+ - {id: 2, cat: XXX, desc: "LezDom"}
+ - {id: 4, cat: XXX, desc: "POV"}
+ - {id: 5, cat: XXX, desc: "Scat"}
+ - {id: 3, cat: XXX, desc: "TransDom"}
+
+ modes:
+ 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: 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 Torrents per page: setting to 100 on your account profile.
+
+login:
+ path: login
+ method: form
+ inputs:
+ username: "{{ .Config.username }}"
+ password: "{{ .Config.password }}"
+ cinfo: "2550|1350|24|-60"
+ keeploggedin: 1
+ error:
+ - selector: div.error
+ test:
+ path: index.php
+ selector: "#nav_userinfo"
+
+search:
+ paths:
+ - path: torrents.php
+ inputs:
+ $raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
+ title: "{{ .Keywords }}"
+ order_by: "{{ .Config.sort }}"
+ order_way: "{{ .Config.type }}"
+ action: advanced
+ filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
+
+ rows:
+ selector: table#torrent_table > tbody > tr[class^="torrent row"]
+
+ fields:
+ category:
+ selector: a[href*="filter_cat"]
+ attribute: href
+ filters:
+ - name: regexp
+ args: "(\\d+)]=1"
+ 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
+ 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
+ # auto adjusted by site account profile
+ filters:
+ - name: dateparse
+ args: "MMM dd yyyy, HH:mm"
+ 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
+ description:
+ optional: true
+ selector: div.tags
+# Luminance