diff --git a/README.md b/README.md index 2bf943ee5..43ada70db 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/ ### Supported Private Trackers * 2 Fast 4 You * 3D Torrents + * 3evils * 420files * 720pier * Abnormal diff --git a/src/Jackett.Common/Definitions/3evils.yml b/src/Jackett.Common/Definitions/3evils.yml new file mode 100644 index 000000000..eff8404d9 --- /dev/null +++ b/src/Jackett.Common/Definitions/3evils.yml @@ -0,0 +1,114 @@ +--- + site: 3evils + name: 3evils + description: "3evils is a Private Torrent Tracker for MOVIES / TV / GENERAL" + language: en + type: private + encoding: UTF-8 + links: + - https://www.3evils.com/ + + caps: + categorymappings: + - {id: 2, cat: Console, desc: "Games"} + - {id: 3, cat: Movies, desc: "Movies"} + - {id: 4, cat: Audio, desc: "Music"} + - {id: 9, cat: TV/Anime, desc: " Anime"} + - {id: 17, cat: TV, desc: " TV"} + - {id: 18, cat: PC, desc: "Appz"} + + modes: + search: [q] + tv-search: [q, season, ep] + movie-search: [q] + + login: + path: login.php + method: form + form: form[action="takelogin.php"] + inputs: + username: "{{ .Config.username }}" + password: "{{ .Config.password }}" + returnto: "/browse.php" + error: + - selector: h2:contains("Login failed!") + message: + selector: table tr td.colhead2 + test: + path: / + selector: :has(a[href$="/logout.php?hash_please="]) + + search: + paths: + # ttps://www.3evils.com/browse.php?search=black+lightning+s02e11&searchin=title&incldead=1 + # https://www.3evils.com/browse.php?c3=1&c4=1&search=&searchin=title&incldead=0 + - path: browse.php + inputs: + $raw: "{{range .Categories}}c{{.}}=1&{{end}}" + search: "{{.Keywords}}" + incldead: 1 + rows: + selector: table.table-bordered tr:has(a[href^="browse.php?cat="]) + filters: + - name: andmatch + fields: + title: + selector: a[href^="details.php?id="] b + title: + # if this is available it is the full length title, as the one above can be abbreviated with ... + optional: true + selector: a[href^="details.php?id="][onmouseover] + attribute: onmouseover + filters: + - name: regexp + args: "Tip\\('(.*?)" + details: + selector: a[href^="details.php?id="] + attribute: href + category: + selector: a[href^="browse.php?cat="] + attribute: href + filters: + - name: querystring + args: cat + download: + selector: a[href^="details.php?id="] + attribute: href + filters: + - name: replace + args: ["details.php?id=", "download.php?torrent="] + size: + selector: td:nth-last-child(6) + files: + selector: td:nth-last-child(9) + grabs: + selector: td:nth-last-child(5) + filters: + - name: replace + args: ["Times", ""] + # 2 flavours of dates + date: + # Today
10:20 AM + # Yesterday
08:03 PM + optional: true + selector: td:nth-last-child(7):contains("day") + date: + # Feb 14 2019
10:20 AM + optional: true + selector: td:nth-last-child(7):not(:contains("day")) + filters: + - name: regex # drop break in between date and time + args: ["(.+?)<[^>]*>(.+?)","$1 $2"] + - name: dateparse + args: "Jan 2 2006 03:04 pm" + seeders: + selector: td:nth-last-child(4) + leechers: + selector: td:nth-last-child(3) + downloadvolumefactor: + case: + "b:contains(\"[FREE]\")": "0" + "*": "1" + uploadvolumefactor: + case: + "*": "1" \ No newline at end of file