filecat 5.32.0 → 5.32.2
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/build/dist/{377.f1e5a0d0f7800c8306ee.js → 377.4047ae540e74884d3ff5.js} +2 -2
- package/build/dist/543.ac5d314a52e99934103c.js +2 -0
- package/build/dist/{943.7c72fe51510266a06ea6.js → 943.d055d58eee66f1ab0414.js} +2 -2
- package/build/dist/index.html +1 -1
- package/build/dist/{main.b593eb159b18a7b4eefa.js → main.494c8bcf15274aeca600.js} +2 -2
- package/build/server/common/DataUtil.js +7 -0
- package/build/server/common/DataUtil.js.map +1 -0
- package/build/server/common/FileMenuType.js +48 -0
- package/build/server/common/FileMenuType.js.map +1 -0
- package/build/server/common/ListUtil.js +224 -0
- package/build/server/common/ListUtil.js.map +1 -0
- package/build/server/common/Result.pojo.js +15 -0
- package/build/server/common/Result.pojo.js.map +1 -0
- package/build/server/common/RouterConfig.js +20 -0
- package/build/server/common/RouterConfig.js.map +1 -0
- package/build/server/common/StringUtil.js +223 -0
- package/build/server/common/StringUtil.js.map +1 -0
- package/build/server/common/ValueUtil.js +70 -0
- package/build/server/common/ValueUtil.js.map +1 -0
- package/build/server/common/common.util.js +32 -0
- package/build/server/common/common.util.js.map +1 -0
- package/build/server/common/event.js +48 -0
- package/build/server/common/event.js.map +1 -0
- package/build/server/common/file.pojo.js +65 -0
- package/build/server/common/file.pojo.js.map +1 -0
- package/build/server/common/frame/WsData.js +127 -0
- package/build/server/common/frame/WsData.js.map +1 -0
- package/build/server/common/frame/constant.js +6 -0
- package/build/server/common/frame/constant.js.map +1 -0
- package/build/server/common/frame/data.encode.js +115 -0
- package/build/server/common/frame/data.encode.js.map +1 -0
- package/build/server/common/frame/router.js +25 -0
- package/build/server/common/frame/router.js.map +1 -0
- package/build/server/common/frame/ws.client.js +173 -0
- package/build/server/common/frame/ws.client.js.map +1 -0
- package/build/server/common/frame/ws.server.js +145 -0
- package/build/server/common/frame/ws.server.js.map +1 -0
- package/build/server/common/fun.util.js +65 -0
- package/build/server/common/fun.util.js.map +1 -0
- package/build/server/common/node/Env.js +198 -0
- package/build/server/common/node/Env.js.map +1 -0
- package/build/server/common/node/childProcessUtil.js +209 -0
- package/build/server/common/node/childProcessUtil.js.map +1 -0
- package/build/server/common/node/findPort.js +38 -0
- package/build/server/common/node/findPort.js.map +1 -0
- package/build/server/common/node/http.js +38 -0
- package/build/server/common/node/http.js.map +1 -0
- package/build/server/common/node/install.js +132 -0
- package/build/server/common/node/install.js.map +1 -0
- package/build/server/common/node/value.util.js +8 -0
- package/build/server/common/node/value.util.js.map +1 -0
- package/build/server/common/path_util.js +86 -0
- package/build/server/common/path_util.js.map +1 -0
- package/build/server/common/req/common.pojo.js +42 -0
- package/build/server/common/req/common.pojo.js.map +1 -0
- package/build/server/common/req/customerRouter.pojo.js +9 -0
- package/build/server/common/req/customerRouter.pojo.js.map +1 -0
- package/build/server/common/req/data.pojo.js +3 -0
- package/build/server/common/req/data.pojo.js.map +1 -0
- package/build/server/common/req/ddns.pojo.js +39 -0
- package/build/server/common/req/ddns.pojo.js.map +1 -0
- package/build/server/common/req/file.req.js +49 -0
- package/build/server/common/req/file.req.js.map +1 -0
- package/build/server/common/req/http_controller_router.js +13 -0
- package/build/server/common/req/http_controller_router.js.map +1 -0
- package/build/server/common/req/net.pojo.js +71 -0
- package/build/server/common/req/net.pojo.js.map +1 -0
- package/build/server/common/req/setting.req.js +140 -0
- package/build/server/common/req/setting.req.js.map +1 -0
- package/build/server/common/req/ssh.pojo.js +13 -0
- package/build/server/common/req/ssh.pojo.js.map +1 -0
- package/build/server/common/req/sys.pojo.js +29 -0
- package/build/server/common/req/sys.pojo.js.map +1 -0
- package/build/server/common/req/user.req.js +117 -0
- package/build/server/common/req/user.req.js.map +1 -0
- package/build/server/common/word_detection_js.js +142 -0
- package/build/server/common/word_detection_js.js.map +1 -0
- package/build/server/main/domain/ai_agent/ai_agent.constant.js +142 -0
- package/build/server/main/domain/ai_agent/ai_agent.constant.js.map +1 -0
- package/build/server/main/domain/ai_agent/ai_agent.controller.js +136 -0
- package/build/server/main/domain/ai_agent/ai_agent.controller.js.map +1 -0
- package/build/server/main/domain/ai_agent/ai_agent.service.js +715 -0
- package/build/server/main/domain/ai_agent/ai_agent.service.js.map +1 -0
- package/build/server/main/domain/ai_agent/ai_agent.tools.js +79 -0
- package/build/server/main/domain/ai_agent/ai_agent.tools.js.map +1 -0
- package/build/server/main/domain/ai_agent/ai_agent.worker.js +169 -0
- package/build/server/main/domain/ai_agent/ai_agent.worker.js.map +1 -0
- package/build/server/main/domain/bin/bin.file.util.js +109 -0
- package/build/server/main/domain/bin/bin.file.util.js.map +1 -0
- package/build/server/main/domain/bin/bin.js +147 -0
- package/build/server/main/domain/bin/bin.js.map +1 -0
- package/build/server/main/domain/bin/get_bin_dependency.js +36 -0
- package/build/server/main/domain/bin/get_bin_dependency.js.map +1 -0
- package/build/server/main/domain/crypto/crypto.controller.js +50 -0
- package/build/server/main/domain/crypto/crypto.controller.js.map +1 -0
- package/build/server/main/domain/crypto/crypto.service.js +112 -0
- package/build/server/main/domain/crypto/crypto.service.js.map +1 -0
- package/build/server/main/domain/data/DataUtil.js +127 -0
- package/build/server/main/domain/data/DataUtil.js.map +1 -0
- package/build/server/main/domain/data/basedata/base_data_util.js +214 -0
- package/build/server/main/domain/data/basedata/base_data_util.js.map +1 -0
- package/build/server/main/domain/data/data_type.js +92 -0
- package/build/server/main/domain/data/data_type.js.map +1 -0
- package/build/server/main/domain/ddns/ddns.ali.server.js +77 -0
- package/build/server/main/domain/ddns/ddns.ali.server.js.map +1 -0
- package/build/server/main/domain/ddns/ddns.controller.js +88 -0
- package/build/server/main/domain/ddns/ddns.controller.js.map +1 -0
- package/build/server/main/domain/ddns/ddns.dnspod.service.js +102 -0
- package/build/server/main/domain/ddns/ddns.dnspod.service.js.map +1 -0
- package/build/server/main/domain/ddns/ddns.pre.js +104 -0
- package/build/server/main/domain/ddns/ddns.pre.js.map +1 -0
- package/build/server/main/domain/ddns/ddns.service.js +161 -0
- package/build/server/main/domain/ddns/ddns.service.js.map +1 -0
- package/build/server/main/domain/ddns/ddns.tengxun.service.js +46 -0
- package/build/server/main/domain/ddns/ddns.tengxun.service.js.map +1 -0
- package/build/server/main/domain/ddns/tx/abstract_client.js +247 -0
- package/build/server/main/domain/ddns/tx/abstract_client.js.map +1 -0
- package/build/server/main/domain/ddns/tx/dnspod_client.js +38 -0
- package/build/server/main/domain/ddns/tx/dnspod_client.js.map +1 -0
- package/build/server/main/domain/ddns/tx/dnspod_models.js +3 -0
- package/build/server/main/domain/ddns/tx/dnspod_models.js.map +1 -0
- package/build/server/main/domain/ddns/tx/exception/tencent_cloud_sdk_exception.js +38 -0
- package/build/server/main/domain/ddns/tx/exception/tencent_cloud_sdk_exception.js.map +1 -0
- package/build/server/main/domain/ddns/tx/http/fetch.js +3 -0
- package/build/server/main/domain/ddns/tx/http/fetch.js.map +1 -0
- package/build/server/main/domain/ddns/tx/http/http_connection.js +181 -0
- package/build/server/main/domain/ddns/tx/http/http_connection.js.map +1 -0
- package/build/server/main/domain/ddns/tx/interface.js +5 -0
- package/build/server/main/domain/ddns/tx/interface.js.map +1 -0
- package/build/server/main/domain/ddns/tx/sdk_version.js +5 -0
- package/build/server/main/domain/ddns/tx/sdk_version.js.map +1 -0
- package/build/server/main/domain/ddns/tx/sign.js +142 -0
- package/build/server/main/domain/ddns/tx/sign.js.map +1 -0
- package/build/server/main/domain/ddns/tx/sse_response_model.js +89 -0
- package/build/server/main/domain/ddns/tx/sse_response_model.js.map +1 -0
- package/build/server/main/domain/file/FileUtil.js +230 -0
- package/build/server/main/domain/file/FileUtil.js.map +1 -0
- package/build/server/main/domain/file/file.compress.js +246 -0
- package/build/server/main/domain/file/file.compress.js.map +1 -0
- package/build/server/main/domain/file/file.controller.js +450 -0
- package/build/server/main/domain/file/file.controller.js.map +1 -0
- package/build/server/main/domain/file/file.service.js +1276 -0
- package/build/server/main/domain/file/file.service.js.map +1 -0
- package/build/server/main/domain/file/search/file.search.js +78 -0
- package/build/server/main/domain/file/search/file.search.js.map +1 -0
- package/build/server/main/domain/file/search/file.search.worker.js +107 -0
- package/build/server/main/domain/file/search/file.search.worker.js.map +1 -0
- package/build/server/main/domain/file/search/file.type.js +3 -0
- package/build/server/main/domain/file/search/file.type.js.map +1 -0
- package/build/server/main/domain/file/workflow/workflow.process.js +100 -0
- package/build/server/main/domain/file/workflow/workflow.process.js.map +1 -0
- package/build/server/main/domain/file/workflow/workflow.service.js +659 -0
- package/build/server/main/domain/file/workflow/workflow.service.js.map +1 -0
- package/build/server/main/domain/file/workflow/workflow.util.js +111 -0
- package/build/server/main/domain/file/workflow/workflow.util.js.map +1 -0
- package/build/server/main/domain/navindex/navindex.controller.js +73 -0
- package/build/server/main/domain/navindex/navindex.controller.js.map +1 -0
- package/build/server/main/domain/net/net.controller.js +318 -0
- package/build/server/main/domain/net/net.controller.js.map +1 -0
- package/build/server/main/domain/net/net.datautil.js +8 -0
- package/build/server/main/domain/net/net.datautil.js.map +1 -0
- package/build/server/main/domain/net/net.service.js +627 -0
- package/build/server/main/domain/net/net.service.js.map +1 -0
- package/build/server/main/domain/net/tcp.forward.client.service.js +223 -0
- package/build/server/main/domain/net/tcp.forward.client.service.js.map +1 -0
- package/build/server/main/domain/net/tcp.forward.controller.js +482 -0
- package/build/server/main/domain/net/tcp.forward.controller.js.map +1 -0
- package/build/server/main/domain/net/tcp.forward.server.service.js +407 -0
- package/build/server/main/domain/net/tcp.forward.server.service.js.map +1 -0
- package/build/server/main/domain/net/type.js +3 -0
- package/build/server/main/domain/net/type.js.map +1 -0
- package/build/server/main/domain/net/util/NetClientUtil.js +76 -0
- package/build/server/main/domain/net/util/NetClientUtil.js.map +1 -0
- package/build/server/main/domain/net/util/NetServerUtil.js +128 -0
- package/build/server/main/domain/net/util/NetServerUtil.js.map +1 -0
- package/build/server/main/domain/net/util/NetUtil.js +187 -0
- package/build/server/main/domain/net/util/NetUtil.js.map +1 -0
- package/build/server/main/domain/net/util/tcp.client.js +211 -0
- package/build/server/main/domain/net/util/tcp.client.js.map +1 -0
- package/build/server/main/domain/net/util/tcp_stream_util.js +69 -0
- package/build/server/main/domain/net/util/tcp_stream_util.js.map +1 -0
- package/build/server/main/domain/net/util/type.js +3 -0
- package/build/server/main/domain/net/util/type.js.map +1 -0
- package/build/server/main/domain/net/virtual/tcp_proxy.js +125 -0
- package/build/server/main/domain/net/virtual/tcp_proxy.js.map +1 -0
- package/build/server/main/domain/net/virtual/virtual.client.service.js +402 -0
- package/build/server/main/domain/net/virtual/virtual.client.service.js.map +1 -0
- package/build/server/main/domain/net/virtual/virtual.controller.js +211 -0
- package/build/server/main/domain/net/virtual/virtual.controller.js.map +1 -0
- package/build/server/main/domain/net/virtual/virtual.server.service.js +72 -0
- package/build/server/main/domain/net/virtual/virtual.server.service.js.map +1 -0
- package/build/server/main/domain/pre/lifeRecordService.js +79 -0
- package/build/server/main/domain/pre/lifeRecordService.js.map +1 -0
- package/build/server/main/domain/rdp/lib/asn1/ber.js +66 -0
- package/build/server/main/domain/rdp/lib/asn1/ber.js.map +1 -0
- package/build/server/main/domain/rdp/lib/asn1/index.js +9 -0
- package/build/server/main/domain/rdp/lib/asn1/index.js.map +1 -0
- package/build/server/main/domain/rdp/lib/asn1/spec.js +56 -0
- package/build/server/main/domain/rdp/lib/asn1/spec.js.map +1 -0
- package/build/server/main/domain/rdp/lib/asn1/univ.js +315 -0
- package/build/server/main/domain/rdp/lib/asn1/univ.js.map +1 -0
- package/build/server/main/domain/rdp/lib/core/error.js +25 -0
- package/build/server/main/domain/rdp/lib/core/error.js.map +1 -0
- package/build/server/main/domain/rdp/lib/core/index.js +13 -0
- package/build/server/main/domain/rdp/lib/core/index.js.map +1 -0
- package/build/server/main/domain/rdp/lib/core/layer.js +135 -0
- package/build/server/main/domain/rdp/lib/core/layer.js.map +1 -0
- package/build/server/main/domain/rdp/lib/core/log.js +25 -0
- package/build/server/main/domain/rdp/lib/core/log.js.map +1 -0
- package/build/server/main/domain/rdp/lib/core/rle.js +22699 -0
- package/build/server/main/domain/rdp/lib/core/rle.js.map +1 -0
- package/build/server/main/domain/rdp/lib/core/type.js +245 -0
- package/build/server/main/domain/rdp/lib/core/type.js.map +1 -0
- package/build/server/main/domain/rdp/lib/index.js +6 -0
- package/build/server/main/domain/rdp/lib/index.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/cert.js +115 -0
- package/build/server/main/domain/rdp/lib/protocol/cert.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/index.js +11 -0
- package/build/server/main/domain/rdp/lib/protocol/index.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/nla.js +549 -0
- package/build/server/main/domain/rdp/lib/protocol/nla.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/pdu/caps.js +486 -0
- package/build/server/main/domain/rdp/lib/protocol/pdu/caps.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/pdu/cliprdr.js +167 -0
- package/build/server/main/domain/rdp/lib/protocol/pdu/cliprdr.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/pdu/data.js +876 -0
- package/build/server/main/domain/rdp/lib/protocol/pdu/data.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/pdu/global.js +260 -0
- package/build/server/main/domain/rdp/lib/protocol/pdu/global.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/pdu/index.js +13 -0
- package/build/server/main/domain/rdp/lib/protocol/pdu/index.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/pdu/lic.js +199 -0
- package/build/server/main/domain/rdp/lib/protocol/pdu/lic.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/pdu/sec.js +333 -0
- package/build/server/main/domain/rdp/lib/protocol/pdu/sec.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/rdp.js +255 -0
- package/build/server/main/domain/rdp/lib/protocol/rdp.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/t125/gcc.js +354 -0
- package/build/server/main/domain/rdp/lib/protocol/t125/gcc.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/t125/index.js +7 -0
- package/build/server/main/domain/rdp/lib/protocol/t125/index.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/t125/mcs.js +318 -0
- package/build/server/main/domain/rdp/lib/protocol/t125/mcs.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/t125/per.js +188 -0
- package/build/server/main/domain/rdp/lib/protocol/t125/per.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/tpkt.js +94 -0
- package/build/server/main/domain/rdp/lib/protocol/tpkt.js.map +1 -0
- package/build/server/main/domain/rdp/lib/protocol/x224.js +207 -0
- package/build/server/main/domain/rdp/lib/protocol/x224.js.map +1 -0
- package/build/server/main/domain/rdp/lib/security/index.js +7 -0
- package/build/server/main/domain/rdp/lib/security/index.js.map +1 -0
- package/build/server/main/domain/rdp/lib/security/jsbn.js +1372 -0
- package/build/server/main/domain/rdp/lib/security/jsbn.js.map +1 -0
- package/build/server/main/domain/rdp/lib/security/md4.js +401 -0
- package/build/server/main/domain/rdp/lib/security/md4.js.map +1 -0
- package/build/server/main/domain/rdp/lib/security/rc4.js +45 -0
- package/build/server/main/domain/rdp/lib/security/rc4.js.map +1 -0
- package/build/server/main/domain/rdp/lib/security/rsa.js +15 -0
- package/build/server/main/domain/rdp/lib/security/rsa.js.map +1 -0
- package/build/server/main/domain/rdp/lib/security/x509.js +106 -0
- package/build/server/main/domain/rdp/lib/security/x509.js.map +1 -0
- package/build/server/main/domain/rdp/rdp.controller.js +116 -0
- package/build/server/main/domain/rdp/rdp.controller.js.map +1 -0
- package/build/server/main/domain/rdp/rdp.service.js +117 -0
- package/build/server/main/domain/rdp/rdp.service.js.map +1 -0
- package/build/server/main/domain/setting/setting.controller.js +621 -0
- package/build/server/main/domain/setting/setting.controller.js.map +1 -0
- package/build/server/main/domain/setting/setting.prefile.js +69 -0
- package/build/server/main/domain/setting/setting.prefile.js.map +1 -0
- package/build/server/main/domain/setting/setting.service.js +763 -0
- package/build/server/main/domain/setting/setting.service.js.map +1 -0
- package/build/server/main/domain/shell/shell.controller.js +92 -0
- package/build/server/main/domain/shell/shell.controller.js.map +1 -0
- package/build/server/main/domain/shell/shell.service.js +448 -0
- package/build/server/main/domain/shell/shell.service.js.map +1 -0
- package/build/server/main/domain/shell/util.js +101 -0
- package/build/server/main/domain/shell/util.js.map +1 -0
- package/build/server/main/domain/ssh/ssh.controller.js +203 -0
- package/build/server/main/domain/ssh/ssh.controller.js.map +1 -0
- package/build/server/main/domain/ssh/ssh.service.js +238 -0
- package/build/server/main/domain/ssh/ssh.service.js.map +1 -0
- package/build/server/main/domain/ssh/ssh.ssh2.js +217 -0
- package/build/server/main/domain/ssh/ssh.ssh2.js.map +1 -0
- package/build/server/main/domain/sys/sys.controller.js +374 -0
- package/build/server/main/domain/sys/sys.controller.js.map +1 -0
- package/build/server/main/domain/sys/sys.docker.service.js +339 -0
- package/build/server/main/domain/sys/sys.docker.service.js.map +1 -0
- package/build/server/main/domain/sys/sys.process.service.js +218 -0
- package/build/server/main/domain/sys/sys.process.service.js.map +1 -0
- package/build/server/main/domain/sys/sys.service.js +85 -0
- package/build/server/main/domain/sys/sys.service.js.map +1 -0
- package/build/server/main/domain/sys/sys.sys.service.js +206 -0
- package/build/server/main/domain/sys/sys.sys.service.js.map +1 -0
- package/build/server/main/domain/sys/sys.systemd.service.js +276 -0
- package/build/server/main/domain/sys/sys.systemd.service.js.map +1 -0
- package/build/server/main/domain/sys/sys.utl.js +42 -0
- package/build/server/main/domain/sys/sys.utl.js.map +1 -0
- package/build/server/main/domain/user/user.controller.js +277 -0
- package/build/server/main/domain/user/user.controller.js.map +1 -0
- package/build/server/main/domain/user/user.hash.js +8 -0
- package/build/server/main/domain/user/user.hash.js.map +1 -0
- package/build/server/main/domain/user/user.service.js +584 -0
- package/build/server/main/domain/user/user.service.js.map +1 -0
- package/build/server/main/domain/video/video.controller.js +71 -0
- package/build/server/main/domain/video/video.controller.js.map +1 -0
- package/build/server/main/domain/video/video.service.js +45 -0
- package/build/server/main/domain/video/video.service.js.map +1 -0
- package/build/server/main/main.js +171 -0
- package/build/server/main/main.js.map +1 -0
- package/build/server/main/other/Result.js +25 -0
- package/build/server/main/other/Result.js.map +1 -0
- package/build/server/main/other/cache.js +50 -0
- package/build/server/main/other/cache.js.map +1 -0
- package/build/server/main/other/config.js +6 -0
- package/build/server/main/other/config.js.map +1 -0
- package/build/server/main/other/middleware/AuthMiddleware.js +101 -0
- package/build/server/main/other/middleware/AuthMiddleware.js.map +1 -0
- package/build/server/main/other/middleware/GlobalErrorHandler.js +23 -0
- package/build/server/main/other/middleware/GlobalErrorHandler.js.map +1 -0
- package/build/server/main/other/middleware/decorator.js +15 -0
- package/build/server/main/other/middleware/decorator.js.map +1 -0
- package/build/server/main/other/middleware/redirect.js +20 -0
- package/build/server/main/other/middleware/redirect.js.map +1 -0
- package/build/server/main/server.js +22 -0
- package/build/server/main/server.js.map +1 -0
- package/build/server/main/threads/filecat/threads.filecat.js +16 -0
- package/build/server/main/threads/filecat/threads.filecat.js.map +1 -0
- package/build/server/main/threads/filecat/threads.work.filecat.js +7 -0
- package/build/server/main/threads/filecat/threads.work.filecat.js.map +1 -0
- package/build/server/main/threads/threads.main.js +224 -0
- package/build/server/main/threads/threads.main.js.map +1 -0
- package/build/server/main/threads/threads.type.js +19 -0
- package/build/server/main/threads/threads.type.js.map +1 -0
- package/build/server/main/threads/threads.work.js +52 -0
- package/build/server/main/threads/threads.work.js.map +1 -0
- package/build/server/main/watch.js +187 -0
- package/build/server/main/watch.js.map +1 -0
- package/build/server/tsconfig.tsbuildinfo +1 -0
- package/build/server/web/project/util/noty.js +45 -0
- package/build/server/web/project/util/noty.js.map +1 -0
- package/build/threads.work.filecat.js +1 -1
- package/package.json +5 -4
- package/shell/build.js +8 -0
- package/build/dist/543.9305b93ceeffabfa9862.js +0 -2
- package/build/jieba_rs_wasm_bg.wasm +0 -0
- package/build/main.js +0 -2
- package/build/main.js.LICENSE.txt +0 -445
- package/build/unrar.wasm +0 -0
- /package/build/dist/{377.f1e5a0d0f7800c8306ee.js.LICENSE.txt → 377.4047ae540e74884d3ff5.js.LICENSE.txt} +0 -0
- /package/build/dist/{543.9305b93ceeffabfa9862.js.LICENSE.txt → 543.ac5d314a52e99934103c.js.LICENSE.txt} +0 -0
- /package/build/dist/{943.7c72fe51510266a06ea6.js.LICENSE.txt → 943.d055d58eee66f1ab0414.js.LICENSE.txt} +0 -0
- /package/build/dist/{main.b593eb159b18a7b4eefa.js.LICENSE.txt → main.494c8bcf15274aeca600.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WsServer = exports.Wss = void 0;
|
|
4
|
+
const router_1 = require("./router");
|
|
5
|
+
const WsData_1 = require("./WsData");
|
|
6
|
+
const Result_pojo_1 = require("../Result.pojo");
|
|
7
|
+
const StringUtil_1 = require("../StringUtil");
|
|
8
|
+
const constant_1 = require("./constant");
|
|
9
|
+
const url = require('url');
|
|
10
|
+
const allWssSet = new Set;
|
|
11
|
+
class Wss {
|
|
12
|
+
constructor(ws) {
|
|
13
|
+
this.dataMap = new Map();
|
|
14
|
+
this._close = [];
|
|
15
|
+
this.heart_time_stamp = Date.now();
|
|
16
|
+
this._ws = ws;
|
|
17
|
+
this.id = `${Date.now().toString()}_${(0, StringUtil_1.generateRandomHash)(4)}`;
|
|
18
|
+
}
|
|
19
|
+
get ws() {
|
|
20
|
+
return this._ws;
|
|
21
|
+
}
|
|
22
|
+
sendData(data) {
|
|
23
|
+
if (Array.isArray(data)) {
|
|
24
|
+
for (let i = 0; i < data.length; i++) {
|
|
25
|
+
this._ws.send(data[i]);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this._ws.send(data);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
send(cmdType, data) {
|
|
33
|
+
const result = new WsData_1.WsData(cmdType);
|
|
34
|
+
result.context = data;
|
|
35
|
+
this._ws.send(result.encode());
|
|
36
|
+
}
|
|
37
|
+
static sendToAllClient(cmdType, data, wss_set) {
|
|
38
|
+
const result = new WsData_1.WsData(cmdType);
|
|
39
|
+
result.context = data;
|
|
40
|
+
const encode_data = result.encode();
|
|
41
|
+
for (const wss of (wss_set ?? allWssSet).values()) {
|
|
42
|
+
wss.sendData(encode_data);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
setClose(close) {
|
|
46
|
+
this._close.push(close);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.Wss = Wss;
|
|
50
|
+
class WsServer {
|
|
51
|
+
constructor(wss) {
|
|
52
|
+
this._wss = wss;
|
|
53
|
+
}
|
|
54
|
+
start(check) {
|
|
55
|
+
this._wss.on('connection', async function connection(ws, request) {
|
|
56
|
+
try {
|
|
57
|
+
const parsedUrl = url.parse(request.url, true);
|
|
58
|
+
const { query } = parsedUrl;
|
|
59
|
+
const token = query['token'];
|
|
60
|
+
if (!await check(token)) {
|
|
61
|
+
ws.close();
|
|
62
|
+
console.log('未验证的ws请求');
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
if (query['type'] === `${WsData_1.WsConnectType.data}`) {
|
|
66
|
+
const wss = new Wss(ws);
|
|
67
|
+
allWssSet.add(wss);
|
|
68
|
+
wss.token = token;
|
|
69
|
+
let closed = false;
|
|
70
|
+
const close = () => {
|
|
71
|
+
if (closed)
|
|
72
|
+
return;
|
|
73
|
+
closed = true;
|
|
74
|
+
allWssSet.delete(wss);
|
|
75
|
+
ws.close();
|
|
76
|
+
for (const fn of wss._close ?? []) {
|
|
77
|
+
try {
|
|
78
|
+
fn();
|
|
79
|
+
}
|
|
80
|
+
catch (e) {
|
|
81
|
+
console.error('关闭函数', e);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
clearInterval(wss.heart_interval);
|
|
85
|
+
};
|
|
86
|
+
wss.heart_interval = setInterval(() => {
|
|
87
|
+
if (Date.now() - wss.heart_time_stamp > constant_1.max_heart_interval) {
|
|
88
|
+
console.log('ws心跳断开');
|
|
89
|
+
close();
|
|
90
|
+
}
|
|
91
|
+
}, constant_1.heart_interval);
|
|
92
|
+
ws.on('message', async function incoming(message) {
|
|
93
|
+
const data = WsData_1.WsData.decode(message);
|
|
94
|
+
data.wss = wss;
|
|
95
|
+
wss.heart_time_stamp = Date.now();
|
|
96
|
+
if (data.cmdType === WsData_1.CmdType.heart) {
|
|
97
|
+
wss.sendData(new WsData_1.WsData(data.cmdType, {}, undefined, data.random_id).encode());
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
const handle = router_1.routerHandlerMap.get(data.cmdType);
|
|
101
|
+
if (handle) {
|
|
102
|
+
try {
|
|
103
|
+
const rsq = await handle(data);
|
|
104
|
+
wss.sendData(new WsData_1.WsData(data.cmdType, rsq, undefined, data.random_id).encode());
|
|
105
|
+
}
|
|
106
|
+
catch (e) {
|
|
107
|
+
console.log(e);
|
|
108
|
+
const p = new WsData_1.WsData(data.cmdType);
|
|
109
|
+
p.code = Result_pojo_1.RCode.Fail;
|
|
110
|
+
p.message = JSON.stringify(e);
|
|
111
|
+
p.random_id = data.random_id;
|
|
112
|
+
wss.sendData(p.encode());
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
console.log("没有匹配到路由");
|
|
117
|
+
}
|
|
118
|
+
});
|
|
119
|
+
wss.ws.on('close', () => {
|
|
120
|
+
close();
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
else if (query['type'] === `${WsData_1.WsConnectType.other}`) {
|
|
124
|
+
const handler = router_1.otherRouterHandlerMap.get(parseInt(query['code']));
|
|
125
|
+
if (handler) {
|
|
126
|
+
handler(ws, query);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
console.log('没找到对应路径');
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
console.log('ws未找到对应的访问途径');
|
|
134
|
+
ws.close();
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
catch (e) {
|
|
138
|
+
console.log('ws connection', e);
|
|
139
|
+
ws.close();
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
exports.WsServer = WsServer;
|
|
145
|
+
//# sourceMappingURL=ws.server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ws.server.js","sourceRoot":"","sources":["../../../../src/common/frame/ws.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.withLock = withLock;
|
|
4
|
+
exports.debounce = debounce;
|
|
5
|
+
exports.throttle = throttle;
|
|
6
|
+
function withLock(fn, timeoutMs, throw_err) {
|
|
7
|
+
if (timeoutMs == null) {
|
|
8
|
+
timeoutMs = 60_000;
|
|
9
|
+
}
|
|
10
|
+
let locked = false;
|
|
11
|
+
let timer = null;
|
|
12
|
+
let token = 0;
|
|
13
|
+
function unlock(myToken) {
|
|
14
|
+
if (!locked || token !== myToken)
|
|
15
|
+
return;
|
|
16
|
+
locked = false;
|
|
17
|
+
token++;
|
|
18
|
+
if (timer) {
|
|
19
|
+
clearTimeout(timer);
|
|
20
|
+
timer = null;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return async function (...args) {
|
|
24
|
+
if (locked)
|
|
25
|
+
return;
|
|
26
|
+
locked = true;
|
|
27
|
+
const myToken = token;
|
|
28
|
+
if (timeoutMs >= 0) {
|
|
29
|
+
timer = setTimeout(() => {
|
|
30
|
+
unlock(myToken);
|
|
31
|
+
}, timeoutMs);
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
return await fn(...args);
|
|
35
|
+
}
|
|
36
|
+
catch (e) {
|
|
37
|
+
console.log(e?.message || e);
|
|
38
|
+
if (throw_err)
|
|
39
|
+
throw e;
|
|
40
|
+
}
|
|
41
|
+
finally {
|
|
42
|
+
unlock(myToken);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function debounce(fn, delay = 200) {
|
|
47
|
+
let timer = null;
|
|
48
|
+
return function (...args) {
|
|
49
|
+
clearTimeout(timer);
|
|
50
|
+
timer = setTimeout(() => {
|
|
51
|
+
fn.apply(this, args);
|
|
52
|
+
}, delay);
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function throttle(fn, delay = 200) {
|
|
56
|
+
let last = 0;
|
|
57
|
+
return function (...args) {
|
|
58
|
+
const now = Date.now();
|
|
59
|
+
if (now - last >= delay) {
|
|
60
|
+
last = now;
|
|
61
|
+
fn.apply(this, args);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=fun.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fun.util.js","sourceRoot":"","sources":["../../../src/common/fun.util.ts"],"names":[],"mappings":";;AAEA,4BA4CC;AAOD,4BASC;AAGD,4BAWC;AA1ED,SAAgB,QAAQ,CACpB,EAAK,EACL,SAAiB,EACjB,SAAkB;IAElB,IAAG,SAAS,IAAI,IAAI,EAAE,CAAC;QACnB,SAAS,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,IAAI,KAAK,GAA0B,IAAI,CAAA;IACvC,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,SAAS,MAAM,CAAC,OAAe;QAC3B,IAAI,CAAC,MAAM,IAAI,KAAK,KAAK,OAAO;YAAE,OAAM;QACxC,MAAM,GAAG,KAAK,CAAA;QACd,KAAK,EAAE,CAAA;QACP,IAAI,KAAK,EAAE,CAAC;YACR,YAAY,CAAC,KAAK,CAAC,CAAA;YACnB,KAAK,GAAG,IAAI,CAAA;QAChB,CAAC;IACL,CAAC;IACD,OAAO,KAAK,WACR,GAAG,IAAmB;QAGtB,IAAI,MAAM;YAAE,OAAM;QAClB,MAAM,GAAG,IAAI,CAAA;QACb,MAAM,OAAO,GAAG,KAAK,CAAA;QACrB,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACjB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAEpB,MAAM,CAAC,OAAO,CAAC,CAAA;YACnB,CAAC,EAAE,SAAS,CAAC,CAAA;QACjB,CAAC;QACD,IAAI,CAAC;YACD,OAAO,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QAC5B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,CAAA;YAC5B,IAAG,SAAS;gBACR,MAAM,CAAC,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,MAAM,CAAC,OAAO,CAAC,CAAA;QACnB,CAAC;IACL,CAAC,CAAA;AACL,CAAC;AAOD,SAAgB,QAAQ,CAAC,EAAE,EAAE,KAAK,GAAG,GAAG;IACpC,IAAI,KAAK,GAAG,IAAI,CAAC;IAEjB,OAAO,UAAU,GAAG,IAAI;QACpB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACpB,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC,EAAE,KAAK,CAAC,CAAC;IACd,CAAC,CAAC;AACN,CAAC;AAGD,SAAgB,QAAQ,CAAC,EAAE,EAAE,KAAK,GAAG,GAAG;IACpC,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,OAAO,UAAU,GAAG,IAAI;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,GAAG,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,GAAG,GAAG,CAAC;YACX,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,CAAC;IACL,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Env = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const os_1 = __importDefault(require("os"));
|
|
10
|
+
const { execSync } = require('child_process');
|
|
11
|
+
const help = `
|
|
12
|
+
命令参数都需要加 --
|
|
13
|
+
1. update 升级(npm方式升级)
|
|
14
|
+
2. remove 移除(从npm)
|
|
15
|
+
3. version 版本
|
|
16
|
+
4. help 帮助信息
|
|
17
|
+
5. install 安装到systemd(只支持linux)
|
|
18
|
+
6. uninstall 从systemd卸载(只支持linux)
|
|
19
|
+
7 restart 重启systemd服务(只支持linux)
|
|
20
|
+
8. stop 停止运行systemd服务(支持linux)
|
|
21
|
+
// 以下参数都需要额外的参数输入 例如"filecat --port 8080 "端口参数 用于控制程序运行。
|
|
22
|
+
9. port 需要端口参数
|
|
23
|
+
10. env 输入环境配置文件
|
|
24
|
+
11. work_dir 工作目录,软件执行需要生成一些数据,会放到这个目录下,默认是启动软件所在的目录下的data文件夹
|
|
25
|
+
12. base_folder 软件管理的文件夹默认根路径,默认是启动软件所在的目录
|
|
26
|
+
13. username 登录账号 默认是admin (截止到1.0.5目前没有权限功能)
|
|
27
|
+
14. password 登录密码 默认是admin
|
|
28
|
+
15. reset_root_username 重新生成管理员的账号 (启动完请删除这个参数下次要再使用,下面的密码也是)
|
|
29
|
+
16. reset_root_password
|
|
30
|
+
17. base_url 路由前缀
|
|
31
|
+
18. lan 语言,只在第一次创建账号的时候生效 目前支持 zh(简体) en
|
|
32
|
+
19. watch 内置参数
|
|
33
|
+
对于shell支持filecat-restart 重启命令
|
|
34
|
+
`;
|
|
35
|
+
class Env {
|
|
36
|
+
static async parseArgs() {
|
|
37
|
+
return new Promise((resolve, reject) => {
|
|
38
|
+
const args = process.argv.slice(2);
|
|
39
|
+
const result = {};
|
|
40
|
+
for (let i = 0; i < args.length; i++) {
|
|
41
|
+
const arg = args[i];
|
|
42
|
+
if (arg.startsWith('--')) {
|
|
43
|
+
const key = arg.slice(2);
|
|
44
|
+
let value = true;
|
|
45
|
+
if (i + 1 < args.length && !args[i + 1].startsWith('--')) {
|
|
46
|
+
value = args[++i];
|
|
47
|
+
}
|
|
48
|
+
if (value === 'true') {
|
|
49
|
+
value = true;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
if (value === 'false') {
|
|
53
|
+
value = false;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
if (!isNaN(value)) {
|
|
57
|
+
value = Number(value);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
result[key] = value;
|
|
62
|
+
if (key === "install") {
|
|
63
|
+
if (os_1.default.platform() !== "linux") {
|
|
64
|
+
console.log("sorry现在只支持linux");
|
|
65
|
+
process.exit();
|
|
66
|
+
}
|
|
67
|
+
require("./install");
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
else if (key === "version") {
|
|
71
|
+
console.log(process.env.version);
|
|
72
|
+
process.exit();
|
|
73
|
+
}
|
|
74
|
+
else if (key === "update") {
|
|
75
|
+
execSync("npm install -g filecat");
|
|
76
|
+
process.exit();
|
|
77
|
+
}
|
|
78
|
+
else if (key === "help") {
|
|
79
|
+
console.log(help);
|
|
80
|
+
process.exit();
|
|
81
|
+
}
|
|
82
|
+
else if (key === "stop") {
|
|
83
|
+
if (os_1.default.platform() !== "linux") {
|
|
84
|
+
console.log("sorry现在只支持linux");
|
|
85
|
+
process.exit();
|
|
86
|
+
}
|
|
87
|
+
execSync("sudo systemctl stop filecat");
|
|
88
|
+
process.exit();
|
|
89
|
+
}
|
|
90
|
+
else if (key === "restart") {
|
|
91
|
+
if (os_1.default.platform() !== "linux") {
|
|
92
|
+
console.log("sorry现在只支持linux");
|
|
93
|
+
process.exit();
|
|
94
|
+
}
|
|
95
|
+
execSync(`sudo systemctl daemon-reload`);
|
|
96
|
+
execSync(`sudo systemctl restart filecat`);
|
|
97
|
+
process.exit();
|
|
98
|
+
}
|
|
99
|
+
else if (key === "uninstall") {
|
|
100
|
+
if (os_1.default.platform() !== "linux") {
|
|
101
|
+
console.log("sorry现在只支持linux");
|
|
102
|
+
process.exit();
|
|
103
|
+
}
|
|
104
|
+
execSync("sudo systemctl stop filecat");
|
|
105
|
+
execSync("sudo systemctl disable filecat");
|
|
106
|
+
execSync(`sudo rm /etc/systemd/system/filecat.service`);
|
|
107
|
+
execSync(`sudo systemctl daemon-reload`);
|
|
108
|
+
console.log("卸载完成");
|
|
109
|
+
process.exit();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
for (const key of Object.keys(result)) {
|
|
114
|
+
this[key] = result[key];
|
|
115
|
+
}
|
|
116
|
+
if (this.env) {
|
|
117
|
+
const envData = fs_1.default.readFileSync(this.env, 'utf8');
|
|
118
|
+
this.load(envData, this);
|
|
119
|
+
}
|
|
120
|
+
resolve(1);
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
static updateEnv(list) {
|
|
124
|
+
if (!this.env)
|
|
125
|
+
return;
|
|
126
|
+
const envData = fs_1.default.readFileSync(path_1.default.join(this.env), 'utf8');
|
|
127
|
+
const envVariables = envData.split(/\r?\n/);
|
|
128
|
+
for (let index = 0; index < envVariables.length; index++) {
|
|
129
|
+
const line = envVariables[index];
|
|
130
|
+
for (const item of list) {
|
|
131
|
+
if (line.includes(item.key)) {
|
|
132
|
+
envVariables[index] = `${item.key}=${item.value || ""}`;
|
|
133
|
+
this[item.key] = item.value;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
fs_1.default.writeFileSync(path_1.default.join(this.env), envVariables.join('\n'));
|
|
138
|
+
}
|
|
139
|
+
static isNumeric(value) {
|
|
140
|
+
return /^-?\d+(\.\d+)?$/.test(value);
|
|
141
|
+
}
|
|
142
|
+
static parseValue(value) {
|
|
143
|
+
const trimmed = value.trim();
|
|
144
|
+
if ((trimmed.startsWith('"') && trimmed.endsWith('"')) ||
|
|
145
|
+
(trimmed.startsWith("'") && trimmed.endsWith("'"))) {
|
|
146
|
+
const unquoted = trimmed.slice(1, -1);
|
|
147
|
+
return unquoted
|
|
148
|
+
.replace(/\\n/g, '\n')
|
|
149
|
+
.replace(/\\r/g, '\r')
|
|
150
|
+
.replace(/\\t/g, '\t');
|
|
151
|
+
}
|
|
152
|
+
if (!isNaN(Number(trimmed))) {
|
|
153
|
+
return Number(trimmed);
|
|
154
|
+
}
|
|
155
|
+
if (trimmed.toLowerCase() === 'true') {
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
if (trimmed.toLowerCase() === 'false') {
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
return trimmed;
|
|
162
|
+
}
|
|
163
|
+
static load(envData, target) {
|
|
164
|
+
if (!envData)
|
|
165
|
+
return;
|
|
166
|
+
const envVariables = envData.split(/\r?\n/);
|
|
167
|
+
for (const rawLine of envVariables) {
|
|
168
|
+
const line = rawLine.trim();
|
|
169
|
+
if (!line || line.startsWith('#'))
|
|
170
|
+
continue;
|
|
171
|
+
const equalIndex = line.indexOf('=');
|
|
172
|
+
if (equalIndex === -1)
|
|
173
|
+
continue;
|
|
174
|
+
const key = line.slice(0, equalIndex).trim();
|
|
175
|
+
const value = line.slice(equalIndex + 1).trim();
|
|
176
|
+
if (!value) {
|
|
177
|
+
target[key] = undefined;
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
try {
|
|
181
|
+
target[key] = JSON.parse(value);
|
|
182
|
+
}
|
|
183
|
+
catch (e) {
|
|
184
|
+
target[key] = this.parseValue(value);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
exports.Env = Env;
|
|
191
|
+
Env.port = 5567;
|
|
192
|
+
Env.base_folder = process.cwd();
|
|
193
|
+
Env.username = "";
|
|
194
|
+
Env.password = "";
|
|
195
|
+
Env.work_dir = path_1.default.join(process.cwd(), 'data');
|
|
196
|
+
Env.env = "";
|
|
197
|
+
Env.lan = "en";
|
|
198
|
+
//# sourceMappingURL=Env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Env.js","sourceRoot":"","sources":["../../../../src/common/node/Env.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ChildProcessUtil = exports.FatherProcessUtil = exports.node_process_cmd = exports.filecat_cmd = void 0;
|
|
7
|
+
const fs_1 = __importDefault(require("fs"));
|
|
8
|
+
const path_1 = __importDefault(require("path"));
|
|
9
|
+
const child_process_1 = require("child_process");
|
|
10
|
+
const needle_1 = __importDefault(require("needle"));
|
|
11
|
+
const FileUtil_1 = require("../../main/domain/file/FileUtil");
|
|
12
|
+
var filecat_cmd;
|
|
13
|
+
(function (filecat_cmd) {
|
|
14
|
+
filecat_cmd["filecat_restart"] = "filecat-restart";
|
|
15
|
+
filecat_cmd["filecat_upgrade"] = "filecat-upgrade";
|
|
16
|
+
filecat_cmd["filecat_down"] = "filecat-down";
|
|
17
|
+
})(filecat_cmd || (exports.filecat_cmd = filecat_cmd = {}));
|
|
18
|
+
var node_process_cmd;
|
|
19
|
+
(function (node_process_cmd) {
|
|
20
|
+
node_process_cmd["npm_update"] = "npm_update";
|
|
21
|
+
})(node_process_cmd || (exports.node_process_cmd = node_process_cmd = {}));
|
|
22
|
+
class FatherProcessUtil {
|
|
23
|
+
static send(child, params) {
|
|
24
|
+
if (!child)
|
|
25
|
+
return;
|
|
26
|
+
if (child.killed)
|
|
27
|
+
return;
|
|
28
|
+
if (!child.send)
|
|
29
|
+
return;
|
|
30
|
+
try {
|
|
31
|
+
child.send(params);
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
console.warn('IPC 已关闭,忽略消息');
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
static npmGlobalInstall(pkgName, PATH, registry, onLog) {
|
|
38
|
+
if (!onLog) {
|
|
39
|
+
onLog = console.log;
|
|
40
|
+
}
|
|
41
|
+
return new Promise((resolve, reject) => {
|
|
42
|
+
const args = ["i", "-g", pkgName];
|
|
43
|
+
if (registry) {
|
|
44
|
+
args.push(`--registry=${registry}`);
|
|
45
|
+
}
|
|
46
|
+
const isWin = process.platform === "win32";
|
|
47
|
+
const npm = isWin ? "npm.cmd" : "npm";
|
|
48
|
+
console.log(`全局安装 ${npm} ${JSON.stringify(args)}`);
|
|
49
|
+
const child = (0, child_process_1.spawn)(npm, args, {
|
|
50
|
+
stdio: ["ignore", "pipe", "pipe"],
|
|
51
|
+
shell: process.platform === "win32",
|
|
52
|
+
env: {
|
|
53
|
+
...process.env,
|
|
54
|
+
PATH
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
child.stdout.on("data", (chunk) => {
|
|
58
|
+
const msg = chunk.toString();
|
|
59
|
+
onLog?.(msg, "stdout");
|
|
60
|
+
});
|
|
61
|
+
child.stderr.on("data", (chunk) => {
|
|
62
|
+
const msg = chunk.toString();
|
|
63
|
+
onLog?.(msg, "stderr");
|
|
64
|
+
});
|
|
65
|
+
child.on("close", (code) => {
|
|
66
|
+
if (code === 0) {
|
|
67
|
+
resolve();
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
reject(new Error(`npm install failed with code ${code}`));
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
child.on("error", (err) => {
|
|
74
|
+
reject(err);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.FatherProcessUtil = FatherProcessUtil;
|
|
80
|
+
const child_resolve = {};
|
|
81
|
+
const on_msg_id_map = {};
|
|
82
|
+
process.on('message', (msg) => {
|
|
83
|
+
console.log('收到父进程消息:', msg);
|
|
84
|
+
if (on_msg_id_map[msg.msg_id]) {
|
|
85
|
+
on_msg_id_map[msg.msg_id](msg.data);
|
|
86
|
+
}
|
|
87
|
+
if (child_resolve[msg.msg_id]) {
|
|
88
|
+
child_resolve[msg.msg_id](msg.data);
|
|
89
|
+
delete child_resolve[msg.msg_id];
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
class ChildProcessUtil {
|
|
93
|
+
static async send_father(msg, data, on_data) {
|
|
94
|
+
this.msg_id++;
|
|
95
|
+
if (this.msg_id > 100000) {
|
|
96
|
+
this.msg_id = 1;
|
|
97
|
+
}
|
|
98
|
+
const msg_id = this.msg_id;
|
|
99
|
+
this.msg_id++;
|
|
100
|
+
const on_data_msg_id = this.msg_id;
|
|
101
|
+
if (on_data) {
|
|
102
|
+
on_msg_id_map[on_data_msg_id] = on_data;
|
|
103
|
+
}
|
|
104
|
+
const a = await new Promise(resolve => {
|
|
105
|
+
child_resolve[msg_id] = resolve;
|
|
106
|
+
process.send?.({
|
|
107
|
+
msg,
|
|
108
|
+
msg_id,
|
|
109
|
+
on_data_msg_id,
|
|
110
|
+
data: data
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
delete on_msg_id_map[on_data_msg_id];
|
|
114
|
+
return a;
|
|
115
|
+
}
|
|
116
|
+
static down_load_file(url, dirPath, on_progress) {
|
|
117
|
+
return new Promise(async (resolve, reject) => {
|
|
118
|
+
try {
|
|
119
|
+
await FileUtil_1.FileUtil.mkdirSync(dirPath, { recursive: true });
|
|
120
|
+
const urlObj = new URL(url);
|
|
121
|
+
const stream = needle_1.default.get(url, {
|
|
122
|
+
follow_max: 5,
|
|
123
|
+
headers: {
|
|
124
|
+
"User-Agent": "node",
|
|
125
|
+
"Accept": "*/*"
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
let fileName = "";
|
|
129
|
+
let total = 0;
|
|
130
|
+
let downloaded = 0;
|
|
131
|
+
let lastPercent = -1;
|
|
132
|
+
let filePath = "";
|
|
133
|
+
let fileStream = null;
|
|
134
|
+
const cleanup = (err) => {
|
|
135
|
+
if (fileStream)
|
|
136
|
+
fileStream.destroy();
|
|
137
|
+
if (filePath && fs_1.default.existsSync(filePath)) {
|
|
138
|
+
try {
|
|
139
|
+
fs_1.default.unlinkSync(filePath);
|
|
140
|
+
}
|
|
141
|
+
catch { }
|
|
142
|
+
}
|
|
143
|
+
reject(err);
|
|
144
|
+
};
|
|
145
|
+
stream.on("response", (res) => {
|
|
146
|
+
if (res.statusCode && res.statusCode >= 400) {
|
|
147
|
+
cleanup(new Error(`下载失败: ${res.statusCode}`));
|
|
148
|
+
stream.destroy();
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const disposition = res.headers["content-disposition"];
|
|
152
|
+
if (disposition) {
|
|
153
|
+
const match = disposition.match(/filename\*?=(?:UTF-8''|")?([^\";]+)/i);
|
|
154
|
+
if (match?.[1]) {
|
|
155
|
+
fileName = decodeURIComponent(match[1]);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (!fileName) {
|
|
159
|
+
fileName = path_1.default.basename(urlObj.pathname);
|
|
160
|
+
}
|
|
161
|
+
if (!fileName || fileName === "/") {
|
|
162
|
+
fileName = `download_${Date.now()}`;
|
|
163
|
+
}
|
|
164
|
+
filePath = path_1.default.resolve(dirPath, fileName);
|
|
165
|
+
fileStream = fs_1.default.createWriteStream(filePath);
|
|
166
|
+
fileStream.on("error", cleanup);
|
|
167
|
+
stream.pipe(fileStream);
|
|
168
|
+
total = Number(res.headers["content-length"] || 0);
|
|
169
|
+
});
|
|
170
|
+
stream.on("data", (chunk) => {
|
|
171
|
+
downloaded += chunk.length;
|
|
172
|
+
if (total > 0) {
|
|
173
|
+
const percent = Math.floor((downloaded / total) * 100);
|
|
174
|
+
if (percent !== lastPercent) {
|
|
175
|
+
lastPercent = percent;
|
|
176
|
+
on_progress(percent);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
stream.on("end", () => {
|
|
181
|
+
if (fileStream) {
|
|
182
|
+
fileStream.end();
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
if (fileStream) {
|
|
186
|
+
fileStream.on("finish", () => {
|
|
187
|
+
on_progress(100);
|
|
188
|
+
resolve(filePath);
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
stream.on("close", () => {
|
|
193
|
+
if (filePath) {
|
|
194
|
+
on_progress(100);
|
|
195
|
+
resolve(filePath);
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
stream.on("error", cleanup);
|
|
200
|
+
}
|
|
201
|
+
catch (e) {
|
|
202
|
+
reject(e);
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
exports.ChildProcessUtil = ChildProcessUtil;
|
|
208
|
+
ChildProcessUtil.msg_id = 1;
|
|
209
|
+
//# sourceMappingURL=childProcessUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"childProcessUtil.js","sourceRoot":"","sources":["../../../../src/common/node/childProcessUtil.ts"],"names":[],"mappings":"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"}
|