@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.
- package/README-en.md +13 -15
- package/README.md +14 -17
- package/docker/Dockerfile +6 -8
- package/docker/docker-entrypoint.sh +2 -16
- package/docker/front.conf +12 -0
- package/ecosystem.config.js +8 -0
- package/package.json +13 -8
- package/sample/config.sample.sh +10 -20
- package/sample/notify.js +115 -136
- package/sample/notify.py +7 -7
- package/shell/api.sh +4 -4
- package/shell/bot.sh +0 -3
- package/shell/check.sh +1 -13
- package/shell/env.sh +0 -0
- package/shell/share.sh +2 -4
- package/shell/start.sh +0 -10
- package/shell/update.sh +6 -17
- package/static/build/api/config.js +23 -6
- package/static/build/api/log.js +3 -32
- package/static/build/api/script.js +31 -21
- package/static/build/api/system.js +76 -8
- package/static/build/config/const.js +18 -1
- package/static/build/config/index.js +3 -0
- package/static/build/config/util.js +98 -95
- package/static/build/data/notify.js +2 -2
- package/static/build/data/{auth.js → system.js} +3 -3
- package/static/build/loaders/db.js +4 -4
- package/static/build/loaders/deps.js +11 -14
- package/static/build/loaders/express.js +4 -6
- package/static/build/loaders/initFile.js +16 -16
- package/static/build/loaders/sentry.js +2 -3
- package/static/build/loaders/sock.js +3 -3
- package/static/build/public.js +1 -1
- package/static/build/schedule/client.js +1 -1
- package/static/build/schedule/health.js +1 -1
- package/static/build/schedule/index.js +1 -1
- package/static/build/services/cron.js +32 -25
- package/static/build/services/dependence.js +15 -5
- package/static/build/services/env.js +2 -2
- package/static/build/services/notify.js +8 -7
- package/static/build/services/script.js +2 -6
- package/static/build/services/sshKey.js +27 -52
- package/static/build/services/subscription.js +19 -21
- package/static/build/services/system.js +112 -21
- package/static/build/services/user.js +52 -41
- package/static/build/shared/pLimit.js +4 -4
- package/static/dist/{6644.1f11b8fa.async.js → 1431.36b64dc5.async.js} +1 -1
- package/static/dist/3752.56c3fba2.async.js +1 -0
- package/static/dist/{419.e21ea0bd.async.js → 419.d9597044.async.js} +1 -1
- package/static/dist/{8008.cf4ff203.async.js → 8008.fbdcf863.async.js} +1 -1
- package/static/dist/833.7348bf8c.async.js +1 -0
- package/static/dist/8722.408e3112.async.js +1 -0
- package/static/dist/{8171.e2986b87.async.js → 9847.d72d4b37.async.js} +1 -1
- package/static/dist/index.html +1 -1
- package/static/dist/layouts__index.2c89a418.async.js +1 -0
- package/static/dist/monaco-editor/min/vs/base/browser/ui/codicons/codicon/codicon.ttf +0 -0
- package/static/dist/monaco-editor/min/vs/base/worker/workerMain.js +22 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/abap/abap.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/apex/apex.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/azcli/azcli.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/bat/bat.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/bicep/bicep.js +11 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/cameligo/cameligo.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/clojure/clojure.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/coffee/coffee.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/cpp/cpp.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/csharp/csharp.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/csp/csp.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/css/css.js +12 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/dart/dart.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/dockerfile/dockerfile.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/ecl/ecl.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/elixir/elixir.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/flow9/flow9.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/freemarker2/freemarker2.js +12 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/fsharp/fsharp.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/go/go.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/graphql/graphql.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/handlebars/handlebars.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/hcl/hcl.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/html/html.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/ini/ini.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/java/java.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/javascript/javascript.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/julia/julia.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/kotlin/kotlin.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/less/less.js +11 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/lexon/lexon.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/liquid/liquid.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/lua/lua.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/m3/m3.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/markdown/markdown.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/mips/mips.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/msdax/msdax.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/mysql/mysql.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/objective-c/objective-c.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/pascal/pascal.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/pascaligo/pascaligo.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/perl/perl.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/pgsql/pgsql.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/php/php.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/pla/pla.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/postiats/postiats.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/powerquery/powerquery.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/powershell/powershell.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/protobuf/protobuf.js +11 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/pug/pug.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/python/python.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/qsharp/qsharp.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/r/r.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/razor/razor.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/redis/redis.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/redshift/redshift.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/restructuredtext/restructuredtext.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/ruby/ruby.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/rust/rust.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/sb/sb.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/scala/scala.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/scheme/scheme.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/scss/scss.js +12 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/shell/shell.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/solidity/solidity.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/sophia/sophia.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/sparql/sparql.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/sql/sql.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/st/st.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/swift/swift.js +13 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/systemverilog/systemverilog.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/tcl/tcl.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/twig/twig.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/typescript/typescript.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/vb/vb.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/xml/xml.js +10 -0
- package/static/dist/monaco-editor/min/vs/basic-languages/yaml/yaml.js +10 -0
- package/static/dist/monaco-editor/min/vs/editor/editor.main.css +6 -0
- package/static/dist/monaco-editor/min/vs/editor/editor.main.js +805 -0
- package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.de.js +29 -0
- package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.es.js +29 -0
- package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.fr.js +27 -0
- package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.it.js +27 -0
- package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.ja.js +29 -0
- package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.js +27 -0
- package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.ko.js +27 -0
- package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.ru.js +29 -0
- package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.zh-cn.js +29 -0
- package/static/dist/monaco-editor/min/vs/editor/editor.main.nls.zh-tw.js +27 -0
- package/static/dist/monaco-editor/min/vs/language/css/cssMode.js +13 -0
- package/static/dist/monaco-editor/min/vs/language/css/cssWorker.js +63 -0
- package/static/dist/monaco-editor/min/vs/language/html/htmlMode.js +13 -0
- package/static/dist/monaco-editor/min/vs/language/html/htmlWorker.js +453 -0
- package/static/dist/monaco-editor/min/vs/language/json/jsonMode.js +15 -0
- package/static/dist/monaco-editor/min/vs/language/json/jsonWorker.js +36 -0
- package/static/dist/monaco-editor/min/vs/language/typescript/tsMode.js +20 -0
- package/static/dist/monaco-editor/min/vs/language/typescript/tsWorker.js +33970 -0
- package/static/dist/monaco-editor/min/vs/loader.js +11 -0
- package/static/dist/src__pages__config__index.e809a5d0.async.js +1 -0
- package/static/dist/src__pages__crontab__detail.5b509309.async.js +1 -0
- package/static/dist/src__pages__crontab__index.73fc56e9.chunk.css +1 -0
- package/static/dist/src__pages__crontab__index.da430aa9.async.js +1 -0
- package/static/dist/{src__pages__crontab__modal.3fa8f075.async.js → src__pages__crontab__modal.13de83de.async.js} +1 -1
- package/static/dist/src__pages__dependence__index.27d29203.async.js +1 -0
- package/static/dist/src__pages__dependence__logModal.b55dacc8.async.js +1 -0
- package/static/dist/src__pages__dependence__modal.3cc1a9be.async.js +1 -0
- package/static/dist/src__pages__diff__index.218dfd1a.async.js +1 -0
- package/static/dist/{src__pages__env__editNameModal.25c21e59.async.js → src__pages__env__editNameModal.08af0049.async.js} +1 -1
- package/static/dist/src__pages__env__modal.4c039f3d.async.js +1 -0
- package/static/dist/src__pages__error__index.1748dfaa.async.js +1 -0
- package/static/dist/src__pages__initialization__index.8f114cca.async.js +1 -0
- package/static/dist/src__pages__log__index.84556deb.async.js +1 -0
- package/static/dist/src__pages__script__editModal.17bcb1c2.async.js +1 -0
- package/static/dist/{src__pages__script__editNameModal.ca76e055.async.js → src__pages__script__editNameModal.61262353.async.js} +1 -1
- package/static/dist/src__pages__script__index.27582916.async.js +1 -0
- package/static/dist/{src__pages__script__renameModal.c166915b.async.js → src__pages__script__renameModal.3e39fdf4.async.js} +1 -1
- package/static/dist/src__pages__script__saveModal.449e50d8.async.js +1 -0
- package/static/dist/{src__pages__script__setting.020a7629.async.js → src__pages__script__setting.7944fdd6.async.js} +1 -1
- package/static/dist/{src__pages__setting__about.e3293e77.chunk.css → src__pages__setting__about.f6325812.chunk.css} +1 -1
- package/static/dist/{src__pages__setting__appModal.efa5bb29.async.js → src__pages__setting__appModal.a419e539.async.js} +1 -1
- package/static/dist/{src__pages__setting__other.b4adcffe.chunk.css → src__pages__setting__dependence.55c598d0.chunk.css} +1 -1
- package/static/dist/src__pages__setting__dependence.7bcddc85.async.js +1 -0
- package/static/dist/src__pages__setting__index.d2fc96f6.async.js +1 -0
- package/static/dist/{src__pages__setting__index.d57cc3fc.chunk.css → src__pages__setting__index.d666f8ec.chunk.css} +1 -1
- package/static/dist/src__pages__setting__notification.552e6815.async.js +1 -0
- package/static/dist/src__pages__setting__other.55c598d0.chunk.css +1 -0
- package/static/dist/src__pages__setting__other.a029d99a.async.js +1 -0
- package/static/dist/{src__pages__setting__security.d14993c7.async.js → src__pages__setting__security.c667d9e8.async.js} +1 -1
- package/static/dist/src__pages__subscription__modal.07629f02.async.js +1 -0
- package/static/dist/{umi.decd4ae2.js → umi.c864c23a.js} +1 -1
- package/version.yaml +27 -5
- package/sample/package.json +0 -12
- package/static/dist/5619.db04f386.async.js +0 -1
- package/static/dist/6747.36513965.async.js +0 -1
- package/static/dist/833.5add31bf.async.js +0 -1
- package/static/dist/layouts__index.931ce4c3.async.js +0 -1
- package/static/dist/src__pages__config__index.9d83dfb7.async.js +0 -1
- package/static/dist/src__pages__crontab__detail.7bceef05.async.js +0 -1
- package/static/dist/src__pages__crontab__index.55c93601.async.js +0 -1
- package/static/dist/src__pages__crontab__index.9fb90359.chunk.css +0 -1
- package/static/dist/src__pages__dependence__index.21153c24.async.js +0 -1
- package/static/dist/src__pages__dependence__logModal.5aada63c.async.js +0 -1
- package/static/dist/src__pages__dependence__modal.96353c88.async.js +0 -1
- package/static/dist/src__pages__diff__index.e644b15f.async.js +0 -1
- package/static/dist/src__pages__env__modal.4fd6abc2.async.js +0 -1
- package/static/dist/src__pages__error__index.f3ca5563.async.js +0 -1
- package/static/dist/src__pages__initialization__index.727e0f70.async.js +0 -1
- package/static/dist/src__pages__log__index.ba2c1721.async.js +0 -1
- package/static/dist/src__pages__script__editModal.8d7bac2a.async.js +0 -1
- package/static/dist/src__pages__script__index.da31e2c2.async.js +0 -1
- package/static/dist/src__pages__script__saveModal.7ee07566.async.js +0 -1
- package/static/dist/src__pages__setting__index.540c33a4.async.js +0 -1
- package/static/dist/src__pages__setting__notification.b99a4c64.async.js +0 -1
- package/static/dist/src__pages__setting__other.d20be1c1.async.js +0 -1
- 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.
|
|
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
|
-
|
|
48
|
-
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
arr.
|
|
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.
|
|
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
|
|
117
|
-
.get(`https://
|
|
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
|
|
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 [
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
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 (
|
|
134
|
-
|
|
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
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
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
|
-
|
|
194
|
-
|
|
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
|
|
245
|
-
return
|
|
243
|
+
if (a.type === 'file' && b.type === 'file') {
|
|
244
|
+
return b.mtime - a.mtime;
|
|
246
245
|
}
|
|
247
|
-
else if (a.
|
|
248
|
-
return a.
|
|
246
|
+
else if (a.type === 'directory' && b.type === 'directory') {
|
|
247
|
+
return a.title.localeCompare(b.title);
|
|
249
248
|
}
|
|
250
249
|
else {
|
|
251
|
-
return
|
|
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.
|
|
258
|
-
const result =
|
|
259
|
-
|
|
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.
|
|
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
|
-
|
|
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:
|
|
272
|
-
};
|
|
273
|
+
children: children.sort(sort),
|
|
274
|
+
});
|
|
273
275
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
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.
|
|
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.
|
|
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, {
|
|
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, {
|
|
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()
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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=
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
40
|
-
|
|
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
|
|
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.
|
|
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 =
|
|
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
|
|
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
|
-
|
|
55
|
+
await promises_1.default.mkdir(configPath);
|
|
56
56
|
}
|
|
57
57
|
if (!scriptDirExist) {
|
|
58
|
-
|
|
58
|
+
await promises_1.default.mkdir(scriptPath);
|
|
59
59
|
}
|
|
60
60
|
if (!logDirExist) {
|
|
61
|
-
|
|
61
|
+
await promises_1.default.mkdir(logPath);
|
|
62
62
|
}
|
|
63
63
|
if (!tmpDirExist) {
|
|
64
|
-
|
|
64
|
+
await promises_1.default.mkdir(tmpPath);
|
|
65
65
|
}
|
|
66
66
|
if (!uploadDirExist) {
|
|
67
|
-
|
|
67
|
+
await promises_1.default.mkdir(uploadPath);
|
|
68
68
|
}
|
|
69
69
|
if (!sshDirExist) {
|
|
70
|
-
|
|
70
|
+
await promises_1.default.mkdir(sshPath);
|
|
71
71
|
}
|
|
72
72
|
if (!bakDirExist) {
|
|
73
|
-
|
|
73
|
+
await promises_1.default.mkdir(bakPath);
|
|
74
74
|
}
|
|
75
75
|
if (!sshdDirExist) {
|
|
76
|
-
|
|
76
|
+
await promises_1.default.mkdir(sshdPath);
|
|
77
77
|
}
|
|
78
78
|
if (!systemLogDirExist) {
|
|
79
|
-
|
|
79
|
+
await promises_1.default.mkdir(systemLogPath);
|
|
80
80
|
}
|
|
81
81
|
// 初始化文件
|
|
82
82
|
if (!authFileExist) {
|
|
83
|
-
|
|
83
|
+
await promises_1.default.writeFile(authConfigFile, await promises_1.default.readFile(sampleAuthFile));
|
|
84
84
|
}
|
|
85
85
|
if (!confFileExist) {
|
|
86
|
-
|
|
86
|
+
await promises_1.default.writeFile(confFile, await promises_1.default.readFile(sampleConfigFile));
|
|
87
87
|
}
|
|
88
88
|
if (!scriptNotifyJsFileExist) {
|
|
89
|
-
|
|
89
|
+
await promises_1.default.writeFile(scriptNotifyJsFile, await promises_1.default.readFile(sampleNotifyJsFile));
|
|
90
90
|
}
|
|
91
91
|
if (!scriptNotifyPyFileExist) {
|
|
92
|
-
|
|
92
|
+
await promises_1.default.writeFile(scriptNotifyPyFile, await promises_1.default.readFile(sampleNotifyPyFile));
|
|
93
93
|
}
|
|
94
94
|
if (!TaskBeforeFileExist) {
|
|
95
|
-
|
|
95
|
+
await promises_1.default.writeFile(TaskBeforeFile, await promises_1.default.readFile(sampleTaskShellFile));
|
|
96
96
|
}
|
|
97
97
|
if (!TaskAfterFileExist) {
|
|
98
|
-
|
|
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://
|
|
42
|
+
dsn: 'https://8b5c84cfef3e22541bc84de0ed00497b@o1098464.ingest.sentry.io/6122819',
|
|
44
43
|
integrations: [
|
|
45
44
|
new Sentry.Integrations.Http({ tracing: true }),
|
|
46
|
-
new
|
|
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
|
|
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 =
|
|
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) {
|
package/static/build/public.js
CHANGED
|
@@ -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) => {
|