T.ME/BIBIL_0DAY
CasperSecurity


Server : Apache/2
System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64
User : gositeme ( 1004)
PHP Version : 8.2.29
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Directory :  /home/gositeme/domains/lavocat.quebec/private_html/scripts/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/gositeme/domains/lavocat.quebec/private_html/scripts/download-lawyer-images.js
const fs = require('fs');
const path = require('path');
const https = require('https');

const images = [
  { name: 'virginie-dufresne-lemire.webp', url: 'https://www.adwavocats.com/wp-content/uploads/2022/09/virginie-dufresne-lemire.webp' },
  { name: 'allison-jayne-bender.webp', url: 'https://www.adwavocats.com/wp-content/uploads/2022/09/allison-jayne-bender.webp' },
  { name: 'giovanni-borgia.webp', url: 'https://www.adwavocats.com/wp-content/uploads/2022/09/giovanni-borgia.webp' },
  { name: 'nathalie-desjardins.webp', url: 'https://www.adwavocats.com/wp-content/uploads/2022/09/nathalie-desjardins.webp' },
  { name: 'antoine-duranleau-hendrickx.webp', url: 'https://www.adwavocats.com/wp-content/uploads/2022/09/antoine-duranleau-hendrickx.webp' },
  { name: 'clautal-gravel.webp', url: 'https://www.adwavocats.com/wp-content/uploads/2022/09/clautal-gravel.webp' },
  { name: 'yael-hochet.webp', url: 'https://www.adwavocats.com/wp-content/uploads/2022/09/yael-hochet.webp' },
  { name: 'antoine-laliberte.webp', url: 'https://www.adwavocats.com/wp-content/uploads/2022/09/antoine-laliberte.webp' },
  { name: 'ivan-lazarov.webp', url: 'https://www.adwavocats.com/wp-content/uploads/2022/09/ivan-lazarov.webp' },
  { name: 'yalda-machouf-khadir.webp', url: 'https://www.adwavocats.com/wp-content/uploads/2022/09/yalda-machouf-khadir.webp' },
  { name: 'olivia-malenfant.webp', url: 'https://www.adwavocats.com/wp-content/uploads/2022/09/olivia-malenfant.webp' },
  { name: 'imane-melab.webp', url: 'https://www.adwavocats.com/wp-content/uploads/2022/09/imane-melab.webp' },
  { name: 'lyn-mouhajer.webp', url: 'https://www.adwavocats.com/wp-content/uploads/2022/09/lyn-mouhajer.webp' },
  { name: 'mmah-nora-toure.webp', url: 'https://www.adwavocats.com/wp-content/uploads/2022/09/mmah-nora-toure.webp' },
];

const destDir = path.join(__dirname, '../public/images/lawyers');
if (!fs.existsSync(destDir)) fs.mkdirSync(destDir, { recursive: true });

function downloadImage(url, dest) {
  return new Promise((resolve, reject) => {
    const file = fs.createWriteStream(dest);
    https.get(url, (response) => {
      if (response.statusCode !== 200) {
        fs.unlinkSync(dest);
        return reject(new Error(`Failed to get '${url}' (${response.statusCode})`));
      }
      response.pipe(file);
      file.on('finish', () => file.close(resolve));
    }).on('error', (err) => {
      fs.unlinkSync(dest);
      reject(err);
    });
  });
}

(async () => {
  let success = 0;
  let failed = 0;
  for (const img of images) {
    const dest = path.join(destDir, img.name);
    if (fs.existsSync(dest)) {
      console.log(`${img.name} already exists, skipping.`);
      continue;
    }
    try {
      await downloadImage(img.url, dest);
      console.log(`Downloaded: ${img.name}`);
      success++;
    } catch (e) {
      console.log(`Failed: ${img.name} (${img.url})`);
      failed++;
    }
  }
  console.log(`\nDownload complete. Success: ${success}, Failed: ${failed}`);
})(); 

CasperSecurity Mini