greybel-mock-environment 1.3.4 → 1.3.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.
@@ -33,6 +33,7 @@ var random_seed_1 = __importDefault(require("random-seed"));
33
33
  var fs_1 = require("../fs");
34
34
  var types_1 = require("../types");
35
35
  var net_card_1 = require("../types/net-card");
36
+ var utils_1 = require("../utils");
36
37
  var ServerMapGenerator = /** @class */ (function () {
37
38
  function ServerMapGenerator(_a) {
38
39
  var router = _a.router, networkRng = _a.networkRng, portRng = _a.portRng, basicGenerator = _a.basicGenerator, userGenerator = _a.userGenerator, networkGenerator = _a.networkGenerator, libraryManager = _a.libraryManager;
@@ -47,7 +48,7 @@ var ServerMapGenerator = /** @class */ (function () {
47
48
  ServerMapGenerator.prototype.generateLocalIp = function (router) {
48
49
  var me = this;
49
50
  var ip = "192.168.".concat(me.networkRng.intBetween(0, 255), ".").concat(me.networkRng.intBetween(0, 255));
50
- if (router.devices.has(ip)) {
51
+ if (router.findByLanIp(ip) !== null) {
51
52
  return me.generateLocalIp(router);
52
53
  }
53
54
  return ip;
@@ -143,10 +144,11 @@ var ServerMapGenerator = /** @class */ (function () {
143
144
  var portAmount = me.portRng.intBetween(1, 3);
144
145
  var result = new Map();
145
146
  for (var i = 0; i < portAmount; i++) {
147
+ var service = types_1.ServiceTypeList[me.portRng.intBetween(0, 5)];
146
148
  var port = new types_1.Port({
147
- port: me.portRng.intBetween(1, 1000),
148
- isClosed: !!me.portRng.intBetween(0, 1),
149
- service: types_1.ServiceTypeList[me.portRng.intBetween(0, 5)]
149
+ port: (0, utils_1.getServicePort)(service),
150
+ isClosed: me.portRng.intBetween(0, 100) < 20,
151
+ service: service
150
152
  });
151
153
  result.set(port.port, port);
152
154
  }
@@ -28,7 +28,7 @@ var Computer = /** @class */ (function (_super) {
28
28
  }
29
29
  Computer.prototype.isForwarded = function (port) {
30
30
  var router = this.getRouter();
31
- if (router.forwarded.has(port)) {
31
+ if (!router.forwarded.has(port)) {
32
32
  return false;
33
33
  }
34
34
  var ip = router.forwarded.get(port).ip;
@@ -756,7 +756,10 @@ var Device = /** @class */ (function () {
756
756
  Device.prototype.addService = function (serviceType, portNumber) {
757
757
  var libFolder = this.getFile(['lib']);
758
758
  if (!(libFolder instanceof file_system_1.Folder)) {
759
- return;
759
+ return null;
760
+ }
761
+ if (this.services.has(serviceType)) {
762
+ return null;
760
763
  }
761
764
  var libFile;
762
765
  var configFile;
@@ -822,7 +825,9 @@ var Device = /** @class */ (function () {
822
825
  if (this.ports.has(port.port) || this.services.has(port.service)) {
823
826
  return false;
824
827
  }
825
- this.addService(port.service, port.port);
828
+ if (this.addService(port.service, port.port) === null) {
829
+ return false;
830
+ }
826
831
  this.ports.set(port.port, port);
827
832
  this.forward(port.port);
828
833
  return true;
@@ -76,11 +76,7 @@ var Router = /** @class */ (function (_super) {
76
76
  return this.devices.get(ip);
77
77
  };
78
78
  Router.prototype.isForwarded = function (port) {
79
- if (!this.forwarded.has(port)) {
80
- return false;
81
- }
82
- var ip = this.forwarded.get(port).ip;
83
- return ip === this.localIp;
79
+ return this.forwarded.has(port);
84
80
  };
85
81
  Router.prototype.forward = function (port) {
86
82
  if (this.forwarded.has(port)) {
@@ -28,9 +28,6 @@ var Switch = /** @class */ (function (_super) {
28
28
  }
29
29
  Switch.prototype.isForwarded = function (port) {
30
30
  var router = this.getRouter();
31
- if (router.forwarded.has(port)) {
32
- return false;
33
- }
34
31
  if (!router.forwarded.has(port)) {
35
32
  return false;
36
33
  }
package/dist/utils.d.ts CHANGED
@@ -4,6 +4,7 @@ import { User } from './types/user';
4
4
  export declare function isValidIp(target: string): boolean;
5
5
  export declare function isLanIp(target: string): boolean;
6
6
  export declare function getServiceLibrary(service: ServiceType): Library | null;
7
+ export declare function getServicePort(service: ServiceType): number;
7
8
  export declare function getUserPath(user: User): string;
8
9
  export declare function getTraversalPath(path: string | null, currentLocation?: string[]): null | string[];
9
10
  export declare function getRandom(min: number, max: number): number;
package/dist/utils.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.capitalize = exports.getRandomInt = exports.getRandom = exports.getTraversalPath = exports.getUserPath = exports.getServiceLibrary = exports.isLanIp = exports.isValidIp = void 0;
6
+ exports.capitalize = exports.getRandomInt = exports.getRandom = exports.getTraversalPath = exports.getUserPath = exports.getServicePort = exports.getServiceLibrary = exports.isLanIp = exports.isValidIp = void 0;
7
7
  var random_seed_1 = __importDefault(require("random-seed"));
8
8
  var library_1 = require("./types/library");
9
9
  var service_1 = require("./types/service");
@@ -38,6 +38,29 @@ function getServiceLibrary(service) {
38
38
  return null;
39
39
  }
40
40
  exports.getServiceLibrary = getServiceLibrary;
41
+ function getServicePort(service) {
42
+ switch (service) {
43
+ case service_1.ServiceType.FTP:
44
+ return 21;
45
+ case service_1.ServiceType.HTTP:
46
+ return 80;
47
+ case service_1.ServiceType.RSHELL:
48
+ return 1222;
49
+ case service_1.ServiceType.SMTP:
50
+ return 25;
51
+ case service_1.ServiceType.SQL:
52
+ return 141;
53
+ case service_1.ServiceType.SSH:
54
+ return 22;
55
+ case service_1.ServiceType.CHAT:
56
+ return 6667;
57
+ case service_1.ServiceType.REPOSITORY:
58
+ return 1542;
59
+ default:
60
+ }
61
+ return getRandomInt(1, 1000);
62
+ }
63
+ exports.getServicePort = getServicePort;
41
64
  function getUserPath(user) {
42
65
  switch (user.username) {
43
66
  case 'root':
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "greybel-mock-environment",
3
- "version": "1.3.4",
3
+ "version": "1.3.6",
4
4
  "description": "Mock environment",
5
5
  "main": "dist/index",
6
6
  "typings": "dist/index",
@@ -48,7 +48,7 @@
48
48
  "dependencies": {
49
49
  "@types/random-seed": "^0.3.3",
50
50
  "blueimp-md5": "^2.19.0",
51
- "greyscript-core": "^0.5.5",
51
+ "greyscript-core": "^0.5.6",
52
52
  "random-seed": "^0.3.0",
53
53
  "random-username-generator": "^1.0.4"
54
54
  }