# SexTorrent uses the Luminance code, which is based on gazelle # ajax.php API additionally needs the auth=$authkey argument # Because the API is e.g. missing poster images we use screen scraping instead of the generic gazelle based approach --- id: sextorrent name: SexTorrent description: "SexTorrent is a Private Torrent Tracker for 3X" language: en-US type: private encoding: UTF-8 links: - https://sextorrent.eu/ caps: categorymappings: - {id: 63, cat: XXX, desc: "Hairy"} - {id: 64, cat: XXX, desc: "Voyeur"} - {id: 30, cat: XXX, desc: "Amateur"} - {id: 29, cat: XXX, desc: "Anal"} - {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: 66, cat: XXX, desc: "Busty"} - {id: 23, cat: XXX, desc: "Classic"} - {id: 33, cat: XXX, desc: "Creampie"} - {id: 22, cat: XXX, desc: "Cumshot"} - {id: 62, cat: XXX/DVD, desc: "DVD-R"} - {id: 21, cat: XXX, desc: "Fetish"} - {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: 48, cat: XXX, desc: "Latina"} - {id: 16, cat: XXX, desc: "Lesbian"} - {id: 61, cat: XXX, desc: "Lingerie"} - {id: 56, cat: XXX/Other, desc: "Magazines"} - {id: 60, cat: XXX/Other, desc: "Manga / Comic"} - {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: 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/WEB-DL, desc: "Paysite"} - {id: 11, cat: XXX/ImageSet, desc: "Picture set"} - {id: 40, cat: XXX, desc: "Piss"} - {id: 43, cat: XXX/Other, desc: "Porn Music Videos"} - {id: 67, 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/WEB-DL, 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: 65, cat: XXX, desc: "Virtual Reality"} - {id: 7, cat: XXX/Other, desc: "XXX Games / Program"} 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_activity type: info label: Account Inactivity default: "After 4 months of no activity (no login) your account will be disabled." login: path: login method: form inputs: username: "{{ .Config.username }}" password: "{{ .Config.password }}" cinfo: "2550|1350|24|-60" keeplogged: 1 selectorinputs: token: selector: input[name="token"] attribute: value error: # invalid credentials error is added by JS, this is the IP ban error - selector: div.thin > div > h2 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"]:has(a[href*="action=download"]) fields: download: selector: a[href^="/torrents.php?action=download&id="] attribute: href description_tags: selector: div.tags description: case: span.icon[title*="okay"]: "Verified: {{ .Result.description_tags }}" "*": "Unverified: {{ .Result.description_tags }}" title: selector: a[href^="/torrents.php?id="] category: selector: a[href*="filter_cat"] attribute: href filters: - name: regexp args: "(\\d+)]=1" details: selector: a[href^="/torrents.php?id="] attribute: href poster: selector: td:nth-child(2) > script filters: - name: regexp args: "src=(.*?)>" - name: re_replace args: ["[\\\\\"]", ""] - 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: i.unlimited_leech: 0 i.sitewide_leech: 0 img[alt="Freeleech"]: 0 "*": 1 uploadvolumefactor: case: span.icon[title*="DoubleSeed"]: 2 img[alt="DoubleSeed"]: 2 "*": 1 minimumratio: text: 0.5 # luminance