@whyour/qinglong 0.13.3 → 0.14.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.
Files changed (212) hide show
  1. package/README-en.md +13 -15
  2. package/README.md +14 -17
  3. package/docker/Dockerfile +6 -8
  4. package/docker/docker-entrypoint.sh +2 -16
  5. package/docker/front.conf +12 -0
  6. package/ecosystem.config.js +8 -0
  7. package/package.json +13 -8
  8. package/sample/config.sample.sh +10 -20
  9. package/sample/notify.js +115 -136
  10. package/sample/notify.py +7 -7
  11. package/shell/api.sh +4 -4
  12. package/shell/bot.sh +0 -3
  13. package/shell/check.sh +1 -13
  14. package/shell/env.sh +0 -0
  15. package/shell/share.sh +2 -4
  16. package/shell/start.sh +0 -10
  17. package/shell/update.sh +6 -17
  18. package/static/build/api/config.js +23 -6
  19. package/static/build/api/log.js +3 -32
  20. package/static/build/api/script.js +31 -21
  21. package/static/build/api/system.js +76 -8
  22. package/static/build/config/const.js +18 -1
  23. package/static/build/config/index.js +3 -0
  24. package/static/build/config/util.js +98 -95
  25. package/static/build/data/notify.js +2 -2
  26. package/static/build/data/{auth.js → system.js} +3 -3
  27. package/static/build/loaders/db.js +4 -4
  28. package/static/build/loaders/deps.js +11 -14
  29. package/static/build/loaders/express.js +4 -6
  30. package/static/build/loaders/initFile.js +16 -16
  31. package/static/build/loaders/sentry.js +2 -3
  32. package/static/build/loaders/sock.js +3 -3
  33. package/static/build/public.js +1 -1
  34. package/static/build/schedule/client.js +1 -1
  35. package/static/build/schedule/health.js +1 -1
  36. package/static/build/schedule/index.js +1 -1
  37. package/static/build/services/cron.js +32 -25
  38. package/static/build/services/dependence.js +15 -5
  39. package/static/build/services/env.js +2 -2
  40. package/static/build/services/notify.js +8 -7
  41. package/static/build/services/script.js +2 -6
  42. package/static/build/services/sshKey.js +27 -52
  43. package/static/build/services/subscription.js +19 -21
  44. package/static/build/services/system.js +112 -21
  45. package/static/build/services/user.js +52 -41
  46. package/static/build/shared/pLimit.js +4 -4
  47. package/static/dist/{6644.1f11b8fa.async.js → 1431.36b64dc5.async.js} +1 -1
  48. package/static/dist/3752.56c3fba2.async.js +1 -0
  49. package/static/dist/{419.e21ea0bd.async.js → 419.d9597044.async.js} +1 -1
  50. package/static/dist/{8008.cf4ff203.async.js → 8008.fbdcf863.async.js} +1 -1
  51. package/static/dist/833.7348bf8c.async.js +1 -0
  52. package/static/dist/8722.408e3112.async.js +1 -0
  53. package/static/dist/{8171.e2986b87.async.js → 9847.d72d4b37.async.js} +1 -1
  54. package/static/dist/index.html +1 -1
  55. package/static/dist/layouts__index.2c89a418.async.js +1 -0
  56. package/static/dist/monaco-editor/min/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
  57. package/static/dist/monaco-editor/min/vs/base/worker/workerMain.js +22 -0
  58. package/static/dist/monaco-editor/min/vs/basic-languages/abap/abap.js +10 -0
  59. package/static/dist/monaco-editor/min/vs/basic-languages/apex/apex.js +10 -0
  60. package/static/dist/monaco-editor/min/vs/basic-languages/azcli/azcli.js +10 -0
  61. package/static/dist/monaco-editor/min/vs/basic-languages/bat/bat.js +10 -0
  62. package/static/dist/monaco-editor/min/vs/basic-languages/bicep/bicep.js +11 -0
  63. package/static/dist/monaco-editor/min/vs/basic-languages/cameligo/cameligo.js +10 -0
  64. package/static/dist/monaco-editor/min/vs/basic-languages/clojure/clojure.js +10 -0
  65. package/static/dist/monaco-editor/min/vs/basic-languages/coffee/coffee.js +10 -0
  66. package/static/dist/monaco-editor/min/vs/basic-languages/cpp/cpp.js +10 -0
  67. package/static/dist/monaco-editor/min/vs/basic-languages/csharp/csharp.js +10 -0
  68. package/static/dist/monaco-editor/min/vs/basic-languages/csp/csp.js +10 -0
  69. package/static/dist/monaco-editor/min/vs/basic-languages/css/css.js +12 -0
  70. package/static/dist/monaco-editor/min/vs/basic-languages/dart/dart.js +10 -0
  71. package/static/dist/monaco-editor/min/vs/basic-languages/dockerfile/dockerfile.js +10 -0
  72. package/static/dist/monaco-editor/min/vs/basic-languages/ecl/ecl.js +10 -0
  73. package/static/dist/monaco-editor/min/vs/basic-languages/elixir/elixir.js +10 -0
  74. package/static/dist/monaco-editor/min/vs/basic-languages/flow9/flow9.js +10 -0
  75. package/static/dist/monaco-editor/min/vs/basic-languages/freemarker2/freemarker2.js +12 -0
  76. package/static/dist/monaco-editor/min/vs/basic-languages/fsharp/fsharp.js +10 -0
  77. package/static/dist/monaco-editor/min/vs/basic-languages/go/go.js +10 -0
  78. package/static/dist/monaco-editor/min/vs/basic-languages/graphql/graphql.js +10 -0
  79. package/static/dist/monaco-editor/min/vs/basic-languages/handlebars/handlebars.js +10 -0
  80. package/static/dist/monaco-editor/min/vs/basic-languages/hcl/hcl.js +10 -0
  81. package/static/dist/monaco-editor/min/vs/basic-languages/html/html.js +10 -0
  82. package/static/dist/monaco-editor/min/vs/basic-languages/ini/ini.js +10 -0
  83. package/static/dist/monaco-editor/min/vs/basic-languages/java/java.js +10 -0
  84. package/static/dist/monaco-editor/min/vs/basic-languages/javascript/javascript.js +10 -0
  85. package/static/dist/monaco-editor/min/vs/basic-languages/julia/julia.js +10 -0
  86. package/static/dist/monaco-editor/min/vs/basic-languages/kotlin/kotlin.js +10 -0
  87. package/static/dist/monaco-editor/min/vs/basic-languages/less/less.js +11 -0
  88. package/static/dist/monaco-editor/min/vs/basic-languages/lexon/lexon.js +10 -0
  89. package/static/dist/monaco-editor/min/vs/basic-languages/liquid/liquid.js +10 -0
  90. package/static/dist/monaco-editor/min/vs/basic-languages/lua/lua.js +10 -0
  91. package/static/dist/monaco-editor/min/vs/basic-languages/m3/m3.js +10 -0
  92. package/static/dist/monaco-editor/min/vs/basic-languages/markdown/markdown.js +10 -0
  93. package/static/dist/monaco-editor/min/vs/basic-languages/mips/mips.js +10 -0
  94. package/static/dist/monaco-editor/min/vs/basic-languages/msdax/msdax.js +10 -0
  95. package/static/dist/monaco-editor/min/vs/basic-languages/mysql/mysql.js +10 -0
  96. package/static/dist/monaco-editor/min/vs/basic-languages/objective-c/objective-c.js +10 -0
  97. package/static/dist/monaco-editor/min/vs/basic-languages/pascal/pascal.js +10 -0
  98. package/static/dist/monaco-editor/min/vs/basic-languages/pascaligo/pascaligo.js +10 -0
  99. package/static/dist/monaco-editor/min/vs/basic-languages/perl/perl.js +10 -0
  100. package/static/dist/monaco-editor/min/vs/basic-languages/pgsql/pgsql.js +10 -0
  101. package/static/dist/monaco-editor/min/vs/basic-languages/php/php.js +10 -0
  102. package/static/dist/monaco-editor/min/vs/basic-languages/pla/pla.js +10 -0
  103. package/static/dist/monaco-editor/min/vs/basic-languages/postiats/postiats.js +10 -0
  104. package/static/dist/monaco-editor/min/vs/basic-languages/powerquery/powerquery.js +10 -0
  105. package/static/dist/monaco-editor/min/vs/basic-languages/powershell/powershell.js +10 -0
  106. package/static/dist/monaco-editor/min/vs/basic-languages/protobuf/protobuf.js +11 -0
  107. package/static/dist/monaco-editor/min/vs/basic-languages/pug/pug.js +10 -0
  108. package/static/dist/monaco-editor/min/vs/basic-languages/python/python.js +10 -0
  109. package/static/dist/monaco-editor/min/vs/basic-languages/qsharp/qsharp.js +10 -0
  110. package/static/dist/monaco-editor/min/vs/basic-languages/r/r.js +10 -0
  111. package/static/dist/monaco-editor/min/vs/basic-languages/razor/razor.js +10 -0
  112. package/static/dist/monaco-editor/min/vs/basic-languages/redis/redis.js +10 -0
  113. package/static/dist/monaco-editor/min/vs/basic-languages/redshift/redshift.js +10 -0
  114. package/static/dist/monaco-editor/min/vs/basic-languages/restructuredtext/restructuredtext.js +10 -0
  115. package/static/dist/monaco-editor/min/vs/basic-languages/ruby/ruby.js +10 -0
  116. package/static/dist/monaco-editor/min/vs/basic-languages/rust/rust.js +10 -0
  117. package/static/dist/monaco-editor/min/vs/basic-languages/sb/sb.js +10 -0
  118. package/static/dist/monaco-editor/min/vs/basic-languages/scala/scala.js +10 -0
  119. package/static/dist/monaco-editor/min/vs/basic-languages/scheme/scheme.js +10 -0
  120. package/static/dist/monaco-editor/min/vs/basic-languages/scss/scss.js +12 -0
  121. package/static/dist/monaco-editor/min/vs/basic-languages/shell/shell.js +10 -0
  122. package/static/dist/monaco-editor/min/vs/basic-languages/solidity/solidity.js +10 -0
  123. package/static/dist/monaco-editor/min/vs/basic-languages/sophia/sophia.js +10 -0
  124. package/static/dist/monaco-editor/min/vs/basic-languages/sparql/sparql.js +10 -0
  125. package/static/dist/monaco-editor/min/vs/basic-languages/sql/sql.js +10 -0
  126. package/static/dist/monaco-editor/min/vs/basic-languages/st/st.js +10 -0
  127. package/static/dist/monaco-editor/min/vs/basic-languages/swift/swift.js +13 -0
  128. package/static/dist/monaco-editor/min/vs/basic-languages/systemverilog/systemverilog.js +10 -0
  129. package/static/dist/monaco-editor/min/vs/basic-languages/tcl/tcl.js +10 -0
  130. package/static/dist/monaco-editor/min/vs/basic-languages/twig/twig.js +10 -0
  131. package/static/dist/monaco-editor/min/vs/basic-languages/typescript/typescript.js +10 -0
  132. package/static/dist/monaco-editor/min/vs/basic-languages/vb/vb.js +10 -0
  133. package/static/dist/monaco-editor/min/vs/basic-languages/xml/xml.js +10 -0
  134. package/static/dist/monaco-editor/min/vs/basic-languages/yaml/yaml.js +10 -0
  135. package/static/dist/monaco-editor/min/vs/editor/editor.main.css +6 -0
  136. package/static/dist/monaco-editor/min/vs/editor/editor.main.js +805 -0
  137. package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.de.js +29 -0
  138. package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.es.js +29 -0
  139. package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.fr.js +27 -0
  140. package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.it.js +27 -0
  141. package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.ja.js +29 -0
  142. package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.js +27 -0
  143. package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.ko.js +27 -0
  144. package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.ru.js +29 -0
  145. package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.zh-cn.js +29 -0
  146. package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.zh-tw.js +27 -0
  147. package/static/dist/monaco-editor/min/vs/language/css/cssMode.js +13 -0
  148. package/static/dist/monaco-editor/min/vs/language/css/cssWorker.js +63 -0
  149. package/static/dist/monaco-editor/min/vs/language/html/htmlMode.js +13 -0
  150. package/static/dist/monaco-editor/min/vs/language/html/htmlWorker.js +453 -0
  151. package/static/dist/monaco-editor/min/vs/language/json/jsonMode.js +15 -0
  152. package/static/dist/monaco-editor/min/vs/language/json/jsonWorker.js +36 -0
  153. package/static/dist/monaco-editor/min/vs/language/typescript/tsMode.js +20 -0
  154. package/static/dist/monaco-editor/min/vs/language/typescript/tsWorker.js +33970 -0
  155. package/static/dist/monaco-editor/min/vs/loader.js +11 -0
  156. package/static/dist/src__pages__config__index.e809a5d0.async.js +1 -0
  157. package/static/dist/src__pages__crontab__detail.5b509309.async.js +1 -0
  158. package/static/dist/src__pages__crontab__index.73fc56e9.chunk.css +1 -0
  159. package/static/dist/src__pages__crontab__index.da430aa9.async.js +1 -0
  160. package/static/dist/{src__pages__crontab__modal.3fa8f075.async.js → src__pages__crontab__modal.13de83de.async.js} +1 -1
  161. package/static/dist/src__pages__dependence__index.27d29203.async.js +1 -0
  162. package/static/dist/src__pages__dependence__logModal.b55dacc8.async.js +1 -0
  163. package/static/dist/src__pages__dependence__modal.3cc1a9be.async.js +1 -0
  164. package/static/dist/src__pages__diff__index.218dfd1a.async.js +1 -0
  165. package/static/dist/{src__pages__env__editNameModal.25c21e59.async.js → src__pages__env__editNameModal.08af0049.async.js} +1 -1
  166. package/static/dist/src__pages__env__modal.4c039f3d.async.js +1 -0
  167. package/static/dist/src__pages__error__index.1748dfaa.async.js +1 -0
  168. package/static/dist/src__pages__initialization__index.8f114cca.async.js +1 -0
  169. package/static/dist/src__pages__log__index.84556deb.async.js +1 -0
  170. package/static/dist/src__pages__script__editModal.17bcb1c2.async.js +1 -0
  171. package/static/dist/{src__pages__script__editNameModal.ca76e055.async.js → src__pages__script__editNameModal.61262353.async.js} +1 -1
  172. package/static/dist/src__pages__script__index.27582916.async.js +1 -0
  173. package/static/dist/{src__pages__script__renameModal.c166915b.async.js → src__pages__script__renameModal.3e39fdf4.async.js} +1 -1
  174. package/static/dist/src__pages__script__saveModal.449e50d8.async.js +1 -0
  175. package/static/dist/{src__pages__script__setting.020a7629.async.js → src__pages__script__setting.7944fdd6.async.js} +1 -1
  176. package/static/dist/{src__pages__setting__about.e3293e77.chunk.css → src__pages__setting__about.f6325812.chunk.css} +1 -1
  177. package/static/dist/{src__pages__setting__appModal.efa5bb29.async.js → src__pages__setting__appModal.a419e539.async.js} +1 -1
  178. package/static/dist/{src__pages__setting__other.b4adcffe.chunk.css → src__pages__setting__dependence.55c598d0.chunk.css} +1 -1
  179. package/static/dist/src__pages__setting__dependence.7bcddc85.async.js +1 -0
  180. package/static/dist/src__pages__setting__index.d2fc96f6.async.js +1 -0
  181. package/static/dist/{src__pages__setting__index.d57cc3fc.chunk.css → src__pages__setting__index.d666f8ec.chunk.css} +1 -1
  182. package/static/dist/src__pages__setting__notification.552e6815.async.js +1 -0
  183. package/static/dist/src__pages__setting__other.55c598d0.chunk.css +1 -0
  184. package/static/dist/src__pages__setting__other.a029d99a.async.js +1 -0
  185. package/static/dist/{src__pages__setting__security.d14993c7.async.js → src__pages__setting__security.c667d9e8.async.js} +1 -1
  186. package/static/dist/src__pages__subscription__modal.07629f02.async.js +1 -0
  187. package/static/dist/{umi.decd4ae2.js → umi.c864c23a.js} +1 -1
  188. package/version.yaml +27 -5
  189. package/sample/package.json +0 -12
  190. package/static/dist/5619.db04f386.async.js +0 -1
  191. package/static/dist/6747.36513965.async.js +0 -1
  192. package/static/dist/833.5add31bf.async.js +0 -1
  193. package/static/dist/layouts__index.931ce4c3.async.js +0 -1
  194. package/static/dist/src__pages__config__index.9d83dfb7.async.js +0 -1
  195. package/static/dist/src__pages__crontab__detail.7bceef05.async.js +0 -1
  196. package/static/dist/src__pages__crontab__index.55c93601.async.js +0 -1
  197. package/static/dist/src__pages__crontab__index.9fb90359.chunk.css +0 -1
  198. package/static/dist/src__pages__dependence__index.21153c24.async.js +0 -1
  199. package/static/dist/src__pages__dependence__logModal.5aada63c.async.js +0 -1
  200. package/static/dist/src__pages__dependence__modal.96353c88.async.js +0 -1
  201. package/static/dist/src__pages__diff__index.e644b15f.async.js +0 -1
  202. package/static/dist/src__pages__env__modal.4fd6abc2.async.js +0 -1
  203. package/static/dist/src__pages__error__index.f3ca5563.async.js +0 -1
  204. package/static/dist/src__pages__initialization__index.727e0f70.async.js +0 -1
  205. package/static/dist/src__pages__log__index.ba2c1721.async.js +0 -1
  206. package/static/dist/src__pages__script__editModal.8d7bac2a.async.js +0 -1
  207. package/static/dist/src__pages__script__index.da31e2c2.async.js +0 -1
  208. package/static/dist/src__pages__script__saveModal.7ee07566.async.js +0 -1
  209. package/static/dist/src__pages__setting__index.540c33a4.async.js +0 -1
  210. package/static/dist/src__pages__setting__notification.b99a4c64.async.js +0 -1
  211. package/static/dist/src__pages__setting__other.d20be1c1.async.js +0 -1
  212. package/static/dist/src__pages__subscription__modal.61e787ce.async.js +0 -1
