---
id: 3dtorrents
name: 3D Torrents
description: "3D Torrents (3DT) is a Private Torrent Tracker for 3D HD / BLURAY MOVIES"
language: en-US
type: private
encoding: UTF-8
links:
  - http://www.3dtorrents.org/ # site does not support https ERR_CONNECTION_CLOSED

caps:
  categorymappings:
    - {id: 14, cat: Movies/SD, desc: "Movies XviD"}
    - {id: 15, cat: Movies/DVD, desc: "Movies DVD-R"}
    - {id: 11, cat: Movies/HD, desc: "Movies 720p"}
    - {id: 13, cat: Movies/HD, desc: "Movies 1080p"}
    - {id: 16, cat: Movies/3D, desc: "Movies 3DTV"}
    - {id: 17, cat: Movies/BluRay, desc: "Movies Blu-ray"}
    - {id: 27, cat: Movies/BluRay, desc: "Movies BD25 Encode"}
    - {id: 33, cat: Movies/BluRay, desc: "Movies BD9 AVCHD"}
    - {id: 22, cat: Movies, desc: "Movies Home Conversions"}
    - {id: 32, cat: Movies, desc: "Movies Bluray MKV Remux"}
    - {id: 38, cat: Movies, desc: "Movies Studio Conversion"}
    - {id: 39, cat: Movies/3D, desc: "Movies VR 360"}
    - {id: 23, cat: Movies/3D, desc: "Movies Evo 3D"}
    - {id: 36, cat: Movies/UHD, desc: "Movies 4K UHD Bluray"}
    - {id: 37, cat: Movies/UHD, desc: "Movies 4K UHD Encode"}
    - {id: 21, cat: PC, desc: "3D Software"}
    - {id: 28, cat: XXX, desc: "Adult 720p"}
    - {id: 29, cat: XXX, desc: "Adult 1080p"}
    - {id: 30, cat: XXX, desc: "Adult Blu-ray"}
    - {id: 31, cat: Other, desc: "Misc"}
    - {id: 19, cat: Audio, desc: "Audio Packs"}

  modes:
    search: [q]
    movie-search: [q]
    music-search: [q]

settings:
  - name: username
    type: text
    label: Username
  - name: password
    type: password
    label: Password
  - name: freeleech
    type: checkbox
    label: Filter freeleech only
    default: false
  - name: sort
    type: select
    label: Sort requested from site
    default: 3
    options:
      3: created
      5: seeders
      2: title
  - name: type
    type: select
    label: Order requested from site
    default: 2
    options:
      1: desc
      2: asc
  - name: info
    type: info
    label: Results Per Page
    default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
  - name: info_activity
    type: info
    label: Account Inactivity
    default: "Inactivity grace period is three months which means that if you do not log in to the 3Dtorrents web site for 90 days, your account will be deleted. If you are VIP your will stay until the VIP period is over."
  - name: info_captcha
    type: info
    label: About Captcha
    default: "Note that the captcha on the 3Dtorrents login page is Case Sensitive."

login:
  path: index.php?page=login
  method: form
  form: form
  inputs:
    uid: "{{ .Config.username }}"
    pwd: "{{ .Config.password }}"
  captcha:
    type: image
    selector: img.captcha
    input: private_key
  error:
    - selector: span.errormsg
  test:
    path: index.php
    selector: a[href="logout.php"]

search:
  paths:
    - path: index.php
  inputs:
    $raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
    search: "{{ .Keywords }}"
    page: torrents
    category: 0
    # 0 all, 1 Anaglyph 3D, 2 Side by Side,3 Over Under
    3dformat: 0
    # 0 all, 1 active only, 2 dead only
    active: 0
    order: "{{ .Config.sort }}"
    by: "{{ .Config.type }}"

  rows:
    selector: "table[cellspacing!=\"1\"].lista > tbody > tr:has(a[href^=\"index.php?page=torrents&category=\"]){{ if .Config.freeleech }}:has(img[src=\"images/sign_free.png\"]){{ else }}{{ end }}"

  fields:
    category:
      selector: a[href^="index.php?page=torrents&category="]
      attribute: href
      filters:
        - name: querystring
          args: category
        - name: re_replace
          args: ["(\\b0\\b)", "31"]
    title:
      selector: a[href^="index.php?page=torrent-details&id="]
    details:
      selector: a[href^="index.php?page=torrent-details&id="]
      attribute: href
    download:
      selector: a[href^="index.php?page=torrent-details&id="]
      attribute: href
      filters:
        - name: replace
          args: ["index.php?page=torrent-details&id=", "download.php?id="]
    poster:
      selector: a[href^="index.php?page=torrent-details&id="]
      attribute: onmouseover
      filters:
        - name: regexp
          args: ",\\'(.+?)\\'"
    genre:
      selector: td:nth-child(2) span
    description:
      text: "{{ .Result.genre }}"
    date:
      selector: td:nth-last-child(5)
      filters:
        - name: append
          args: " -07:00" # PDT
        - name: dateparse
          args: "dd/MM/yyyy zzz"
    size:
      selector: td:nth-last-child(4)
    seeders:
      selector: a[href^="index.php?page=peers"]
    leechers:
      selector: td:has(a[href^="index.php?page=peers"]) + td
    grabs:
      selector: a[href^="index.php?page=torrent_history"]
      optional: true
      default: 0
    downloadvolumefactor:
      case:
        img[src="images/sign_free.png"]: 0
        img[src="images/50off.png"]: 0.5
        "*": 1
    uploadvolumefactor:
      text: 1
    minimumratio:
      text: 1.0
# xbtit
