---
id: esharenet
name: eShareNet
description: "eShareNet is a Private Tracker for British MOVIE / TV"
language: en-GB
type: private
encoding: UTF-8
links:
  - https://esharenet.eu/

caps:
  categorymappings:
    - {id: 2, cat: TV, desc: "Comedy"}
    - {id: 4, cat: TV, desc: "Entertainment"}
    - {id: 5, cat: TV, desc: "Game Shows"}
    - {id: 6, cat: TV, desc: "Motoring"}
    - {id: 7, cat: TV, desc: "News and Current Affairs"}
    - {id: 8, cat: TV, desc: "Sci-Fi"}
    - {id: 9, cat: TV, desc: "Talkshow"}
    - {id: 10, cat: TV, desc: "Advertisements - Continuity"}
    - {id: 11, cat: TV, desc: "Comedy-Drama"}
    - {id: 12, cat: TV, desc: "Fantasy"}
    - {id: 13, cat: TV, desc: "Home and Property"}
    - {id: 14, cat: Movies, desc: "Movies"}
    - {id: 15, cat: Other, desc: "Other"}
    - {id: 16, cat: TV, desc: "Soaps"}
    - {id: 17, cat: TV, desc: "Trains and Planes"}
    - {id: 18, cat: TV, desc: "Animation"}
    - {id: 19, cat: TV/Documentary, desc: "Documentaries"}
    - {id: 20, cat: TV, desc: "Food and Cooking"}
    - {id: 21, cat: TV, desc: "Horror"}
    - {id: 22, cat: Audio, desc: "Music"}
    - {id: 23, cat: Audio, desc: "Radio"}
    - {id: 24, cat: TV/Sport, desc: "Sport"}
    - {id: 25, cat: TV, desc: "True Crime"}
    - {id: 26, cat: Audio/Audiobook, desc: "Audiobook and E-book"}
    - {id: 27, cat: TV, desc: "Drama"}
    - {id: 28, cat: TV, desc: "Kids"}
    - {id: 29, cat: TV, desc: "Mystery and Crime Fiction"}
    - {id: 30, cat: TV, desc: "Reality"}
    - {id: 31, cat: TV, desc: "Subtitles - english subs"}

  modes:
    search: [q]
    tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
    movie-search: [q, imdbid, tmdbid]
    music-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: 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: div#ERROR_COPY
#    test:
#      path: /
#      selector: a[href$="/logout"]

search:
  paths:
    - path: torrents/filter
  inputs:
    $raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
    search: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
    imdb: "{{ .Query.IMDBIDShort }}"
    tvdb: "{{ .Query.TVDBID }}"
    tmdb: "{{ .Query.TMDBID }}"
    sorting: "{{ .Config.sort }}"
    direction: "{{ .Config.type }}"
    qty: 50
    page: 0
    view: list
    freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
    # can search by genre but need range support. &genres[]=Action&genres[]=Comedy for Action and Comedy

  rows:
    selector: table > tbody > tr

  fields:
    category:
      selector: a[href*="/categories/"]
      attribute: href
      filters:
        - name: regexp
          args: "/categories/(\\d+)"
    title:
      selector: a.view-torrent
    download:
      selector: a[href*="/download/"]
      attribute: href
    details:
      selector: a.view-torrent
      attribute: href
    poster:
      selector: div.torrent-poster img
      attribute: src
      filters:
        - name: prepend
          args: "https://images.weserv.nl/?url=" # for display on dashboard
        - name: append
          args: "&w=180&h=270" # for display on dashboard
        - name: replace
          args: ["https://images.weserv.nl/?url=https://via.placeholder.com/600x900&w=180&h=270", ""]
    genre:
      selector: td:nth-last-child(8)
      filters:
        - name: replace
          args: ["\n", ""]
        - name: re_replace
          args: ["(?i)(Science Fiction)", "Science_Fiction"]
        - name: validate
          args: "Action, Adventure, Animation, Biography, Comedy, Crime, Documentary, Drama, Family, Fantasy, Game-Show, History, Horror, Music, Musical, Mystery, News, Reality-TV, Romance, Science_Fiction, Sitcom, Sport, Talk-Show, Thriller, War, Western"
    description:
      text: "{{ .Result.genre }}"
    size:
      selector: td:nth-last-child(4)
    seeders:
      selector: td:nth-last-child(3)
    leechers:
      selector: td:nth-last-child(2)
    grabs:
      selector: td:nth-last-child(1)
    imdbid:
      selector: a[href*="imdb.com/title/tt"]
      attribute: href
    tmdbid:
      selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"]
      attribute: href
    date:
      selector: time
      filters:
        # translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish
        - name: re_replace
          args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpět|назад|acum|în urmă|hace|il y a|vor|преди|前|sedan)", " ago"]
        - name: re_replace
          args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|секунд|secunde|secondes|Sekunden|секунди|seconden|秒前)", "seconds"]
        - name: re_replace
          args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten|minuter)", "minutes"]
        - name: re_replace
          args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟|分)", " minute"]
        - name: re_replace
          args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden|timmar)", "hours"]
        - name: re_replace
          args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时|時間|timme)", " hour"]
        - name: re_replace
          args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen|dagar)", "days"]
        - name: re_replace
          args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天|日)", " day"]
        - name: re_replace
          args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken|veckor)", "weeks"]
        - name: re_replace
          args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周|週間|vecka)", " week"]
        - name: re_replace
          args: ["(?i) (ay)", "month"]
        - name: re_replace
          args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden|månader)", "months"]
        - name: re_replace
          args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|Monat|месец|maand|个月|ヶ月|månad)", " month"]
        - name: re_replace
          args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"]
        - name: re_replace
          args: ["(?i)(yil|aasta|år|anno|rok|ano|год|año|Jahr|година|jaar|年)", " year"]
        - name: re_replace
          args: ["(?i) (an)", "year"]
        - name: re_replace
          args: ["(?i)(För |und)", ""] # Misc removals
        - name: timeago
    downloadvolumefactor:
      case:
        i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store
        i[class*="fa-trophy text-purple"]: 0 # Special FreeLeech For Certain User Groups
        i[class*="fa-star text-bold"]: 0 # Freeleech From Token
        i[class*="fa-coins text-bold"]: 0 # Freeleech From Token
        i[class*="fa-globe text-blue"]: 0 # Global Freeleech
        i[class*="fa-star text-gold"]: 0 # Freeleech
        i[class*="fa-certificate text-pink"]: 0 # Featured Torrent
        "*": 1
    uploadvolumefactor:
      case:
        i[class*="fa-gem text-green"]: 2 # Single Torrent Double Upload
        i[class*="fa-globe text-green"]: 2 # Global Double Upload
        i[class*="fa-certificate text-pink"]: 2 # Featured Torrent
        "*": 1
    minimumratio:
      text: 0.4
    minimumseedtime:
      # 3 days (as seconds = 3 x 24 x 60 x 60)
      text: 259200
# UNIT3D 2.5.0
