PrzZiomek2 2e0ea198f1 add 'back' and 'home' buttons
Summary: Ref T2746

Reviewers: #testers, kuba-orlik

Reviewed By: #testers, kuba-orlik

Subscribers: kuba-orlik

Maniphest Tasks: T2746

Differential Revision: https://hub.sealcode.org/D1393
2024-03-25 23:02:26 +01:00

51 lines
1.2 KiB
JavaScript

const net = require("net");
const child_process = require("child_process");
const fs = require("fs");
const server = net.createServer();
async function spawnPromise(program, args) {
return new Promise((resolve, reject) => {
const process = child_process.spawn(program, args);
process.on("close", (_) => {
resolve();
});
});
}
//maybe check output of child processe and send errors in some way
server.on("connection", (socket) => {
socket.on("data", async (dataBuf) => {
data = dataBuf.toString();
if (data === "screenshot") {
socket.write("start");
await spawnPromise("bash", ["/conf/screenshot.sh"]);
socket.write(fs.readFileSync("/screenshot.png"));
socket.write("ENDOFMSG");
} else if (data.includes("touch")) {
dataSplit = data.split(" ");
await spawnPromise("bash", [
"/conf/touch.sh",
dataSplit[1],
dataSplit[2],
]);
} else if (data === "back") {
await spawnPromise("bash", [
"/conf/back.sh",
]);
} else if (data === "home") {
await spawnPromise("bash", [
"/conf/home.sh",
]);
}
});
socket.on("close", (_) => {
socket.end();
});
});
server.listen(3000, () => {
console.log("listening on 3000");
});