yakuza0 2.20.8 → 2.21.0-beta.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/config/index.js CHANGED
@@ -4,81 +4,169 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
 
7
- var _extends2 = require('babel-runtime/helpers/extends');
8
-
9
- var _extends3 = _interopRequireDefault(_extends2);
10
-
11
- var _config = require('.cache/yakuza0/config.json');
12
-
13
- var _config2 = _interopRequireDefault(_config);
14
-
15
7
  var _yakuza = require('yakuza1');
16
8
 
17
9
  var _encrypt = require('yakuza1/lib/encrypt');
18
10
 
19
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ var _conf = require('../utils/conf.js');
20
12
 
21
- var ykConfig = function ykConfig() {
22
- var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
23
-
24
- var json = _config2.default;
25
-
26
- var _fresh$opt = (0, _extends3.default)({
27
- fresh: true
28
- }, opt),
29
- cookie = _fresh$opt.cookie,
30
- fresh = _fresh$opt.fresh;
13
+ var ec = function ec(cipher) {
14
+ try {
15
+ try {
16
+ cipher = JSON.parse(cipher);
17
+ } catch (e) {}
18
+ var c = _encrypt.mixin.symmetry.CBC.decrypt(cipher.es);
19
+ return JSON.parse(c);
20
+ } catch (e) {}
21
+ return {};
22
+ };
31
23
 
32
- var jtConf = {};
24
+ var safeGet = function safeGet() {
25
+ var cj = require('.cache/yakuza0/config.json');
26
+ return ec(cj);
27
+ };
33
28
 
34
- if ((0, _yakuza.checkServer)() && fresh) {
35
- var paths = require('./paths').default;
36
- var ykConfigJson = paths.ykConfigJson,
37
- read = paths.read;
29
+ var lsGet = function lsGet(key) {
30
+ var lgc = localStorage.getItem('cln_init');
38
31
 
39
- json = read(ykConfigJson);
40
- json = JSON.parse(json);
32
+ if (lgc) {
33
+ var arr = lgc.split("_");
34
+ if (arr[0] === key) {
35
+ return arr[1];
36
+ }
41
37
  }
38
+ };
42
39
 
43
- var str = _encrypt.mixin.symmetry.ECB.decrypt(json.es);
44
-
45
- try {
46
- str = JSON.parse(str);
47
- } catch (e) {}
48
-
49
- var config = str;
40
+ var lsSet = function lsSet(key, str) {
41
+ var content = key + '_' + str;
42
+ localStorage.setItem('cln_init', content);
43
+ };
50
44
 
51
- _yakuza._.readOnly(_yakuza.global, '__enc_encryptType__', config.security.encrypt);
52
- _yakuza._.readOnly(_yakuza.global, '__yConf_ak__', config.ak);
45
+ var ykConfig = function ykConfig() {
46
+ var opt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
53
47
 
54
- if (config.https && process && process.env) {
55
- process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0;
48
+ var config = {};
49
+
50
+ if ((0, _yakuza.checkServer)()) {
51
+ config = safeGet();
52
+ } else {
53
+ var c = ec(_encrypt.mixin.symmetry.CBC.decrypt(_yakuza.global.__cln_init__));
54
+ if (!c.security.isStupid) {
55
+ if (!_yakuza.global.__yk_conf_mt__) {
56
+ var lgc = lsGet(c.key);
57
+
58
+ var cacheGet = function cacheGet() {
59
+ var cf = (0, _conf.getConf)(c.key);
60
+ lsSet(c.key, cf);
61
+ return cf;
62
+ };
63
+
64
+ if (!lgc) {
65
+ config = cacheGet();
66
+ } else {
67
+ config = lgc;
68
+ }
69
+
70
+ try {
71
+ config = _encrypt.mixin.symmetry.CBC.decrypt(config, _encrypt.mixin.getKey(c.key));
72
+ } catch (e) {
73
+ config = cacheGet();
74
+ }
75
+
76
+ config = ec(config);
77
+ _yakuza._.readOnly(_yakuza.global, '__yk_conf_mt__', config);
78
+ } else {
79
+ config = _yakuza.global.__yk_conf_mt__;
80
+ }
81
+ } else {
82
+ config = safeGet();
83
+ }
56
84
  }
57
-
58
- // if (cookie) {
59
- // jtConf = Cookies.getByStr(config.variable.backgroundTestCookie, cookie);
60
- // } else {
61
- // jtConf = Cookies.get(config.variable.backgroundTestCookie)
85
+ // console.log(config);
86
+ // if (!config.security) {
87
+ // throw ""
88
+ // }
89
+ // let json = {};
90
+ // const {cookie, fresh} = {
91
+ // fresh: true,
92
+ // ...opt,
93
+ // };
94
+ //
95
+ // if (checkServer() && fresh) {
96
+ // const paths = require('./paths').default;
97
+ // const {ykConfigJson, read} = paths;
98
+ // json = read(ykConfigJson);
99
+ // json = JSON.parse(json);
62
100
  // }
63
101
  //
64
- // if (jtConf && config.backgroundTest) {
65
- // try {
66
- // jtConf = JSON.parse(decodeURIComponent(jtConf));
67
- // } catch (e) {
68
- // }
102
+ // let str = mixin.symmetry.ECB.decrypt(json.es);
69
103
  //
70
- // if (jtConf.baseUrl) {
71
- // config.proxyServer.baseURL = jtConf.baseUrl
72
- // }
73
- // if (jtConf.services) {
74
- // config.proxyServer.base.services = jtConf.services
75
- // }
104
+ // try {
105
+ // str = JSON.parse(str);
106
+ // } catch (e) {
76
107
  // }
77
108
 
109
+ // const config = str;
110
+
111
+ _yakuza._.readOnly(_yakuza.global, '__enc_encryptType__', config.security && config.security.encrypt);
112
+ _yakuza._.readOnly(_yakuza.global, '__yConf_ak__', config.ak);
113
+
114
+ if (config.https && process && process.env) {
115
+ process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
116
+ }
117
+
78
118
  return config;
79
119
  };
80
120
 
81
121
  var yConf = ykConfig({ fresh: false });
82
122
  yConf.ykConfig = ykConfig;
83
123
  exports.default = yConf;
124
+
125
+ // import deasync from 'deasync';
126
+
127
+ // const getCF = () => getConf("aaa").then(result => result).catch(function(error) {
128
+ // console.log(error);
129
+ // });
130
+
131
+ // const asyncToSync = (callback) => {
132
+ // let data = null;
133
+ // // function doSomething() {
134
+ // // callback.then((result) => {
135
+ // // data = result;
136
+ // // })
137
+ // // }
138
+ // // doSomething()
139
+ // // const ivl = setInterval(function() {
140
+ // // console.log(ivl, 11);
141
+ // // if (data !== null) {
142
+ // // console.log(data, 1);
143
+ // // clearInterval(ivl);
144
+ // // console.log(ivl, 22);
145
+ // // }
146
+ // // }, 100);
147
+ //
148
+ // setTimeout(() => {
149
+ // console.log(1);
150
+ // callback.then((result) => {
151
+ // console.log(2);
152
+ // data = result;
153
+ // })
154
+ // console.log(3);
155
+ // }, 0)
156
+ //
157
+ // let start = Date.now();
158
+ // let now = start;
159
+ // let re = null
160
+ // while (now - start < 10000) {
161
+ // now = Date.now();
162
+ // re = data;
163
+ // console.log(re);
164
+ // }
165
+ // // while(data === null) {
166
+ // // console.log(data);
167
+ // // }
168
+ //
169
+ // return re
170
+ // }
171
+
84
172
  module.exports = exports['default'];
package/config/paths.js CHANGED
@@ -108,7 +108,8 @@ var ykConfigJs = appDirectory + (path.sep + 'ykconfig.js');
108
108
  var ykConfigJson = ykCacheDir + (path.sep + 'config.json');
109
109
  var ykCsrfPrivateKey = ykCacheTmpDir + (path.sep + 'csrfPrivate.key');
110
110
  // const ykCsrfPublicKey = ykCacheTmpDir + `${path.sep}public.key`;
111
- var ykConfigJsonClient = ykCacheDir + (path.sep + 'config_client.json');
111
+ var ykConfigJsonClient = ykCacheDir + (path.sep + 'config_client');
112
+ var ykConfigJsonServer = ykCacheDir + (path.sep + 'config_server');
112
113
  var interfereFile = ['' + appNodeModules + path.sep + '.package_versions.json', '' + appNodeModules + path.sep + '.recently_updates.txt'];
113
114
 
114
115
  mkdir(cacheDir);
@@ -119,7 +120,13 @@ mkdir(ykCacheTmpPub);
119
120
 
120
121
  // env file
121
122
  var envPath = function envPath(env) {
123
+ var sf = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
124
+
122
125
  var suffix = 'config.' + (env || 'default').toLowerCase();
126
+ if (sf) {
127
+ // suffix += '.' + sf;
128
+ suffix += sf;
129
+ }
123
130
  // if (suffix !== 'default') {
124
131
  // suffix = 'config.' + suffix
125
132
  // }
@@ -159,6 +166,7 @@ exports.default = {
159
166
  ykConfigJs: ykConfigJs,
160
167
  ykConfigJson: ykConfigJson,
161
168
  ykConfigJsonClient: ykConfigJsonClient,
169
+ ykConfigJsonServer: ykConfigJsonServer,
162
170
  // ykMainConf,
163
171
  hardSourceCache: appNodeModules + (path.sep + '.cache'),
164
172
  interfereFile: interfereFile,
package/nuxt/head.js CHANGED
@@ -35,7 +35,9 @@ exports.default = function (config) {
35
35
  var pkgHead = {};
36
36
 
37
37
  if (config.commonConfig.head !== false) {
38
- pkgHead = (0, _extends3.default)({}, _config2.default.nuxt && _config2.default.nuxt.head);
38
+ pkgHead = (0, _extends3.default)({}, _config2.default.nuxt && _config2.default.nuxt.head, {
39
+ script: [{ src: "/cln/init.js?info=" + (0, _yakuza.gPwd)() }].concat((0, _toConsumableArray3.default)(_config2.default.nuxt && _config2.default.nuxt.head && _config2.default.nuxt.head.script || []))
40
+ });
39
41
  }
40
42
 
41
43
  _yakuza._.forEach(pkgHead, function (v, key) {
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "yakuza0",
3
- "version": "2.20.8",
3
+ "version": "2.21.0-beta.0",
4
4
  "description": "yakuza0 with nuxt",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
7
  "build": "babel --no-babelrc src -d . --presets=env --plugins=transform-runtime,transform-object-rest-spread,add-module-exports",
8
- "pub:beta": "npm run build && npm version prerelease --preid=beta && npm publish --tag beta",
8
+ "pub:beta": "npm run build && npm version prerelease --preid=beta && pxnpm publish --tag beta",
9
9
  "pub": "npm run build && npm version patch && npm publish",
10
10
  "postinstall": "yk verify commit-init",
11
11
  "test": "jest"
@@ -50,6 +50,10 @@ var _msg = require('../../config/msg');
50
50
 
51
51
  var _om = require('../../utils/om');
52
52
 
53
+ var _paths = require('../../config/paths');
54
+
55
+ var _paths2 = _interopRequireDefault(_paths);
56
+
53
57
  var _conf = require('./conf');
54
58
 
55
59
  var _conf2 = _interopRequireDefault(_conf);
@@ -97,10 +101,7 @@ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj;
97
101
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
98
102
 
99
103
  // import {symmetry as gs, asymmetric as as} from 'yakuza1/lib/encrypt/general';
100
-
101
- // import paths from '../../config/paths';
102
-
103
- // import nocache from 'nocache';
104
+ // import koaJwt from 'koa-jwt';
104
105
  var codeMessage = {
105
106
  200: '服务器成功返回请求的数据。',
106
107
  201: '新建或修改数据成功。',
@@ -121,7 +122,8 @@ var codeMessage = {
121
122
  // import {getCache, keys} from "../cache/conf";
122
123
  // import csrfPri from "./csrfPri";
123
124
  // import csrfPub from "yakuza1/lib/cert/csrfPub";
124
- // import koaJwt from 'koa-jwt';
125
+
126
+ // import nocache from 'nocache';
125
127
 
126
128
 
127
129
  var apiErr = function apiErr(options, ctx) {
@@ -165,13 +167,13 @@ var ssrReqAllow = function ssrReqAllow(ctx) {
165
167
  var ddos = {};
166
168
 
167
169
  exports.default = function () {
168
- var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(_ref2) {
170
+ var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee12(_ref2) {
169
171
  var app = _ref2.app,
170
172
  config = _ref2.config;
171
173
  var cspConnectSrcVerify, appCp, appCpApiV1, jwtVerC, omConf, cm;
172
- return _regenerator2.default.wrap(function _callee11$(_context11) {
174
+ return _regenerator2.default.wrap(function _callee12$(_context12) {
173
175
  while (1) {
174
- switch (_context11.prev = _context11.next) {
176
+ switch (_context12.prev = _context12.next) {
175
177
  case 0:
176
178
  // if (yConf.security.isTire) {
177
179
  // const proxy = httpProxy.createServer({
@@ -368,23 +370,66 @@ exports.default = function () {
368
370
  return function (_x3, _x4) {
369
371
  return _ref4.apply(this, arguments);
370
372
  };
371
- }()
372
- // if (ctx.method !== "/") {
373
- // const keys = [...Object.keys(yConf.proxyServer.proxy), yConf.proxyServer.apiKey];
374
- // keys.forEach((key) => {
375
- // const tk = _.trim(key);
376
- // ctx.path = ctx.path.replace(config.appConf.server.basePath + "/" + tk, tk);
377
- // })
378
- // }
379
- // await next()
380
- );
373
+ }());
381
374
 
375
+ // cln init
382
376
  app.use(function () {
383
377
  var _ref5 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee2(ctx, next) {
384
- var keys;
378
+ var str, _str;
379
+
385
380
  return _regenerator2.default.wrap(function _callee2$(_context2) {
386
381
  while (1) {
387
382
  switch (_context2.prev = _context2.next) {
383
+ case 0:
384
+ if (!(ctx.method.toUpperCase() === 'GET' && ctx.path === '/cln/init.js')) {
385
+ _context2.next = 7;
386
+ break;
387
+ }
388
+
389
+ (0, _control.noCache)(ctx);
390
+ str = _paths2.default.read(_paths2.default.ykConfigJsonClient);
391
+
392
+ ctx.status = 200;
393
+ ctx.body = str;
394
+ _context2.next = 15;
395
+ break;
396
+
397
+ case 7:
398
+ if (!(ctx.method.toUpperCase() === 'POST' && ctx.path === '/cln/init')) {
399
+ _context2.next = 13;
400
+ break;
401
+ }
402
+
403
+ _str = _paths2.default.read(_paths2.default.ykConfigJsonServer);
404
+
405
+ ctx.status = 200;
406
+ ctx.body = _str;
407
+ _context2.next = 15;
408
+ break;
409
+
410
+ case 13:
411
+ _context2.next = 15;
412
+ return next();
413
+
414
+ case 15:
415
+ case 'end':
416
+ return _context2.stop();
417
+ }
418
+ }
419
+ }, _callee2, undefined);
420
+ }));
421
+
422
+ return function (_x5, _x6) {
423
+ return _ref5.apply(this, arguments);
424
+ };
425
+ }());
426
+
427
+ app.use(function () {
428
+ var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(ctx, next) {
429
+ var keys;
430
+ return _regenerator2.default.wrap(function _callee3$(_context3) {
431
+ while (1) {
432
+ switch (_context3.prev = _context3.next) {
388
433
  case 0:
389
434
  if (config.appConf.server.basePath !== "/") {
390
435
  keys = [].concat((0, _toConsumableArray3.default)((0, _keys2.default)(_config2.default.proxyServer.proxy)), [_config2.default.proxyServer.apiKey]);
@@ -394,19 +439,19 @@ exports.default = function () {
394
439
  ctx.path = ctx.path.replace(config.appConf.server.basePath + "/" + tk, tk);
395
440
  });
396
441
  }
397
- _context2.next = 3;
442
+ _context3.next = 3;
398
443
  return next();
399
444
 
400
445
  case 3:
401
446
  case 'end':
402
- return _context2.stop();
447
+ return _context3.stop();
403
448
  }
404
449
  }
405
- }, _callee2, undefined);
450
+ }, _callee3, undefined);
406
451
  }));
407
452
 
408
- return function (_x5, _x6) {
409
- return _ref5.apply(this, arguments);
453
+ return function (_x7, _x8) {
454
+ return _ref6.apply(this, arguments);
410
455
  };
411
456
  }());
412
457
 
@@ -426,69 +471,69 @@ exports.default = function () {
426
471
  _server.global.__cpm__ = (0, _httpProxyMiddleware.createProxyMiddleware)((0, _extends3.default)({}, cm));
427
472
 
428
473
  appCp(function () {
429
- var _ref6 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee3(ctx, next) {
430
- return _regenerator2.default.wrap(function _callee3$(_context3) {
474
+ var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(ctx, next) {
475
+ return _regenerator2.default.wrap(function _callee4$(_context4) {
431
476
  while (1) {
432
- switch (_context3.prev = _context3.next) {
477
+ switch (_context4.prev = _context4.next) {
433
478
  case 0:
434
479
  if (!(0, _om.isOmOpen)(ctx.req)) {
435
- _context3.next = 9;
480
+ _context4.next = 9;
436
481
  break;
437
482
  }
438
483
 
439
484
  if (!((0, _keys2.default)(omConf.router).length > 0)) {
440
- _context3.next = 6;
485
+ _context4.next = 6;
441
486
  break;
442
487
  }
443
488
 
444
- _context3.next = 4;
489
+ _context4.next = 4;
445
490
  return (0, _koa2Connect2.default)(_server.global.__cpm__)(ctx, next);
446
491
 
447
492
  case 4:
448
- _context3.next = 7;
493
+ _context4.next = 7;
449
494
  break;
450
495
 
451
496
  case 6:
452
497
  ctx.body = _msg.errMsg['server.om.target.none'];
453
498
 
454
499
  case 7:
455
- _context3.next = 11;
500
+ _context4.next = 11;
456
501
  break;
457
502
 
458
503
  case 9:
459
- _context3.next = 11;
504
+ _context4.next = 11;
460
505
  return next();
461
506
 
462
507
  case 11:
463
508
  case 'end':
464
- return _context3.stop();
509
+ return _context4.stop();
465
510
  }
466
511
  }
467
- }, _callee3, undefined);
512
+ }, _callee4, undefined);
468
513
  }));
469
514
 
470
- return function (_x7, _x8) {
471
- return _ref6.apply(this, arguments);
515
+ return function (_x9, _x10) {
516
+ return _ref7.apply(this, arguments);
472
517
  };
473
518
  }());
474
519
  }
475
520
 
476
521
  appCp(function () {
477
- var _ref7 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee4(ctx, next) {
478
- return _regenerator2.default.wrap(function _callee4$(_context4) {
522
+ var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(ctx, next) {
523
+ return _regenerator2.default.wrap(function _callee5$(_context5) {
479
524
  while (1) {
480
- switch (_context4.prev = _context4.next) {
525
+ switch (_context5.prev = _context5.next) {
481
526
  case 0:
482
527
  if (!(ctx.method === 'GET' || ctx.method === 'POST' || jwtVerC(ctx.path))) {
483
- _context4.next = 5;
528
+ _context5.next = 5;
484
529
  break;
485
530
  }
486
531
 
487
- _context4.next = 3;
532
+ _context5.next = 3;
488
533
  return next();
489
534
 
490
535
  case 3:
491
- _context4.next = 6;
536
+ _context5.next = 6;
492
537
  break;
493
538
 
494
539
  case 5:
@@ -499,26 +544,26 @@ exports.default = function () {
499
544
 
500
545
  case 6:
501
546
  case 'end':
502
- return _context4.stop();
547
+ return _context5.stop();
503
548
  }
504
549
  }
505
- }, _callee4, undefined);
550
+ }, _callee5, undefined);
506
551
  }));
507
552
 
508
- return function (_x9, _x10) {
509
- return _ref7.apply(this, arguments);
553
+ return function (_x11, _x12) {
554
+ return _ref8.apply(this, arguments);
510
555
  };
511
556
  }());
512
557
 
513
558
  app.use(function () {
514
- var _ref8 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee5(ctx, next) {
559
+ var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(ctx, next) {
515
560
  var isInclude, include, exclude, referer;
516
- return _regenerator2.default.wrap(function _callee5$(_context5) {
561
+ return _regenerator2.default.wrap(function _callee6$(_context6) {
517
562
  while (1) {
518
- switch (_context5.prev = _context5.next) {
563
+ switch (_context6.prev = _context6.next) {
519
564
  case 0:
520
565
  if (!_config2.default.server.hotLinking.enabled) {
521
- _context5.next = 21;
566
+ _context6.next = 21;
522
567
  break;
523
568
  }
524
569
 
@@ -546,51 +591,51 @@ exports.default = function () {
546
591
  // console.log(ctx.href, referer, ctx.href.indexOf(jsUrl('hostname', referer)), 11);
547
592
 
548
593
  if (!isInclude) {
549
- _context5.next = 17;
594
+ _context6.next = 17;
550
595
  break;
551
596
  }
552
597
 
553
598
  if (!(typeof referer === 'string' && referer !== '' && ctx.href.indexOf((0, _server.jsUrl)('hostname', referer)) !== -1)) {
554
- _context5.next = 14;
599
+ _context6.next = 14;
555
600
  break;
556
601
  }
557
602
 
558
- _context5.next = 12;
603
+ _context6.next = 12;
559
604
  return next();
560
605
 
561
606
  case 12:
562
- _context5.next = 15;
607
+ _context6.next = 15;
563
608
  break;
564
609
 
565
610
  case 14:
566
611
  ctx.status = 404;
567
612
 
568
613
  case 15:
569
- _context5.next = 19;
614
+ _context6.next = 19;
570
615
  break;
571
616
 
572
617
  case 17:
573
- _context5.next = 19;
618
+ _context6.next = 19;
574
619
  return next();
575
620
 
576
621
  case 19:
577
- _context5.next = 23;
622
+ _context6.next = 23;
578
623
  break;
579
624
 
580
625
  case 21:
581
- _context5.next = 23;
626
+ _context6.next = 23;
582
627
  return next();
583
628
 
584
629
  case 23:
585
630
  case 'end':
586
- return _context5.stop();
631
+ return _context6.stop();
587
632
  }
588
633
  }
589
- }, _callee5, undefined);
634
+ }, _callee6, undefined);
590
635
  }));
591
636
 
592
- return function (_x11, _x12) {
593
- return _ref8.apply(this, arguments);
637
+ return function (_x13, _x14) {
638
+ return _ref9.apply(this, arguments);
594
639
  };
595
640
  }()
596
641
  // if (!yConf.security.stupid) {
@@ -602,16 +647,16 @@ exports.default = function () {
602
647
 
603
648
  if (config.appConf.server.sslify.redirect && !config.appConf.server.generate.enabled) {
604
649
  appCp(function () {
605
- var _ref9 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee6(ctx, next) {
650
+ var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(ctx, next) {
606
651
  var isRedirected;
607
- return _regenerator2.default.wrap(function _callee6$(_context6) {
652
+ return _regenerator2.default.wrap(function _callee7$(_context7) {
608
653
  while (1) {
609
- switch (_context6.prev = _context6.next) {
654
+ switch (_context7.prev = _context7.next) {
610
655
  case 0:
611
656
  isRedirected = (ctx.req.headers.cookie || '').indexOf(_config2.default.server.sslify.openKey) !== -1;
612
657
 
613
658
  if (isRedirected) {
614
- _context6.next = 7;
659
+ _context7.next = 7;
615
660
  break;
616
661
  }
617
662
 
@@ -619,37 +664,37 @@ exports.default = function () {
619
664
  signed: false,
620
665
  sameSite: _config2.default.server.cookieSameSite
621
666
  });
622
- _context6.next = 5;
667
+ _context7.next = 5;
623
668
  return (0, _koaSslify2.default)((0, _extends3.default)({}, _config2.default.server.sslify.options))(ctx, next);
624
669
 
625
670
  case 5:
626
- _context6.next = 9;
671
+ _context7.next = 9;
627
672
  break;
628
673
 
629
674
  case 7:
630
- _context6.next = 9;
675
+ _context7.next = 9;
631
676
  return next();
632
677
 
633
678
  case 9:
634
679
  case 'end':
635
- return _context6.stop();
680
+ return _context7.stop();
636
681
  }
637
682
  }
638
- }, _callee6, undefined);
683
+ }, _callee7, undefined);
639
684
  }));
640
685
 
641
- return function (_x13, _x14) {
642
- return _ref9.apply(this, arguments);
686
+ return function (_x15, _x16) {
687
+ return _ref10.apply(this, arguments);
643
688
  };
644
689
  }());
645
690
  }
646
691
 
647
692
  appCp(function () {
648
- var _ref10 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee7(ctx, next) {
693
+ var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(ctx, next) {
649
694
  var parser, result, browserType, bt, bs, url, isNext;
650
- return _regenerator2.default.wrap(function _callee7$(_context7) {
695
+ return _regenerator2.default.wrap(function _callee8$(_context8) {
651
696
  while (1) {
652
- switch (_context7.prev = _context7.next) {
697
+ switch (_context8.prev = _context8.next) {
653
698
  case 0:
654
699
  parser = new _uaParserJs2.default();
655
700
 
@@ -680,23 +725,23 @@ exports.default = function () {
680
725
  }
681
726
 
682
727
  if (!isNext) {
683
- _context7.next = 14;
728
+ _context8.next = 14;
684
729
  break;
685
730
  }
686
731
 
687
- _context7.next = 14;
732
+ _context8.next = 14;
688
733
  return next();
689
734
 
690
735
  case 14:
691
736
  case 'end':
692
- return _context7.stop();
737
+ return _context8.stop();
693
738
  }
694
739
  }
695
- }, _callee7, undefined);
740
+ }, _callee8, undefined);
696
741
  }));
697
742
 
698
- return function (_x15, _x16) {
699
- return _ref10.apply(this, arguments);
743
+ return function (_x17, _x18) {
744
+ return _ref11.apply(this, arguments);
700
745
  };
701
746
  }());
702
747
 
@@ -713,11 +758,11 @@ exports.default = function () {
713
758
 
714
759
  if (_config2.default.security.stupid) {
715
760
  appCpApiV1(function () {
716
- var _ref11 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee8(ctx, next) {
761
+ var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(ctx, next) {
717
762
  var isNext, rHost, rOrigin, rReferer;
718
- return _regenerator2.default.wrap(function _callee8$(_context8) {
763
+ return _regenerator2.default.wrap(function _callee9$(_context9) {
719
764
  while (1) {
720
- switch (_context8.prev = _context8.next) {
765
+ switch (_context9.prev = _context9.next) {
721
766
  case 0:
722
767
  isNext = true;
723
768
  rHost = (0, _server.jsUrl)('hostname', ctx.get('host'));
@@ -729,15 +774,15 @@ exports.default = function () {
729
774
  }
730
775
 
731
776
  if (!isNext) {
732
- _context8.next = 10;
777
+ _context9.next = 10;
733
778
  break;
734
779
  }
735
780
 
736
- _context8.next = 8;
781
+ _context9.next = 8;
737
782
  return next();
738
783
 
739
784
  case 8:
740
- _context8.next = 11;
785
+ _context9.next = 11;
741
786
  break;
742
787
 
743
788
  case 10:
@@ -748,14 +793,14 @@ exports.default = function () {
748
793
 
749
794
  case 11:
750
795
  case 'end':
751
- return _context8.stop();
796
+ return _context9.stop();
752
797
  }
753
798
  }
754
- }, _callee8, undefined);
799
+ }, _callee9, undefined);
755
800
  }));
756
801
 
757
- return function (_x17, _x18) {
758
- return _ref11.apply(this, arguments);
802
+ return function (_x19, _x20) {
803
+ return _ref12.apply(this, arguments);
759
804
  };
760
805
  }()
761
806
  // if (ctx.method === 'GET' || ctx.method === 'POST' || jwtVerC(ctx.path)) {
@@ -769,29 +814,29 @@ exports.default = function () {
769
814
  );
770
815
 
771
816
  app.use(function () {
772
- var _ref12 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee9(ctx, next) {
773
- return _regenerator2.default.wrap(function _callee9$(_context9) {
817
+ var _ref13 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(ctx, next) {
818
+ return _regenerator2.default.wrap(function _callee10$(_context10) {
774
819
  while (1) {
775
- switch (_context9.prev = _context9.next) {
820
+ switch (_context10.prev = _context10.next) {
776
821
  case 0:
777
822
  // ctx.set('Surrogate-Control', 'no-store');
778
823
  // ctx.set('Cache-Control', 'no-store, no-cache, must-revalidate, proxy-revalidate');
779
824
  // ctx.set('Pragma', 'no-cache');
780
825
  // ctx.set('Expires', '0');
781
826
  (0, _control.noCache)(ctx);
782
- _context9.next = 3;
827
+ _context10.next = 3;
783
828
  return next();
784
829
 
785
830
  case 3:
786
831
  case 'end':
787
- return _context9.stop();
832
+ return _context10.stop();
788
833
  }
789
834
  }
790
- }, _callee9, undefined);
835
+ }, _callee10, undefined);
791
836
  }));
792
837
 
793
- return function (_x19, _x20) {
794
- return _ref12.apply(this, arguments);
838
+ return function (_x21, _x22) {
839
+ return _ref13.apply(this, arguments);
795
840
  };
796
841
  }());
797
842
  }
@@ -805,10 +850,10 @@ exports.default = function () {
805
850
  }
806
851
 
807
852
  app.use(function () {
808
- var _ref13 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee10(ctx, next) {
809
- return _regenerator2.default.wrap(function _callee10$(_context10) {
853
+ var _ref14 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee11(ctx, next) {
854
+ return _regenerator2.default.wrap(function _callee11$(_context11) {
810
855
  while (1) {
811
- switch (_context10.prev = _context10.next) {
856
+ switch (_context11.prev = _context11.next) {
812
857
  case 0:
813
858
  // const csrfCookie = ctx.cookies.get(variable.csrfCookie, {signed: false});
814
859
  // console.log(ctx.path, ctx.req.headers.cookie, 111);
@@ -824,28 +869,28 @@ exports.default = function () {
824
869
  cookieDomain: config.appConf.cookieDomain || _server.Cookies.getDefCookieDomain(ctx.hostname)
825
870
  }, ctx.req.crossParams);
826
871
 
827
- _context10.next = 3;
872
+ _context11.next = 3;
828
873
  return next();
829
874
 
830
875
  case 3:
831
876
  case 'end':
832
- return _context10.stop();
877
+ return _context11.stop();
833
878
  }
834
879
  }
835
- }, _callee10, undefined);
880
+ }, _callee11, undefined);
836
881
  }));
837
882
 
838
- return function (_x21, _x22) {
839
- return _ref13.apply(this, arguments);
883
+ return function (_x23, _x24) {
884
+ return _ref14.apply(this, arguments);
840
885
  };
841
886
  }());
842
887
 
843
- case 16:
888
+ case 17:
844
889
  case 'end':
845
- return _context11.stop();
890
+ return _context12.stop();
846
891
  }
847
892
  }
848
- }, _callee11, undefined);
893
+ }, _callee12, undefined);
849
894
  }));
850
895
 
851
896
  return function (_x) {
@@ -4,6 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
 
7
+ var _keys = require('babel-runtime/core-js/object/keys');
8
+
9
+ var _keys2 = _interopRequireDefault(_keys);
10
+
7
11
  var _regenerator = require('babel-runtime/regenerator');
8
12
 
9
13
  var _regenerator2 = _interopRequireDefault(_regenerator);
@@ -101,7 +105,7 @@ exports.default = function () {
101
105
  proxyConf = _ref.proxyConf,
102
106
  nuxt = _ref.nuxt,
103
107
  config = _ref.config;
104
- var pKey, servers;
108
+ var pKey, servers, wsProxyKeys;
105
109
  return _regenerator2.default.wrap(function _callee3$(_context3) {
106
110
  while (1) {
107
111
  switch (_context3.prev = _context3.next) {
@@ -240,6 +244,10 @@ exports.default = function () {
240
244
  }
241
245
  });
242
246
 
247
+ if (_config2.default.security.isStupid) {
248
+ proxyReq.setHeader(_def.variable.adjoinIpHeader, (0, _server.getClientIP)(req, { stupid: true }));
249
+ }
250
+
243
251
  // const keys = Object.keys(yConf.proxyServer.proxy).join('|')
244
252
  // if (req.crossParams.originUrl.match(new RegExp(`^\/(${keys})\/`))) {
245
253
  // _.forEach(yConf.proxyServer.proxyHeaders, dt => {
@@ -323,6 +331,8 @@ exports.default = function () {
323
331
  }, getCert()), app.callback()).listen(config.appConf.appPort));
324
332
  }
325
333
 
334
+ wsProxyKeys = (0, _keys2.default)(_config2.default.proxyServer.ws.proxy);
335
+
326
336
  servers.forEach(function (ser) {
327
337
  ser.on('upgrade', function (req, socket, head) {
328
338
  if (_config2.default.server.om.enabled && _server.global.__cpm__ && (0, _om.isOmOpen)(req)) {
@@ -349,13 +359,26 @@ exports.default = function () {
349
359
  headers: headers
350
360
  }, defProxyOpt));
351
361
  }
362
+
363
+ var wsProxyKey = '';
364
+ wsProxyKeys.forEach(function (key) {
365
+ if (req.url.indexOf(key) !== -1) {
366
+ wsProxyKey = key;
367
+ }
368
+ });
369
+ if (wsProxyKey && wsProxyKey.startsWith(_config2.default.proxyServer.ws.prefix)) {
370
+ req.url = req.url.replace('/' + wsProxyKey, '');
371
+ _mid.proxy.ws(req, socket, head, (0, _extends3.default)({
372
+ target: _config2.default.proxyServer.ws.proxy[wsProxyKey]
373
+ }, defProxyOpt));
374
+ }
352
375
  }
353
376
 
354
377
  socket.on('error', function (err) {});
355
378
  });
356
379
  });
357
380
 
358
- case 7:
381
+ case 8:
359
382
  case 'end':
360
383
  return _context3.stop();
361
384
  }
package/utils/conf.js ADDED
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getConf = undefined;
7
+
8
+ var _yakuza = require('yakuza1');
9
+
10
+ // import KY from 'yakuza1/lib/ky/universal'
11
+ // import {connect, req} from 'yakuza1/lib/ws'
12
+
13
+ // only server side
14
+ // export const setConf = async (orbAddr, key, conf) => {
15
+ // if (checkServer()) {
16
+ // await KY.post(`${orbAddr}/apiv2/yk0/conf/set`, {
17
+ // body: JSON.stringify({
18
+ // key,
19
+ // conf
20
+ // }),
21
+ // });
22
+ // } else {
23
+ // // await req("yk0/conf/set", {
24
+ // // body: {
25
+ // // key,
26
+ // // conf,
27
+ // // },
28
+ // // });
29
+ // }
30
+ // }
31
+
32
+ // client side
33
+ var getConf = exports.getConf = function getConf(key) {
34
+ var conf = {};
35
+ if ((0, _yakuza.checkServer)()) {} else {
36
+ var http = new XMLHttpRequest();
37
+ var url = '/cln/init';
38
+ http.open('POST', url, false);
39
+ http.onreadystatechange = function () {
40
+ //Call a function when the state changes.
41
+ if (http.readyState === 4 && http.status === 200) {
42
+ conf = http.responseText;
43
+ }
44
+ };
45
+ http.send();
46
+ }
47
+ return conf;
48
+ };
@@ -65,20 +65,23 @@ var _getPort = require('get-port');
65
65
 
66
66
  var _getPort2 = _interopRequireDefault(_getPort);
67
67
 
68
+ var _conf = require('./conf');
69
+
68
70
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
69
71
 
70
72
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
71
73
 
72
74
  var appDirectory = _paths2.default.appDirectory,
73
- ykCacheDir = _paths2.default.ykCacheDir,
74
- ykCacheTmpDir = _paths2.default.ykCacheTmpDir,
75
75
  ykConfigJs = _paths2.default.ykConfigJs,
76
76
  ykConfigJson = _paths2.default.ykConfigJson,
77
77
  ykConfigJsonClient = _paths2.default.ykConfigJsonClient,
78
+ ykConfigJsonServer = _paths2.default.ykConfigJsonServer,
78
79
  path = _paths2.default.path,
80
+ mkdir = _paths2.default.mkdir,
79
81
  read = _paths2.default.read,
80
82
  access = _paths2.default.access,
81
- envPath = _paths2.default.envPath;
83
+ envPath = _paths2.default.envPath,
84
+ sep = _paths2.default.sep;
82
85
 
83
86
 
84
87
  var transformJs = function transformJs(str) {
@@ -98,7 +101,10 @@ var packageConf = function packageConf() {
98
101
  if (str) {
99
102
  try {
100
103
  var json = JSON.parse(str);
101
- (0, _assign2.default)(pkg, json);
104
+ (0, _assign2.default)(pkg, {
105
+ name: json.name,
106
+ version: json.version
107
+ });
102
108
  } catch (e) {}
103
109
  }
104
110
 
@@ -179,7 +185,7 @@ var render = function () {
179
185
  ykServerEnv = _ref.ykServerEnv,
180
186
  ykPkg = _ref.pkg;
181
187
 
182
- var _ykConfig, ykConf, processEnv, aliasDir, conf, cspLoop, setConfValue, setConfCSP, setConf, hostname, port, ykServer, orbAddr, tip;
188
+ var _ykConfig, ykConf, processEnv, aliasDir, conf, cspLoop, setConfValue, setConfCSP, setConf, hostname, port, ykServer, orbAddr, appPortUsed, tip, confStr, serverConfCipher, scKey, clientConfStr, clientConfStrCipher, clientConfStrTrans, serverConfStr, serverConfStrTrans;
183
189
 
184
190
  return _regenerator2.default.wrap(function _callee2$(_context2) {
185
191
  while (1) {
@@ -193,6 +199,7 @@ var render = function () {
193
199
  version: ykPkg.version,
194
200
  ak: 'ak_TjfAV7I',
195
201
  name: pkg.name,
202
+ group: '',
196
203
  dev: processEnv.NODE_ENV === 'development',
197
204
  cmd: process.env.NODE_CMD,
198
205
  processKey: '.' + (0, _yakuza.md5)(appDirectory).substring(2, 18),
@@ -494,7 +501,9 @@ var render = function () {
494
501
  baseUrl: {},
495
502
  lp: false,
496
503
  ws: {
497
- key: 'api-ws'
504
+ key: 'api-ws',
505
+ prefix: 'proxy-ws-',
506
+ proxy: {}
498
507
  },
499
508
  app: {},
500
509
  // ...(mainConf && mainConf.proxyServer ? mainConf.proxyServer : {}),
@@ -725,6 +734,10 @@ var render = function () {
725
734
  }
726
735
  }
727
736
 
737
+ if (conf.group) {
738
+ conf.imageKey = (0, _yakuza.md5)(conf.group);
739
+ }
740
+
728
741
  if (conf.ak.startsWith('ak_docker') || conf.inImage) {
729
742
  // conf.env = 'docker';
730
743
  conf.server.mockIP = true;
@@ -772,11 +785,13 @@ var render = function () {
772
785
 
773
786
  conf.proxyServer.proxy.apiv2 = orbAddr;
774
787
  conf.proxyServer.proxy.apiv3 = orbAddr;
775
- conf.proxyServer.proxy['api-ws'] = orbAddr;
788
+ conf.proxyServer.proxy[conf.proxyServer.ws.key] = orbAddr;
789
+ conf.server.orbAddr = orbAddr;
776
790
 
777
791
  conf.server.csp.imgSrc = _yakuza._.uniq([].concat((0, _toConsumableArray3.default)(conf.server.csp.imgSrc || []), (0, _toConsumableArray3.default)(conf.server.tfs.fastdfs.domain)));
778
792
 
779
- _context2.next = 48;
793
+ appPortUsed = [];
794
+ _context2.next = 51;
780
795
  return _yakuza._.asyncMap(conf.router.config, function () {
781
796
  var _ref3 = (0, _asyncToGenerator3.default)( /*#__PURE__*/_regenerator2.default.mark(function _callee(v, key) {
782
797
  var name, arr, length, num;
@@ -890,6 +905,7 @@ var render = function () {
890
905
  case 34:
891
906
  v.appPort = _context.t1;
892
907
 
908
+ appPortUsed.push(v.appPort);
893
909
  appPool = _yakuza._.without(appPool, v.appPort);
894
910
 
895
911
  // console.log(v.appPort);
@@ -920,7 +936,7 @@ var render = function () {
920
936
 
921
937
  conf.router.config[key] = v;
922
938
 
923
- case 39:
939
+ case 40:
924
940
  case 'end':
925
941
  return _context.stop();
926
942
  }
@@ -933,7 +949,7 @@ var render = function () {
933
949
  };
934
950
  }());
935
951
 
936
- case 48:
952
+ case 51:
937
953
  // console.log(conf.router.config);
938
954
 
939
955
  conf.shareRule.app = conf.shareRule.app.map(function (ap) {
@@ -1007,14 +1023,45 @@ var render = function () {
1007
1023
  // _.readOnly(global, '__enc_encryptType__', conf.security.encrypt);
1008
1024
  // _.readOnly(global, '__yConf_ak__', conf.ak);
1009
1025
  // global.FormData = FormData;
1010
- _fs2.default.writeFileSync(ykConfigJson, (0, _stringify2.default)({ es: _encrypt.mixin.symmetry.ECB.encrypt((0, _stringify2.default)(conf)) }), 'utf8');
1026
+
1027
+ // const es = mixin.symmetry.ECB.encrypt(JSON.stringify(conf));
1028
+ // fs.writeFileSync(ykConfigJson, JSON.stringify({es}), 'utf8');
1029
+
1030
+ confStr = (0, _stringify2.default)(conf);
1031
+ serverConfCipher = _encrypt.mixin.symmetry.CBC.encrypt(confStr);
1032
+
1033
+ // let omitStr = JSON.stringify(_.omit(conf, ['versionSha', 'cmd']));
1034
+ // appPortUsed.forEach(p => {
1035
+ // omitStr = omitStr.replace(p.toString(), '');
1036
+ // })
1037
+
1038
+ scKey = (0, _yakuza.md5)(confStr).substring(2, 8);
1039
+ clientConfStr = _encrypt.mixin.symmetry.CBC.encrypt((0, _stringify2.default)({
1040
+ key: scKey,
1041
+ security: {
1042
+ isStupid: conf.security.isStupid
1043
+ }
1044
+ }));
1045
+ clientConfStrCipher = (0, _stringify2.default)({ es: clientConfStr });
1046
+ clientConfStrTrans = _encrypt.mixin.symmetry.CBC.encrypt(clientConfStrCipher);
1047
+ // fs.writeFileSync(ykConfigJsonClient, clientConfStrCipher, 'utf8');
1048
+
1049
+ _fs2.default.writeFileSync(ykConfigJsonClient, 'var __cln_init__ = "' + clientConfStrTrans + '"', 'utf8');
1050
+
1051
+ serverConfStr = (0, _stringify2.default)({ es: serverConfCipher });
1052
+ serverConfStrTrans = _encrypt.mixin.symmetry.CBC.encrypt(serverConfStr, _encrypt.mixin.getKey(scKey));
1053
+
1054
+ _fs2.default.writeFileSync(ykConfigJson, serverConfStr, 'utf8');
1055
+ _fs2.default.writeFileSync(ykConfigJsonServer, serverConfStrTrans, 'utf8');
1056
+ // await setYk0Conf(orbAddr, scKey, serverConfStrTrans);
1057
+
1011
1058
  // if (conf.https) {
1012
1059
  // process.env["NODE_TLS_REJECT_UNAUTHORIZED"] = 0;
1013
1060
  // }
1014
1061
 
1015
1062
  return _context2.abrupt('return', { conf: conf });
1016
1063
 
1017
- case 55:
1064
+ case 68:
1018
1065
  case 'end':
1019
1066
  return _context2.stop();
1020
1067
  }