132 lines
3.2 KiB
YAML
132 lines
3.2 KiB
YAML
# CGPeers uses the Luminance code, which is based on gazelle
|
|
# ajax.php API additionally needs the auth=$authkey argument
|
|
# Because the API is e.g. missing poster images we use screen scraping instead of the generic gazelle based approach
|
|
---
|
|
id: cgpeers
|
|
name: CGPeers
|
|
description: "CGPeers is a Private Torrent Tracker for GRAPHICS SOFTWARE / TUTORIALS / ETC"
|
|
language: en-US
|
|
type: private
|
|
encoding: UTF-8
|
|
links:
|
|
- https://cgpeers.to/
|
|
legacylinks:
|
|
- https://www.cgpeers.com/
|
|
|
|
caps:
|
|
categorymappings:
|
|
- {id: 1, cat: PC/ISO, desc: "Applications"}
|
|
- {id: 8, cat: PC/ISO, desc: "Audio"}
|
|
- {id: 7, cat: Other, desc: "Game Development"}
|
|
- {id: 5, cat: Other, desc: "Materials"}
|
|
- {id: 6, cat: Other/Misc, desc: "Miscellaneous"}
|
|
- {id: 4, cat: Other, desc: "Models"}
|
|
- {id: 2, cat: PC/0day, desc: "Plugins"}
|
|
- {id: 3, cat: Other, desc: "Tutorials"}
|
|
- {id: 9, cat: Other, desc: "Web Development"}
|
|
|
|
modes:
|
|
search: [q]
|
|
|
|
settings:
|
|
- name: cookie
|
|
type: text
|
|
label: Cookie
|
|
- name: info_cookie
|
|
type: info_cookie
|
|
- name: freeleech
|
|
type: checkbox
|
|
label: Search freeleech only
|
|
default: false
|
|
- name: sort
|
|
type: select
|
|
label: Sort requested from site
|
|
default: time
|
|
options:
|
|
time: created
|
|
seeders: seeders
|
|
size: size
|
|
- name: type
|
|
type: select
|
|
label: Order requested from site
|
|
default: desc
|
|
options:
|
|
desc: desc
|
|
asc: asc
|
|
|
|
login:
|
|
method: cookie
|
|
inputs:
|
|
cookie: "{{ .Config.cookie }}"
|
|
test:
|
|
path: index.php
|
|
selector: a[href^="/user.php?id="]
|
|
|
|
search:
|
|
paths:
|
|
- path: torrents.php
|
|
inputs:
|
|
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
|
title: "{{ .Keywords }}"
|
|
order_by: "{{ .Config.sort }}"
|
|
order_way: "{{ .Config.type }}"
|
|
action: advanced
|
|
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
|
|
|
rows:
|
|
selector: table#torrent_table > tbody > tr:has(a[href*="action=download"])
|
|
|
|
fields:
|
|
download:
|
|
selector: a[href^="/torrents.php?action=download&id="]
|
|
attribute: href
|
|
title:
|
|
selector: a[href^="/torrents.php?id="]
|
|
category:
|
|
selector: a[href*="filter_cat"]
|
|
attribute: href
|
|
filters:
|
|
- name: regexp
|
|
args: "(\\d+)]=1"
|
|
details:
|
|
selector: a[href^="/torrents.php?id="]
|
|
attribute: href
|
|
poster:
|
|
selector: td:nth-child(2) > script
|
|
filters:
|
|
- name: regexp
|
|
args: "src=(.*?)>"
|
|
- name: re_replace
|
|
args: ["[\\\\\"]", ""]
|
|
- name: re_replace
|
|
args: ["/static/common/noartwork/.+", ""]
|
|
files:
|
|
selector: td:nth-child(3)
|
|
date:
|
|
selector: td:nth-child(6) > span
|
|
attribute: title
|
|
# auto adjusted by site account profile
|
|
filters:
|
|
- name: dateparse
|
|
args: "MMM dd yyyy, HH:mm"
|
|
size:
|
|
selector: td:nth-child(7)
|
|
grabs:
|
|
selector: td:nth-child(8)
|
|
seeders:
|
|
selector: td:nth-child(9)
|
|
leechers:
|
|
selector: td:nth-child(10)
|
|
downloadvolumefactor:
|
|
case:
|
|
i.unlimited_leech: 0
|
|
i.sitewide_leech: 0
|
|
img[alt="Freeleech"]: 0
|
|
"*": 1
|
|
uploadvolumefactor:
|
|
case:
|
|
span.icon[title*="DoubleSeed"]: 2
|
|
img[alt="DoubleSeed"]: 2
|
|
"*": 1
|
|
# luminance
|