aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjakobs1n <jakob.stendahl@outlook.com>2018-04-24 18:03:52 +0000
committerjakobs1n <jakob.stendahl@outlook.com>2018-04-24 18:03:52 +0000
commit1518b753353a8a57d02cef8ecb62f6a3fe90e109 (patch)
tree1b7b960b7efae73ded1da4907eeac8b658494877
downloadRemoteWOL-1518b753353a8a57d02cef8ecb62f6a3fe90e109.tar.gz
RemoteWOL-1518b753353a8a57d02cef8ecb62f6a3fe90e109.zip
Initial commit
-rw-r--r--.gitignore2
-rw-r--r--app.js46
-rw-r--r--config/devices.json.exmaple3
-rw-r--r--package-lock.json13
-rw-r--r--package.json13
5 files changed, 77 insertions, 0 deletions
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 = "<html><body><p>Waking things:</p><hr />";
+ 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 + "<hr /><p>No more devices to wake :)</body></html></p>");
+ break;
+
+ case "/":
+ res.end("<h1>heim.jakobstendahl.tk WOL</h1><a href=\"wakeAll\">Wake all devices</a>");
+ break;
+
+
+ default:
+ res.end("<h1>404 file not found</h1><hr /><p>Please check your URL!</p>");
+ }
+
+}
+
+// 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"
+ }
+}