greybel-mock-environment 1.2.4 → 1.2.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.
@@ -145,12 +145,12 @@ var MockEnvironment = /** @class */ (function () {
145
145
  var currentPath = computer.getHome(user);
146
146
  var programPath = new types_1.File({
147
147
  name: 'myprogramm',
148
- permissions: '---------',
148
+ permissions: '----------',
149
149
  owner: 'root',
150
150
  isProtected: true,
151
151
  type: types_1.FileType.Bin
152
152
  });
153
- currentPath.putFile(programPath);
153
+ currentPath.putEntity(programPath);
154
154
  me.localSession = new types_1.Session({
155
155
  user: user,
156
156
  computer: computer,
package/dist/fs.d.ts CHANGED
@@ -1,30 +1,18 @@
1
1
  import { Service } from './types';
2
2
  import { Entity, File, Folder } from './types/file-system';
3
+ import { MetaInfo } from './types/meta-info';
3
4
  import { Port } from './types/port';
4
5
  import { User } from './types/user';
5
- export declare enum FSDeviceOwnerType {
6
- Player = 0,
7
- Npc = 1
8
- }
9
- export declare enum FSCreationVariation {
10
- Easy = 0,
11
- Medium = 1,
12
- Hard = 2
13
- }
14
- export declare enum FSDeviceType {
15
- Unknown = 0,
16
- Computer = 1,
17
- Router = 2,
18
- Switch = 3
19
- }
6
+ export declare function getLibraryFile(service: Service, parent?: Entity): File;
7
+ export declare type Files = Map<string, File>;
8
+ export declare function generateFiles(...files: File[]): Files;
9
+ export declare type Folders = Map<string, Folder>;
10
+ export declare function generateFolders(...folders: Folder[]): Folders;
20
11
  export interface FSOptions {
21
12
  users: User[];
22
- type: FSDeviceType;
23
- ownerType: FSDeviceOwnerType;
24
- difficulty?: FSCreationVariation;
13
+ meta: MetaInfo;
25
14
  parent?: Entity;
26
15
  ports?: Map<number, Port>;
27
16
  }
28
- export declare function getLibraryFile(service: Service, parent?: Entity): File;
29
17
  export declare function getUserFolder(options: FSOptions, user: string): Folder;
30
18
  export declare function getDefaultFileSystem(options: FSOptions): Folder;
package/dist/fs.js CHANGED
@@ -10,6 +10,29 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
13
36
  var __values = (this && this.__values) || function(o) {
14
37
  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
15
38
  if (m) return m.call(o);
@@ -47,50 +70,11 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
47
70
  return to.concat(ar || Array.prototype.slice.call(from));
48
71
  };
49
72
  Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.getDefaultFileSystem = exports.getUserFolder = exports.getLibraryFile = exports.FSDeviceType = exports.FSCreationVariation = exports.FSDeviceOwnerType = void 0;
73
+ exports.getDefaultFileSystem = exports.getUserFolder = exports.generateFolders = exports.generateFiles = exports.getLibraryFile = void 0;
74
+ var BinFiles = __importStar(require("./scripts"));
51
75
  var types_1 = require("./types");
52
76
  var file_system_1 = require("./types/file-system");
53
- var FSDeviceOwnerType;
54
- (function (FSDeviceOwnerType) {
55
- FSDeviceOwnerType[FSDeviceOwnerType["Player"] = 0] = "Player";
56
- FSDeviceOwnerType[FSDeviceOwnerType["Npc"] = 1] = "Npc";
57
- })(FSDeviceOwnerType = exports.FSDeviceOwnerType || (exports.FSDeviceOwnerType = {}));
58
- var FSCreationVariation;
59
- (function (FSCreationVariation) {
60
- FSCreationVariation[FSCreationVariation["Easy"] = 0] = "Easy";
61
- FSCreationVariation[FSCreationVariation["Medium"] = 1] = "Medium";
62
- FSCreationVariation[FSCreationVariation["Hard"] = 2] = "Hard";
63
- })(FSCreationVariation = exports.FSCreationVariation || (exports.FSCreationVariation = {}));
64
- var FSDeviceType;
65
- (function (FSDeviceType) {
66
- FSDeviceType[FSDeviceType["Unknown"] = 0] = "Unknown";
67
- FSDeviceType[FSDeviceType["Computer"] = 1] = "Computer";
68
- FSDeviceType[FSDeviceType["Router"] = 2] = "Router";
69
- FSDeviceType[FSDeviceType["Switch"] = 3] = "Switch";
70
- })(FSDeviceType = exports.FSDeviceType || (exports.FSDeviceType = {}));
71
- function getEtcAptFiles(options) {
72
- return [
73
- new file_system_1.File({
74
- name: 'sources.txt',
75
- permissions: '-rw-r-----',
76
- owner: 'root',
77
- content: "{\n\t\t\t\"official_server\": true,\n\t\t\t\"sourceList\": {}\n\t\t}",
78
- type: file_system_1.FileType.Plain
79
- }, options.parent)
80
- ];
81
- }
82
- function getEtcAptFolder(options) {
83
- var aptFolder = new file_system_1.Folder({
84
- name: 'apt',
85
- permissions: 'drwxr-x---',
86
- owner: 'root',
87
- folders: [],
88
- files: []
89
- }, options.parent);
90
- var newOptions = __assign(__assign({}, options), { parent: aptFolder });
91
- aptFolder.files = getEtcAptFiles(newOptions);
92
- return aptFolder;
93
- }
77
+ var meta_info_1 = require("./types/meta-info");
94
78
  function getLibraryFile(service, parent) {
95
79
  switch (service) {
96
80
  case types_1.Service.SSH: {
@@ -133,43 +117,78 @@ function getLibraryFile(service, parent) {
133
117
  return null;
134
118
  }
135
119
  exports.getLibraryFile = getLibraryFile;
120
+ function generateFiles() {
121
+ var files = [];
122
+ for (var _i = 0; _i < arguments.length; _i++) {
123
+ files[_i] = arguments[_i];
124
+ }
125
+ return files.reduce(function (r, f) {
126
+ r.set(f.name, f);
127
+ return r;
128
+ }, new Map());
129
+ }
130
+ exports.generateFiles = generateFiles;
131
+ function generateFolders() {
132
+ var folders = [];
133
+ for (var _i = 0; _i < arguments.length; _i++) {
134
+ folders[_i] = arguments[_i];
135
+ }
136
+ return folders.reduce(function (r, f) {
137
+ r.set(f.name, f);
138
+ return r;
139
+ }, new Map());
140
+ }
141
+ exports.generateFolders = generateFolders;
142
+ function getEtcAptFiles(options) {
143
+ return generateFiles(new file_system_1.File({
144
+ name: 'sources.txt',
145
+ permissions: '-rw-r-----',
146
+ owner: 'root',
147
+ content: "{\n\t\t\t\"official_server\": true,\n\t\t\t\"sourceList\": {}\n\t\t}",
148
+ type: file_system_1.FileType.Plain
149
+ }, options.parent));
150
+ }
151
+ function getEtcAptFolder(options) {
152
+ var aptFolder = new file_system_1.Folder({
153
+ name: 'apt',
154
+ permissions: 'drwxr-x---',
155
+ owner: 'root'
156
+ }, options.parent);
157
+ var newOptions = __assign(__assign({}, options), { parent: aptFolder });
158
+ aptFolder.files = getEtcAptFiles(newOptions);
159
+ return aptFolder;
160
+ }
136
161
  function getEtcFiles(options) {
137
- return [
138
- new file_system_1.File({
139
- name: 'passwd',
140
- permissions: '-rw-r-----',
141
- owner: 'root',
142
- content: options.users
143
- .map(function (v) { return "".concat(v.username, ":").concat(v.passwordHashed); })
144
- .join('\n'),
145
- type: file_system_1.FileType.Plain
146
- }, options.parent),
147
- new file_system_1.File({
148
- name: 'xorg.conf',
149
- permissions: '-rw-r-----',
150
- owner: 'root',
151
- content: "",
152
- type: file_system_1.FileType.Plain
153
- }, options.parent),
154
- new file_system_1.File({
155
- name: 'fstab',
156
- permissions: '-rw-r-----',
157
- owner: 'root',
158
- content: "",
159
- type: file_system_1.FileType.Plain
160
- }, options.parent)
161
- ];
162
+ return generateFiles(new file_system_1.File({
163
+ name: 'passwd',
164
+ permissions: '-rw-r-----',
165
+ owner: 'root',
166
+ content: options.users
167
+ .map(function (v) { return "".concat(v.username, ":").concat(v.passwordHashed); })
168
+ .join('\n'),
169
+ type: file_system_1.FileType.Plain
170
+ }, options.parent), new file_system_1.File({
171
+ name: 'xorg.conf',
172
+ permissions: '-rw-r-----',
173
+ owner: 'root',
174
+ content: "",
175
+ type: file_system_1.FileType.Plain
176
+ }, options.parent), new file_system_1.File({
177
+ name: 'fstab',
178
+ permissions: '-rw-r-----',
179
+ owner: 'root',
180
+ content: "",
181
+ type: file_system_1.FileType.Plain
182
+ }, options.parent));
162
183
  }
163
184
  function getEtcFolder(options) {
164
185
  var etcFolder = new file_system_1.Folder({
165
186
  name: 'etc',
166
187
  permissions: 'drwxr-x---',
167
- owner: 'root',
168
- folders: [],
169
- files: []
188
+ owner: 'root'
170
189
  }, options.parent);
171
190
  var newOptions = __assign(__assign({}, options), { parent: etcFolder });
172
- etcFolder.folders = [getEtcAptFolder(newOptions)];
191
+ etcFolder.folders = generateFolders(getEtcAptFolder(newOptions));
173
192
  etcFolder.files = getEtcFiles(newOptions);
174
193
  return etcFolder;
175
194
  }
@@ -191,7 +210,7 @@ function getLibFiles(options) {
191
210
  version: '1.0.0.0'
192
211
  }, options.parent)
193
212
  ];
194
- if (options.type === FSDeviceType.Computer) {
213
+ if (options.meta.deviceType === meta_info_1.MetaDeviceType.Computer) {
195
214
  libFiles.push(new file_system_1.File({
196
215
  name: 'kernel_module.so',
197
216
  permissions: '-rw-r-----',
@@ -209,7 +228,7 @@ function getLibFiles(options) {
209
228
  version: '1.0.0.0'
210
229
  }, options.parent));
211
230
  }
212
- if (options.ownerType === FSDeviceOwnerType.Player) {
231
+ if (options.meta.ownerType === meta_info_1.MetaOwnerType.Player) {
213
232
  libFiles.push(new file_system_1.File({
214
233
  name: 'crypto.so',
215
234
  permissions: '-rw-r--r--',
@@ -257,93 +276,70 @@ function getLibFiles(options) {
257
276
  }
258
277
  finally { if (e_1) throw e_1.error; }
259
278
  }
260
- return libFiles;
279
+ return generateFiles.apply(void 0, __spreadArray([], __read(libFiles), false));
261
280
  }
262
281
  function getLibFolder(options) {
263
282
  var libFolder = new file_system_1.Folder({
264
283
  name: 'lib',
265
284
  permissions: 'drwxrwx---',
266
- owner: 'root',
267
- folders: [],
268
- files: []
285
+ owner: 'root'
269
286
  }, options.parent);
270
287
  var newOptions = __assign(__assign({}, options), { parent: libFolder });
271
288
  libFolder.files = getLibFiles(newOptions);
272
289
  return libFolder;
273
290
  }
274
291
  function getSysFiles(options) {
275
- return [
276
- new file_system_1.File({
277
- name: 'xorg.sys',
278
- permissions: '-r-x------',
279
- owner: 'root',
280
- type: file_system_1.FileType.System
281
- }, options.parent),
282
- new file_system_1.File({
283
- name: 'config.sys',
284
- permissions: '-rw-------',
285
- owner: 'root',
286
- type: file_system_1.FileType.System
287
- }, options.parent),
288
- new file_system_1.File({
289
- name: 'network.cfg',
290
- permissions: '-rw-------',
291
- owner: 'root',
292
- type: file_system_1.FileType.System
293
- }, options.parent)
294
- ];
292
+ return generateFiles(new file_system_1.File({
293
+ name: 'xorg.sys',
294
+ permissions: '-r-x------',
295
+ owner: 'root',
296
+ type: file_system_1.FileType.System
297
+ }, options.parent), new file_system_1.File({
298
+ name: 'config.sys',
299
+ permissions: '-rw-------',
300
+ owner: 'root',
301
+ type: file_system_1.FileType.System
302
+ }, options.parent), new file_system_1.File({
303
+ name: 'network.cfg',
304
+ permissions: '-rw-------',
305
+ owner: 'root',
306
+ type: file_system_1.FileType.System
307
+ }, options.parent));
295
308
  }
296
309
  function getSysFolder(options) {
297
310
  var sysFolder = new file_system_1.Folder({
298
311
  name: 'sys',
299
312
  permissions: 'drwxr-xr-x',
300
- owner: 'root',
301
- folders: [],
302
- files: []
313
+ owner: 'root'
303
314
  }, options.parent);
304
315
  var newOptions = __assign(__assign({}, options), { parent: sysFolder });
305
316
  sysFolder.files = getSysFiles(newOptions);
306
317
  return sysFolder;
307
318
  }
308
319
  function getDefaultHomeFolders(options, owner) {
309
- return [
310
- new file_system_1.Folder({
311
- name: 'Desktop',
312
- permissions: 'drwxr-----',
313
- owner: owner,
314
- folders: [],
315
- files: []
316
- }, options.parent),
317
- new file_system_1.Folder({
318
- name: 'Downloads',
319
- permissions: 'drwxr-----',
320
- owner: owner,
321
- folders: [],
322
- files: []
323
- }, options.parent),
324
- new file_system_1.Folder({
325
- name: 'Config',
326
- permissions: 'drwxr-----',
327
- owner: owner,
328
- folders: [],
329
- files: []
330
- }, options.parent),
331
- new file_system_1.Folder({
332
- name: '.Trash',
333
- permissions: 'drwxr-----',
334
- owner: owner,
335
- folders: [],
336
- files: []
337
- }, options.parent)
338
- ];
320
+ return generateFolders(new file_system_1.Folder({
321
+ name: 'Desktop',
322
+ permissions: 'drwxr-----',
323
+ owner: owner
324
+ }, options.parent), new file_system_1.Folder({
325
+ name: 'Downloads',
326
+ permissions: 'drwxr-----',
327
+ owner: owner
328
+ }, options.parent), new file_system_1.Folder({
329
+ name: 'Config',
330
+ permissions: 'drwxr-----',
331
+ owner: owner
332
+ }, options.parent), new file_system_1.Folder({
333
+ name: '.Trash',
334
+ permissions: 'drwxr-----',
335
+ owner: owner
336
+ }, options.parent));
339
337
  }
340
338
  function getRootFolder(options) {
341
339
  var rootFolder = new file_system_1.Folder({
342
340
  name: 'root',
343
341
  permissions: 'drwxr-----',
344
- owner: 'root',
345
- folders: [],
346
- files: []
342
+ owner: 'root'
347
343
  }, options.parent);
348
344
  var newOptions = __assign(__assign({}, options), { parent: rootFolder });
349
345
  rootFolder.folders = getDefaultHomeFolders(newOptions, 'root');
@@ -353,9 +349,7 @@ function getUserFolder(options, user) {
353
349
  var userFolder = new file_system_1.Folder({
354
350
  name: user,
355
351
  permissions: 'drwxr-----',
356
- owner: user,
357
- folders: [],
358
- files: []
352
+ owner: user
359
353
  }, options.parent);
360
354
  var newOptions = __assign(__assign({}, options), { parent: userFolder });
361
355
  userFolder.folders = getDefaultHomeFolders(newOptions, user);
@@ -366,9 +360,7 @@ function getGuestFolder(options) {
366
360
  var guestFolder = new file_system_1.Folder({
367
361
  name: 'guest',
368
362
  permissions: 'drwxrwxrwx',
369
- owner: 'guest',
370
- folders: [],
371
- files: []
363
+ owner: 'guest'
372
364
  }, options.parent);
373
365
  var newOptions = __assign(__assign({}, options), { parent: guestFolder });
374
366
  guestFolder.folders = getDefaultHomeFolders(newOptions, 'guest');
@@ -378,86 +370,126 @@ function getHomeFolder(options) {
378
370
  var homeFolder = new file_system_1.Folder({
379
371
  name: 'home',
380
372
  permissions: 'drwxr-xr-x',
381
- owner: 'root',
382
- folders: [],
383
- files: []
373
+ owner: 'root'
384
374
  }, options.parent);
385
375
  var newOptions = __assign(__assign({}, options), { parent: homeFolder });
386
- homeFolder.folders = __spreadArray(__spreadArray([], __read(options.users
376
+ homeFolder.folders = generateFolders.apply(void 0, __spreadArray(__spreadArray([], __read(options.users
387
377
  .filter(function (v) { return v.username !== 'root'; })
388
- .map(function (v) { return getUserFolder(newOptions, v.username); })), false), [
389
- getGuestFolder(newOptions)
390
- ], false);
378
+ .map(function (v) { return getUserFolder(newOptions, v.username); })), false), [getGuestFolder(newOptions)], false));
391
379
  return homeFolder;
392
380
  }
393
381
  function getVarFolder(options) {
394
382
  return new file_system_1.Folder({
395
383
  name: 'var',
396
384
  permissions: 'drwxr-xr-x',
397
- owner: 'root',
398
- folders: [],
399
- files: []
385
+ owner: 'root'
400
386
  }, options.parent);
401
387
  }
388
+ function getBinFiles(options) {
389
+ var files = [
390
+ ['build', BinFiles.build],
391
+ ['cat', BinFiles.cat],
392
+ ['cp', BinFiles.cp],
393
+ ['kill', BinFiles.kill],
394
+ ['ls', BinFiles.ls],
395
+ ['mkdir', BinFiles.mkdir],
396
+ ['mv', BinFiles.mv],
397
+ ['ps', BinFiles.ps],
398
+ ['pwd', BinFiles.pwd],
399
+ ['rm', BinFiles.rm],
400
+ ['sudo', BinFiles.sudo],
401
+ ['touch', BinFiles.touch],
402
+ ['whoami', BinFiles.whoami],
403
+ ['aircrack', BinFiles.aircrack],
404
+ ['aireplay', BinFiles.aireplay],
405
+ ['airmon', BinFiles.airmon],
406
+ ['apt-get', BinFiles.aptGet],
407
+ ['ftp', BinFiles.ftp],
408
+ ['ifconfig', BinFiles.ifconfig],
409
+ ['iwconfig', BinFiles.iwconfig],
410
+ ['iwlist', BinFiles.iwlist],
411
+ ['nmap', BinFiles.nmap],
412
+ ['nslookup', BinFiles.nslookup],
413
+ ['ping', BinFiles.ping],
414
+ ['rshell-interface', BinFiles.rshellInterface],
415
+ ['smtp-user-list', BinFiles.smtpUserList],
416
+ ['sniffer', BinFiles.sniffer],
417
+ ['ssh', BinFiles.ssh],
418
+ ['whois', BinFiles.whois],
419
+ ['chgrp', BinFiles.chgrp],
420
+ ['chmod', BinFiles.chmod],
421
+ ['chown', BinFiles.chown],
422
+ ['groupadd', BinFiles.groupadd],
423
+ ['groupdel', BinFiles.groupdel],
424
+ ['groups', BinFiles.groups],
425
+ ['passwd', BinFiles.passwd],
426
+ ['useradd', BinFiles.useradd],
427
+ ['userdel', BinFiles.userdel],
428
+ ['decipher', BinFiles.decipher],
429
+ ['scanlib', BinFiles.scanlib],
430
+ ['scanrouter', BinFiles.scanrouter]
431
+ ];
432
+ return generateFiles.apply(void 0, __spreadArray([], __read(files.map(function (_a) {
433
+ var _b = __read(_a, 2), name = _b[0], content = _b[1];
434
+ return new file_system_1.File({
435
+ name: name,
436
+ permissions: '-r-x--x--x',
437
+ owner: 'root',
438
+ type: file_system_1.FileType.Bin,
439
+ content: content
440
+ }, options.parent);
441
+ })), false));
442
+ }
402
443
  function getBinFolder(options) {
403
- return new file_system_1.Folder({
444
+ var binFolder = new file_system_1.Folder({
404
445
  name: 'bin',
405
446
  permissions: 'drwxrwxr-x',
406
- owner: 'root',
407
- folders: [],
408
- files: []
447
+ owner: 'root'
409
448
  }, options.parent);
449
+ var newOptions = __assign(__assign({}, options), { parent: binFolder });
450
+ binFolder.files = getBinFiles(newOptions);
451
+ return binFolder;
410
452
  }
411
453
  function getUsrBinFolder(options) {
412
454
  return new file_system_1.Folder({
413
455
  name: 'bin',
414
456
  permissions: 'drwxrwxr-x',
415
- owner: 'root',
416
- folders: [],
417
- files: []
457
+ owner: 'root'
418
458
  }, options.parent);
419
459
  }
420
460
  function getUsrFolder(options) {
421
461
  var usrFolder = new file_system_1.Folder({
422
462
  name: 'usr',
423
463
  permissions: 'drwxrwxr-x',
424
- owner: 'root',
425
- folders: [],
426
- files: []
464
+ owner: 'root'
427
465
  }, options.parent);
428
466
  var newOptions = __assign(__assign({}, options), { parent: usrFolder });
429
- usrFolder.folders = [getUsrBinFolder(newOptions)];
467
+ usrFolder.folders = generateFolders(getUsrBinFolder(newOptions));
430
468
  return usrFolder;
431
469
  }
432
470
  function getBootFiles(options) {
433
- return [
434
- new file_system_1.File({
435
- name: 'System.map',
436
- permissions: '-rw-------',
437
- owner: 'root',
438
- type: file_system_1.FileType.System
439
- }, options.parent),
440
- new file_system_1.File({
441
- name: 'inittrd.img',
442
- permissions: '-r--------',
443
- owner: 'root',
444
- type: file_system_1.FileType.System
445
- }, options.parent),
446
- new file_system_1.File({
447
- name: 'kernel.img',
448
- permissions: '-r--------',
449
- owner: 'root',
450
- type: file_system_1.FileType.System
451
- }, options.parent)
452
- ];
471
+ return generateFiles(new file_system_1.File({
472
+ name: 'System.map',
473
+ permissions: '-rw-------',
474
+ owner: 'root',
475
+ type: file_system_1.FileType.System
476
+ }, options.parent), new file_system_1.File({
477
+ name: 'inittrd.img',
478
+ permissions: '-r--------',
479
+ owner: 'root',
480
+ type: file_system_1.FileType.System
481
+ }, options.parent), new file_system_1.File({
482
+ name: 'kernel.img',
483
+ permissions: '-r--------',
484
+ owner: 'root',
485
+ type: file_system_1.FileType.System
486
+ }, options.parent));
453
487
  }
454
488
  function getBootFolder(options) {
455
489
  var bootFolder = new file_system_1.Folder({
456
490
  name: 'sys',
457
491
  permissions: 'drwxr-xr-x',
458
- owner: 'root',
459
- folders: [],
460
- files: []
492
+ owner: 'root'
461
493
  }, options.parent);
462
494
  var newOptions = __assign(__assign({}, options), { parent: bootFolder });
463
495
  bootFolder.files = getBootFiles(newOptions);
@@ -468,22 +500,10 @@ function getDefaultFileSystem(options) {
468
500
  name: '',
469
501
  permissions: 'drwxr--r--',
470
502
  owner: 'root',
471
- isProtected: true,
472
- files: [],
473
- folders: []
503
+ isProtected: true
474
504
  });
475
505
  var newOptions = __assign(__assign({}, options), { parent: defaultSystem });
476
- defaultSystem.folders = [
477
- getEtcFolder(newOptions),
478
- getLibFolder(newOptions),
479
- getSysFolder(newOptions),
480
- getRootFolder(newOptions),
481
- getHomeFolder(newOptions),
482
- getVarFolder(newOptions),
483
- getBinFolder(newOptions),
484
- getUsrFolder(newOptions),
485
- getBootFolder(newOptions)
486
- ];
506
+ defaultSystem.folders = generateFolders(getEtcFolder(newOptions), getLibFolder(newOptions), getSysFolder(newOptions), getRootFolder(newOptions), getHomeFolder(newOptions), getVarFolder(newOptions), getBinFolder(newOptions), getUsrFolder(newOptions), getBootFolder(newOptions));
487
507
  return defaultSystem;
488
508
  }
489
509
  exports.getDefaultFileSystem = getDefaultFileSystem;
@@ -1,6 +1,7 @@
1
1
  import { RandomSeed } from 'random-seed';
2
- import { FSCreationVariation } from '../fs';
3
- import { Computer, NetworkDevice, Port, Router, Switch, User } from '../types';
2
+ import { Computer, MetaOwnerLevel, NetworkDevice, Port, Router, Switch, User } from '../types';
3
+ import { RouterOptions } from '../types/router';
4
+ import { SwitchOptions } from '../types/switch';
4
5
  import BasicGenerator from './basic';
5
6
  import EmailGenerator from './email';
6
7
  import UserGenerator from './user';
@@ -21,7 +22,7 @@ export declare class ServerMapGenerator {
21
22
  portRng: RandomSeed;
22
23
  constructor({ router, networkRng, portRng, basicGenerator, userGenerator, networkGenerator }: ServerMapGeneratorOptions);
23
24
  generateLocalIp(router: Router): string;
24
- generateSwitch(options?: Partial<Switch>): Switch;
25
+ generateSwitch(options?: Partial<SwitchOptions>): Switch;
25
26
  generateComputer(router: Router, users: User[], rootPassword?: string): Computer;
26
27
  generateLocalComputer(users: User[], rootPassword?: string): Computer;
27
28
  generatePorts(router: Router): Map<number, Port>;
@@ -41,8 +42,8 @@ export default class NetworkGenerator {
41
42
  serverMap: Map<string, ServerMapGenerator>;
42
43
  constructor({ seed, basicGenerator, userGenerator, emailGenerator }: NetworkGeneratorOptions);
43
44
  generateIp(): string;
44
- generateDifficulty(): FSCreationVariation;
45
+ generateDifficulty(): MetaOwnerLevel;
45
46
  generateLocalComputer(users: User[], rootPassword?: string): Computer;
46
- generateRouter(options?: Partial<Router>): Router;
47
+ generateRouter(options?: Partial<RouterOptions>): Router;
47
48
  generateNetworkDevice(): NetworkDevice;
48
49
  }