--- id: opencd name: OpenCD description: "OpenCD is a CHINESE Private Torrent Tracker for MUSIC" language: zh-CN type: private encoding: UTF-8 links: - https://open.cd/ caps: categorymappings: - {id: 2, cat: Audio, desc: "华语流行(Pop)"} - {id: 3, cat: Audio, desc: "古典音乐(Classical)"} - {id: 11, cat: Audio, desc: "民族音乐(Instrumental)"} - {id: 4, cat: Audio, desc: "原声配乐(OST)"} - {id: 5, cat: Audio, desc: "泛摇滚乐(Rock)"} - {id: 8, cat: Audio, desc: "爵士乡村(Jazz)"} - {id: 12, cat: Audio, desc: "新世纪(NewAge)"} - {id: 13, cat: Audio, desc: "舞曲(Dance)"} - {id: 14, cat: Audio, desc: "电子(Electronic)"} - {id: 15, cat: Audio, desc: "民谣(Folk)"} - {id: 16, cat: Audio, desc: "独立(Indie)"} - {id: 17, cat: Audio, desc: "嘻哈(Hip Hop)"} - {id: 18, cat: Audio, desc: "音乐剧(Musical)"} - {id: 19, cat: Audio, desc: "乡村(Country)"} - {id: 20, cat: Audio, desc: "另类(Alternative)"} - {id: 21, cat: Audio, desc: "世界音樂(World))"} - {id: 9, cat: Audio, desc: "其它类型(Others)"} modes: search: [q] music-search: [q, artist] settings: - name: cookie type: text label: Cookie - name: info type: info label: How to get the Cookie default: "
  1. Login to this tracker with your browser
  2. Open the DevTools panel by pressing F12
  3. Select the Network tab
  4. Click on the Doc button (Chrome Browser) or HTML button (FireFox)
  5. Refresh the page by pressing F5
  6. Click on the first row entry
  7. Select the Headers tab on the Right panel
  8. Find 'cookie:' in the Request Headers section
  9. Select and Copy the whole cookie string (everything after 'cookie: ') and Paste here.
" - name: freeleech type: checkbox label: Search freeleech only default: false - name: info_tpp type: info label: Results Per Page default: For best results, change the Torrents per page: setting to 100 on your account profile. Default is 50. - 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: method: cookie inputs: cookie: "{{ .Config.cookie }}" test: path: index.php selector: a[href="logout.php"] search: paths: # https://open.cd/torrents.php?source11=1&source18=1&incldead=0&spstate=0&search=&search_area=0&search_mode=0 - path: torrents.php inputs: $raw: "{{ range .Categories }}source{{.}}=1&{{end}}" search: "{{ if .Query.Artist }}{{ .Query.Artist }}{{ else }}{{ .Keywords }}{{ end }}" # 0 incldead, 1 active, 2 dead incldead: 0 # 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30% spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}" # 0 title, 1 descr, 3 uploader, 4 imdburl, 5 traklist, 6 artistname search_area: "{{ if .Query.Artist }}6{{ else }}0{{ end }}" # 0 AND, 1 OR, 2 exact search_mode: 0 sort: "{{ .Config.sort }}" type: "{{ .Config.type }}" rows: selector: table.torrents > tbody > tr:has(table.torrentname) fields: category: selector: td:nth-child(1) attribute: title case: td[title="华语流行"]: 2 td[title="古典音乐"]: 3 td[title="民族音乐"]: 11 td[title="原声配乐"]: 4 td[title="泛摇滚乐"]: 5 td[title="爵士乡村"]: 8 td[title="新世纪"]: 12 td[title="舞曲"]: 13 td[title="电子"]: 14 td[title="民谣"]: 15 td[title="独立"]: 16 td[title="嘻哈"]: 17 td[title="音乐剧"]: 18 td[title="乡村(Country)"]: 19 td[title="另类(Alternative)"]: 20 td[title="世界音樂(World)"]: 21 td[title="其它类型"]: 9 # Some torrents have no title set on td td:not([title]): 9 title_default: selector: a[href*="details.php?id="] title_optional: optional: true selector: a[title][href*="details.php?id="] attribute: title title: text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}" details: selector: a[href*="details.php?id="] attribute: href download: selector: a[href^="download.php?id="] attribute: href poster: selector: img[id^="attach"] attribute: src filters: - name: prepend args: "https://images.weserv.nl/?url={{ .Config.sitelink }}" # for display on dashboard - name: append args: "&w=180&h=270" # for display on dashboard date_elapsed: # time type: time elapsed (default) selector: td:nth-child(6) > span[title] attribute: title optional: true filters: - name: append args: " +08:00" # CST - name: dateparse args: "2006-01-02 15:04:05 -07:00" date_added: # time added selector: td:nth-child(6):not(:has(span)) optional: true filters: - name: append args: " +08:00" # CST - name: dateparse args: "2006-01-0215:04:05 -07:00" date: text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}" size: selector: td:nth-child(7) seeders: selector: td:nth-child(8) leechers: selector: td:nth-child(9) grabs: selector: td:nth-child(10) downloadvolumefactor: case: img.pro_free: 0 img.pro_free2up: 0 img.pro_50pctdown: 0.5 img.pro_50pctdown2up: 0.5 img.pro_30pctdown: 0.3 "*": 1 uploadvolumefactor: case: img.pro_50pctdown2up: 2 img.pro_free2up: 2 img.pro_2up: 2 "*": 1 description: selector: td:nth-child(3) remove: a, img minimumratio: text: 1.0 minimumseedtime: # 36 hours (as seconds = 36 x 60 x 60) text: 129600 # NexusPHP Standard v1.5 Beta 4 (customised)