greybel-mock-environment 1.3.8 → 1.4.0

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/dist/fs.js CHANGED
@@ -89,7 +89,7 @@ exports.generateFolders = generateFolders;
89
89
  function getEtcAptFiles(options) {
90
90
  return generateFiles(new file_system_1.File({
91
91
  name: 'sources.txt',
92
- permissions: '-rw-r-----',
92
+ permissions: 'rw-r-----',
93
93
  owner: 'root',
94
94
  content: "{\n\t\t\t\"official_server\": true,\n\t\t\t\"sourceList\": {}\n\t\t}",
95
95
  type: file_system_1.FileType.Source
@@ -98,7 +98,7 @@ function getEtcAptFiles(options) {
98
98
  function getEtcAptFolder(options) {
99
99
  var aptFolder = new file_system_1.Folder({
100
100
  name: 'apt',
101
- permissions: 'drwxr-x---',
101
+ permissions: 'rwxr-x---',
102
102
  owner: 'root'
103
103
  }, options.parent);
104
104
  var newOptions = __assign(__assign({}, options), { parent: aptFolder });
@@ -108,7 +108,7 @@ function getEtcAptFolder(options) {
108
108
  function getEtcFiles(options) {
109
109
  return generateFiles(new file_system_1.File({
110
110
  name: 'passwd',
111
- permissions: '-rw-r-----',
111
+ permissions: 'rw-r-----',
112
112
  owner: 'root',
113
113
  content: options.users
114
114
  .map(function (v) { return "".concat(v.username, ":").concat(v.passwordHashed); })
@@ -116,13 +116,13 @@ function getEtcFiles(options) {
116
116
  type: file_system_1.FileType.Source
117
117
  }, options.parent), new file_system_1.File({
118
118
  name: 'xorg.conf',
119
- permissions: '-rw-r-----',
119
+ permissions: 'rw-r-----',
120
120
  owner: 'root',
121
121
  content: "",
122
122
  type: file_system_1.FileType.Source
123
123
  }, options.parent), new file_system_1.File({
124
124
  name: 'fstab',
125
- permissions: '-rw-r-----',
125
+ permissions: 'rw-r-----',
126
126
  owner: 'root',
127
127
  content: "",
128
128
  type: file_system_1.FileType.Source
@@ -131,7 +131,7 @@ function getEtcFiles(options) {
131
131
  function getEtcFolder(options) {
132
132
  var etcFolder = new file_system_1.Folder({
133
133
  name: 'etc',
134
- permissions: 'drwxr-x---',
134
+ permissions: 'rwxr-x---',
135
135
  owner: 'root'
136
136
  }, options.parent);
137
137
  var newOptions = __assign(__assign({}, options), { parent: etcFolder });
@@ -142,7 +142,7 @@ function getEtcFolder(options) {
142
142
  function getServerConfigFolder(options) {
143
143
  var configFolder = new file_system_1.Folder({
144
144
  name: 'conf',
145
- permissions: 'drwxr-x---',
145
+ permissions: 'rwxr-x---',
146
146
  owner: 'root'
147
147
  }, options.parent);
148
148
  return configFolder;
@@ -150,7 +150,7 @@ function getServerConfigFolder(options) {
150
150
  function getServerFolder(options) {
151
151
  var serverFolder = new file_system_1.Folder({
152
152
  name: 'server',
153
- permissions: 'drwxr-x---',
153
+ permissions: 'rwxr-x---',
154
154
  owner: 'root'
155
155
  }, options.parent);
156
156
  var newOptions = __assign(__assign({}, options), { parent: serverFolder });
@@ -161,14 +161,14 @@ function getLibFiles(options) {
161
161
  var libFiles = [
162
162
  new file_system_1.File({
163
163
  name: 'init.so',
164
- permissions: '-rw-r-----',
164
+ permissions: 'rw-r-----',
165
165
  owner: 'root',
166
166
  type: file_system_1.FileType.Init,
167
167
  version: options.libManager.getLatestVersion(library_1.Library.INIT).toString()
168
168
  }, options.parent),
169
169
  new file_system_1.File({
170
170
  name: 'net.so',
171
- permissions: '-rw-r-----',
171
+ permissions: 'rw-r-----',
172
172
  owner: 'root',
173
173
  type: file_system_1.FileType.Net,
174
174
  version: options.libManager.getLatestVersion(library_1.Library.NET).toString()
@@ -177,7 +177,7 @@ function getLibFiles(options) {
177
177
  if (options.meta.deviceType === meta_info_1.MetaDeviceType.Computer) {
178
178
  libFiles.push(new file_system_1.File({
179
179
  name: 'kernel_module.so',
180
- permissions: '-rw-r-----',
180
+ permissions: 'rw-r-----',
181
181
  owner: 'root',
182
182
  type: file_system_1.FileType.KernelModule,
183
183
  version: options.libManager
@@ -188,7 +188,7 @@ function getLibFiles(options) {
188
188
  else {
189
189
  libFiles.push(new file_system_1.File({
190
190
  name: 'kernel_router.so',
191
- permissions: '-rw-r-----',
191
+ permissions: 'rw-r-----',
192
192
  owner: 'root',
193
193
  type: file_system_1.FileType.KernelRouter,
194
194
  version: options.libManager
@@ -199,7 +199,7 @@ function getLibFiles(options) {
199
199
  if (options.meta.ownerType === meta_info_1.MetaOwnerType.Player) {
200
200
  libFiles.push(new file_system_1.File({
201
201
  name: 'crypto.so',
202
- permissions: '-rw-r--r--',
202
+ permissions: 'rw-r--r--',
203
203
  owner: 'root',
204
204
  type: file_system_1.FileType.Crypto,
205
205
  version: options.libManager
@@ -207,7 +207,7 @@ function getLibFiles(options) {
207
207
  .toString()
208
208
  }, options.parent), new file_system_1.File({
209
209
  name: 'metaxploit.so',
210
- permissions: '-rw-r--r--',
210
+ permissions: 'rw-r--r--',
211
211
  owner: 'root',
212
212
  type: file_system_1.FileType.Metaxploit,
213
213
  version: options.libManager
@@ -215,7 +215,7 @@ function getLibFiles(options) {
215
215
  .toString()
216
216
  }, options.parent), new file_system_1.File({
217
217
  name: 'blockchain.so',
218
- permissions: '-rw-r--r--',
218
+ permissions: 'rw-r--r--',
219
219
  owner: 'root',
220
220
  type: file_system_1.FileType.Blockchain,
221
221
  version: options.libManager
@@ -223,7 +223,7 @@ function getLibFiles(options) {
223
223
  .toString()
224
224
  }, options.parent), new file_system_1.File({
225
225
  name: 'aptclient.so',
226
- permissions: '-rw-r--r--',
226
+ permissions: 'rw-r--r--',
227
227
  owner: 'root',
228
228
  type: file_system_1.FileType.AptClient,
229
229
  version: options.libManager
@@ -236,7 +236,7 @@ function getLibFiles(options) {
236
236
  function getLibFolder(options) {
237
237
  var libFolder = new file_system_1.Folder({
238
238
  name: 'lib',
239
- permissions: 'drwxrwx---',
239
+ permissions: 'rwxrwx---',
240
240
  owner: 'root'
241
241
  }, options.parent);
242
242
  var newOptions = __assign(__assign({}, options), { parent: libFolder });
@@ -246,17 +246,17 @@ function getLibFolder(options) {
246
246
  function getSysFiles(options) {
247
247
  return generateFiles(new file_system_1.File({
248
248
  name: 'xorg.sys',
249
- permissions: '-r-x------',
249
+ permissions: 'r-x------',
250
250
  owner: 'root',
251
251
  type: file_system_1.FileType.System
252
252
  }, options.parent), new file_system_1.File({
253
253
  name: 'config.sys',
254
- permissions: '-rw-------',
254
+ permissions: 'rw-------',
255
255
  owner: 'root',
256
256
  type: file_system_1.FileType.System
257
257
  }, options.parent), new file_system_1.File({
258
258
  name: 'network.cfg',
259
- permissions: '-rw-------',
259
+ permissions: 'rw-------',
260
260
  owner: 'root',
261
261
  type: file_system_1.FileType.System
262
262
  }, options.parent));
@@ -264,7 +264,7 @@ function getSysFiles(options) {
264
264
  function getSysFolder(options) {
265
265
  var sysFolder = new file_system_1.Folder({
266
266
  name: 'sys',
267
- permissions: 'drwxr-xr-x',
267
+ permissions: 'rwxr-xr-x',
268
268
  owner: 'root'
269
269
  }, options.parent);
270
270
  var newOptions = __assign(__assign({}, options), { parent: sysFolder });
@@ -274,26 +274,26 @@ function getSysFolder(options) {
274
274
  function getDefaultHomeFolders(options, owner) {
275
275
  return generateFolders(new file_system_1.Folder({
276
276
  name: 'Desktop',
277
- permissions: 'drwxr-----',
277
+ permissions: 'rwxr-----',
278
278
  owner: owner
279
279
  }, options.parent), new file_system_1.Folder({
280
280
  name: 'Downloads',
281
- permissions: 'drwxr-----',
281
+ permissions: 'rwxr-----',
282
282
  owner: owner
283
283
  }, options.parent), new file_system_1.Folder({
284
284
  name: 'Config',
285
- permissions: 'drwxr-----',
285
+ permissions: 'rwxr-----',
286
286
  owner: owner
287
287
  }, options.parent), new file_system_1.Folder({
288
288
  name: '.Trash',
289
- permissions: 'drwxr-----',
289
+ permissions: 'rwxr-----',
290
290
  owner: owner
291
291
  }, options.parent));
292
292
  }
293
293
  function getRootFolder(options) {
294
294
  var rootFolder = new file_system_1.Folder({
295
295
  name: 'root',
296
- permissions: 'drwxr-----',
296
+ permissions: 'rwxr-----',
297
297
  owner: 'root'
298
298
  }, options.parent);
299
299
  var newOptions = __assign(__assign({}, options), { parent: rootFolder });
@@ -303,7 +303,7 @@ function getRootFolder(options) {
303
303
  function getUserFolder(options, user) {
304
304
  var userFolder = new file_system_1.Folder({
305
305
  name: user,
306
- permissions: 'drwxr-----',
306
+ permissions: 'rwxr-----',
307
307
  owner: user
308
308
  }, options.parent);
309
309
  var newOptions = __assign(__assign({}, options), { parent: userFolder });
@@ -314,7 +314,7 @@ exports.getUserFolder = getUserFolder;
314
314
  function getGuestFolder(options) {
315
315
  var guestFolder = new file_system_1.Folder({
316
316
  name: 'guest',
317
- permissions: 'drwxrwxrwx',
317
+ permissions: 'rwxrwxrwx',
318
318
  owner: 'guest'
319
319
  }, options.parent);
320
320
  var newOptions = __assign(__assign({}, options), { parent: guestFolder });
@@ -324,7 +324,7 @@ function getGuestFolder(options) {
324
324
  function getHomeFolder(options) {
325
325
  var homeFolder = new file_system_1.Folder({
326
326
  name: 'home',
327
- permissions: 'drwxr-xr-x',
327
+ permissions: 'rwxr-xr-x',
328
328
  owner: 'root'
329
329
  }, options.parent);
330
330
  var newOptions = __assign(__assign({}, options), { parent: homeFolder });
@@ -336,7 +336,7 @@ function getHomeFolder(options) {
336
336
  function getVarFolder(options) {
337
337
  return new file_system_1.Folder({
338
338
  name: 'var',
339
- permissions: 'drwxr-xr-x',
339
+ permissions: 'rwxr-xr-x',
340
340
  owner: 'root'
341
341
  }, options.parent);
342
342
  }
@@ -388,7 +388,7 @@ function getBinFiles(options) {
388
388
  var _b = __read(_a, 2), name = _b[0], content = _b[1];
389
389
  return new file_system_1.File({
390
390
  name: name,
391
- permissions: '-r-x--x--x',
391
+ permissions: 'r-x--x--x',
392
392
  owner: 'root',
393
393
  type: file_system_1.FileType.Binary,
394
394
  content: content
@@ -398,7 +398,7 @@ function getBinFiles(options) {
398
398
  function getBinFolder(options) {
399
399
  var binFolder = new file_system_1.Folder({
400
400
  name: 'bin',
401
- permissions: 'drwxrwxr-x',
401
+ permissions: 'rwxrwxr-x',
402
402
  owner: 'root'
403
403
  }, options.parent);
404
404
  var newOptions = __assign(__assign({}, options), { parent: binFolder });
@@ -408,14 +408,14 @@ function getBinFolder(options) {
408
408
  function getUsrBinFolder(options) {
409
409
  return new file_system_1.Folder({
410
410
  name: 'bin',
411
- permissions: 'drwxrwxr-x',
411
+ permissions: 'rwxrwxr-x',
412
412
  owner: 'root'
413
413
  }, options.parent);
414
414
  }
415
415
  function getUsrFolder(options) {
416
416
  var usrFolder = new file_system_1.Folder({
417
417
  name: 'usr',
418
- permissions: 'drwxrwxr-x',
418
+ permissions: 'rwxrwxr-x',
419
419
  owner: 'root'
420
420
  }, options.parent);
421
421
  var newOptions = __assign(__assign({}, options), { parent: usrFolder });
@@ -425,17 +425,17 @@ function getUsrFolder(options) {
425
425
  function getBootFiles(options) {
426
426
  return generateFiles(new file_system_1.File({
427
427
  name: 'System.map',
428
- permissions: '-rw-------',
428
+ permissions: 'rw-------',
429
429
  owner: 'root',
430
430
  type: file_system_1.FileType.System
431
431
  }, options.parent), new file_system_1.File({
432
432
  name: 'inittrd.img',
433
- permissions: '-r--------',
433
+ permissions: 'r--------',
434
434
  owner: 'root',
435
435
  type: file_system_1.FileType.System
436
436
  }, options.parent), new file_system_1.File({
437
437
  name: 'kernel.img',
438
- permissions: '-r--------',
438
+ permissions: 'r--------',
439
439
  owner: 'root',
440
440
  type: file_system_1.FileType.System
441
441
  }, options.parent));
@@ -443,7 +443,7 @@ function getBootFiles(options) {
443
443
  function getBootFolder(options) {
444
444
  var bootFolder = new file_system_1.Folder({
445
445
  name: 'sys',
446
- permissions: 'drwxr-xr-x',
446
+ permissions: 'rwxr-xr-x',
447
447
  owner: 'root'
448
448
  }, options.parent);
449
449
  var newOptions = __assign(__assign({}, options), { parent: bootFolder });
@@ -453,7 +453,7 @@ function getBootFolder(options) {
453
453
  function getDefaultFileSystem(options) {
454
454
  var defaultSystem = new file_system_1.Folder({
455
455
  name: '',
456
- permissions: 'drwxr--r--',
456
+ permissions: 'rwxr--r--',
457
457
  owner: 'root',
458
458
  isProtected: true
459
459
  });
@@ -22,8 +22,9 @@ var port_1 = require("./port");
22
22
  var Computer = /** @class */ (function (_super) {
23
23
  __extends(Computer, _super);
24
24
  function Computer(options) {
25
- var _this = _super.call(this, options) || this;
25
+ var _this = _super.call(this, options, false) || this;
26
26
  _this.router = options.router || null;
27
+ _this.initialize();
27
28
  return _this;
28
29
  }
29
30
  Computer.prototype.isForwarded = function (port) {
@@ -39,7 +39,7 @@ export declare class Device {
39
39
  groups: Map<string, Set<string>>;
40
40
  mac: string;
41
41
  libraryManager: LibraryManager;
42
- constructor(options: DeviceOptions);
42
+ constructor(options: DeviceOptions, initialize?: boolean);
43
43
  initialize(): void;
44
44
  isForwarded(_port: number): boolean;
45
45
  forward(_port: number): boolean;
@@ -40,7 +40,8 @@ var service_1 = require("./service");
40
40
  var user_1 = require("./user");
41
41
  var vulnerabilities_1 = require("./vulnerabilities");
42
42
  var Device = /** @class */ (function () {
43
- function Device(options) {
43
+ function Device(options, initialize) {
44
+ if (initialize === void 0) { initialize = true; }
44
45
  this.localIp = options.localIp;
45
46
  this.location = options.location;
46
47
  this.networkDevices = options.networkDevices || [];
@@ -56,7 +57,8 @@ var Device = /** @class */ (function () {
56
57
  this.groups = new Map();
57
58
  this.services = new Map();
58
59
  this.libraryManager = options.libraryManager;
59
- this.initialize();
60
+ if (initialize)
61
+ this.initialize();
60
62
  }
61
63
  Device.prototype.initialize = function () {
62
64
  var e_1, _a, e_2, _b;
@@ -50,7 +50,8 @@ export declare class Entity extends EventEmitter {
50
50
  getPath(): string;
51
51
  getEntity(_path: string[]): Entity | null;
52
52
  copy(): Entity;
53
- getPermissions(user: User, groups: Map<string, Set<string>>): PermissionSegment;
53
+ getPermissionsForUser(user: User, groups: Map<string, Set<string>>): PermissionSegment;
54
+ getPermissions(): string;
54
55
  }
55
56
  export interface FileOptions extends Omit<EntityOptions, 'isFolder'> {
56
57
  content?: string;
@@ -88,4 +89,5 @@ export declare class Folder extends Entity {
88
89
  putEntity(entity: Entity): boolean;
89
90
  delete(): boolean;
90
91
  traverseChildren(callback: (v: Entity) => void): void;
92
+ getPermissions(): string;
91
93
  }
@@ -136,7 +136,7 @@ var Entity = /** @class */ (function (_super) {
136
136
  });
137
137
  return newEntity;
138
138
  };
139
- Entity.prototype.getPermissions = function (user, groups) {
139
+ Entity.prototype.getPermissionsForUser = function (user, groups) {
140
140
  if (user.username === 'root') {
141
141
  return new permission_1.PermissionSegment({
142
142
  segment: 'rwx'
@@ -151,6 +151,9 @@ var Entity = /** @class */ (function (_super) {
151
151
  }
152
152
  return this.permissions.o;
153
153
  };
154
+ Entity.prototype.getPermissions = function () {
155
+ return "-".concat(this.permissions.toString());
156
+ };
154
157
  return Entity;
155
158
  }(events_1.default));
156
159
  exports.Entity = Entity;
@@ -321,6 +324,9 @@ var Folder = /** @class */ (function (_super) {
321
324
  this.files.forEach(function (item) { return callback(item); });
322
325
  this.folders.forEach(function (item) { return item.traverseChildren(callback); });
323
326
  };
327
+ Folder.prototype.getPermissions = function () {
328
+ return "d".concat(this.permissions.toString());
329
+ };
324
330
  return Folder;
325
331
  }(Entity));
326
332
  exports.Folder = Folder;
@@ -23,7 +23,6 @@ export interface PermissionsOptions {
23
23
  permissions: string;
24
24
  }
25
25
  export declare class Permissions {
26
- m: string;
27
26
  u: PermissionSegment;
28
27
  g: PermissionSegment;
29
28
  o: PermissionSegment;
@@ -102,14 +102,12 @@ var Permissions = /** @class */ (function () {
102
102
  this.parse(options.permissions);
103
103
  }
104
104
  Permissions.prototype.parse = function (permission) {
105
- if (!/^[d-]([r-][w-][x-]){3}$/.test(permission)) {
105
+ if (!/^([r-][w-][x-]){3}$/.test(permission)) {
106
106
  throw new Error('Invalid permission.');
107
107
  }
108
- var _a = __read(permission, 1), m = _a[0];
109
108
  var u = permission.slice(1, 4);
110
109
  var g = permission.slice(4, 7);
111
110
  var o = permission.slice(7, 10);
112
- this.m = m;
113
111
  this.u = new PermissionSegment({ segment: u, userType: 'u' });
114
112
  this.g = new PermissionSegment({ segment: g, userType: 'g' });
115
113
  this.o = new PermissionSegment({ segment: o, userType: 'o' });
@@ -150,7 +148,7 @@ var Permissions = /** @class */ (function () {
150
148
  };
151
149
  Permissions.prototype.toString = function () {
152
150
  var parts = [this.u, this.g, this.o].map(function (seg) { return seg.toString(); });
153
- return "".concat(this.m).concat(parts.join(''));
151
+ return parts.join('');
154
152
  };
155
153
  return Permissions;
156
154
  }());
@@ -27,7 +27,7 @@ export declare class Router extends Device {
27
27
  credentials: User;
28
28
  name: string;
29
29
  };
30
- constructor(options: RouterOptions);
30
+ constructor(options: RouterOptions, initialize?: boolean);
31
31
  getForwarded(port: number): Device;
32
32
  isForwarded(port: number): boolean;
33
33
  forward(port: number): boolean;
@@ -50,8 +50,9 @@ var meta_info_1 = require("./meta-info");
50
50
  var port_1 = require("./port");
51
51
  var Router = /** @class */ (function (_super) {
52
52
  __extends(Router, _super);
53
- function Router(options) {
54
- var _this = _super.call(this, options) || this;
53
+ function Router(options, initialize) {
54
+ if (initialize === void 0) { initialize = true; }
55
+ var _this = _super.call(this, options, initialize) || this;
55
56
  _this.bssid = options.bssid;
56
57
  _this.essid = options.essid;
57
58
  _this.publicIp = options.publicIp;
@@ -22,8 +22,9 @@ var router_1 = require("./router");
22
22
  var Switch = /** @class */ (function (_super) {
23
23
  __extends(Switch, _super);
24
24
  function Switch(options) {
25
- var _this = _super.call(this, options) || this;
25
+ var _this = _super.call(this, options, false) || this;
26
26
  _this.router = options.router || null;
27
+ _this.initialize();
27
28
  return _this;
28
29
  }
29
30
  Switch.prototype.isForwarded = function (port) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "greybel-mock-environment",
3
- "version": "1.3.8",
3
+ "version": "1.4.0",
4
4
  "description": "Mock environment",
5
5
  "main": "dist/index",
6
6
  "typings": "dist/index",