---
id: sharewood
name: Sharewood
description: "sharewood is a Semi-Private FRENCH Torrent Tracker for GENERAL"
language: fr-FR
type: semi-private
encoding: UTF-8
links:
  - https://www.sharewood.tv/

caps:
  categorymappings:
    - {id: "Films", cat: Movies, desc: "Films"}
    - {id: "Films_Animations", cat: Movies, desc: "Films Animation"}
    - {id: "Animes", cat: TV/Anime, desc: " Séries Animations"}
    - {id: "Series", cat: TV, desc: "TV Series"}
    - {id: "Documentaires", cat: TV/Documentary, desc: "TV Documentaires"}
    - {id: "Emissions", cat: TV, desc: "TV Emissions"}
    - {id: "Sports", cat: TV/Sport, desc: "TV Sports"}
    - {id: "Spectacles", cat: TV, desc: "TV Spectacles/Concerts"}
    - {id: "Karaoke_Video", cat: Audio/Video, desc: "Karaoké Vidéo"}
    - {id: "Videos_Clips", cat: Audio/Video, desc: "TV Videos Clips"}
    - {id: "Musiques", cat: Audio, desc: "Audio Musiques"}
    - {id: "Karaoke", cat: Audio, desc: "Audio Karaoké"}
    - {id: "Samples", cat: Audio, desc: "Audio Samples"}
    - {id: "Podcasts", cat: Audio, desc: "Audio Podcasts"}
    - {id: "AudioBooks", cat: Audio/Audiobook, desc: "Audio Books"}
    - {id: "Windows", cat: PC/0day, desc: " Applications Windows"}
    - {id: "APK", cat: PC/Mobile-Android, desc: " Applications Android"}
    - {id: "GPS", cat: PC/Mobile-Other, desc: " Applications GPS"}
    - {id: "Ebooks", cat: Books/EBook, desc: "Books Ebooks"}
    - {id: "BDs", cat: Books/EBook, desc: "Books BDs"}
    - {id: "Presse", cat: Books/Mags, desc: "Books Presse"}
    - {id: "Mangas", cat: Books/Comics, desc: "Books Mangas"}
    - {id: "Comics", cat: Books/Comics, desc: "Books Comics"}
    - {id: "Nintendo", cat: Console/NDS, desc: "Jeux Nintendo"}
    - {id: "Microsoft", cat: Console/XBox, desc: "Jeux Microsoft"}
    - {id: "Linux", cat: PC/Games, desc: "Jeux Linux"}
    - {id: "Mac", cat: PC/Games, desc: "Jeux Mac"}
    - {id: "Sony", cat: Console/PSP, desc: "Jeux Sony"}
    - {id: "Smartphone_Tablette", cat: Console, desc: "Jeux Smartphone/Tablette"}
    - {id: "Retrogaming_Emulation", cat: Console, desc: "Jeux Rétrogaming & Emulation"}
    - {id: "Formations_Video", cat: Other, desc: "Formations Video"}
    - {id: "Formations_Logiciels", cat: Other, desc: "Formations Logiciels"}
    - {id: "Films_X", cat: XXX, desc: "XXX"}
    - {id: "Ebooks_X", cat: XXX, desc: "XXX"}
    - {id: "Hentai", cat: XXX, desc: "Hentai"}
    - {id: "ImagesX", cat: XXX, desc: "ImagesX"}

  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: freeleech
    type: checkbox
    label: Search freeleech only
    default: false
  - name: multilang
    type: checkbox
    label: Replace MULTI by another language in release name
    default: false
  - name: multilanguage
    type: select
    label: Replace MULTI by this language
    default: FRENCH
    options:
      FRENCH: FRENCH
      MULTI.FRENCH: MULTI.FRENCH
      ENGLISH: ENGLISH
      MULTI.ENGLISH: MULTI.ENGLISH
      VOSTFR: VOSTFR
      MULTI.VOSTFR: MULTI.VOSTFR
  - name: vostfr
    type: checkbox
    label: Replace VOSTFR with ENGLISH
    default: false
  - name: sort
    type: select
    label: Sort requested from site
    default: created_at
    options:
      created_at: created
      seeders: seeders
      size: size
      name: title
  - name: type
    type: select
    label: Order requested from site
    default: desc
    options:
      desc: desc
      asc: asc

login:
  path: login
  method: form
  form: form[action$="/login"]
  inputs:
    username: "{{ .Config.username }}"
    password: "{{ .Config.password }}"
    remember: on
  selectorinputs:
    _token:
      selector: input[name="_token"]
      attribute: value
  error:
    - selector: form[action$="/login"] .text-red
    - selector: h1:contains("503 Service Temporarily Unavailable")
#    test:
#      path: /
#      selector: a[href$="/logout"]

search:
  paths:
    - path: filterTorrents
  inputs:
    search: "{{ .Keywords }}"
    description: ""
    uploader: ""
    sorting: "{{ .Config.sort }}"
    direction: "{{ .Config.type }}"
    qty: 100
    freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"

  rows:
    selector: div.table-responsive-line

  fields:
    category:
      selector: img.torrent-icon
      attribute: src
      filters:
        - name: regexp
          args: "/img/NewIcones/(.+?).png"
    title_phase1:
      selector: a.view-torrent
    title_multilang:
      text: "{{ .Result.title_phase1 }}"
      filters:
        - name: re_replace
          args: ["(?i)(\\smulti\\s)", " {{ .Config.multilanguage }} "]
    title_phase2:
      text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
    title_vostfr:
      text: "{{ .Result.title_phase2 }}"
      filters:
        - name: re_replace
          args: ["(?i)(\\svostfr\\s)", " ENGLISH "]
        - name: re_replace
          args: ["(?i)(\\ssubfrench\\s)", " ENGLISH "]
    title:
      text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
    download:
      selector: a.view-torrent
      attribute: href
      filters:
        - name: replace
          args: ["/torrents/", "/download/"]
    details:
      selector: a.view-torrent
      attribute: href
    size:
      selector: div.col-detail div.row div:nth-child(2)
    seeders:
      selector: div.bouton-s
    leechers:
      selector: div.bouton-l
    grabs:
      selector: div.bouton-c
    date:
      selector: div.col-detail div.row div span
      filters:
        - name: replace
          args: ["il y a ", ""]
        - name: replace
          args: ["seconde", "second"]
        - name: replace
          args: ["heure", "hour"]
        - name: replace
          args: ["jour", "day"]
        - name: replace
          args: ["semaine", "week"]
        - name: replace
          args: ["mois", "month"]
        - name: replace
          args: ["an", "year"]
        - name: append
          args: " ago"
    downloadvolumefactor:
      case:
        "span.badge-extra:contains('Freeleech')": 0
        "*": 1
    uploadvolumefactor:
      case:
        "span.badge-extra:contains('Double Upload')": 2
        "*": 1
    minimumratio:
      text: 0.75
    minimumseedtime:
      # 3 days (as seconds = 3 x 24 x 60 x 60)
      text: 259200
# UNIT3D
