isite 2023.12.2 → 2023.12.15
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/apps/client-side/site_files/js/bootstrap-5-directive.js +18 -9
- package/index.js +3 -1
- package/lib/collection.js +1 -0
- package/lib/fsm.js +114 -77
- package/lib/parser.js +1 -1
- package/lib/routing.js +17 -14
- package/lib/security.js +2 -2
- package/lib/session.js +21 -27
- package/lib/storage.js +17 -16
- package/lib/temp.js +2 -2
- package/lib/vars.js +2 -2
- package/lib/words.js +2 -2
- package/object-options/lib/features.js +2 -2
- package/object-options/lib/fn.js +2 -18
- package/package.json +1 -1
|
@@ -220,10 +220,10 @@ app.directive('iButton', function () {
|
|
|
220
220
|
$scope.class = $scope.class = 'btn-dark';
|
|
221
221
|
$scope.fa = $scope.fa || $scope.label ? '' : 'fas fa-play';
|
|
222
222
|
|
|
223
|
-
if ($scope.type.like('*add
|
|
223
|
+
if ($scope.type.like('*add*|*new*')) {
|
|
224
224
|
$scope.fa = 'fas fa-plus';
|
|
225
225
|
$scope.class = 'btn-primary';
|
|
226
|
-
} else if ($scope.type.like('*update
|
|
226
|
+
} else if ($scope.type.like('*update*|*edit*')) {
|
|
227
227
|
$scope.fa = 'fas fa-edit';
|
|
228
228
|
$scope.class = 'btn-warning';
|
|
229
229
|
} else if ($scope.type.like('*save*')) {
|
|
@@ -238,28 +238,28 @@ app.directive('iButton', function () {
|
|
|
238
238
|
} else if ($scope.type.like('approve')) {
|
|
239
239
|
$scope.fa = 'fas fa-check-double';
|
|
240
240
|
$scope.class = 'btn-primary';
|
|
241
|
-
} else if ($scope.type.like('*view
|
|
241
|
+
} else if ($scope.type.like('*view*|*details*|*show*')) {
|
|
242
242
|
$scope.fa = 'fas fa-eye';
|
|
243
243
|
$scope.class = 'btn-info';
|
|
244
|
-
} else if ($scope.type.like('*delete
|
|
244
|
+
} else if ($scope.type.like('*delete*|*remove*|*clear*')) {
|
|
245
245
|
$scope.fa = 'fas fa-trash';
|
|
246
246
|
$scope.class = 'btn-danger';
|
|
247
|
-
} else if ($scope.type.like('*exit
|
|
247
|
+
} else if ($scope.type.like('*exit*|*close*')) {
|
|
248
248
|
$scope.fa = 'fas fa-times-circle';
|
|
249
249
|
$scope.class = 'btn-danger';
|
|
250
250
|
} else if ($scope.type.like('*print*')) {
|
|
251
251
|
$scope.fa = 'fas fa-print';
|
|
252
252
|
$scope.class = 'btn-secondary';
|
|
253
|
-
} else if ($scope.type.like('*export*')
|
|
253
|
+
} else if ($scope.type.like('*export*|*excel*') ) {
|
|
254
254
|
$scope.fa = 'fas fa-file-export';
|
|
255
255
|
$scope.class = 'btn-secondary';
|
|
256
|
-
} else if ($scope.type.like('*search
|
|
256
|
+
} else if ($scope.type.like('*search*|*find*')) {
|
|
257
257
|
$scope.fa = 'fas fa-search';
|
|
258
258
|
$scope.class = 'btn-light';
|
|
259
|
-
} else if ($scope.type.like('*login
|
|
259
|
+
} else if ($scope.type.like('*login*|*signin*')) {
|
|
260
260
|
$scope.fa = 'fas fa-sign-in-alt';
|
|
261
261
|
$scope.class = 'btn-light';
|
|
262
|
-
} else if ($scope.type.like('*logout
|
|
262
|
+
} else if ($scope.type.like('*logout*|*signout*')) {
|
|
263
263
|
$scope.fa = 'fas fa-sign-out-alt';
|
|
264
264
|
$scope.class = 'btn-light';
|
|
265
265
|
} else if ($scope.type.like('*push*')) {
|
|
@@ -277,6 +277,15 @@ app.directive('iButton', function () {
|
|
|
277
277
|
} else if ($scope.type.like('*down*')) {
|
|
278
278
|
$scope.fa = 'fas fa-long-arrow-alt-down';
|
|
279
279
|
$scope.class = 'btn-light';
|
|
280
|
+
} else if ($scope.type.like('*reset*')) {
|
|
281
|
+
$scope.fa = 'fas fa-sync-alt';
|
|
282
|
+
$scope.class = 'btn-light';
|
|
283
|
+
}else if ($scope.type.like('*stop*')) {
|
|
284
|
+
$scope.fa = 'fas fa-stop';
|
|
285
|
+
$scope.class = 'btn-light';
|
|
286
|
+
}else if ($scope.type.like('*copy*')) {
|
|
287
|
+
$scope.fa = 'fas fa-copy';
|
|
288
|
+
$scope.class = 'btn-light';
|
|
280
289
|
}
|
|
281
290
|
if ($scope.type.like('*default*')) {
|
|
282
291
|
$scope.class = '';
|
package/index.js
CHANGED
|
@@ -170,6 +170,8 @@ module.exports = function init(options) {
|
|
|
170
170
|
____0.isFileExistsSync = ____0.fsm.isFileExistsSync;
|
|
171
171
|
|
|
172
172
|
____0.readFile = ____0.fsm.readFile;
|
|
173
|
+
____0.readFileRaw = ____0.fsm.readFileRaw;
|
|
174
|
+
____0.readFileStream = ____0.fsm.readFileStream;
|
|
173
175
|
____0.readFiles = ____0.fsm.readFiles;
|
|
174
176
|
____0.readFileSync = ____0.fsm.readFileSync;
|
|
175
177
|
|
|
@@ -263,7 +265,7 @@ module.exports = function init(options) {
|
|
|
263
265
|
____0.reset = function () {};
|
|
264
266
|
|
|
265
267
|
____0.on('[any][saving data]', function () {
|
|
266
|
-
____0.log('Saving Data :: ' + ____0.options.savingTime + ' Minute ');
|
|
268
|
+
____0.log( ____0.options.name + ' :: Saving Data :: ' + ____0.options.savingTime + ' Minute ');
|
|
267
269
|
});
|
|
268
270
|
|
|
269
271
|
setInterval(function () {
|
package/lib/collection.js
CHANGED
package/lib/fsm.js
CHANGED
|
@@ -12,21 +12,12 @@ module.exports = function init(____0) {
|
|
|
12
12
|
fsm.list = [];
|
|
13
13
|
|
|
14
14
|
fsm.isFileExistsSync = (path) => {
|
|
15
|
-
|
|
16
|
-
let f = fsm.list[i];
|
|
17
|
-
if (f.path === path) {
|
|
18
|
-
return !0;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
return fs.existsSync(path);
|
|
15
|
+
return fsm.list.some((f) => f.path === path) || fs.existsSync(path);
|
|
22
16
|
};
|
|
23
17
|
|
|
24
18
|
fsm.isFileExists = (path, callback) => {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
callback(!0);
|
|
28
|
-
} else {
|
|
29
|
-
callback(!1);
|
|
19
|
+
if (callback) {
|
|
20
|
+
callback(fsm.isFileExistsSync(path));
|
|
30
21
|
}
|
|
31
22
|
};
|
|
32
23
|
|
|
@@ -37,16 +28,9 @@ module.exports = function init(____0) {
|
|
|
37
28
|
};
|
|
38
29
|
|
|
39
30
|
fsm.stat = function (path, callback) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
fs.stat(path, callback);
|
|
44
|
-
} else {
|
|
45
|
-
callback({
|
|
46
|
-
message: 'file not exists',
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
});
|
|
31
|
+
if (callback) {
|
|
32
|
+
callback(fsm.statSync(path));
|
|
33
|
+
}
|
|
50
34
|
};
|
|
51
35
|
|
|
52
36
|
fsm.createDirSync = fsm.mkdirSync = function (path) {
|
|
@@ -136,12 +120,6 @@ module.exports = function init(____0) {
|
|
|
136
120
|
}, 100);
|
|
137
121
|
};
|
|
138
122
|
|
|
139
|
-
fsm.readFile = function (path, callback) {
|
|
140
|
-
setTimeout(() => {
|
|
141
|
-
fsm.readFileSync(path, callback);
|
|
142
|
-
}, 100);
|
|
143
|
-
};
|
|
144
|
-
|
|
145
123
|
fsm.getFilePath = function (name) {
|
|
146
124
|
if (____0.isFileExistsSync(name)) {
|
|
147
125
|
return name;
|
|
@@ -206,66 +184,125 @@ module.exports = function init(____0) {
|
|
|
206
184
|
}
|
|
207
185
|
};
|
|
208
186
|
|
|
209
|
-
fsm.
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
187
|
+
fsm.readFileStream = function (path) {
|
|
188
|
+
var readerStream = fs.createReadStream(path);
|
|
189
|
+
readerStream.setEncoding(____0.fn.getFileEncode(path));
|
|
190
|
+
return readerStream;
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
fsm.readFileRaw = function (path, callback) {
|
|
194
|
+
var data = '';
|
|
195
|
+
var readerStream = fsm.readFileStream(path);
|
|
196
|
+
readerStream.on('data', function (chunk) {
|
|
197
|
+
data += chunk;
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
readerStream.on('end', function () {
|
|
201
|
+
callback(data);
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
readerStream.on('error', function (err) {
|
|
205
|
+
console.log(err.stack);
|
|
206
|
+
});
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
fsm.readFile = function (path, callback) {
|
|
210
|
+
path = fsm.getFilePath(path);
|
|
211
|
+
|
|
212
|
+
if (!path) {
|
|
213
|
+
if (callback) {
|
|
214
|
+
callback({
|
|
215
|
+
message: path + ' :: Error Read File Not Exists',
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
let index = fsm.list.findIndex((f) => f.path == path);
|
|
221
|
+
if (index !== -1) {
|
|
222
|
+
fsm.list[index].count++;
|
|
223
|
+
fsm.list[index].time = new Date().getTime();
|
|
224
|
+
if (callback) {
|
|
225
|
+
callback(null, fsm.list[index]);
|
|
226
|
+
}
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
if (fsm.isFileExistsSync(path)) {
|
|
231
|
+
fsm.readFileRaw(path, (data) => {
|
|
232
|
+
if (data) {
|
|
233
|
+
let file = {
|
|
234
|
+
path: path,
|
|
235
|
+
content: data,
|
|
236
|
+
count: 1,
|
|
237
|
+
stat: fsm.statSync(path),
|
|
238
|
+
time: new Date().getTime(),
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
file.json = function (callback) {
|
|
242
|
+
try {
|
|
243
|
+
if (!file.isJson) {
|
|
244
|
+
file.content = JSON.parse(file.content);
|
|
245
|
+
file.isJson = true;
|
|
246
|
+
}
|
|
247
|
+
} catch (error) {
|
|
248
|
+
file.error = error;
|
|
249
|
+
console.log(error);
|
|
250
|
+
}
|
|
251
|
+
if (callback) {
|
|
252
|
+
callback(file);
|
|
253
|
+
} else {
|
|
254
|
+
return file;
|
|
255
|
+
}
|
|
256
|
+
};
|
|
257
|
+
fsm.list.push(file);
|
|
258
|
+
if (callback) {
|
|
259
|
+
callback(null, file);
|
|
260
|
+
}
|
|
261
|
+
} else {
|
|
262
|
+
callback({
|
|
263
|
+
message: path + ' :: Error Read File Not Exists',
|
|
264
|
+
});
|
|
215
265
|
}
|
|
216
|
-
};
|
|
266
|
+
});
|
|
267
|
+
} else {
|
|
268
|
+
if (callback) {
|
|
269
|
+
callback({
|
|
270
|
+
message: path + ' :: Error Read File Not Exists',
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
};
|
|
217
275
|
|
|
276
|
+
fsm.readFileSyncRaw = function (path) {
|
|
277
|
+
return fs.readFileSync(path, ____0.fn.getFileEncode(path));
|
|
278
|
+
};
|
|
279
|
+
fsm.readFileSync = function (path) {
|
|
218
280
|
path = fsm.getFilePath(path);
|
|
281
|
+
|
|
219
282
|
if (!path) {
|
|
220
283
|
return '';
|
|
221
284
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
callback(null, file.content, file);
|
|
229
|
-
return file.content;
|
|
230
|
-
}
|
|
285
|
+
|
|
286
|
+
let index = fsm.list.findIndex((f) => f.path == path);
|
|
287
|
+
if (index !== -1) {
|
|
288
|
+
fsm.list[index].count++;
|
|
289
|
+
fsm.list[index].time = new Date().getTime();
|
|
290
|
+
return fsm.list[index].content;
|
|
231
291
|
}
|
|
232
292
|
|
|
233
|
-
let encode = 'utf8';
|
|
234
|
-
encode = ____0.fn.getFileEncode(path);
|
|
235
293
|
if (fsm.isFileExistsSync(path)) {
|
|
236
|
-
let data = fs.readFileSync(path, encode);
|
|
237
|
-
let file = {
|
|
238
|
-
path: path,
|
|
239
|
-
content: data,
|
|
240
|
-
etag: ____0.x0md50x(data),
|
|
241
|
-
count: 1,
|
|
242
|
-
stat: fsm.statSync(path),
|
|
243
|
-
encode: encode,
|
|
244
|
-
time: Date.now(),
|
|
245
|
-
};
|
|
246
|
-
fsm.list.push(file);
|
|
247
|
-
callback(null, file.content, file);
|
|
248
|
-
return data;
|
|
249
|
-
} else if (fsm.isFileExistsSync(path2)) {
|
|
250
|
-
let data = fs.readFileSync(path2, encode);
|
|
251
294
|
let file = {
|
|
252
295
|
path: path,
|
|
253
|
-
content:
|
|
254
|
-
etag: ____0.x0md50x(data),
|
|
296
|
+
content: fsm.readFileSyncRaw(path),
|
|
255
297
|
count: 1,
|
|
256
298
|
stat: fsm.statSync(path),
|
|
257
|
-
|
|
258
|
-
time: Date.now(),
|
|
299
|
+
time: new Date().getTime(),
|
|
259
300
|
};
|
|
260
301
|
fsm.list.push(file);
|
|
261
|
-
|
|
262
|
-
return
|
|
263
|
-
} else {
|
|
264
|
-
callback({
|
|
265
|
-
message: path + ' :: Error Read File Not Exists',
|
|
266
|
-
});
|
|
267
|
-
return '';
|
|
302
|
+
|
|
303
|
+
return file.content;
|
|
268
304
|
}
|
|
305
|
+
return '';
|
|
269
306
|
};
|
|
270
307
|
|
|
271
308
|
fsm.readFiles = function (paths, callback) {
|
|
@@ -290,12 +327,12 @@ module.exports = function init(____0) {
|
|
|
290
327
|
callback(null, content);
|
|
291
328
|
};
|
|
292
329
|
|
|
293
|
-
fsm.isImage = function(extname){
|
|
294
|
-
if (extname == 'png' || extname == 'jpg' || extname == 'jpeg' || extname == 'bmp' || extname == 'ico'|| extname == 'webp') {
|
|
295
|
-
|
|
330
|
+
fsm.isImage = function (extname) {
|
|
331
|
+
if (extname == 'png' || extname == 'jpg' || extname == 'jpeg' || extname == 'bmp' || extname == 'ico' || extname == 'webp') {
|
|
332
|
+
return true;
|
|
296
333
|
}
|
|
297
|
-
return false
|
|
298
|
-
}
|
|
334
|
+
return false;
|
|
335
|
+
};
|
|
299
336
|
|
|
300
337
|
fsm.getContent = function (name, callback) {
|
|
301
338
|
callback = callback || function () {};
|
package/lib/parser.js
CHANGED
|
@@ -264,9 +264,9 @@ module.exports = function init(req, res, ____0, route) {
|
|
|
264
264
|
createdTime: req.session.createdTime,
|
|
265
265
|
modifiedTime: req.session.modifiedTime,
|
|
266
266
|
data: req.session.data,
|
|
267
|
-
ip: req.session.ip,
|
|
268
267
|
requestesCount: req.session.requestesCount,
|
|
269
268
|
busy: req.session.$busy,
|
|
269
|
+
ip: req.session.ip,
|
|
270
270
|
ipLookup: req.session.ip_list.find((info) => info.ip == req.session.ip),
|
|
271
271
|
});
|
|
272
272
|
}
|
package/lib/routing.js
CHANGED
|
@@ -51,10 +51,6 @@ module.exports = function init(____0) {
|
|
|
51
51
|
// // return;
|
|
52
52
|
// }
|
|
53
53
|
|
|
54
|
-
// if (____0.options.help) {
|
|
55
|
-
// res.set('help-info-etag', hash);
|
|
56
|
-
// }
|
|
57
|
-
|
|
58
54
|
// res.set('ETag', hash);
|
|
59
55
|
|
|
60
56
|
if (____0.options.cache.enabled) {
|
|
@@ -208,9 +204,9 @@ module.exports = function init(____0) {
|
|
|
208
204
|
}
|
|
209
205
|
|
|
210
206
|
if (typeof route.path == 'string') {
|
|
211
|
-
____0.readFile(route.path, function (err,
|
|
207
|
+
____0.readFile(route.path, function (err, file) {
|
|
212
208
|
if (!err) {
|
|
213
|
-
route.content =
|
|
209
|
+
route.content = file.content.toString('utf8');
|
|
214
210
|
if (route.encript && route.encript === '123') {
|
|
215
211
|
route.content = ____0.f1(route.content);
|
|
216
212
|
}
|
|
@@ -635,6 +631,7 @@ module.exports = function init(____0) {
|
|
|
635
631
|
_0xrrxo.handleServer = async function (req, res) {
|
|
636
632
|
req.host = req.headers['host'] || '';
|
|
637
633
|
req.origin = req.headers['origin'] || req.host;
|
|
634
|
+
req.referer = req.headers['referer'] || '';
|
|
638
635
|
req.domain = '';
|
|
639
636
|
req.subDomain = '';
|
|
640
637
|
req.obj = {};
|
|
@@ -696,6 +693,9 @@ module.exports = function init(____0) {
|
|
|
696
693
|
req.socket.remoteAddress = req.socket.remoteAddress || '';
|
|
697
694
|
req.acceptEncoding = req.headers[____0.strings[5]] ? req.headers[____0.strings[5]] : '';
|
|
698
695
|
res.ip = req.ip = req.headers[____0.strings[6]] ? req.headers[____0.strings[6]] : req.socket.remoteAddress.replace('::ffff:', '');
|
|
696
|
+
if (req.ip == '::1') {
|
|
697
|
+
req.ip = '127.0.0.1';
|
|
698
|
+
}
|
|
699
699
|
res.ip2 = req.ip2 = req.socket.localAddress.replace('::ffff:', '');
|
|
700
700
|
res.port = req.port = req.socket.remotePort;
|
|
701
701
|
res.port2 = req.port2 = req.socket.localPort;
|
|
@@ -704,7 +704,7 @@ module.exports = function init(____0) {
|
|
|
704
704
|
req.urlRaw = req.url;
|
|
705
705
|
req.urlParserRaw = ____0.url.parse(req.urlRaw, !0);
|
|
706
706
|
req.urlParser = ____0.url.parse(req.urlRaw.toLowerCase(), !0);
|
|
707
|
-
|
|
707
|
+
|
|
708
708
|
res.set = (a, b, c) => {
|
|
709
709
|
if (res.writeHeadEnabled === !1 || res.finished === !0 || res.headersSent) {
|
|
710
710
|
return res;
|
|
@@ -1074,7 +1074,10 @@ module.exports = function init(____0) {
|
|
|
1074
1074
|
return res.jsonFile(obj);
|
|
1075
1075
|
} else {
|
|
1076
1076
|
res.set(____0.strings[7], 'application/json');
|
|
1077
|
-
|
|
1077
|
+
obj = ____0.toJson(obj);
|
|
1078
|
+
res.status(200).ending(time || 0, obj);
|
|
1079
|
+
obj = null;
|
|
1080
|
+
return res;
|
|
1078
1081
|
}
|
|
1079
1082
|
};
|
|
1080
1083
|
|
|
@@ -1087,13 +1090,13 @@ module.exports = function init(____0) {
|
|
|
1087
1090
|
res.setHeader('Access-Control-Allow-Credentials', 'true');
|
|
1088
1091
|
res.setHeader('Access-Control-Allow-Headers', req.headers['access-control-request-headers'] || 'Origin, X-Requested-With, Content-Type, Accept , Access-Token , Authorization');
|
|
1089
1092
|
res.setHeader('Access-Control-Allow-Methods', req.headers['access-control-request-method'] || 'POST,GET,DELETE,PUT,OPTIONS,VIEW,HEAD,CONNECT,TRACE');
|
|
1090
|
-
res.setHeader('Access-Control-Allow-Origin', req.
|
|
1091
|
-
if (req.
|
|
1092
|
-
res.setHeader('Access-Control-Allow-Origin', req.
|
|
1093
|
+
res.setHeader('Access-Control-Allow-Origin', req.host || req.referer || '*');
|
|
1094
|
+
if (req.origin) {
|
|
1095
|
+
res.setHeader('Access-Control-Allow-Origin', req.origin);
|
|
1093
1096
|
}
|
|
1094
1097
|
|
|
1095
|
-
if (____0.options.www === false && req.
|
|
1096
|
-
res.redirect('//' + req.
|
|
1098
|
+
if (____0.options.www === false && req.host.contains('www')) {
|
|
1099
|
+
res.redirect('//' + req.host.replace('www.', '') + req.url, 301);
|
|
1097
1100
|
return;
|
|
1098
1101
|
}
|
|
1099
1102
|
|
|
@@ -1144,7 +1147,7 @@ module.exports = function init(____0) {
|
|
|
1144
1147
|
|
|
1145
1148
|
for (let i = 0; i < req.route.map.length; i++) {
|
|
1146
1149
|
let map = req.route.map[i];
|
|
1147
|
-
req.params[map.name] = decodeURIComponent(req.urlParser.arr[map.index]);
|
|
1150
|
+
req.params[map.name] = decodeURIComponent(req.urlParser.arr[map.index].replace(/\+/g, ' '));
|
|
1148
1151
|
req.paramsRaw[map.name] = req.urlParserRaw.arr[map.index];
|
|
1149
1152
|
}
|
|
1150
1153
|
|
package/lib/security.js
CHANGED
|
@@ -170,9 +170,9 @@ module.exports = function init(____0) {
|
|
|
170
170
|
security.addPermissions = function (list, callback) {
|
|
171
171
|
callback = callback || function () {};
|
|
172
172
|
if (typeof list === 'string') {
|
|
173
|
-
____0.readFile(list, (err,
|
|
173
|
+
____0.readFile(list, (err, file) => {
|
|
174
174
|
if (!err) {
|
|
175
|
-
let arr = ____0.fromJson(
|
|
175
|
+
let arr = ____0.fromJson(file.content);
|
|
176
176
|
for (let i = 0; i < arr.length; i++) {
|
|
177
177
|
security.permissions.push(arr[i]);
|
|
178
178
|
}
|
package/lib/session.js
CHANGED
|
@@ -28,28 +28,38 @@ module.exports = function init(req, res, ____0, callback) {
|
|
|
28
28
|
req.features.push('ip.' + req.ip);
|
|
29
29
|
|
|
30
30
|
if (req.host) {
|
|
31
|
+
req.features.push('host.' + req.host);
|
|
31
32
|
req.hostArray = req.host.split(':')[0].split('.').reverse();
|
|
32
33
|
if (req.hostArray[0] == 'localhost') {
|
|
33
34
|
req.domain = req.hostArray[0];
|
|
34
35
|
req.features.push('host.' + req.hostArray[0]);
|
|
35
|
-
if (req.hostArray
|
|
36
|
-
req.
|
|
36
|
+
if (req.hostArray.length == 2) {
|
|
37
|
+
req.domain2 = req.hostArray[1];
|
|
37
38
|
req.features.push('host.' + req.hostArray[1]);
|
|
39
|
+
} else if (req.hostArray.length == 3) {
|
|
40
|
+
req.domain2 = req.hostArray[1];
|
|
41
|
+
req.domain3 = req.hostArray[2];
|
|
42
|
+
req.features.push('host.' + req.domain2);
|
|
43
|
+
req.features.push('host.' + req.domain3);
|
|
38
44
|
}
|
|
39
45
|
} else {
|
|
40
46
|
if (req.hostArray.length == 2) {
|
|
41
47
|
req.domain = req.hostArray[1] + '.' + req.hostArray[0];
|
|
48
|
+
req.features.push('host.' + req.domain);
|
|
42
49
|
req.features.push('host.' + req.hostArray[0]);
|
|
43
50
|
req.features.push('host.' + req.hostArray[1]);
|
|
44
51
|
} else if (req.hostArray.length == 3) {
|
|
45
52
|
req.domain = req.hostArray[1] + '.' + req.hostArray[0];
|
|
46
|
-
req.
|
|
53
|
+
req.domain2 = req.hostArray[2];
|
|
54
|
+
req.features.push('host.' + req.domain);
|
|
47
55
|
req.features.push('host.' + req.hostArray[0]);
|
|
48
56
|
req.features.push('host.' + req.hostArray[1]);
|
|
49
57
|
req.features.push('host.' + req.hostArray[2]);
|
|
50
58
|
} else if (req.hostArray.length == 4) {
|
|
51
59
|
req.domain = req.hostArray[1] + '.' + req.hostArray[0];
|
|
52
|
-
req.
|
|
60
|
+
req.domain2 = req.hostArray[2];
|
|
61
|
+
req.domain3 = req.hostArray[3];
|
|
62
|
+
req.features.push('host.' + req.domain);
|
|
53
63
|
req.features.push('host.' + req.hostArray[0]);
|
|
54
64
|
req.features.push('host.' + req.hostArray[1]);
|
|
55
65
|
req.features.push('host.' + req.hostArray[2]);
|
|
@@ -57,7 +67,6 @@ module.exports = function init(req, res, ____0, callback) {
|
|
|
57
67
|
}
|
|
58
68
|
}
|
|
59
69
|
}
|
|
60
|
-
|
|
61
70
|
|
|
62
71
|
if (req.cookies.obj && req.cookies.obj['_ga'] && req.cookies.obj['_ga'].contains('sb')) {
|
|
63
72
|
req.features.push('browser.social');
|
|
@@ -123,23 +132,11 @@ module.exports = function init(req, res, ____0, callback) {
|
|
|
123
132
|
}
|
|
124
133
|
}
|
|
125
134
|
|
|
126
|
-
function ipInfo(session
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
if (!____0.options.ipLookup) {
|
|
130
|
-
return session;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
if (session.ip == '127.0.0.1' || session.ip == 'localhost') {
|
|
134
|
-
return session;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
if (session.$busy) {
|
|
135
|
+
function ipInfo(session) {
|
|
136
|
+
if (session.$busy || !____0.options.ipLookup || session.ip == '127.0.0.1') {
|
|
138
137
|
return session;
|
|
139
138
|
}
|
|
140
|
-
|
|
141
139
|
session.$busy = !0;
|
|
142
|
-
____0.saveSession(session);
|
|
143
140
|
if (session.ip_list.length === 0 || !session.ip_list.some((info) => info.ip === session.ip)) {
|
|
144
141
|
____0
|
|
145
142
|
.fetch(`http://ip-api.com/json/${session.ip}`, {
|
|
@@ -157,13 +154,8 @@ module.exports = function init(req, res, ____0, callback) {
|
|
|
157
154
|
info.date = new Date();
|
|
158
155
|
info.ip = session.ip;
|
|
159
156
|
session.ip_list.unshift(info);
|
|
157
|
+
session.$busy = !1;
|
|
160
158
|
____0.saveSession(session);
|
|
161
|
-
setTimeout(() => {
|
|
162
|
-
____0.getSession(session, (session) => {
|
|
163
|
-
session.$busy = !1;
|
|
164
|
-
____0.saveSession(session);
|
|
165
|
-
});
|
|
166
|
-
}, 1000 * 30);
|
|
167
159
|
});
|
|
168
160
|
})
|
|
169
161
|
.catch((err) => {
|
|
@@ -198,12 +190,14 @@ module.exports = function init(req, res, ____0, callback) {
|
|
|
198
190
|
}
|
|
199
191
|
req.features.push('login');
|
|
200
192
|
}
|
|
201
|
-
|
|
193
|
+
____0.saveSession(session);
|
|
194
|
+
callback(session);
|
|
195
|
+
ipInfo(session);
|
|
202
196
|
}
|
|
203
197
|
}
|
|
204
198
|
);
|
|
205
199
|
} else {
|
|
206
|
-
|
|
200
|
+
callback(session);
|
|
207
201
|
}
|
|
208
202
|
});
|
|
209
203
|
};
|
package/lib/storage.js
CHANGED
|
@@ -2,7 +2,8 @@ module.exports = function init(____0) {
|
|
|
2
2
|
const storage = {};
|
|
3
3
|
storage.list = [];
|
|
4
4
|
storage.busy = true;
|
|
5
|
-
storage.$collectoin = ____0.connectCollection('app_options');
|
|
5
|
+
storage.$collectoin = ____0.connectCollection({ collection: 'app_options', identity: { enabled: true } });
|
|
6
|
+
|
|
6
7
|
storage.$collectoin.findAll({ app_name: 'storage' }, (err, docs) => {
|
|
7
8
|
if (!err && docs && docs.length > 0) {
|
|
8
9
|
docs.forEach((doc) => {
|
|
@@ -15,26 +16,27 @@ module.exports = function init(____0) {
|
|
|
15
16
|
});
|
|
16
17
|
|
|
17
18
|
storage.save = function () {
|
|
18
|
-
if (storage.busy) {
|
|
19
|
-
setTimeout(() => {
|
|
20
|
-
storage.save();
|
|
21
|
-
}, 1000 * 10);
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
storage.busy = true;
|
|
26
19
|
storage.list.forEach((doc, i) => {
|
|
27
20
|
doc.app_name = 'storage';
|
|
28
21
|
if (doc.$update) {
|
|
29
22
|
delete doc.$update;
|
|
30
|
-
storage.$collectoin.update(doc)
|
|
23
|
+
storage.$collectoin.update(doc, (err, result) => {
|
|
24
|
+
if (!err && result.doc) {
|
|
25
|
+
let index = storage.list.findIndex((s) => s.key === result.doc.key);
|
|
26
|
+
if (index !== -1) {
|
|
27
|
+
storage.list[index] = result.doc;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
31
|
} else if (doc.$add) {
|
|
32
32
|
delete doc.$add;
|
|
33
33
|
storage.$collectoin.add(doc, (err, newDoc, oldDoc) => {
|
|
34
34
|
if (!err && newDoc) {
|
|
35
35
|
let index = storage.list.findIndex((s) => s.key === newDoc.key);
|
|
36
|
-
if (index
|
|
36
|
+
if (index !== -1) {
|
|
37
37
|
storage.list[index] = newDoc;
|
|
38
|
+
} else {
|
|
39
|
+
storage.list.push(newDoc);
|
|
38
40
|
}
|
|
39
41
|
} else if (err) {
|
|
40
42
|
console.log(err.message, oldDoc);
|
|
@@ -42,15 +44,12 @@ module.exports = function init(____0) {
|
|
|
42
44
|
});
|
|
43
45
|
}
|
|
44
46
|
});
|
|
45
|
-
setTimeout(() => {
|
|
46
|
-
storage.busy = false;
|
|
47
|
-
}, 1000 * 5);
|
|
48
47
|
};
|
|
49
48
|
|
|
50
49
|
storage.fn = function (key, value) {
|
|
51
50
|
if (key && value !== undefined) {
|
|
52
51
|
let index = storage.list.findIndex((s) => s.key === key);
|
|
53
|
-
if (index
|
|
52
|
+
if (index !== -1) {
|
|
54
53
|
storage.list[index].value = value;
|
|
55
54
|
storage.list[index].$update = true;
|
|
56
55
|
} else {
|
|
@@ -60,13 +59,15 @@ module.exports = function init(____0) {
|
|
|
60
59
|
$add: true,
|
|
61
60
|
});
|
|
62
61
|
}
|
|
63
|
-
storage.save();
|
|
64
62
|
} else if (key && value === undefined) {
|
|
65
63
|
return storage.list.find((s) => s.key === key)?.value;
|
|
66
64
|
} else {
|
|
67
65
|
return null;
|
|
68
66
|
}
|
|
69
67
|
};
|
|
68
|
+
____0.on('[any][saving data]', function () {
|
|
69
|
+
storage.save();
|
|
70
|
+
});
|
|
70
71
|
|
|
71
72
|
____0.on(____0.strings[9], () => {
|
|
72
73
|
____0.onGET('/x-api/events_list', (req, res) => {
|
package/lib/temp.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
storage.path = ____0.path.join(____0.options.cwd, ____0.x0md50x(____0.options.name) + '.dbz');
|
|
3
|
-
____0.fs.readFile(storage.path, (err,
|
|
3
|
+
____0.fs.readFile(storage.path, (err, file) => {
|
|
4
4
|
if (!err) {
|
|
5
|
-
data = ____0.zlib.inflateSync(
|
|
5
|
+
data = ____0.zlib.inflateSync(file.content);
|
|
6
6
|
storage.list = ____0.fromJson(Buffer.from(data, 'utf-8').toString());
|
|
7
7
|
|
|
8
8
|
if (____0.typeof(storage.list) !== 'Array') {
|
package/lib/vars.js
CHANGED
|
@@ -34,9 +34,9 @@ module.exports = function init(____0) {
|
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
____0.addVars = function(path){
|
|
37
|
-
____0.readFile(path, (err,
|
|
37
|
+
____0.readFile(path, (err, file) => {
|
|
38
38
|
if (!err) {
|
|
39
|
-
let vars = JSON.parse(
|
|
39
|
+
let vars = JSON.parse(file.content)
|
|
40
40
|
for (let i = 0; i < vars.length; i++) {
|
|
41
41
|
____0.vars.push(vars[i])
|
|
42
42
|
}
|
package/lib/words.js
CHANGED
|
@@ -52,9 +52,9 @@ module.exports = function init(____0) {
|
|
|
52
52
|
};
|
|
53
53
|
|
|
54
54
|
app.addFile = function (path) {
|
|
55
|
-
____0.readFile(path, (err,
|
|
55
|
+
____0.readFile(path, (err, file) => {
|
|
56
56
|
if (!err) {
|
|
57
|
-
let arr = ____0.fromJson(
|
|
57
|
+
let arr = ____0.fromJson(file.content);
|
|
58
58
|
if (Array.isArray(arr)) {
|
|
59
59
|
arr.forEach((doc) => {
|
|
60
60
|
app.add(doc);
|
|
@@ -44,9 +44,9 @@ module.exports = function init(____0) {
|
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
____0.addfeatures = function(path){
|
|
47
|
-
____0.readFile(path, (err,
|
|
47
|
+
____0.readFile(path, (err, file) => {
|
|
48
48
|
if (!err) {
|
|
49
|
-
let features = JSON.parse(
|
|
49
|
+
let features = JSON.parse(file.content)
|
|
50
50
|
for (let i = 0; i < features.length; i++) {
|
|
51
51
|
____0.features.push(features[i])
|
|
52
52
|
}
|
package/object-options/lib/fn.js
CHANGED
|
@@ -227,26 +227,10 @@ exports = module.exports = function init(____0) {
|
|
|
227
227
|
|
|
228
228
|
fn.getFileEncode = function (path) {
|
|
229
229
|
path = path || '';
|
|
230
|
-
if (
|
|
231
|
-
path.endsWith('.woff2') ||
|
|
232
|
-
path.endsWith('.woff') ||
|
|
233
|
-
path.endsWith('.ttf') ||
|
|
234
|
-
path.endsWith('.svg') ||
|
|
235
|
-
path.endsWith('.otf') ||
|
|
236
|
-
path.endsWith('.png') ||
|
|
237
|
-
path.endsWith('.gif') ||
|
|
238
|
-
path.endsWith('.jpg') ||
|
|
239
|
-
path.endsWith('.jpeg') ||
|
|
240
|
-
path.endsWith('.ico') ||
|
|
241
|
-
path.endsWith('.bmp') ||
|
|
242
|
-
path.endsWith('.webp') ||
|
|
243
|
-
path.endsWith('.xls') ||
|
|
244
|
-
path.endsWith('.xlsx') ||
|
|
245
|
-
path.endsWith('.eot')
|
|
246
|
-
) {
|
|
230
|
+
if (path.contains('.woff|.ttf|.svg|.otf|.png|.gif|.jpg|.ico|.bmp|.webp|.xls|.eot')) {
|
|
247
231
|
return 'binary';
|
|
248
232
|
}
|
|
249
|
-
return '
|
|
233
|
+
return 'UTF8';
|
|
250
234
|
};
|
|
251
235
|
|
|
252
236
|
fn.toHtmlTable = function (obj) {
|