---
id: idope
name: iDope
description: "iDope is a Public torrent search engine presenting direct magnet links"
language: en-US
type: public
encoding: UTF-8
requestDelay: 2
links:
  - https://idope.me/
legacylinks:
  - https://idope.black-mirror.xyz/
  - https://idope.unblocked.casa/
  - https://idope.proxyportal.fun/
  - https://idope.uk-unblock.xyz/
  - https://idope.ind-unblock.xyz/
  - https://idope.unblocked.bar/
  - https://idope.proxyportal.pw/
  - https://idope.uk-unblock.pro/
  - https://idope.unblocked.rest/
  - https://idope.unblocked.monster/
  - https://idope.se/

caps:
  categorymappings:
    - {id: 0, cat: Other, desc: Others}
    - {id: 1, cat: Movies, desc: Movies}
    - {id: 2, cat: Other, desc: Video}
    - {id: 3, cat: TV, desc: TV}
    - {id: 4, cat: TV/Anime, desc: Anime}
    - {id: 5, cat: XXX, desc: XXX}
    - {id: 6, cat: Audio, desc: Music}
    - {id: 7, cat: PC/Games, desc: Games}
    - {id: 8, cat: PC, desc: Apps}
    - {id: 9, cat: Books, desc: Books}

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

settings:
  - name: itorrents-links
    type: checkbox
    label: Add download links via itorrents.org
    default: false
  - name: info
    type: info
    label: ITorrents Note
    default: Without the itorrents option only magnet links will be provided.
  - name: sort
    type: select
    label: Sort requested from site (Applies only to search with Keywords)
    default: -3
    options:
      -3: "created desc"
      -1: "seeders desc"
      -2: "size desc"
      3: "created asc"
      1: "seeders asc"
      2: "size asc"
  - name: info_flaresolverr
    type: info_flaresolverr

search:
  paths:
    # present trending results if there are no search parms supplied
    # sort torrent-list by age in descending order
    - path: "{{ if .Keywords }}torrent-list/{{ .Keywords }}?o={{ .Config.sort }}&c={{ range .Categories }}{{.}}{{end}}{{ else }}browse.html{{ end }}"
    - path: "{{ if .Keywords }}torrent-list/{{ .Keywords }}?p=2&o={{ .Config.sort }}&c={{ range .Categories }}{{.}}{{end}}{{ else }}browse.html?&p=2{{ end }}"

  headers:
    # Using a custom user-agent to return the desktop layout.
    User-Agent: ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.203"]

  rows:
    selector: div.resultdiv

  fields:
    category:
      selector: div.resultdivbotton div.resultdivbottoncategory
      optional: true
      default: 0
      case:
        ":contains(\"Others\")": 0
        ":contains(\"Movies\")": 1
        ":contains(\"Video\")": 2
        ":contains(\"TV\")": 3
        ":contains(\"Anime\")": 4
        ":contains(\"XXX\")": 5
        ":contains(\"Music\")": 6
        ":contains(\"Games\")": 7
        ":contains(\"Apps\")": 8
        ":contains(\"Books\")": 9
    title:
      selector: div.resultdivtop a div.resultdivtopname
    details:
      selector: div.resultdivtop a
      attribute: href
    download_itorrents:
      selector: div.resultdivbotton div.hideinfohash
      filters:
        - name: toupper
        - name: prepend
          args: http://itorrents.org/torrent/
        - name: append
          args: ".torrent"
    download:
      text: "{{ if .Config.itorrents-links }}{{ .Result.download_itorrents }}{{ else }}{{ end }}"
    infohash:
      selector: div.resultdivbotton div.hideinfohash
    date:
      selector: div.resultdivbotton div.resulttime div.resultdivbottontime
      filters:
        - name: timeago
    size:
      selector: div.resultdivbotton div.resultlength div.resultdivbottonlength
    files:
      selector: div.resultdivbotton div.resultfile div.resultdivbottonfiles
    seeders:
      selector: div.resultdivbotton div.resultseed div.resultdivbottonseed
    leechers:
      text: 0
    downloadvolumefactor:
      text: 0
    uploadvolumefactor:
      text: 1
# engine n/a