@@ -29,8 +29,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
29
29
  return (mod && mod.__esModule) ? mod : { "default": mod };
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
- exports.safeJSONParse = exports.getUniqPath = exports.parseContentVersion = exports.parseVersion = exports.getPid = exports.killTask = exports.psTree = exports.parseBody = exports.parseHeaders = exports.promiseExecSuccess = exports.promiseExec = exports.emptyDir = exports.readDir = exports.readDirs = exports.dirSort = exports.concurrentRun = exports.handleLogPath = exports.createFile = exports.fileExist = exports.getPlatform = exports.getNetIp = exports.getToken = exports.getLastModifyFilePath = exports.getFileContentByName = void 0;
33
- const fs = __importStar(require("fs"));
32
+ exports.rmPath = exports.safeJSONParse = exports.getUniqPath = exports.parseContentVersion = exports.parseVersion = exports.getPid = exports.killTask = exports.psTree = exports.parseBody = exports.parseHeaders = exports.promiseExecSuccess = exports.promiseExec = exports.readDir = exports.readDirs = exports.dirSort = exports.concurrentRun = exports.handleLogPath = exports.createFile = exports.fileExist = exports.getPlatform = exports.getNetIp = exports.getToken = exports.getLastModifyFilePath = exports.getFileContentByName = void 0;
33
+ const fs = __importStar(require("fs/promises"));
34
34
  const path = __importStar(require("path"));
