---
id: p2pelite
name: P2PElite
description: "P2PElite is a Private Torrent Tracker for EBOOKS / AUDIOBOOKS"
language: en-us
type: private
encoding: UTF-8
links:
  - https://p2pelite.com/

caps:
  categorymappings:
    - {id: 19, cat: PC, desc: "Apps"}
    - {id: 11, cat: Audio/Audiobook, desc: "Audio Books"}
    - {id: 40, cat: Books/EBook, desc: "Best Sellers"}
    - {id: 17, cat: Books/EBook, desc: "Biographical"}
    - {id: 27, cat: Books/EBook, desc: "Business/Finance"}
    - {id: 8, cat: Books/EBook, desc: "Children"}
    - {id: 30, cat: Books/EBook, desc: "Classic"}
    - {id: 2, cat: Books/Comics, desc: "Comics/GraphicNovels/Manga"}
    - {id: 14, cat: Books/EBook, desc: "Computer"}
    - {id: 15, cat: Books/EBook, desc: "Cookbooks"}
    - {id: 22, cat: Books/EBook, desc: "Crime/Thriller/Mystery"}
    - {id: 10, cat: Books/EBook, desc: "DIY"}
    - {id: 6, cat: Books/EBook, desc: "Educational"}
    - {id: 12, cat: Books/Other, desc: "Educational Videos"}
    - {id: 20, cat: Books/EBook, desc: "Erotica/over 18"}
    - {id: 23, cat: Books/EBook, desc: "Fantasy"}
    - {id: 1, cat: Books/EBook, desc: "Fiction"}
    - {id: 18, cat: Books/EBook, desc: "Gardening"}
    - {id: 21, cat: Books/EBook, desc: "Health"}
    - {id: 33, cat: Books/EBook, desc: "Historical Fiction"}
    - {id: 16, cat: Books/EBook, desc: "History"}
    - {id: 4, cat: Books/EBook, desc: "Hobby/Pastimes"}
    - {id: 29, cat: Books/EBook, desc: "Horror"}
    - {id: 5, cat: Books/EBook, desc: "Language Learning"}
    - {id: 7, cat: Books/Mags, desc: "Magazines"}
    - {id: 13, cat: Books/Other, desc: "Misc"}
    - {id: 34, cat: Audio, desc: "Music"}
    - {id: 37, cat: Books/EBook, desc: "New Adult"}
    - {id: 28, cat: Books/EBook, desc: "Non-English"}
    - {id: 3, cat: Books/EBook, desc: "Non-Fiction/Reference"}
    - {id: 24, cat: Books/EBook, desc: "Paranormal Romance"}
    - {id: 39, cat: Books/EBook, desc: "Philosophy"}
    - {id: 25, cat: Books/EBook, desc: "Romance"}
    - {id: 26, cat: Books/EBook, desc: "SciFi"}
    - {id: 9, cat: Books/EBook, desc: "Teens"}
    - {id: 32, cat: Other, desc: "torrent not modded"}
    - {id: 35, cat: Books/EBook, desc: "True Crime"}
    - {id: 38, cat: Books/EBook, desc: "Urban Fantasy"}
    - {id: 31, cat: Books/EBook, desc: "Western"}

  modes:
    search: [q]
    book-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: 4
    options:
      4: created
      7: seeders
      5: size
      1: title
  - name: type
    type: select
    label: Order requested from site
    default: desc
    options:
      desc: desc
      asc: asc

login:
  path: login.php
  method: form
  form: form[action="takelogin.php"]
  inputs:
    username: "{{ .Config.username }}"
    password: "{{ .Config.password }}"
    returnto: /
    perm_ssl: 1
  error:
    - selector: td.embedded:has(h2:contains("failed"))
    - selector: td.embedded:has(h2:contains("Error"))
  test:
    path: index.php
    selector: a[href^="./logout.php"]

search:
  paths:
    - path: browse.php
  inputs:
    $raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
    search: "{{ .Keywords }}"
    # 0 active, 1 incldead, 2 onlydead, 3 new
    incldead: 1
    sort: "{{ .Config.sort }}"
    type: "{{ .Config.type }}"

  rows:
    selector: "table[border=\"1\"][cellspacing=\"0\"][cellpadding=\"5\"]  > tbody > tr:has(a[href^=\"download.php?torrent=\"]){{ if .Config.freeleech }}:has(a.info:contains(\"[FREE]\")){{ else }}{{ end }}"

  fields:
    category:
      selector: a[href^="browse.php?cat="]
      attribute: href
      filters:
        - name: querystring
          args: cat
    title:
      selector: a[href^="details.php?id="]
      attribute: onmouseover
      filters:
        - name: regexp
          args: "<b>(.+?)</b>"
    details:
      selector: a[href^="details.php?id="]
      attribute: href
    download:
      selector: a[href^="download.php?torrent="]
      attribute: href
    poster:
      selector: a[href^="details.php?id="]
      attribute: onmouseover
      filters:
        - name: regexp
          args: "src=\\\\'(.+?)\\\\'"
        - name: replace
          args: ["./pic/noposter.png", ""]
    files:
      selector: td:nth-last-child(8)
    date:
      selector: td:nth-last-child(6):contains("day")
      optional: true
    date:
      selector: td:nth-last-child(6):not(:contains("day"))
      optional: true
      filters:
        - name: append
          args: " +00:00" # auto adjusted by site account profile
        - name: dateparse
          args: "Jan 2 2006 03:04 PM -07:00"
    size:
      selector: td:nth-last-child(5)
    grabs:
      selector: td:nth-last-child(4)
      filters:
        - name: regexp
          args: (\d+)
    seeders:
      selector: td:nth-last-child(3)
    leechers:
      selector: td:nth-last-child(2)
    downloadvolumefactor:
      case:
        a.info:contains("[FREE]"): 0
        "*": 1
    uploadvolumefactor:
      text: 1
    minimumratio:
      text: 0.5
# TBDEV
