---
id: cpasbienclone
name: cpasbien clone
description: "cpasbien clone is a FRENCH Public site for MOVIES / TV / GENERAL"
language: fr-FR
type: public
encoding: UTF-8
followredirect: true
links:
  - https://www1.cpasbien.to/
legacylinks:
  - https://www1.cpasbiens.ws/
  - https://www2.cpasbiens.ws/
  - https://cpasbiens.cm/
  - https://www1.cpasbiens.cm/
  - https://wwv.cpasbien.to/
  - https://cpasbiens.black-mirror.xyz/
  - https://cpasbiens.unblocked.casa/
  - https://cpasbiens.proxyportal.fun/
  - https://cpasbiens.uk-unblock.xyz/
  - https://cpasbiens.ind-unblock.xyz/
  - https://www.cpasbien.gg/
  - https://www.cpasbien.vip/
  - https://cpasbien.to/
  - https://www.cpasbien.tw/
  - https://www.cpasbien.love/

caps:
  categories:
    Other: Other

  modes:
    search: [q]
    tv-search: [q, season, ep]
    movie-search: [q]
  allowrawsearch: true

settings:
  - name: info_category_8000
    type: info_category_8000
  - name: multilang
    type: checkbox
    label: Replace MULTi by another language in release name
    default: false
  - name: multilanguage
    type: select
    label: Replace MULTi by this language
    default: FRENCH
    options:
      FRENCH: FRENCH
      MULTi FRENCH: MULTi FRENCH
      ENGLISH: ENGLISH
      MULTi ENGLISH: MULTi ENGLISH
      VOSTFR: VOSTFR
      MULTi VOSTFR: MULTi VOSTFR
  - name: vostfr
    type: checkbox
    label: Replace VOSTFR and SUBFRENCH with ENGLISH
    default: false
  - name: sort
    type: select
    label: Sort requested from site (Works only for searches with Keywords)
    default: trie-date-d
    options:
      trie-date-d: created desc
      trie-date-a: created asc
      trie-seeds-d: seeders desc
      trie-seeds-a: seeders asc
      trie-poid-d: size desc
      trie-poid-a: size asc
      trie-nom-d: title desc
      trie-nom-a: title asc

download:
  before:
    # request target
    path: "download_magnet?id={{ re_replace .DownloadUri.AbsoluteUri \"^.*-(\\d+)\\.html\" \"$1\" }}"
  selectors:
    - selector: body
      usebeforeresponse: true

search:
  paths:
    - path: "{{ if .Keywords }}search_torrent/{{ .Keywords }}.html,{{ .Config.sort }}{{ else }}home/{{ end }}"

  rows:
    selector: table.table-corps > tbody > tr:has(a)

  fields:
    category:
      text: Other
    title_phase1:
      selector: a
      filters:
        - name: re_replace
          args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b((19|20)\\d{2})\\b)$", "$3 $1$2"]
    title_vostfr:
      text: "{{ .Result.title_phase1 }}"
      filters:
        - name: re_replace
          args: ["(?i)\\b(vostfr|subfrench)\\b", "ENGLISH"]
    title_phase2:
      text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
    title_multilang:
      text: "{{ .Result.title_phase2 }}"
      filters:
        - name: re_replace
          args: ["(?i)\\b(MULTI(?!.*(?:FRENCH|ENGLISH|VOSTFR)))\\b", "{{ .Config.multilanguage }}"]
    title:
      text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
    details:
      selector: a
      attribute: href
    download:
      selector: a
      attribute: href
    size:
      selector: div.poid
      filters:
        - name: re_replace
          args: ["(\\w)o", "$1B"]
          # keyword search returns nnnnn.n in MB but without unit indicator
        - name: re_replace
          args: ["(\\d+\\.\\d)$", "$1MB"]
    date:
      text: now
    seeders:
      selector: div.up
      optional: true
      default: 0
    leechers:
      selector: div.down
      optional: true
      default: 0
    downloadvolumefactor:
      text: 0
    uploadvolumefactor:
      text: 1
# engine n/a
