---
id: extratorrent-cd
name: ExtraTorrent.cd
description: "ExtraTorrent.cd is a Public tracker for MOVIE / TV / GENERAL magnets"
language: en-us
type: public
encoding: UTF-8
followredirect: true
links:
  - https://extratorrent.si/
legacylinks:
  - https://extratorrent.unblockit.pro/
  - https://extratorrent.unblockit.one/ # for .ag

caps:
  categorymappings:
    - {id: Movies, cat: Movies, desc: "Movies"}
    - {id: Video, cat: Movies, desc: "Movies"}
    - {id: TV, cat: TV, desc: "TV"}
    - {id: Music, cat: Audio, desc: "Music"}
    - {id: Porn, cat: XXX, desc: "Adult / Porn"}
    - {id: Software, cat: PC, desc: "Software"}
    - {id: Games, cat: Console, desc: "Games"}
    - {id: Other, cat: Other/Misc, desc: "Other"}

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

settings: []

search:
  paths:
    # 30 rows per page
    - path: "search/?search={{ .Keywords }}&srt=added&order=desc"
    - path: "search/?page=2&search={{ .Keywords }}&srt=added&order=desc"
    - path: "search/?page=3&search={{ .Keywords }}&srt=added&order=desc"
  keywordsfilters:
    - name: re_replace
      args: ["[\\s]+", "."]


  rows:
    selector: tr[class^="tl"]
    filters:
      - name: andmatch

  fields:
    category:
      selector: span.c_tor > a
    title:
      selector: a[href*="/torrent/"][title^="view"]
    details:
      selector: a[href*="/torrent/"]
      attribute: href
      filters:
        - name: replace
          args: ["///", "//"]
    download:
      selector: a[href^="magnet:?xt="]
      attribute: href
    date:
      # Y-day-2020 (seriously!?!, like there's a Y-day-2019 ?)
      # Today-22:03
      selector: td:nth-last-of-type(5):contains("day")
      optional: true
      filters:
        - name: replace
          args: ["\xA0", " "]
        - name: re_replace
          args: ["(Today-)", "Today "]
        - name: re_replace
          args: ["(Y-day-.*)", "Yesterday"]
        - name: fuzzytime
    date:
      # 12-27-2019
      selector: td:nth-last-of-type(5):not(:contains(":")):not(:contains("day")):not(:contains("ago"))
      optional: true
      filters:
        - name: replace
          args: ["\xA0", "-"]
        - name: append
          args: " -07:00" # PDT
        - name: dateparse
          args: "01-02-2006 -07:00"
    date:
      # 4-mins-ago
      selector: td:nth-last-of-type(5):contains("ago")
      optional: true
      filters:
        - name: replace
          args: ["\xA0", "-"]
        - name: replace
          args: ["-", " "]
        - name: timeago
    size:
      selector: td:nth-last-of-type(4)
    seeders:
      text: 0
    seeders:
      optional: true
      selector: td.sy, td.sn
    leechers:
      text: 0
    leechers:
      optional: true
      selector: td.ly, td.ln
    downloadvolumefactor:
      text: 0
    uploadvolumefactor:
      text: 1
# engine n/a
