UNPKG

our-stop-server

Version:

Stop your computer using your phone or your tablet, from your bed or your couch and start .bat file from your own computer

97 lines (79 loc) 2.23 kB
var path = require('path') var util = require('util') var express = require('express') var address = require('network-address') var updateNotifier = require('update-notifier') var powerOff = require('power-off') var sleepMode = require('sleep-mode') // for open a window var child_process = require('child_process') const {exec} = require('child_process') var pkg = require('./package.json') var app = express() app.use(express.static(path.join(__dirname, 'public'))) app.delete('/', function (req, res) { res.end() util.log('exit') process.exit() }) app.post('/power-off', function (req, res) { powerOff(function (err) { if (err) { util.log(err) res.status(500).json({ error: 'Can\'t run power-off' }) } else { res.end() } }) }) app.post('/sleep', function (req, res) { sleepMode(function (err) { if (err) { util.log(err) res.status(500).json({ error: 'Can\'t run sleep' }) } else { res.end() } }) }) app.get('/address', function (req, res) { res.json({ address: address() }) }) app.get('/update', function (req, res) { updateNotifier({ pkg: pkg, callback: function (err, update) { if (err) return res.json({}) res.json(update) } }) }) app.get('/open', function (req, res) { console.log("[ Get .bat path: " + req.query.path + " & Get .bat name: " + req.query.name + " ]") child_process.execFile(req.query.name, null, {cwd:req.query.path}, function(error,stdout,stderr) { if(error !== null){ util.log("exec error"+error) } else util.log("成功") util.log('stdout: ' + stdout) util.log('stderr: ' + stderr) // res.setHeader("Connection", "Close"); // close connection so as to excute /open repeatly res.end() }) }) const appName = 'chrome.exe' app.get('/chrome', function (req, res) { // Kills a process based on filename of the exe and all child processes exec(`taskkill /im ${appName} /t /f`, (err, stdout, stderr) => { if (err) { throw err } console.log('stdout', stdout) console.log('stderr', err) }) res.end() }) var port = 5708 app.listen(port, function () { util.log('our-stop-server listening on port ' + port) })