---
id: torrentfunk
name: TorrentFunk
description: "TorrentFunk is a Public torrent index"
language: en-US
type: public
encoding: UTF-8
followredirect: true
links:
  - https://www.torrentfunk.com/
  - https://www.torrentfunk2.com/
  - https://torrentfunk.unblockit.blue/
  - https://torrentfunk.nocensor.sbs/
legacylinks:
  - https://torrentfunk.unblockit.buzz/
  - https://torrentfunk.unblockit.club/
  - https://torrentfunk.unblockit.onl/
  - https://torrentfunk.unblockit.li/
  - https://torrentfunk.unblockit.uno/
  - https://torrentfunk.unblockit.ch/
  - https://torrentfunk.nocensor.space/
  - https://torrentfunk.unblockit.ws/
  - https://torrentfunk.nocensor.work/
  - https://torrentfunk.unblockit.kim/
  - https://torrentfunk.unblockit.bz/
  - https://torrentfunk.unblockit.tv/
  - https://torrentfunk.unblockit.how/
  - https://torrentfunk.unblockit.cam/
  - https://torrentfunk.nocensor.biz/
  - https://torrentfunk.unblockit.day/
  - https://torrentfunk.unblockit.llc/

caps:
  categorymappings:
    - {id: 1, cat: Movies, desc: Movies}
    - {id: 2, cat: Audio, desc: Music}
    - {id: 3, cat: TV, desc: Television}
    - {id: 4, cat: PC/Games, desc: Games}
    - {id: 5, cat: PC, desc: Software}
    - {id: 6, cat: TV/Anime, desc: Anime}
    - {id: 7, cat: XXX, desc: Adult}
    - {id: 8, cat: Other, desc: Other(tbd)}
    - {id: 9, cat: Other, desc: Other(tbd)}
    - {id: 0, cat: Other, desc: Other(tbd)}
    - {id: 10, cat: Other, desc: Other(tbd)}
    - {id: 11, cat: Other, desc: Other(tbd)}

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

settings: []

search:
  paths:
    # https://www.torrentfunk.com/all/torrents/morty-402-castellano.html
    - path: "all/torrents/{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}.html"
  keywordsfilters:
    - name: re_replace
      args: ["[\\s]+", "-"]
    - name: tolower

  rows:
    selector: table.tmain tbody tr:has(a[href^="/torrent/"])
    filters:
      - name: andmatch

  fields:
    category:
      selector: td[class^="tv"], td[class^="tn"]
      attribute: class
      filters:
        - name: regexp
          args: (\d+)
    title:
      selector: div a[href^="/torrent/"]
    details:
      selector: div a[href^="/torrent/"]
      attribute: href
    download:
      # /tor/25878251.torrent
      selector: div a[href^="/torrent/"]
      attribute: href
      filters:
        - name: split
          args: ["/", 2]
        - name: prepend
          args: "/tor/"
        - name: append
          args: ".torrent"
    date_day:
      # Today
      # Yesterday
      selector: td:nth-child(2):contains("day")
      optional: true
      filters:
        - name: fuzzytime
    date_month:
      # 7 Jul
      # 25 Dec
      selector: td:nth-child(2):not(:contains("day"))
      optional: true
      filters:
        - name: append
          args: " -07:00" # PDT
        - name: dateparse
          args: "2 Jan -07:00"
    date:
      text: "{{ if or .Result.date_month .Result.date_day }}{{ or .Result.date_month .Result.date_day }}{{ else }}now{{ end }}"
    size:
      selector: td:nth-child(3)
    seeders:
      selector: td:nth-child(4)
    leechers:
      selector: td:nth-child(5)
    downloadvolumefactor:
      text: 0
    uploadvolumefactor:
      text: 1
# engine n/a
