Npm Install express
body-parser
wol
silly-datetime
npm install express body-parser wol silly-datetime --sava
sudo npm install pm2 -g
sudo pm2 start /volume1/web/node/pm2_config.json
/** | |
* 首页文件 | |
* */ | |
//1. 导入express | |
var express = require('express'); | |
var wol = require('./wol.js'); | |
// 创建服务器 | |
var app = new express(); | |
app.use('/wol', wol); | |
//. 绑定端口 | |
app.listen(5050); |
{ | |
"apps" : [{ | |
"name" : "nodewol", | |
"script" : "/volume1/web/node/index.js", | |
"cwd" : "/volume1/web/node/", | |
"instances" : "1", | |
"log_date_format" : "YYYY-MM-DD HH:mm Z", | |
"log_file" : "/volume1/web/node/log/wol.log", | |
"error_file" : "/volume1/web/node/log/wol-err.log", | |
"out_file" : "/volume1/web/node/log/wol-out.log", | |
"watch" : true | |
}] | |
} |
/** | |
* Post请求执行 shell 命令 | |
* 只要向这个地址提交 {"mac":"设备 MAC 地址"} | |
* kaiyuan Hsie | |
* https://boxks.com | |
* */ | |
//1. 导入express | |
var express = require('express'); | |
// 解析器 需要安装 npm install -g body-parser | |
var bodyParser = require('body-parser'); | |
// WOL 模块 | |
var wolfun = require('wol'); | |
// 时间模块 | |
var sd = require('silly-datetime'); | |
var nowTime=sd.format(new Date(), 'YYYY-MM-DD HH:mm:ss'); | |
// 创建 application/x-www-form-urlencoded 编码解析 | |
var urlencodedParser = bodyParser.urlencoded({ extended: false }); | |
// 创建服务器 | |
var router = express.Router(); | |
router.post("*", urlencodedParser, function (request, response) { | |
// | |
if (!request.body) { | |
response.send("请提交设备 MAC 地址"); | |
} else { | |
var thisMAC = request.body.mac; | |
wolfun.wake(thisMAC, function(error, postText){ | |
if (error !== null) { | |
console.log('-wol- exec error: ' + error+' '+nowTime); | |
response.send('exec error: ' +error); | |
} else { | |
console.log("-wol- "+thisMAC+' '+postText+' '+nowTime); | |
response.send('已经叫咗电脑开机!'); | |
} | |
}); | |
} | |
}); | |
module.exports = router; |