35
35
  const got_1 = __importDefault(require("got"));
36
36
  const iconv_lite_1 = __importDefault(require("iconv-lite"));
@@ -43,20 +43,22 @@ const index_1 = __importDefault(require("./index"));
43
43
  const const_1 = require("./const");
44
44
  const logger_1 = __importDefault(require("../loaders/logger"));
45
45
  __exportStar(require("./share"), exports);
46
- function getFileContentByName(fileName) {
47
- if (fs.existsSync(fileName)) {
48
- return fs.readFileSync(fileName, 'utf8');
46
+ async function getFileContentByName(fileName) {
47
+ const _exsit = await fileExist(fileName);
48
+ if (_exsit) {
49
+ return await fs.readFile(fileName, 'utf8');
49
50
  }
50
51
  return '';
51
52
  }
52
53
  exports.getFileContentByName = getFileContentByName;
53
- function getLastModifyFilePath(dir) {
54
+ async function getLastModifyFilePath(dir) {
54
55
  let filePath = '';
55
- if (fs.existsSync(dir)) {
56
- const arr = fs.readdirSync(dir);
57
- arr.forEach((item) => {
56
+ const _exsit = await fileExist(dir);
57
+ if (_exsit) {
58
+ const arr = await fs.readdir(dir);
59
+ arr.forEach(async (item) => {
58
60
  const fullpath = path.join(dir, item);
59
- const stats = fs.statSync(fullpath);
61
+ const stats = await fs.stat(fullpath);
60
62
  if (stats.isFile()) {
61
63
  if (stats.mtimeMs >= 0) {
62
64
  filePath = fullpath;
@@ -87,7 +89,7 @@ async function getNetIp(req) {
87
89
  ...req.ips,
88
90
  req.socket.remoteAddress,
89
91
  ]),
90
- ];
92
+ ].filter(Boolean);
91
93
  let ip = ipArray[0];
92
94
  if (ipArray.length > 1) {
93
95
  for (let i = 0; i < ipArray.length; i++) {
@@ -113,30 +115,32 @@ async function getNetIp(req) {
113
115
  return { address: `获取失败`, ip };
114
116
  }
115
117
  try {
116
- const baiduApi = got_1.default
117
- .get(`https://www.cip.cc/${ip}`, { timeout: 10000, retry: 0 })
118
+ const csdnApi = got_1.default
119
+ .get(`https://searchplugin.csdn.net/api/v1/ip/get?ip=${ip}`, {
120
+ timeout: 10000,
121
+ retry: 0,
122
+ })
118
123
  .text();
119
- const ipApi = got_1.default
124
+ const pconlineApi = got_1.default
120
125
  .get(`https://whois.pconline.com.cn/ipJson.jsp?ip=${ip}&json=true`, {
121
126
  timeout: 10000,
122
127
  retry: 0,
123
128
  })
124
129
  .buffer();
125
- const [data, ipApiBody] = await await Promise.all([baiduApi, ipApi]);
126
- const ipRegx = /.*IP :(.*)\n/;
127
- const addrRegx = /.*数据二 :(.*)\n/;
128
- if (data && ipRegx.test(data) && addrRegx.test(data)) {
129
- const ip = data.match(ipRegx)[1];
130
- const addr = data.match(addrRegx)[1];
131
- return { address: addr, ip };
130
+ const [csdnBody, pconlineBody] = await await Promise.all([
131
+ csdnApi,
132
+ pconlineApi,
133
+ ]);
134
+ const csdnRes = JSON.parse(csdnBody);
135
+ const pconlineRes = JSON.parse(iconv_lite_1.default.decode(pconlineBody, 'GBK'));
136
+ let address = '';
137
+ if (csdnBody && csdnRes.code == 200) {
138
+ address = csdnRes.data.address;
132
139
  }
133
- else if (ipApiBody) {
134
- const { addr, ip } = JSON.parse(iconv_lite_1.default.decode(ipApiBody, 'GBK'));
135
- return { address: `${addr}`, ip };
136
- }
137
- else {
138
- return { address: `获取失败`, ip };
140
+ else if (pconlineRes && pconlineRes.addr) {
141
+ address = pconlineRes.addr;
139
142
  }
143
+ return { address, ip };
140
144
  }
141
145
  catch (error) {
142
146
  return { address: `获取失败`, ip };
@@ -178,23 +182,18 @@ function getPlatform(userAgent) {
178
182
  }
179
183
  exports.getPlatform = getPlatform;
180
184
  async function fileExist(file) {
181
- return new Promise((resolve) => {
182
- try {
183
- fs.accessSync(file);
184
- resolve(true);
185
- }
186
- catch (error) {
187
- resolve(false);
188
- }
189
- });
185
+ try {
186
+ await fs.access(file);
187
+ return true;
188
+ }
189
+ catch (error) {
190
+ return false;
191
+ }
190
192
  }
191
193
  exports.fileExist = fileExist;
192
194
  async function createFile(file, data = '') {
193
- return new Promise((resolve) => {
194
- fs.mkdirSync(path.dirname(file), { recursive: true });
195
- fs.writeFileSync(file, data);
196
- resolve(true);
197
- });
195
+ await fs.mkdir(path.dirname(file), { recursive: true });
196
+ await fs.writeFile(file, data);
198
197
  }
199
198
  exports.createFile = createFile;
200
199
  async function handleLogPath(logPath, data = '') {
@@ -241,57 +240,61 @@ var FileType;
241
240
  FileType[FileType["file"] = 1] = "file";
242
241
  })(FileType || (FileType = {}));
243
242
  function dirSort(a, b) {
244
- if (a.type !== b.type) {
245
- return FileType[a.type] < FileType[b.type] ? -1 : 1;
243
+ if (a.type === 'file' && b.type === 'file') {
244
+ return b.mtime - a.mtime;
246
245
  }
247
- else if (a.mtime !== b.mtime) {
248
- return a.mtime > b.mtime ? -1 : 1;
246
+ else if (a.type === 'directory' && b.type === 'directory') {
247
+ return a.title.localeCompare(b.title);
249
248
  }
250
249
  else {
251
- return 0;
250
+ return a.type === 'directory' ? -1 : 1;
252
251
  }
253
252
  }
254
253
  exports.dirSort = dirSort;
255
- function readDirs(dir, baseDir = '', blacklist = []) {
254
+ async function readDirs(dir, baseDir = '', blacklist = [], sort = dirSort) {
256
255
  const relativePath = path.relative(baseDir, dir);
257
- const files = fs.readdirSync(dir);
258
- const result = files
259
- .filter((x) => !blacklist.includes(x))
260
- .map((file) => {
256
+ const files = await fs.readdir(dir);
257
+ const result = [];
258
+ for (const file of files) {
261
259
  const subPath = path.join(dir, file);
262
- const stats = fs.statSync(subPath);
260
+ const stats = await fs.stat(subPath);
263
261
  const key = path.join(relativePath, file);
262
+ if (blacklist.includes(file) || stats.isSymbolicLink()) {
263
+ continue;
264
+ }
264
265
  if (stats.isDirectory()) {
265
- return {
266
+ const children = await readDirs(subPath, baseDir, blacklist, sort);
267
+ result.push({
266
268
  title: file,
267
269
  key,
268
270
  type: 'directory',
269
271
  parent: relativePath,
270
272
  mtime: stats.mtime.getTime(),
271
- children: readDirs(subPath, baseDir).sort(dirSort),
272
- };
273
+ children: children.sort(sort),
274
+ });
273
275
  }
274
- return {
275
- title: file,
276
- type: 'file',
277
- isLeaf: true,
278
- key,
279
- parent: relativePath,
280
- size: stats.size,
281
- mtime: stats.mtime.getTime(),
282
- };
283
- });
284
- return result.sort(dirSort);
276
+ else {
277
+ result.push({
278
+ title: file,
279
+ type: 'file',
280
+ key,
281
+ parent: relativePath,
282
+ size: stats.size,
283
+ mtime: stats.mtime.getTime(),
284
+ });
285
+ }
286
+ }
287
+ return result.sort(sort);
285
288
  }
286
289
  exports.readDirs = readDirs;
287
- function readDir(dir, baseDir = '', blacklist = []) {
290
+ async function readDir(dir, baseDir = '', blacklist = []) {
288
291
  const relativePath = path.relative(baseDir, dir);
289
- const files = fs.readdirSync(dir);
292
+ const files = await fs.readdir(dir);
290
293
  const result = files
291
294
  .filter((x) => !blacklist.includes(x))
292
- .map((file) => {
295
+ .map(async (file) => {
293
296
  const subPath = path.join(dir, file);
294
- const stats = fs.statSync(subPath);
297
+ const stats = await fs.stat(subPath);
295
298
  const key = path.join(relativePath, file);
296
299
  return {
297
300
  title: file,
@@ -303,28 +306,12 @@ function readDir(dir, baseDir = '', blacklist = []) {
303
306
  return result;
304
307
  }
305
308
  exports.readDir = readDir;
306
- async function emptyDir(path) {
307
- const pathExist = await fileExist(path);
308
- if (!pathExist) {
309
- return;
310
- }
311
- const files = fs.readdirSync(path);
312
- for (const file of files) {
313
- const filePath = `${path}/${file}`;
314
- const stats = fs.statSync(filePath);
315
- if (stats.isDirectory()) {
316
- await emptyDir(filePath);
317
- }
318
- else {
319
- fs.unlinkSync(filePath);
320
- }
321
- }
322
- fs.rmdirSync(path);
323
- }
324
- exports.emptyDir = emptyDir;
325
309
  async function promiseExec(command) {
326
310
  try {
327
- const { stderr, stdout } = await (0, util_1.promisify)(child_process_1.exec)(command, { maxBuffer: 200 * 1024 * 1024, encoding: 'utf8' });
311
+ const { stderr, stdout } = await (0, util_1.promisify)(child_process_1.exec)(command, {
312
+ maxBuffer: 200 * 1024 * 1024,
313
+ encoding: 'utf8',
314
+ });
328
315
  return stdout || stderr;
329
316
  }
330
317
  catch (error) {
@@ -334,7 +321,10 @@ async function promiseExec(command) {
334
321
  exports.promiseExec = promiseExec;
335
322
  async function promiseExecSuccess(command) {
336
323
  try {
337
- const { stdout } = await (0, util_1.promisify)(child_process_1.exec)(command, { maxBuffer: 200 * 1024 * 1024, encoding: 'utf8' });
324
+ const { stdout } = await (0, util_1.promisify)(child_process_1.exec)(command, {
325
+ maxBuffer: 200 * 1024 * 1024,
326
+ encoding: 'utf8',
327
+ });
338
328
  return stdout || '';
339
329
  }
340
330
  catch (error) {
@@ -363,8 +353,9 @@ function parseHeaders(headers) {
363
353
  }
364
354
  exports.parseHeaders = parseHeaders;
365
355
  function parseBody(body, contentType) {
366
- if (!body)
367
- return '';
356
+ if (contentType === 'text/plain' || !body) {
357
+ return body;
358
+ }
368
359
  const parsed = {};
369
360
  let key;
370
361
  let val;
@@ -372,7 +363,7 @@ function parseBody(body, contentType) {
372
363
  body &&
373
364
  body.split('\n').forEach(function parser(line) {
374
365
  i = line.indexOf(':');
375
- key = line.substring(0, i).trim().toLowerCase();
366
+ key = line.substring(0, i).trim();
376
367
  val = line.substring(i + 1).trim();
377
368
  if (!key || parsed[key]) {
378
369
  return;
@@ -432,7 +423,7 @@ async function getPid(name) {
432
423
  }
433
424
  exports.getPid = getPid;
434
425
  async function parseVersion(path) {
435
- return (0, js_yaml_1.load)(await (0, util_1.promisify)(fs.readFile)(path, 'utf8'));
426
+ return (0, js_yaml_1.load)(await fs.readFile(path, 'utf8'));
436
427
  }
437
428
  exports.parseVersion = parseVersion;
438
429
  async function parseContentVersion(content) {
@@ -481,4 +472,16 @@ function safeJSONParse(value) {
481
472
  }
482
473
  }
483
474
  exports.safeJSONParse = safeJSONParse;
475
+ async function rmPath(path) {
476
+ try {
477
+ const _exsit = await fileExist(path);
478
+ if (_exsit) {
479
+ await fs.rm(path, { force: true, recursive: true, maxRetries: 5 });
480
+ }
481
+ }
482
+ catch (error) {
483
+ logger_1.default.error('[rmPath失败]', error);
484
+ }
485
+ }
486
+ exports.rmPath = rmPath;
484
487
  //# sourceMappingURL=util.js.map
@@ -85,7 +85,7 @@ class TelegramBotNotification extends NotificationBaseInfo {
85
85
  this.telegramBotProxyHost = '';
86
86
  this.telegramBotProxyPort = '';
87
87
  this.telegramBotProxyAuth = '';
88
- this.telegramBotApiHost = 'api.telegram.org';
88
+ this.telegramBotApiHost = 'https://api.telegram.org';
89
89
  }
90
90
  }
91
91
  exports.TelegramBotNotification = TelegramBotNotification;
@@ -158,7 +158,7 @@ class ChronocatNotification extends NotificationBaseInfo {
158
158
  super(...arguments);
159
159
  this.chronocatURL = '';
160
160
  this.chronocatQQ = '';
161
- this.chronocatToekn = '';
161
+ this.chronocatToken = '';
162
162
  }
163
163
  }
164
164
  exports.ChronocatNotification = ChronocatNotification;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AuthModel = exports.AuthDataType = exports.LoginStatus = exports.AuthInfo = void 0;
3
+ exports.SystemModel = exports.AuthDataType = exports.LoginStatus = exports.AuthInfo = void 0;
4
4
  const _1 = require(".");
5
5
  const sequelize_1 = require("sequelize");
6
6
  class AuthInfo {
@@ -25,7 +25,7 @@ var AuthDataType;
25
25
  AuthDataType["removeLogFrequency"] = "removeLogFrequency";
26
26
  AuthDataType["systemConfig"] = "systemConfig";
27
27
  })(AuthDataType || (exports.AuthDataType = AuthDataType = {}));
28
- exports.AuthModel = _1.sequelize.define('Auth', {
28
+ exports.SystemModel = _1.sequelize.define('Auth', {
29
29
  ip: sequelize_1.DataTypes.STRING,
30
30
  type: sequelize_1.DataTypes.STRING,
31
31
  info: {
@@ -33,4 +33,4 @@ exports.AuthModel = _1.sequelize.define('Auth', {
33
33
  allowNull: true,
34
34
  },
35
35
  });
36
- //# sourceMappingURL=auth.js.map
36
+ //# sourceMappingURL=system.js.map
@@ -10,7 +10,7 @@ const env_1 = require("../data/env");
10
10
  const cron_1 = require("../data/cron");
11
11
  const dependence_1 = require("../data/dependence");
12
12
  const open_1 = require("../data/open");
13
- const auth_1 = require("../data/auth");
13
+ const system_1 = require("../data/system");
14
14
  const util_1 = require("../config/util");
15
15
  const subscription_1 = require("../data/subscription");
16
16
  const cronView_1 = require("../data/cronView");
@@ -21,7 +21,7 @@ exports.default = async () => {
21
21
  await cron_1.CrontabModel.sync();
22
22
  await dependence_1.DependenceModel.sync();
23
23
  await open_1.AppModel.sync();
24
- await auth_1.AuthModel.sync();
24
+ await system_1.SystemModel.sync();
25
25
  await env_1.EnvModel.sync();
26
26
  await subscription_1.SubscriptionModel.sync();
27
27
  await cronView_1.CrontabViewModel.sync();
@@ -77,7 +77,7 @@ exports.default = async () => {
77
77
  const dependenceCount = await dependence_1.DependenceModel.count();
78
78
  const envCount = await env_1.EnvModel.count();
79
79
  const appCount = await open_1.AppModel.count();
80
- const authCount = await auth_1.AuthModel.count();
80
+ const authCount = await system_1.SystemModel.count();
81
81
  if (crondbExist && cronCount === 0) {
82
82
  const cronDb = new nedb_1.default({
83
83
  filename: cronDbFile,
@@ -125,7 +125,7 @@ exports.default = async () => {
125
125
  });
126
126
  authDb.persistence.compactDatafile();
127
127
  authDb.find({}).exec(async (err, docs) => {
128
- await auth_1.AuthModel.bulkCreate(docs, { ignoreDuplicates: true });
128
+ await system_1.SystemModel.bulkCreate(docs, { ignoreDuplicates: true });
129
129
  });
130
130
  }
131
131
  console.log('✌️ DB loaded');
@@ -4,21 +4,20 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const path_1 = __importDefault(require("path"));
7
- const fs_1 = __importDefault(require("fs"));
7
+ const promises_1 = __importDefault(require("fs/promises"));
8
8
  const chokidar_1 = __importDefault(require("chokidar"));
9
9
  const index_1 = __importDefault(require("../config/index"));
10
10
  const util_1 = require("../config/util");
11
- function linkToNodeModule(src, dst) {
11
+ async function linkToNodeModule(src, dst) {
12
12
  const target = path_1.default.join(index_1.default.rootPath, 'node_modules', dst || src);
13
13
  const source = path_1.default.join(index_1.default.rootPath, src);
14
- fs_1.default.lstat(target, (err, stat) => {
15
- if (!stat) {
16
- fs_1.default.symlink(source, target, 'dir', (err) => {
17
- if (err)
18
- throw err;
19
- });
14
+ try {
15
+ const stats = await promises_1.default.lstat(target);
16
+ if (!stats) {
17
+ await promises_1.default.symlink(source, target, 'dir');
20
18
  }
21
- });
19
+ }
20
+ catch (error) { }
22
21
  }
23
22
  async function linkCommand() {
24
23
  const commandPath = await (0, util_1.promiseExec)('which node');
@@ -36,15 +35,13 @@ async function linkCommand() {
36
35
  for (const link of linkShell) {
37
36
  const source = path_1.default.join(index_1.default.rootPath, 'shell', link.src);
38
37
  const target = path_1.default.join(commandDir, link.dest);
39
- if (fs_1.default.existsSync(target)) {
40
- fs_1.default.unlinkSync(target);
41
- }
42
- fs_1.default.symlink(source, target, (err) => { });
38
+ await (0, util_1.rmPath)(target);
39
+ await promises_1.default.symlink(source, target);
43
40
  }
44
41
  }
45
42
  exports.default = async (src = 'deps') => {
46
43
  await linkCommand();
47
- linkToNodeModule(src);
44
+ await linkToNodeModule(src);
48
45
  const source = path_1.default.join(index_1.default.rootPath, src);
49
46
  const watcher = chokidar_1.default.watch(source, {
50
47
  ignored: /(^|[\/\\])\../,
@@ -32,20 +32,19 @@ const cors_1 = __importDefault(require("cors"));
32
32
  const api_1 = __importDefault(require("../api"));
33
33
  const config_1 = __importDefault(require("../config"));
34
34
  const express_jwt_1 = __importStar(require("express-jwt"));
35
- const fs_1 = __importDefault(require("fs"));
35
+ const promises_1 = __importDefault(require("fs/promises"));
36
36
  const util_1 = require("../config/util");
37
37
  const typedi_1 = __importDefault(require("typedi"));
38
38
  const open_1 = __importDefault(require("../services/open"));
39
39
  const express_urlrewrite_1 = __importDefault(require("express-urlrewrite"));
40
40
  const user_1 = __importDefault(require("../services/user"));
41
41
  const Sentry = __importStar(require("@sentry/node"));
42
- const env_1 = require("../data/env");
43
42
  const celebrate_1 = require("celebrate");
44
43
  const http_proxy_middleware_1 = require("http-proxy-middleware");
45
44
  const serverEnv_1 = require("../config/serverEnv");
46
45
  const logger_1 = __importDefault(require("./logger"));
47
46
  exports.default = ({ app }) => {
48
- app.enable('trust proxy');
47
+ app.set('trust proxy', 'loopback');
49
48
  app.use((0, cors_1.default)());
50
49
  app.get(`${config_1.default.api.prefix}/env.js`, serverEnv_1.serveEnv);
51
50
  app.use(`${config_1.default.api.prefix}/static`, express_1.default.static(config_1.default.uploadPath));
@@ -53,7 +52,7 @@ exports.default = ({ app }) => {
53
52
  target: `http://0.0.0.0:${config_1.default.publicPort}/api`,
54
53
  changeOrigin: true,
55
54
  pathRewrite: { '/api/public': '' },
56
- logProvider: () => logger_1.default
55
+ logProvider: () => logger_1.default,
57
56
  }));
58
57
  app.use(body_parser_1.default.json({ limit: '50mb' }));
59
58
  app.use(body_parser_1.default.urlencoded({ limit: '50mb', extended: true }));
@@ -95,7 +94,7 @@ exports.default = ({ app }) => {
95
94
  config_1.default.apiWhiteList.includes(originPath)) {
96
95
  return next();
97
96
  }
98
- const data = fs_1.default.readFileSync(config_1.default.authConfigFile, 'utf8');
97
+ const data = await promises_1.default.readFile(config_1.default.authConfigFile, 'utf8');
99
98
  if (data && headerToken) {
100
99
  const { token = '', tokens = {} } = (0, util_1.safeJSONParse)(data);
101
100
  if (headerToken === token || tokens[req.platform] === headerToken) {
@@ -115,7 +114,6 @@ exports.default = ({ app }) => {
115
114
  }
116
115
  const userService = typedi_1.default.get(user_1.default);
117
116
  const authInfo = await userService.getUserInfo();
118
- const envCount = await env_1.EnvModel.count();
119
117
  let isInitialized = true;
120
118
  if (Object.keys(authInfo).length === 2 &&
121
119
  authInfo.username === 'admin' &&
@@ -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
- const fs_1 = __importDefault(require("fs"));
6
+ const promises_1 = __importDefault(require("fs/promises"));
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const os_1 = __importDefault(require("os"));
9
9
  const logger_1 = __importDefault(require("./logger"));
@@ -52,50 +52,50 @@ exports.default = async () => {
52
52
  const TaskBeforeFileExist = await (0, util_1.fileExist)(TaskBeforeFile);
53
53
  const TaskAfterFileExist = await (0, util_1.fileExist)(TaskAfterFile);
54
54
  if (!configDirExist) {
55
- fs_1.default.mkdirSync(configPath);
55
+ await promises_1.default.mkdir(configPath);
56
56
  }
57
57
  if (!scriptDirExist) {
58
- fs_1.default.mkdirSync(scriptPath);
58
+ await promises_1.default.mkdir(scriptPath);
59
59
  }
60
60
  if (!logDirExist) {
61
- fs_1.default.mkdirSync(logPath);
61
+ await promises_1.default.mkdir(logPath);
62
62
  }
63
63
  if (!tmpDirExist) {
64
- fs_1.default.mkdirSync(tmpPath);
64
+ await promises_1.default.mkdir(tmpPath);
65
65
  }
66
66
  if (!uploadDirExist) {
67
- fs_1.default.mkdirSync(uploadPath);
67
+ await promises_1.default.mkdir(uploadPath);
68
68
  }
69
69
  if (!sshDirExist) {
70
- fs_1.default.mkdirSync(sshPath);
70
+ await promises_1.default.mkdir(sshPath);
71
71
  }
72
72
  if (!bakDirExist) {
73
- fs_1.default.mkdirSync(bakPath);
73
+ await promises_1.default.mkdir(bakPath);
74
74
  }
75
75
  if (!sshdDirExist) {
76
- fs_1.default.mkdirSync(sshdPath);
76
+ await promises_1.default.mkdir(sshdPath);
77
77
  }
78
78
  if (!systemLogDirExist) {
79
- fs_1.default.mkdirSync(systemLogPath);
79
+ await promises_1.default.mkdir(systemLogPath);
80
80
  }
81
81
  // 初始化文件
82
82
  if (!authFileExist) {
83
- fs_1.default.writeFileSync(authConfigFile, fs_1.default.readFileSync(sampleAuthFile));
83
+ await promises_1.default.writeFile(authConfigFile, await promises_1.default.readFile(sampleAuthFile));
84
84
  }
85
85
  if (!confFileExist) {
86
- fs_1.default.writeFileSync(confFile, fs_1.default.readFileSync(sampleConfigFile));
86
+ await promises_1.default.writeFile(confFile, await promises_1.default.readFile(sampleConfigFile));
87
87
  }
88
88
  if (!scriptNotifyJsFileExist) {
89
- fs_1.default.writeFileSync(scriptNotifyJsFile, fs_1.default.readFileSync(sampleNotifyJsFile));
89
+ await promises_1.default.writeFile(scriptNotifyJsFile, await promises_1.default.readFile(sampleNotifyJsFile));
90
90
  }
91
91
  if (!scriptNotifyPyFileExist) {
92
- fs_1.default.writeFileSync(scriptNotifyPyFile, fs_1.default.readFileSync(sampleNotifyPyFile));
92
+ await promises_1.default.writeFile(scriptNotifyPyFile, await promises_1.default.readFile(sampleNotifyPyFile));
93
93
  }
94
94
  if (!TaskBeforeFileExist) {
95
- fs_1.default.writeFileSync(TaskBeforeFile, fs_1.default.readFileSync(sampleTaskShellFile));
95
+ await promises_1.default.writeFile(TaskBeforeFile, await promises_1.default.readFile(sampleTaskShellFile));
96
96
  }
97
97
  if (!TaskAfterFileExist) {
98
- fs_1.default.writeFileSync(TaskAfterFile, fs_1.default.readFileSync(sampleTaskShellFile));
98
+ await promises_1.default.writeFile(TaskAfterFile, await promises_1.default.readFile(sampleTaskShellFile));
99
99
  }
100
100
  logger_1.default.info('✌️ Init file down');
101
101
  console.log('✌️ Init file down');
@@ -27,7 +27,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  const Sentry = __importStar(require("@sentry/node"));
30
- const Tracing = __importStar(require("@sentry/tracing"));
31
30
  const logger_1 = __importDefault(require("./logger"));
32
31
  const config_1 = __importDefault(require("../config"));
33
32
  const util_1 = require("../config/util");
@@ -40,10 +39,10 @@ exports.default = async ({ expressApp }) => {
40
39
  /UnauthorizedError/i,
41
40
  /celebrate request validation failed/i,
42
41
  ],
43
- dsn: 'https://f4b5b55fb3c645b29a5dc2d70a1a4ef4@o1098464.ingest.sentry.io/6122819',
42
+ dsn: 'https://8b5c84cfef3e22541bc84de0ed00497b@o1098464.ingest.sentry.io/6122819',
44
43
  integrations: [
45
44
  new Sentry.Integrations.Http({ tracing: true }),
46
- new Tracing.Integrations.Express({ app: expressApp }),
45
+ new Sentry.Integrations.Express({ app: expressApp }),
47
46
  ],
48
47
  tracesSampleRate: 0.8,
49
48
  release: version,
@@ -7,16 +7,16 @@ const sockjs_1 = __importDefault(require("sockjs"));
7
7
  const typedi_1 = require("typedi");
8
8
  const sock_1 = __importDefault(require("../services/sock"));
9
9
  const index_1 = __importDefault(require("../config/index"));
10
- const fs_1 = __importDefault(require("fs"));
10
+ const promises_1 = __importDefault(require("fs/promises"));
11
11
  const util_1 = require("../config/util");
12
12
  exports.default = async ({ server }) => {
13
13
  const echo = sockjs_1.default.createServer({ prefix: '/api/ws', log: () => { } });
14
14
  const sockService = typedi_1.Container.get(sock_1.default);
15
- echo.on('connection', (conn) => {
15
+ echo.on('connection', async (conn) => {
16
16
  if (!conn.headers || !conn.url || !conn.pathname) {
17
17
  conn.close('404');
18
18
  }
19
- const data = fs_1.default.readFileSync(index_1.default.authConfigFile, 'utf8');
19
+ const data = await promises_1.default.readFile(index_1.default.authConfigFile, 'utf8');
20
20
  const platform = (0, util_1.getPlatform)(conn.headers['user-agent'] || '') || 'desktop';
21
21
  const headerToken = conn.url.replace(`${conn.pathname}?token=`, '');
22
22
  if (data) {
@@ -9,7 +9,7 @@ const config_1 = __importDefault(require("./config"));
9
9
  const health_1 = require("./protos/health");
10
10
  const grpc_js_1 = require("@grpc/grpc-js");
11
11
  const app = (0, express_1.default)();
12
- const client = new health_1.HealthClient(`0.0.0.0:${config_1.default.cronPort}`, grpc_js_1.credentials.createInsecure());
12
+ const client = new health_1.HealthClient(`0.0.0.0:${config_1.default.cronPort}`, grpc_js_1.credentials.createInsecure(), { 'grpc.enable_http_proxy': 0 });
13
13
  app.get('/api/health', (req, res) => {
14
14
  client.check({ service: 'cron' }, (err, response) => {
15
15
  if (err) {
@@ -8,7 +8,7 @@ const cron_1 = require("../protos/cron");
8
8
  const config_1 = __importDefault(require("../config"));
9
9
  class Client {
10
10
  constructor() {
11
- this.client = new cron_1.CronClient(`0.0.0.0:${config_1.default.cronPort}`, grpc_js_1.credentials.createInsecure());
11
+ this.client = new cron_1.CronClient(`0.0.0.0:${config_1.default.cronPort}`, grpc_js_1.credentials.createInsecure(), { 'grpc.enable_http_proxy': 0 });
12
12
  }
13
13
  addCron(request) {
14
14
  return new Promise((resolve, reject) => {
@@ -9,7 +9,7 @@ const util_1 = require("../config/util");
9
9
  const check = async (call, callback) => {
10
10
  switch (call.request.service) {
11
11
  case 'cron':
12
- const res = await (0, util_1.promiseExec)(`curl -s http://0.0.0.0:${config_1.default.port}/api/system`);
12
+ const res = await (0, util_1.promiseExec)(`curl -s --noproxy '*' http://0.0.0.0:${config_1.default.port}/api/system`);
13
13
  if (res.includes('200')) {
14
14
  return callback(null, { status: 1 });
15
15
  }
@@ -11,7 +11,7 @@ const health_1 = require("../protos/health");
11
11
  const health_2 = require("./health");
12
12
  const config_1 = __importDefault(require("../config"));
13
13
  const logger_1 = __importDefault(require("../loaders/logger"));
14
- const server = new grpc_js_1.Server();
14
+ const server = new grpc_js_1.Server({ 'grpc.enable_http_proxy': 0 });
15
15
  server.addService(health_1.HealthService, { check: health_2.check });
16
16
  server.addService(cron_1.CronService, { addCron: addCron_1.addCron, delCron: delCron_1.delCron });
17
17
  server.bindAsync(`0.0.0.0:${config_1.default.cronPort}`, grpc_js_1.ServerCredentials.createInsecure(), (err, port) => {