--- id: gay-torrents name: Gay-Torrents.net description: "Gay-Torrents.net is a Private Torrent Tracker for GAY 3X" language: en-US type: semi-private encoding: UTF-8 requestDelay: 2 links: - https://www.gay-torrents.net/ 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: 0 options: 0: created 1: title 4: size 5: seeders - name: order type: select label: Order requested from site default: 0 options: 0: desc 1: asc - name: whisparrv2 type: checkbox label: Strip release date from queries (for Whisparr v2 compatibility) default: false caps: categorymappings: - {id: porn, cat: XXX, desc: "Porn"} - {id: porn/Amateur, cat: XXX, desc: "Amateur"} - {id: porn/Anal, cat: XXX, desc: "Anal"} - {id: porn/Asian, cat: XXX, desc: "Asian"} - {id: porn/Bareback, cat: XXX, desc: "Bareback"} - {id: porn/Bears, cat: XXX, desc: "Bears"} - {id: porn/Bisexual, cat: XXX, desc: "Bisexual"} - {id: porn/Black-Men, cat: XXX, desc: "Black-Men"} - {id: porn/Chubs, cat: XXX, desc: "Chubs"} - {id: porn/Clips, cat: XXX/Pack, desc: "Clips"} - {id: porn/Cross-Generation, cat: XXX, desc: "Cross-Generation"} - {id: porn/DVD-R, cat: XXX/DVD, desc: "DVD-R"} - {id: porn/Fetish, cat: XXX, desc: "Fetish"} - {id: porn/Group-Sex, cat: XXX, desc: "Group-Sex"} - {id: porn/HD-Movies, cat: XXX, desc: "HD-Movies"} - {id: porn/Hunks, cat: XXX, desc: "Hunks"} - {id: porn/Images, cat: XXX/ImageSet, desc: "Images"} - {id: porn/Interracial, cat: XXX, desc: "Interracial"} - {id: porn/Jocks, cat: XXX, desc: "Jocks"} - {id: porn/Latino, cat: XXX, desc: "Latino"} - {id: porn/Mature, cat: XXX, desc: "Mature"} - {id: porn/Member, cat: XXX, desc: "Member"} - {id: porn/MiddleEast, cat: XXX, desc: "MiddleEast"} - {id: porn/Military, cat: XXX, desc: "Military"} - {id: porn/Muscle, cat: XXX, desc: "Muscle"} - {id: porn/Oral-Sex, cat: XXX, desc: "Oral-Sex"} - {id: porn/Solo, cat: XXX, desc: "Solo"} - {id: porn/Transsexual, cat: XXX, desc: "Transsexual"} - {id: porn/Twinks, cat: XXX, desc: "Twinks"} - {id: porn/Vintage, cat: XXX, desc: "Vintage"} - {id: porn/Wrestling, cat: XXX, desc: "Wrestling"} - {id: nonporn, cat: Other, desc: "NonPorn"} - {id: nonporn/Anime, cat: TV/Anime, desc: "Anime"} - {id: nonporn/Applications, cat: PC, desc: "Applications"} - {id: nonporn/Comedy, cat: Movies, desc: "Comedy"} - {id: nonporn/Comics, cat: Books/Comics, desc: "Comics"} - {id: nonporn/Coming-Out, cat: Movies, desc: "Coming-Out"} - {id: nonporn/Documentary, cat: Movies, desc: "Documentary"} - {id: nonporn/Drama, cat: Movies, desc: "Drama"} - {id: nonporn/DVD-R, cat: Movies/DVD, desc: "DVD-R"} - {id: nonporn/Gay-Movies, cat: Movies, desc: "Gay-Movies"} - {id: nonporn/Misc, cat: Other/Misc, desc: "Misc"} - {id: nonporn/Short-Film, cat: Movies, desc: "Short-Film"} - {id: nonporn/Softcore, cat: Movies, desc: "Softcore"} - {id: nonporn/Thriller, cat: Movies, desc: "Thriller"} - {id: nonporn/TV-Episode, cat: TV, desc: "TV-Episode"} modes: search: [q] tv-search: [q, season, ep] movie-search: [q] book-search: [q] login: path: login.php method: post inputs: vb_login_username: "{{ .Config.username }}" vb_login_password: "{{ .Config.password }}" cookieuser: 1 do: login error: - selector: div.blockrow:contains("invalid") test: path: torrentslist.php selector: ul.isuser search: paths: - path: "{{ if .Keywords }}search.php{{ else }}torrentslist.php{{ end }}" inputs: page: 1 - path: "{{ if .Keywords }}search.php{{ else }}torrentslist.php{{ end }}" inputs: page: 2 - path: "{{ if .Keywords }}search.php{{ else }}torrentslist.php{{ end }}" inputs: page: 3 - path: "{{ if .Keywords }}search.php{{ else }}torrentslist.php{{ end }}" inputs: page: 4 - path: "{{ if .Keywords }}search.php{{ else }}torrentslist.php{{ end }}" inputs: page: 5 inputs: $raw: "{{ range .Categories }}type={{.}}&{{end}}" textsearch: "{{ .Keywords }}" sort: "{{ .Config.sort }}" order: "{{ .Config.order }}" freeleech: "{{ if .Config.freeleech }}1{{ else }}0{{ end }}" keywordsfilters: - name: re_replace args: ["(\\d{2}\\.\\d{2}\\.\\d{2})", "{{ if .Config.whisparrv2 }}{{ else }}$1{{ end }}"] # strip release date from query for whisparr v2 compatibility - name: re_replace args: ["(\\w+)", "+$1"] # prepend + to each word headers: User-Agent: ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203"] rows: selector: ul.TorrentList, ul.Torrent-List fields: category: selector: a[href^="torrentslist.php?type="] attribute: href filters: - name: querystring args: type title: selector: a[href^="torrentdetails.php?torrentid="] filters: - name: replace args: ["[FFL] ", ""] # remove freeleech flag from title download: selector: a[href^="torrentdetails.php?torrentid="] attribute: href filters: - name: append args: "&do=download" details: selector: a[href^="torrentdetails.php?torrentid="] attribute: href size: selector: .TorrentList3, .Torrent-List-Size seeders: selector: .TorrentList6, .Torrent-List-Seeds leechers: selector: .TorrentList7, .Torrent-List-Peers date: selector: .TorrentList8, .Torrent-List-Date filters: - name: append args: " +02:00" # EET - name: dateparse args: "HH:mm dd-MMM-yyyy zzz" downloadvolumefactor: case: "a:contains(\"[FFL]\")": 0 "*": 1 uploadvolumefactor: text: 1 # Morbid Suite vB4