From aa2bf08255f752576f0453a1aa08bb36ef8baa29 Mon Sep 17 00:00:00 2001 From: throwaway Date: Tue, 4 Aug 2026 23:05:11 -0700 Subject: [PATCH 1/2] read values from env --- server/hello-world.js | 2 +- server/lib/fplay.js | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/server/hello-world.js b/server/hello-world.js index 2aa8cf3..6442a6e 100644 --- a/server/hello-world.js +++ b/server/hello-world.js @@ -2,7 +2,7 @@ const fplay = require("./lib/fplay.js"); var port = 3030; var timeout = 30000; -var password = "cnc"; +var password = process.env.FOURPLAY_PASSWORD || "cnc"; fplay.event.on("server_ready", function(){ diff --git a/server/lib/fplay.js b/server/lib/fplay.js index d4bd5ff..401abf8 100644 --- a/server/lib/fplay.js +++ b/server/lib/fplay.js @@ -1,11 +1,13 @@ const http = require("http"); const { WebSocketServer } = require("ws"); +const {FOURPLAY_PORT = 3000, FOURPLAY_COMMAND_TIMEOUT = 5000, FOURPLAY_PASSWORD = "cnc"} = process.env; + var fplay = {}; -fplay.PORT = 3030; -fplay.COMMAND_TIMEOUT = 5000; -fplay.PASSWORD = "cnc"; +fplay.PORT = FOURPLAY_PORT; +fplay.COMMAND_TIMEOUT = FOURPLAY_COMMAND_TIMEOUT; +fplay.PASSWORD = FOURPLAY_PASSWORD; const { EventEmitter } = require("events"); fplay.event = new EventEmitter(); @@ -558,4 +560,8 @@ fplay.init = function(port = 3030, password = "cnc", command_timeout = 5000){ }); } +process.on('SIGINT', function() { + process.exit(); +}); + module.exports = fplay; -- 2.47.3 From 41e1c33e0ee6350012c4dc819505194541205211 Mon Sep 17 00:00:00 2001 From: throwaway Date: Tue, 4 Aug 2026 23:10:24 -0700 Subject: [PATCH 2/2] add package.json --- .gitignore | 2 -- server/package-lock.json | 37 +++++++++++++++++++++++++++++++++++++ server/package.json | 29 +++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 server/package-lock.json create mode 100644 server/package.json diff --git a/.gitignore b/.gitignore index 8ffdf0a..60734ab 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,3 @@ node_modules/ web-ext-artifacts/ *.swp -package.json -package-lock.json diff --git a/server/package-lock.json b/server/package-lock.json new file mode 100644 index 0000000..8fa42b3 --- /dev/null +++ b/server/package-lock.json @@ -0,0 +1,37 @@ +{ + "name": "@lawlers/4play", + "version": "1.2.5", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "@lawlers/4play", + "version": "1.2.5", + "license": "AGPL-3.0-only", + "dependencies": { + "ws": "^8.21.1" + } + }, + "node_modules/ws": { + "version": "8.21.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.2.tgz", + "integrity": "sha512-54dMVAo4WIe6SKy3vBgN+9bJZqqQ8IMRevAkOLQALhi49qkkQDQfWdAZ8KQlXiEabw88ARXXdUrlvtbKQX+aKw==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + } + } +} diff --git a/server/package.json b/server/package.json new file mode 100644 index 0000000..ed9654b --- /dev/null +++ b/server/package.json @@ -0,0 +1,29 @@ +{ + "name": "@lawlers/4play", + "version": "1.2.5", + "description": "4play and dominate", + "keywords": [ + "4play", + "fplay", + "foreplay", + "browser-automation", + "puppeteer", + "selenium", + "playwright", + "firefox" + ], + "repository": { + "type": "git", + "url": "https://git.lolcat.ca/lolcat/4play" + }, + "license": "AGPL-3.0-only", + "author": "lolcat", + "type": "commonjs", + "main": "fplay.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "dependencies": { + "ws": "^8.21.1" + } +} -- 2.47.3