---
id: alleenretail
name: Alleen Retail
description: "Alleen Retail is a DUTCH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: nl-NL
type: private
encoding: UTF-8
links:
  - http://www.alleenretail.org/ # does not support https ERR_CONNECTION_REFUSED

caps:
  categorymappings:
    - {id: 2, cat: Movies/DVD, desc: "Films DVD"}
    - {id: 17, cat: Movies, desc: "Films Promo"}
    - {id: 3, cat: Audio/Video, desc: "Muziek Video"}
    - {id: 4, cat: Audio/Video, desc: "Cabaret"}
    - {id: 18, cat: Movies, desc: "Films Kids"}
    - {id: 6, cat: TV, desc: "TV Series"}
    - {id: 19, cat: Other, desc: "Overigen"}
    - {id: 20, cat: TV/Documentary, desc: "Documentaire"}
    - {id: 9, cat: PC/Games, desc: "Games PC"}
    - {id: 10, cat: Books/Mags, desc: "Magazines"}
    - {id: 11, cat: Movies/SD, desc: "Films AVI/DivX"}
    - {id: 22, cat: Movies, desc: "Films Classics"}
    - {id: 8, cat: Audio, desc: "Muziek"}
    - {id: 23, cat: PC/Mac, desc: "Software Mac"}
    - {id: 1, cat: Books/Comics, desc: "Stripboeken"}
    - {id: 13, cat: PC/Mobile-Android, desc: "Android"}
    - {id: 14, cat: PC/Mobile-Other, desc: "Navigatie"}
    - {id: 7, cat: PC/0day, desc: "Software PC"}
    - {id: 12, cat: PC/Mobile-iOS, desc: "iOS"}
    - {id: 21, cat: Movies/HD, desc: "Films HD"}
    - {id: 5, cat: Audio/Audiobook, desc: "Luisterboeken"}
    - {id: 15, cat: XXX, desc: "18+"}
    - {id: 24, cat: Movies/UHD, desc: "Films Blu-ray/3D/4K"}
    - {id: 16, cat: Books/EBook, desc: "Ebooks"}

  modes:
    search: [q]
    tv-search: [q, season, ep]
    movie-search: [q]
    music-search: [q]
    book-search: [q]

settings:
  - name: username
    type: text
    label: Username
  - name: password
    type: password
    label: Password
#  - name: thankyou
#    type: text
#    label: Thank You Comment
#  - name: info
#    type: info
#    label: Thank you comment
#    default: This site requires you to leave a Thank You comment before you can download. Enter your personalised comment above.

login:
  path: takelogin.php
  method: post
  inputs:
    username: "{{ .Config.username }}"
    password: "{{ .Config.password }}"
  error:
    - selector: table.main:contains("Aanmelden mislukt")
  test:
    path: /
    selector: a[href="logout.php"]

# download:
#  before:
#    # /comment.php?action=add&tid=166386
#    path: comment.php
#    method: post
#    inputs:
#      action: add
#      tid: "{{ .DownloadUri.Query.id }}"
#      text: "{{ .Config.thankyou }}"
#      submit: Opslaan
#  selectors:
#    - selector: a[href^="download.php?id="]
#      attribute: href

search:
  paths:
    - path: browse.php
  inputs:
    $raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
    search: "{{ .Keywords }}"
    incldead: 1
    # does not support imdbid search and does not return imdb link in results

  rows:
    selector: table.mainouter
    filters:
      - name: andmatch

  fields:
    category:
      selector: a[href^="browse.php?cat="]
      attribute: href
      filters:
        - name: querystring
          args: cat
    title:
      selector: a[href^="details.php?id="]
      filters:
        - name: re_replace
          args: ["(?i)seizoen\\s*(\\d{1,2})\\s*(tot|t\/m)\\s*(\\d{1,2})", "S$1-$3"]
        - name: re_replace
          args: ["(?i)(seizoen\\s*)(\\d{1,2})", "S$2"]
        - name: re_replace
          args: ["(?i)(afl.\\s*|aflevering\\s*)(\\d{1,2})", "E$2"]
        - name: re_replace
          args: ["(?i)compleet", "Complete"]
    details:
      selector: a[href^="details.php?id="]
      attribute: href
    download:
      selector: a[href^="download.php?id="]
      attribute: href
    size:
      selector: a[href^="details_bestanden.php?torrent_id="]
      filters:
        - name: regexp
          args: "(.+?) in"
    files:
      selector: a[href^="details_bestanden.php?torrent_id="]
      filters:
        - name: regexp
          args: "in (\\d+) bestan"
    grabs:
      selector: table tr:nth-child(2) td:nth-child(1)
    date:
      selector: table tr:nth-child(2) td:nth-child(3)
      filters:
        - name: replace
          args: ["januari", "January"]
        - name: replace
          args: ["februari", "February"]
        - name: replace
          args: ["maart", "March"]
        - name: replace
          args: ["april", "April"]
        - name: replace
          args: ["mei", "May"]
        - name: replace
          args: ["juni", "June"]
        - name: replace
          args: ["juli", "July"]
        - name: replace
          args: ["augustus", "August"]
        - name: replace
          args: ["september", "September"]
        - name: replace
          args: ["oktober", "October"]
        - name: replace
          args: ["november", "November"]
        - name: replace
          args: ["december", "December"]
        - name: re_replace
          args: ["\\s*om\\s*", " "]
        - name: append
          args: " +01:00" # CET
        - name: dateparse
          args: "2 January 2006 15:04:05 -07:00"
    seeders_optional:
      optional: true
      selector: table tr:nth-child(3) td:nth-child(6)  font b
    seeders:
      text: "{{ if .Result.seeders_optional }}{{ .Result.seeders_optional }}{{ else }}0{{ end }}"
    leechers_optional:
      optional: true
      selector: table tr:nth-child(3) td:nth-child(6) font b:nth-child(2)
    leechers:
      text: "{{ if .Result.leechers_optional }}{{ .Result.leechers_optional }}{{ else }}0{{ end }}"
    downloadvolumefactor:
      text: 0
    uploadvolumefactor:
      text: 1
    minimumratio:
      # between 1.00 and 1.50 is required, and above 1.50 prohibited
      text: 1.25
# engine n/a
