---
id: world-torrent
replaces:
  - zetorrents
  - torrent9clone
  - torrent9-tel
  - nortorrent
name: World-torrent
description: "World-torrent is a FRENCH Public site for MOVIES / TV / GENERAL"
language: fr-FR
type: public
encoding: UTF-8
# to fetch current domain use https://www.rantop.org/
links:
  - https://www.darkfox4.cc/
  - https://www.vidlox4.cc/
  - https://www.worldivx.cc/
  - https://www.wikibox3.cc/
  - https://www.sharkibox.cc/
  - https://www.workino.cc/
  - https://www.oxtorrent3.ws/
  - https://www.torrent911.wiki/
legacylinks:
  # latest domains list
  - https://www.rantop.xyz/
  - https://www.site-torrent.cc/
  - https://www.torrent-site.cc/
  - https://www.torrent-p2p.cc/
  # domain lists no longer working
  - https://www.protege-torrent.com/
  - https://www.torrent.ws/
  - https://www.protege-liens.com/
  - https://www.protege-liens.net/
  - https://www.torrent.onl/
  - https://www.site-torrent.com/
  - https://www.rantop.my/
  - https://www.torrent-site.com/
  - https://www.rantop.org/
  # actual legacylinks
  - https://www.darkflix.cc/
  - https://darkfox5.cc/
  - https://ww1.fit/darkfox/
  - https://www.darkfox2.cc/
  - https://www.darkfox3.cc/
  - https://vidlox5.cc/
  - https://ww1.fit/vidlox/
  - https://www.vidlox2.cc/
  - https://www.vidlox3.cc/
  - https://wikibox3.cc/
  - https://wikibox5.cc/
  - https://ww1.fit/wikibox/
  - https://www.wikibox1.cc/
  - https://www.wikibox2.cc/
  - https://www.sharkibox1.cc/
  - https://www.worldivx1.cc/
  - https://oxtorrent5.ws/
  - https://ww1.fit/oxtorrent/
  - https://www.oxtorrent2.ws/

caps:
  categorymappings:
    - {id: Films, cat: Movies, desc: "Movies"}
    - {id: Animes, cat: TV/Anime, desc: "Anime"}
    - {id: Documentaires, cat: TV/Documentary, desc: "Documentaires"}
    - {id: Séries, cat: TV, desc: "TV"}
    - {id: Musiques, cat: Audio, desc: "Music"}
    - {id: Ebooks, cat: Books, desc: "Books"}
    - {id: Livres, cat: Books, desc: "Livres"}
    - {id: Logiciels, cat: PC, desc: "Software"}
    - {id: Applications, cat: PC, desc: "Applications"}
    - {id: Jeux-PC, cat: PC/Games, desc: "PC Games"}
    - {id: Jeux-Consoles, cat: Console/XBox 360, desc: "Console Games"}
    - {id: Porno, cat: XXX, desc: "Porno"}
    - {id: Pornfilm, cat: XXX, desc: "Pornfilm"}
    - {id: Pornbook, cat: XXX, desc: "Pornbook"}
    - {id: Spectacles, cat: TV/Other, desc: "Spectacles"}
    - {id: Sports, cat: TV/Sport, desc: "Sports"}
    - {id: Formations, cat: Other, desc: "Formations"}
    - {id: Vidéos, cat: TV, desc: "Vidéos"}

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

settings:
  - 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 and SUBFRENCH with ENGLISH
    default: false

download:
  selectors:
    - selector: a[href^="magnet:?"]
      attribute: href

search:
  paths:
    - path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}derniers{{ end }}"
  keywordsfilters:
    # if searching for season packs switch S01 to saison 1 #9712
    - name: re_replace
      args: ["(?i)(S0)(\\d{1,2})$", "saison $2"]
    - name: re_replace
      args: ["(?i)(S)(\\d{1,3})$", "saison $2"]

  rows:
    selector: table.table > tbody > tr:has(a[href^="/detail/"])

  fields:
    category:
      selector: td:nth-child(1)
      attribute: title
    title_phase1:
      selector: a[href^="/detail/"]
      remove: span
      filters:
        - name: replace
          args: ["WEBRIP", "WEBDL"]
        - name: re_replace
          args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b((19|20)\\d{2})\\b)$", "$3 $1$2"]
    title_vostfr:
      text: "{{ .Result.title_phase1 }}"
      filters:
        - name: re_replace
          args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
    title_phase2:
      text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
    title_multilang:
      text: "{{ .Result.title_phase2 }}"
      filters:
        - name: re_replace
          args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
    title:
      text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
    details:
      selector: a[href^="/detail/"]
      attribute: href
    download:
      selector: a[href^="/detail/"]
      attribute: href
    size:
      selector: td:nth-child(3)
    seeders:
      selector: td:nth-child(4)
    leechers:
      selector: td:nth-child(5)
    grabs:
      selector: td:nth-child(6)
    date:
      selector: td:nth-child(7)
      filters:
        - name: replace
          args: ["heures", "hours"]
        - name: replace
          args: ["heure", "hour"]
        - name: replace
          args: ["jours", "days"]
        - name: replace
          args: ["jour", "day"]
        - name: replace
          args: ["semaines", "weeks"]
        - name: replace
          args: ["semaine", "week"]
        - name: replace
          args: ["mois", "months"]
        - name: replace
          args: ["ans", "years"]
        - name: replace
          args: ["an", "year"]
        - name: append
          args: " ago"
    downloadvolumefactor:
      text: 0
    uploadvolumefactor:
      text: 1
# engine n/a
