403Webshell
Server IP : 202.61.199.114  /  Your IP : 216.73.217.139
Web Server : nginx/1.22.1
System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
User : web20 ( 1018)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /tmp/shotdir/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /tmp/shotdir/shot.js
const { chromium } = require('playwright-core');
const fs = require('fs');

// find chromium binary
const base = '/tmp/pw-browsers';
let exe = null;
for (const d of fs.readdirSync(base)) {
  const p = `${base}/${d}/chrome-linux/chrome`;
  if (fs.existsSync(p)) { exe = p; break; }
}
if (!exe) { console.error('no chromium'); process.exit(1); }

(async () => {
  const browser = await chromium.launch({
    executablePath: exe,
    args: [
      '--host-resolver-rules=MAP pacim.de 127.0.0.1, MAP www.pacim.de 127.0.0.1',
      '--ignore-certificate-errors',
      '--no-sandbox',
    ],
  });
  const ctx = await browser.newContext({ viewport: { width: 1280, height: 900 }, ignoreHTTPSErrors: true, deviceScaleFactor: 1 });
  const page = await ctx.newPage();
  const targets = process.argv.slice(2);
  for (const t of targets) {
    const [url, out] = t.split('::');
    await page.goto(url, { waitUntil: 'networkidle', timeout: 45000 });
    await page.waitForTimeout(1200);
    // scroll to trigger reveal animations then back to top for full screenshot
    await page.evaluate(async () => {
      await new Promise(res => { let y=0; const i=setInterval(()=>{window.scrollTo(0,y); y+=600; if(y>document.body.scrollHeight){clearInterval(i);res();}},40); });
    });
    await page.waitForTimeout(800);
    await page.evaluate(() => window.scrollTo(0,0));
    await page.waitForTimeout(400);
    await page.screenshot({ path: out, fullPage: true });
    console.log('shot', out);
  }
  await browser.close();
})().catch(e => { console.error(e); process.exit(1); });

Youez - 2016 - github.com/yon3zu
LinuXploit