const SftpClient = require('ssh2-sftp-client'); const { Client } = require('ssh2'); const remoteExtractScript = ` const fs = require('fs'); const path = require('path'); const root = '/home/adminbackend/web/demoplace.my.id/public_html/.next/standalone/.next/server/chunks'; console.log('=== EXTRACTING ALL PAGE HEADERS FROM CHUNKS ===\\n'); const files = fs.readdirSync(root); files.forEach(f => { if (!f.endsWith('.js')) return; const content = fs.readFileSync(path.join(root, f), 'utf8'); // Match header titles in React JSX: e.g. text-3xl font-bold ... >TitleText< const titleMatches = content.matchAll(/text-3xl[^>]*>([^<]{3,40})]*>([^<]{3,30}) { conn.exec(`node ${remoteScriptPath}`, (err, stream) => { let out = ''; stream.on('data', d => out += d); stream.on('close', () => { console.log(out); conn.end(); }); }); }).connect({ host: '103.185.47.52', port: 2222, username: 'adminbackend', password: 'htEo7x6LsBQiEHHH' }); } main();