diff --git a/definitions/v10/kufirc2fa.yml b/definitions/v10/kufirc2fa.yml
new file mode 100644
index 000000000..0879027e9
--- /dev/null
+++ b/definitions/v10/kufirc2fa.yml
@@ -0,0 +1,191 @@
+---
+id: kufirc2fa
+name: Kufirc2FA
+description: "Kufirc is a HUNGARIAN Private tracker for 3X. This indexer uses cookie login for 2FA."
+language: hu-HU
+type: private
+encoding: UTF-8
+links:
+ - https://kufirc.com/
+
+caps:
+ categorymappings:
+ - {id: 30, cat: XXX, desc: "Amateur"}
+ - {id: 29, cat: XXX, desc: "Anal"}
+ - {id: 5, cat: XXX, desc: "Animal"}
+ - {id: 27, cat: XXX, desc: "Asian"}
+ - {id: 26, cat: XXX, desc: "BBW"}
+ - {id: 44, cat: XXX, desc: "BDSM"}
+ - {id: 25, cat: XXX, desc: "Big Ass"}
+ - {id: 24, cat: XXX, desc: "Big Tits"}
+ - {id: 34, cat: XXX, desc: "Black"}
+ - {id: 35, cat: XXX, desc: "Busty"}
+ - {id: 23, cat: XXX, desc: "Classic"}
+ - {id: 33, cat: XXX, desc: "Creampie"}
+ - {id: 22, cat: XXX, desc: "Cumshot"}
+ - {id: 36, cat: XXX, desc: "Feature"}
+ - {id: 21, cat: XXX, desc: "Fetish"}
+ - {id: 31, cat: XXX, desc: "Film/Cam/Hun"}
+ - {id: 46, cat: XXX/XviD, desc: "Film/Xvid/hun"}
+ - {id: 37, cat: XXX, desc: "Foreign"}
+ - {id: 19, cat: XXX, desc: "Gay / Bi"}
+ - {id: 18, cat: XXX, desc: "Hardcore"}
+ - {id: 32, cat: XXX, desc: "HD porn"}
+ - {id: 28, cat: XXX, desc: "Hentai / 3D"}
+ - {id: 17, cat: XXX, desc: "Homemade"}
+ - {id: 38, cat: XXX, desc: "Interracial"}
+ - {id: 11, cat: XXX, desc: "Kép"}
+ - {id: 48, cat: XXX, desc: "Latina"}
+ - {id: 16, cat: XXX, desc: "Lesbian"}
+ - {id: 56, cat: Books/Mags, desc: "Magazines"}
+ - {id: 6, cat: XXX, desc: "Magyar"}
+ - {id: 15, cat: XXX, desc: "Masturbation"}
+ - {id: 14, cat: XXX, desc: "Mature"}
+ - {id: 13, cat: XXX/Pack, desc: "Megapack"}
+ - {id: 55, cat: XXX, desc: "Milf"}
+ - {id: 49, cat: XXX, desc: "Natural Tits"}
+ - {id: 39, cat: XXX, desc: "Old + Young"}
+ - {id: 12, cat: XXX, desc: "Oral"}
+ - {id: 20, cat: XXX, desc: "Orgia / Gang Bang"}
+ - {id: 42, cat: XXX/Other, desc: "Other"}
+ - {id: 50, cat: XXX, desc: "Parody"}
+ - {id: 41, cat: XXX, desc: "Paysite"}
+ - {id: 40, cat: XXX, desc: "Piss"}
+ - {id: 43, cat: XXX, desc: "Porn Music Videos"}
+ - {id: 54, cat: XXX, desc: "Pov"}
+ - {id: 45, cat: XXX, desc: "Pregnant / Preggo"}
+ - {id: 57, cat: XXX, desc: "Scat/Puke"}
+ - {id: 10, cat: XXX, desc: "Shemale / TS"}
+ - {id: 51, cat: XXX, desc: "Siterip"}
+ - {id: 52, cat: XXX, desc: "Softcore"}
+ - {id: 53, cat: XXX, desc: "Squirt"}
+ - {id: 9, cat: XXX, desc: "Straight"}
+ - {id: 8, cat: XXX, desc: "Tini"}
+ - {id: 47, cat: XXX, desc: "VR"}
+ - {id: 7, cat: PC/Games, desc: "XXX játék / program"}
+
+ modes:
+ search: [q]
+ book-search: [q]
+
+settings:
+ - name: cookie
+ type: text
+ label: Cookie
+ - name: info_cookie
+ type: info_cookie
+ - name: freeleech
+ type: checkbox
+ label: Search freeleech only
+ default: false
+ - name: info_tpp
+ type: info
+ label: Results Per Page
+ default: For best results, change the Torrentek oldalanként: setting to 100 on your account profile.
+ - 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
+
+login:
+ # using cookie method because login page can present second page for 2FA when enabled
+ method: cookie
+ inputs:
+ cookie: "{{ .Config.cookie }}"
+ test:
+ path: /
+ selector: "#nav_userinfo"
+
+search:
+ paths:
+ # https://kufirc.com/torrents.php?filter_cat[30]=1&filter_cat[29]=1&order_by=time&order_way=desc&searchtext=&action=advanced&title=720p+2022&sizeall=&sizetype=&sizerange=&filelist=&taglist=&autocomplete_toggle=
+ - path: torrents.php
+ inputs:
+ $raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
+ searchtext: ""
+ title: "{{ .Keywords }}"
+ order_by: "{{ .Config.sort }}"
+ order_way: "{{ .Config.type }}"
+ action: advanced
+ filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
+ sizeall: ""
+ sizetype: ""
+ sizerange: ""
+ filelist: ""
+ taglist: ""
+ autocomplete_toggle: ""
+
+ rows:
+ selector: table#torrent_table > tbody > tr[class^="torrent row"]:has(a[href*="action=download"])
+
+ 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
+ description_tags:
+ selector: div.tags
+ description:
+ case:
+ span.icon_okay: "Verified: {{ .Result.description_tags }}"
+ "*": "Unverified: {{ .Result.description_tags }}"
+ 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:
+ case:
+ span.icon[title*="DoubleSeed"]: 2
+ "img[alt=\"DoubleSeed\"]": 2
+ "*": 1
+ minimumratio:
+ text: 0.5
+# Luminance
diff --git a/definitions/v10/pornxlab.yml b/definitions/v10/pornxlab.yml
new file mode 100644
index 000000000..129912f1e
--- /dev/null
+++ b/definitions/v10/pornxlab.yml
@@ -0,0 +1,72 @@
+---
+id: pornxlab
+replaces:
+ - ptorrents
+name: PornXLab
+description: "PornXLab is a Public tracker for 3X"
+language: en-US
+type: public
+encoding: UTF-8
+links:
+ - https://www.pornxlab.com/
+legacylinks:
+ - https://www.ptorrents.com/
+
+caps:
+ categories:
+ XXX: XXX
+
+ modes:
+ search: [q]
+
+settings: []
+
+download:
+ selectors:
+ - selector: a.download-button
+ attribute: href
+
+search:
+ paths:
+ - path: "s.php?search={{ if .Keywords }}{{ .Keywords }}{{ else }}%20{{ end }}"
+
+ rows:
+ selector: div.image-wrapper
+
+ fields:
+ category:
+ text: XXX
+ title:
+ selector: a.overlay
+ filters:
+ - name: re_replace
+ args: ["^.+?\\] ", ""]
+ details:
+ selector: a.overlay
+ attribute: href
+ download:
+ selector: a.overlay
+ attribute: href
+ filters:
+ - name: regexp
+ args: "-(\\d+).html"
+ - name: prepend
+ args: "/dl.php?t="
+ poster:
+ selector: img
+ attribute: src
+ date:
+ text: now
+ size:
+ selector: span.size
+ seeders:
+ text: 1
+ leechers:
+ text: 1
+ downloadvolumefactor:
+ text: 0
+ uploadvolumefactor:
+ text: 1
+ description:
+ selector: div.catalog a
+# engine n/a
diff --git a/definitions/v10/ptorrents.yml b/definitions/v10/ptorrents.yml
index daf6b81fd..129912f1e 100644
--- a/definitions/v10/ptorrents.yml
+++ b/definitions/v10/ptorrents.yml
@@ -1,37 +1,20 @@
---
-id: ptorrents
-name: ptorrents
-description: "ptorrents is a Public tracker for 3X"
+id: pornxlab
+replaces:
+ - ptorrents
+name: PornXLab
+description: "PornXLab is a Public tracker for 3X"
language: en-US
type: public
encoding: UTF-8
links:
+ - https://www.pornxlab.com/
+legacylinks:
- https://www.ptorrents.com/
caps:
categories:
- "3D and VR Movies": XXX
- "Adult Anime and Game": XXX
- Anime: XXX
- BDSM: XXX
- Bisexual: XXX
- Bukkake: XXX
- "Chinese Movie": XXX
- "Erotic Picture Gallery": XXX/ImageSet
- "Erotic Softcore Movies": XXX
- "Femdom and Strapon": XXX
- Fetish: XXX
- "Fisting and Dildo": XXX
- Game: PC/Games
- Gangbang: XXX
- Hentai: XXX
- "Japanese Movie": XXX
- Peeing: XXX
- "Porn Movies": XXX
- Pregnant: XXX
- "Special Porn Movies": XXX
- Transsexual: XXX
- Voyeur: XXX
+ XXX: XXX
modes:
search: [q]
@@ -52,7 +35,7 @@ search:
fields:
category:
- selector: div.catalog a
+ text: XXX
title:
selector: a.overlay
filters:
@@ -75,12 +58,7 @@ search:
date:
text: now
size:
- selector: a.overlay:contains(" MB"), a.overlay:contains(" GB")
- optional: true
- default: 512MB
- filters:
- - name: regexp
- args: "^\\[(.+?)\\]"
+ selector: span.size
seeders:
text: 1
leechers:
@@ -89,4 +67,6 @@ search:
text: 0
uploadvolumefactor:
text: 1
+ description:
+ selector: div.catalog a
# engine n/a
diff --git a/definitions/v10/rudub.yml b/definitions/v10/rudub.yml
index 4b8c768da..b0bd1a27e 100644
--- a/definitions/v10/rudub.yml
+++ b/definitions/v10/rudub.yml
@@ -9,10 +9,8 @@ type: semi-private
encoding: windows-1251
followredirect: true
links:
- - https://aug16.rudub.club/
+ - https://aug17.rudub.club/
legacylinks:
- - https://aug02.rudub.top/
- - http://aug03.rudub.top/
- https://aug03.rudub.top/
- http://aug04.rudub.top/
- https://aug04.rudub.top/
@@ -41,6 +39,8 @@ legacylinks:
- http://aug15.rudub.club/
- https://aug15.rudub.club/
- http://aug16.rudub.club/
+ - https://aug16.rudub.club/
+ - http://aug17.rudub.club/
caps:
categorymappings:
- {id: 1, cat: TV, desc: "TV"}
diff --git a/definitions/v10/skipthecommercials-api.yml b/definitions/v10/skipthecommercials-api.yml
index 7e4485039..ef7724a2c 100644
--- a/definitions/v10/skipthecommercials-api.yml
+++ b/definitions/v10/skipthecommercials-api.yml
@@ -6,6 +6,8 @@ language: en-US
type: private
encoding: UTF-8
links:
+ - https://skipthecommercials.xyz/
+legacylinks:
- https://skipthecommericals.xyz/
caps: