From 1518b753353a8a57d02cef8ecb62f6a3fe90e109 Mon Sep 17 00:00:00 2001 From: jakobs1n Date: Tue, 24 Apr 2018 18:03:52 +0000 Subject: Initial commit --- .gitignore | 2 ++ app.js | 46 +++++++++++++++++++++++++++++++++++++++++++++ config/devices.json.exmaple | 3 +++ package-lock.json | 13 +++++++++++++ package.json | 13 +++++++++++++ 5 files changed, 77 insertions(+) create mode 100644 .gitignore create mode 100644 app.js create mode 100644 config/devices.json.exmaple create mode 100644 package-lock.json create mode 100644 package.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7094af6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +config/devices.json +node_modules/ diff --git a/app.js b/app.js new file mode 100644 index 0000000..bf02bcb --- /dev/null +++ b/app.js @@ -0,0 +1,46 @@ +let http = require("http"); +let fs = require("fs"); +let wol = require("node-wol"); + +// Get list of devices to be woken... +let devices = JSON.parse( + fs.readFileSync("config/devices.json", "utf8") +); + +// The requestHandler +let requestHandler = (req, res) => { + + switch (req.url) { + + case "/wakeAll": + var responseText = "

Waking things:


"; + for (var i = 0; i < devices.length; i++) { + responseText += "Waking \"" + devices[i] + '"'; + wol.wake(devices[0], (error) => { + if (error) { + console.log("WAKE ERROR"); + } + }); + } + res.end(responseText + "

No more devices to wake :)

"); + break; + + case "/": + res.end("

heim.jakobstendahl.tk WOL

Wake all devices"); + break; + + + default: + res.end("

404 file not found


Please check your URL!

"); + } + +} + +// Start the server +let server = http.createServer(requestHandler); +server.listen(10000, (err) => { + if (err) { + return console.log("Couldn't start server..."); + } + console.log("Server is listening on *:10000"); +}) diff --git a/config/devices.json.exmaple b/config/devices.json.exmaple new file mode 100644 index 0000000..591c404 --- /dev/null +++ b/config/devices.json.exmaple @@ -0,0 +1,3 @@ +[ + "40:61:86:64:27:87" +] diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..ca734a3 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,13 @@ +{ + "name": "remotewol", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "node-wol": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/node-wol/-/node-wol-0.1.1.tgz", + "integrity": "sha1-m+F/6LeZxeAKaq1ciTb0NoTl6D0=" + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..930e543 --- /dev/null +++ b/package.json @@ -0,0 +1,13 @@ +{ + "name": "remotewol", + "version": "1.0.0", + "description": "", + "scripts": { + "test": "node app.js" + }, + "author": "", + "license": "MIT", + "dependencies": { + "node-wol": "^0.1.1" + } +} -- cgit v1.2.3