// server.js
const { WebSocketServer } = require('ws');
const { exec } = require('child_process');
// 8080-portda WebSocket serverni ishga tushiramiz
const wss = new WebSocketServer({ port: 8080 });
console.log('Terminal serveri 8080 portda ishlamoqda...');
wss.on('connection', (ws) => {
console.log('Brauzer serverga ulandi.');
// Brauzerdan buyruq kelganda
ws.on('message', (message) => {
const command = message.toString();
console.log(`Bajarilmoqda: ${command}`);
// Xavfsizlik uchun faqat xavfsiz buyruqlarga ruxsat berish (ixtiyoriy)
// Haqiqiy terminal buyrug'ini kompyuterda ishga tushirish
exec(command, (error, stdout, stderr) => {
if (error) {
ws.send(`Xatolik: ${error.message}`);
return;
}
if (stderr) {
ws.send(`Terminal xatosi: ${stderr}`);
return;
}
// Natijani brauzerga qaytarish
ws.send(stdout || 'Buyruq bajarildi, lekin chiqish matni yo‘q.');
});
});
});