filecat 5.15.5 → 5.16.1
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/181.11199e601b22f4add759.js +2 -0
- package/build/dist/{960.57837b4ef9e3838cf339.js → 301.0aa113cb4316e9e74a51.js} +2 -2
- package/build/dist/{325.fe78da5ba19c2104cc9e.js → 325.5f041ae7990615da279c.js} +2 -2
- package/build/dist/{523.560ce4ba9d2c7877058d.js → 523.cd76e6fafa6440cc1693.js} +2 -2
- package/build/dist/{757.964f68a8419e427d298f.js → 757.a6c2cab5ed6ce5776467.js} +1 -1
- package/build/dist/{793.da73c469f1ba286afc1b.js → 793.5ac9e1d8bc64790682d0.js} +2 -2
- package/build/dist/{827.b10a4f524c371d404cff.js → 827.e64e0af3c11c5bcd68c0.js} +2 -2
- package/build/dist/91.56af0d7eacb487e115b2.js +1 -0
- package/build/dist/{943.911e95ed97052f17913b.js → 943.7e28d7ce1a69f0d15eb2.js} +2 -2
- package/build/dist/995.ec4607dd8bb71cfb6a9d.js +2 -0
- package/build/dist/index.html +1 -1
- package/build/dist/main.7d110d8fdcc3c74c6c82.js +2 -0
- package/build/server/common/Env.js +188 -0
- package/build/server/common/Env.js.map +1 -0
- package/build/server/common/FileMenuType.js +45 -0
- package/build/server/common/FileMenuType.js.map +1 -0
- package/build/server/common/ListUtil.js +174 -0
- package/build/server/common/ListUtil.js.map +1 -0
- package/build/server/common/Result.pojo.js +14 -0
- package/build/server/common/Result.pojo.js.map +1 -0
- package/build/server/common/RouterConfig.js +16 -0
- package/build/server/common/RouterConfig.js.map +1 -0
- package/build/server/common/StringUtil.js +153 -0
- package/build/server/common/StringUtil.js.map +1 -0
- package/build/server/common/ValueUtil.js +49 -0
- package/build/server/common/ValueUtil.js.map +1 -0
- package/build/server/common/common.util.js +10 -0
- package/build/server/common/common.util.js.map +1 -0
- package/build/server/common/file.pojo.js +56 -0
- package/build/server/common/file.pojo.js.map +1 -0
- package/build/server/common/findPort.js +34 -0
- package/build/server/common/findPort.js.map +1 -0
- package/build/server/common/frame/WsData.js +168 -0
- package/build/server/common/frame/WsData.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 +295 -0
- package/build/server/common/frame/ws.client.js.map +1 -0
- package/build/server/common/frame/ws.server.js +226 -0
- package/build/server/common/frame/ws.server.js.map +1 -0
- package/build/server/common/http.js +47 -0
- package/build/server/common/http.js.map +1 -0
- package/build/server/common/install.js +139 -0
- package/build/server/common/install.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/proto/proto.generate.js +23 -0
- package/build/server/common/proto/proto.generate.js.map +1 -0
- package/build/server/common/proto/proto.js +172 -0
- package/build/server/common/proto/proto.js.map +1 -0
- package/build/server/common/req/common.pojo.js +17 -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 +46 -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 +49 -0
- package/build/server/common/req/net.pojo.js.map +1 -0
- package/build/server/common/req/setting.req.js +37 -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 +23 -0
- package/build/server/common/req/sys.pojo.js.map +1 -0
- package/build/server/common/req/user.req.js +91 -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/bin/bin.js +149 -0
- package/build/server/main/domain/bin/bin.js.map +1 -0
- package/build/server/main/domain/crypto/crypto.controller.js +63 -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 +111 -0
- package/build/server/main/domain/data/DataUtil.js.map +1 -0
- package/build/server/main/domain/data/basedata/base_data_util.js +241 -0
- package/build/server/main/domain/data/basedata/base_data_util.js.map +1 -0
- package/build/server/main/domain/data/data_type.js +74 -0
- package/build/server/main/domain/data/data_type.js.map +1 -0
- package/build/server/main/domain/ddns/ddns.ali.server.js +88 -0
- package/build/server/main/domain/ddns/ddns.ali.server.js.map +1 -0
- package/build/server/main/domain/ddns/ddns.controller.js +103 -0
- package/build/server/main/domain/ddns/ddns.controller.js.map +1 -0
- package/build/server/main/domain/ddns/ddns.dnspod.service.js +121 -0
- package/build/server/main/domain/ddns/ddns.dnspod.service.js.map +1 -0
- package/build/server/main/domain/ddns/ddns.pre.js +120 -0
- package/build/server/main/domain/ddns/ddns.pre.js.map +1 -0
- package/build/server/main/domain/ddns/ddns.service.js +175 -0
- package/build/server/main/domain/ddns/ddns.service.js.map +1 -0
- package/build/server/main/domain/ddns/ddns.tengxun.service.js +57 -0
- package/build/server/main/domain/ddns/ddns.tengxun.service.js.map +1 -0
- package/build/server/main/domain/ddns/tx/abstract_client.js +270 -0
- package/build/server/main/domain/ddns/tx/abstract_client.js.map +1 -0
- package/build/server/main/domain/ddns/tx/dnspod_client.js +65 -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 +194 -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 +124 -0
- package/build/server/main/domain/ddns/tx/sse_response_model.js.map +1 -0
- package/build/server/main/domain/file/FileUtil.js +96 -0
- package/build/server/main/domain/file/FileUtil.js.map +1 -0
- package/build/server/main/domain/file/file.compress.js +131 -0
- package/build/server/main/domain/file/file.compress.js.map +1 -0
- package/build/server/main/domain/file/file.controller.js +483 -0
- package/build/server/main/domain/file/file.controller.js.map +1 -0
- package/build/server/main/domain/file/file.service.js +1123 -0
- package/build/server/main/domain/file/file.service.js.map +1 -0
- package/build/server/main/domain/file/search/file.search.js +83 -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 +100 -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 +104 -0
- package/build/server/main/domain/file/workflow/workflow.process.js.map +1 -0
- package/build/server/main/domain/file/workflow/workflow.service.js +687 -0
- package/build/server/main/domain/file/workflow/workflow.service.js.map +1 -0
- package/build/server/main/domain/file/workflow/workflow.util.js +121 -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 +196 -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 +415 -0
- package/build/server/main/domain/net/net.service.js.map +1 -0
- package/build/server/main/domain/net/util/NetClientUtil.js +246 -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 +129 -0
- package/build/server/main/domain/net/util/NetUtil.js.map +1 -0
- package/build/server/main/domain/net/util/tcp.util.js +137 -0
- package/build/server/main/domain/net/util/tcp.util.js.map +1 -0
- package/build/server/main/domain/net/util/udp.util.js +28 -0
- package/build/server/main/domain/net/util/udp.util.js.map +1 -0
- package/build/server/main/domain/net/virtual/tcp_proxy.js +106 -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 +445 -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 +263 -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 +91 -0
- package/build/server/main/domain/net/virtual/virtual.server.service.js.map +1 -0
- package/build/server/main/domain/pre/lifeRecordService.js +92 -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 +137 -0
- package/build/server/main/domain/rdp/rdp.controller.js.map +1 -0
- package/build/server/main/domain/rdp/rdp.service.js +137 -0
- package/build/server/main/domain/rdp/rdp.service.js.map +1 -0
- package/build/server/main/domain/setting/setting.controller.js +518 -0
- package/build/server/main/domain/setting/setting.controller.js.map +1 -0
- package/build/server/main/domain/setting/setting.prefile.js +74 -0
- package/build/server/main/domain/setting/setting.prefile.js.map +1 -0
- package/build/server/main/domain/setting/setting.service.js +550 -0
- package/build/server/main/domain/setting/setting.service.js.map +1 -0
- package/build/server/main/domain/shell/shell.controller.js +115 -0
- package/build/server/main/domain/shell/shell.controller.js.map +1 -0
- package/build/server/main/domain/shell/shell.service.js +443 -0
- package/build/server/main/domain/shell/shell.service.js.map +1 -0
- package/build/server/main/domain/ssh/ssh.controller.js +236 -0
- package/build/server/main/domain/ssh/ssh.controller.js.map +1 -0
- package/build/server/main/domain/ssh/ssh.service.js +271 -0
- package/build/server/main/domain/ssh/ssh.service.js.map +1 -0
- package/build/server/main/domain/ssh/ssh.ssh2.js +250 -0
- package/build/server/main/domain/ssh/ssh.ssh2.js.map +1 -0
- package/build/server/main/domain/sys/sys.controller.js +395 -0
- package/build/server/main/domain/sys/sys.controller.js.map +1 -0
- package/build/server/main/domain/sys/sys.docker.service.js +367 -0
- package/build/server/main/domain/sys/sys.docker.service.js.map +1 -0
- package/build/server/main/domain/sys/sys.process.service.js +239 -0
- package/build/server/main/domain/sys/sys.process.service.js.map +1 -0
- package/build/server/main/domain/sys/sys.service.js +101 -0
- package/build/server/main/domain/sys/sys.service.js.map +1 -0
- package/build/server/main/domain/sys/sys.sys.service.js +192 -0
- package/build/server/main/domain/sys/sys.sys.service.js.map +1 -0
- package/build/server/main/domain/sys/sys.systemd.service.js +306 -0
- package/build/server/main/domain/sys/sys.systemd.service.js.map +1 -0
- package/build/server/main/domain/sys/sys.utl.js +23 -0
- package/build/server/main/domain/sys/sys.utl.js.map +1 -0
- package/build/server/main/domain/user/user.controller.js +264 -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 +573 -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/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 +72 -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/redirect.js +20 -0
- package/build/server/main/other/middleware/redirect.js.map +1 -0
- package/build/server/main/server.js +155 -0
- package/build/server/main/server.js.map +1 -0
- package/build/{watch.js → server/main/watch.js} +68 -86
- package/build/server/main/watch.js.map +1 -0
- package/build/server/tsconfig.tsbuildinfo +1 -0
- package/build/server/web/project/util/noty.js +60 -0
- package/build/server/web/project/util/noty.js.map +1 -0
- package/build/server/web/project/util/ws.js +7 -0
- package/build/server/web/project/util/ws.js.map +1 -0
- package/package.json +2 -1
- package/build/dist/181.ed11230f80088fa2a5b9.js +0 -2
- package/build/dist/91.21f368e687ef087ba623.js +0 -1
- package/build/dist/995.f5461272d4fd82df7130.js +0 -2
- package/build/dist/main.52dd483a8eaca68037ca.js +0 -2
- package/build/main.js +0 -2
- package/build/main.js.LICENSE.txt +0 -445
- package/build/unrar.wasm +0 -0
- /package/build/dist/{181.ed11230f80088fa2a5b9.js.LICENSE.txt → 181.11199e601b22f4add759.js.LICENSE.txt} +0 -0
- /package/build/dist/{960.57837b4ef9e3838cf339.js.LICENSE.txt → 301.0aa113cb4316e9e74a51.js.LICENSE.txt} +0 -0
- /package/build/dist/{325.fe78da5ba19c2104cc9e.js.LICENSE.txt → 325.5f041ae7990615da279c.js.LICENSE.txt} +0 -0
- /package/build/dist/{523.560ce4ba9d2c7877058d.js.LICENSE.txt → 523.cd76e6fafa6440cc1693.js.LICENSE.txt} +0 -0
- /package/build/dist/{793.da73c469f1ba286afc1b.js.LICENSE.txt → 793.5ac9e1d8bc64790682d0.js.LICENSE.txt} +0 -0
- /package/build/dist/{827.b10a4f524c371d404cff.js.LICENSE.txt → 827.e64e0af3c11c5bcd68c0.js.LICENSE.txt} +0 -0
- /package/build/dist/{943.911e95ed97052f17913b.js.LICENSE.txt → 943.7e28d7ce1a69f0d15eb2.js.LICENSE.txt} +0 -0
- /package/build/dist/{995.f5461272d4fd82df7130.js.LICENSE.txt → 995.ec4607dd8bb71cfb6a9d.js.LICENSE.txt} +0 -0
- /package/build/dist/{main.52dd483a8eaca68037ca.js.LICENSE.txt → main.7d110d8fdcc3c74c6c82.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.aliService = exports.AliService = exports.alidnsEndpoint = void 0;
|
|
13
|
+
exports.generateAliSignature = generateAliSignature;
|
|
14
|
+
const ddns_pre_1 = require("./ddns.pre");
|
|
15
|
+
const http_1 = require("../../../common/http");
|
|
16
|
+
const data_type_1 = require("../data/data_type");
|
|
17
|
+
const crypto = require('crypto');
|
|
18
|
+
exports.alidnsEndpoint = "https://alidns.aliyuncs.com/";
|
|
19
|
+
function generateAliSignature(params, secret) {
|
|
20
|
+
const sortedParams = Object.keys(params).sort().map(key => `${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`).join('&');
|
|
21
|
+
const stringToSign = `GET&%2F&${encodeURIComponent(sortedParams)}`;
|
|
22
|
+
const hmac = crypto.createHmac('sha1', `${secret}&`);
|
|
23
|
+
return hmac.update(stringToSign).digest('base64');
|
|
24
|
+
}
|
|
25
|
+
class AliService extends ddns_pre_1.DdnsPre {
|
|
26
|
+
getDdnsKey() {
|
|
27
|
+
return data_type_1.data_common_key.ddns_ali_key;
|
|
28
|
+
}
|
|
29
|
+
update(data, domain, ip, type) {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
const alis = data.account;
|
|
32
|
+
const params = {
|
|
33
|
+
Action: 'DescribeSubDomainRecords',
|
|
34
|
+
AccessKeyId: alis.accesskey_id,
|
|
35
|
+
SignatureMethod: 'HMAC-SHA1',
|
|
36
|
+
SignatureNonce: Math.random().toString(),
|
|
37
|
+
Timestamp: new Date().toISOString(),
|
|
38
|
+
Format: 'JSON',
|
|
39
|
+
SignatureVersion: '1.0',
|
|
40
|
+
Version: '2015-01-09',
|
|
41
|
+
DomainName: domain.domain,
|
|
42
|
+
SubDomain: domain.subdomain
|
|
43
|
+
};
|
|
44
|
+
params['Signature'] = generateAliSignature(params, alis.accesskey_secret);
|
|
45
|
+
const req = yield http_1.HttpRequest.get(exports.alidnsEndpoint, params);
|
|
46
|
+
if (req.TotalCount > 0) {
|
|
47
|
+
const record = req.DomainRecords.Record[0];
|
|
48
|
+
const params = {
|
|
49
|
+
Action: 'UpdateDomainRecord',
|
|
50
|
+
AccessKeyId: alis.accesskey_id,
|
|
51
|
+
SignatureMethod: 'HMAC-SHA1',
|
|
52
|
+
SignatureNonce: Math.random().toString(),
|
|
53
|
+
Timestamp: new Date().toISOString(),
|
|
54
|
+
Format: 'JSON',
|
|
55
|
+
SignatureVersion: '1.0',
|
|
56
|
+
Version: '2015-01-09',
|
|
57
|
+
RecordId: record.RecordID,
|
|
58
|
+
RR: domain.subdomain,
|
|
59
|
+
Type: type,
|
|
60
|
+
Value: ip
|
|
61
|
+
};
|
|
62
|
+
params['Signature'] = generateAliSignature(params, alis.accesskey_secret);
|
|
63
|
+
yield http_1.HttpRequest.get(exports.alidnsEndpoint, params);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
const params = {
|
|
67
|
+
Action: 'AddDomainRecord',
|
|
68
|
+
AccessKeyId: alis.accesskey_id,
|
|
69
|
+
SignatureMethod: 'HMAC-SHA1',
|
|
70
|
+
SignatureNonce: Math.random().toString(),
|
|
71
|
+
Timestamp: new Date().toISOString(),
|
|
72
|
+
Format: 'JSON',
|
|
73
|
+
SignatureVersion: '1.0',
|
|
74
|
+
Version: '2015-01-09',
|
|
75
|
+
DomainName: domain.domain,
|
|
76
|
+
RR: domain.subdomain,
|
|
77
|
+
Value: ip,
|
|
78
|
+
Type: type,
|
|
79
|
+
};
|
|
80
|
+
params['Signature'] = generateAliSignature(params, alis.accesskey_secret);
|
|
81
|
+
yield http_1.HttpRequest.get(exports.alidnsEndpoint, params);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
exports.AliService = AliService;
|
|
87
|
+
exports.aliService = new AliService();
|
|
88
|
+
//# sourceMappingURL=ddns.ali.server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ddns.ali.server.js","sourceRoot":"","sources":["../../../../../src/main/domain/ddns/ddns.ali.server.ts"],"names":[],"mappings":";;;;;;;;;;;;AAUA,oDAKC;AAdD,yCAAmC;AAEnC,+CAAiD;AACjD,iDAAkD;AAClD,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEpB,QAAA,cAAc,GAAI,8BAA8B,CAAA;AAG7D,SAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM;IAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtI,MAAM,YAAY,GAAG,WAAW,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC;IACnE,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,CAAC;IACrD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACtD,CAAC;AAED,MAAa,UAAW,SAAQ,kBAAO;IACnC,UAAU;QACN,OAAO,2BAAe,CAAC,YAAY,CAAC;IACxC,CAAC;IAEK,MAAM,CAAC,IAAoB,EAAE,MAAe,EAAE,EAAU,EAAE,IAAY;;YACxE,MAAM,IAAI,GAAI,IAAI,CAAC,OAAe,CAAC;YACnC,MAAM,MAAM,GAAG;gBACX,MAAM,EAAE,0BAA0B;gBAClC,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,eAAe,EAAE,WAAW;gBAC5B,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACxC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,MAAM,EAAE,MAAM;gBACd,gBAAgB,EAAE,KAAK;gBACvB,OAAO,EAAE,YAAY;gBACrB,UAAU,EAAC,MAAM,CAAC,MAAM;gBACxB,SAAS,EAAC,MAAM,CAAC,SAAS;aAC7B,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC1E,MAAM,GAAG,GAAG,MAAM,kBAAW,CAAC,GAAG,CAAC,sBAAc,EAAC,MAAM,CAAC,CAAC;YACzD,IAAI,GAAG,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;gBAErB,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG;oBACX,MAAM,EAAE,oBAAoB;oBAC5B,WAAW,EAAE,IAAI,CAAC,YAAY;oBAC9B,eAAe,EAAE,WAAW;oBAC5B,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBACxC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,MAAM,EAAE,MAAM;oBACd,gBAAgB,EAAE,KAAK;oBACvB,OAAO,EAAE,YAAY;oBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,EAAE,EAAE,MAAM,CAAC,SAAS;oBACpB,IAAI,EAAE,IAAI;oBACV,KAAK,EAAE,EAAE;iBACZ,CAAC;gBACF,MAAM,CAAC,WAAW,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC1E,MAAM,kBAAW,CAAC,GAAG,CAAC,sBAAc,EAAC,MAAM,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBAEJ,MAAM,MAAM,GAAG;oBACX,MAAM,EAAE,iBAAiB;oBACzB,WAAW,EAAE,IAAI,CAAC,YAAY;oBAC9B,eAAe,EAAE,WAAW;oBAC5B,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBACxC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,MAAM,EAAE,MAAM;oBACd,gBAAgB,EAAE,KAAK;oBACvB,OAAO,EAAE,YAAY;oBACrB,UAAU,EAAC,MAAM,CAAC,MAAM;oBACxB,EAAE,EAAE,MAAM,CAAC,SAAS;oBACpB,KAAK,EAAE,EAAE;oBACT,IAAI,EAAE,IAAI;iBACb,CAAC;gBACF,MAAM,CAAC,WAAW,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC1E,MAAM,kBAAW,CAAC,GAAG,CAAC,sBAAc,EAAC,MAAM,CAAC,CAAC;YACjD,CAAC;QACL,CAAC;KAAA;CAEJ;AA7DD,gCA6DC;AAEY,QAAA,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
15
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
16
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
17
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
18
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
19
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.DdnsController = void 0;
|
|
25
|
+
const routing_controllers_1 = require("routing-controllers");
|
|
26
|
+
const ddns_service_1 = require("./ddns.service");
|
|
27
|
+
const ddns_pojo_1 = require("../../../common/req/ddns.pojo");
|
|
28
|
+
const DataUtil_1 = require("../data/DataUtil");
|
|
29
|
+
const Result_1 = require("../../other/Result");
|
|
30
|
+
const ListUtil_1 = require("../../../common/ListUtil");
|
|
31
|
+
const data_type_1 = require("../data/data_type");
|
|
32
|
+
const user_service_1 = require("../user/user.service");
|
|
33
|
+
const user_req_1 = require("../../../common/req/user.req");
|
|
34
|
+
let DdnsController = class DdnsController {
|
|
35
|
+
getIps(req, type) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
user_service_1.userService.check_user_auth(req.headers.authorization, user_req_1.UserAuth.ddns);
|
|
38
|
+
return ddns_service_1.ddnsService.getIps(type);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
save(data, req) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
user_service_1.userService.check_user_auth(req.headers.authorization, user_req_1.UserAuth.ddns);
|
|
44
|
+
return ddns_service_1.ddnsService.save(data);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
add_http(item, req) {
|
|
48
|
+
var _a;
|
|
49
|
+
user_service_1.userService.check_user_auth(req.headers.authorization, user_req_1.UserAuth.ddns);
|
|
50
|
+
const list = (_a = DataUtil_1.DataUtil.get(data_type_1.data_common_key.ddns_http_url_key)) !== null && _a !== void 0 ? _a : [];
|
|
51
|
+
if (list.find(value => value.ifaceOrWww === item.ifaceOrWww)) {
|
|
52
|
+
return (0, Result_1.Fail)("已经存在");
|
|
53
|
+
}
|
|
54
|
+
list.push(item);
|
|
55
|
+
DataUtil_1.DataUtil.set(data_type_1.data_common_key.ddns_http_url_key, list);
|
|
56
|
+
return (0, Result_1.Sucess)('ok');
|
|
57
|
+
}
|
|
58
|
+
del_http(item, req) {
|
|
59
|
+
var _a;
|
|
60
|
+
user_service_1.userService.check_user_auth(req.headers.authorization, user_req_1.UserAuth.ddns);
|
|
61
|
+
const list = (_a = DataUtil_1.DataUtil.get(data_type_1.data_common_key.ddns_http_url_key)) !== null && _a !== void 0 ? _a : [];
|
|
62
|
+
(0, ListUtil_1.deleteList)(list, (v) => v.ifaceOrWww === item.ifaceOrWww);
|
|
63
|
+
DataUtil_1.DataUtil.set(data_type_1.data_common_key.ddns_http_url_key, list);
|
|
64
|
+
return (0, Result_1.Sucess)('ok');
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
exports.DdnsController = DdnsController;
|
|
68
|
+
__decorate([
|
|
69
|
+
(0, routing_controllers_1.Get)("/ips/:type"),
|
|
70
|
+
__param(0, (0, routing_controllers_1.Req)()),
|
|
71
|
+
__param(1, (0, routing_controllers_1.Param)("type")),
|
|
72
|
+
__metadata("design:type", Function),
|
|
73
|
+
__metadata("design:paramtypes", [Object, String]),
|
|
74
|
+
__metadata("design:returntype", Promise)
|
|
75
|
+
], DdnsController.prototype, "getIps", null);
|
|
76
|
+
__decorate([
|
|
77
|
+
(0, routing_controllers_1.Post)("/save"),
|
|
78
|
+
__param(0, (0, routing_controllers_1.Body)()),
|
|
79
|
+
__param(1, (0, routing_controllers_1.Req)()),
|
|
80
|
+
__metadata("design:type", Function),
|
|
81
|
+
__metadata("design:paramtypes", [ddns_pojo_1.DdnsConnection, Object]),
|
|
82
|
+
__metadata("design:returntype", Promise)
|
|
83
|
+
], DdnsController.prototype, "save", null);
|
|
84
|
+
__decorate([
|
|
85
|
+
(0, routing_controllers_1.Post)('/http/add'),
|
|
86
|
+
__param(0, (0, routing_controllers_1.Body)()),
|
|
87
|
+
__param(1, (0, routing_controllers_1.Req)()),
|
|
88
|
+
__metadata("design:type", Function),
|
|
89
|
+
__metadata("design:paramtypes", [ddns_pojo_1.DdnsIPPojo, Object]),
|
|
90
|
+
__metadata("design:returntype", void 0)
|
|
91
|
+
], DdnsController.prototype, "add_http", null);
|
|
92
|
+
__decorate([
|
|
93
|
+
(0, routing_controllers_1.Post)('/http/del'),
|
|
94
|
+
__param(0, (0, routing_controllers_1.Body)()),
|
|
95
|
+
__param(1, (0, routing_controllers_1.Req)()),
|
|
96
|
+
__metadata("design:type", Function),
|
|
97
|
+
__metadata("design:paramtypes", [ddns_pojo_1.DdnsIPPojo, Object]),
|
|
98
|
+
__metadata("design:returntype", void 0)
|
|
99
|
+
], DdnsController.prototype, "del_http", null);
|
|
100
|
+
exports.DdnsController = DdnsController = __decorate([
|
|
101
|
+
(0, routing_controllers_1.JsonController)("/ddns")
|
|
102
|
+
], DdnsController);
|
|
103
|
+
//# sourceMappingURL=ddns.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ddns.controller.js","sourceRoot":"","sources":["../../../../../src/main/domain/ddns/ddns.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.dnspodService = exports.DnsPodService = void 0;
|
|
13
|
+
const http_1 = require("../../../common/http");
|
|
14
|
+
const DataUtil_1 = require("../data/DataUtil");
|
|
15
|
+
const ListUtil_1 = require("../../../common/ListUtil");
|
|
16
|
+
const tldts_1 = require("tldts");
|
|
17
|
+
const ddns_pre_1 = require("./ddns.pre");
|
|
18
|
+
const data_type_1 = require("../data/data_type");
|
|
19
|
+
const dnsPodList = "https://dnsapi.cn/Record.List";
|
|
20
|
+
const dnspodModify = "https://dnsapi.cn/Record.Modify";
|
|
21
|
+
const dnspodCreate = "https://dnsapi.cn/Record.Create";
|
|
22
|
+
let async_have = false;
|
|
23
|
+
class DnsPodService extends ddns_pre_1.DdnsPre {
|
|
24
|
+
dnspodCreate(ip, id, token, subdomain, domain, type) {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
yield http_1.HttpRequest.post(dnspodCreate, {
|
|
27
|
+
format: "json",
|
|
28
|
+
"login_token": `${id},${token}`,
|
|
29
|
+
"record_type": type,
|
|
30
|
+
"sub_domain": subdomain,
|
|
31
|
+
"domain": domain,
|
|
32
|
+
"value": ip,
|
|
33
|
+
"record_line": "默认",
|
|
34
|
+
}, true);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
dnspodUpdate(record_id, ip, id, token, subdomain, domain, type) {
|
|
38
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
yield http_1.HttpRequest.post(dnspodModify, {
|
|
40
|
+
format: "json",
|
|
41
|
+
"login_token": `${id},${token}`,
|
|
42
|
+
"record_type": type,
|
|
43
|
+
"sub_domain": subdomain,
|
|
44
|
+
"domain": domain,
|
|
45
|
+
"value": ip,
|
|
46
|
+
"record_id": record_id,
|
|
47
|
+
"record_line": "默认",
|
|
48
|
+
}, true);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
dnspodGet(id, token, subdomain, domain) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const req = yield http_1.HttpRequest.post(dnsPodList, {
|
|
54
|
+
format: "json",
|
|
55
|
+
"login_token": `${id},${token}`,
|
|
56
|
+
"sub_domain": subdomain,
|
|
57
|
+
"domain": domain,
|
|
58
|
+
}, true);
|
|
59
|
+
return req;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
Run(netList) {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
try {
|
|
65
|
+
const data = yield DataUtil_1.DataUtil.get(data_type_1.data_common_key.ddns_dnspod_key);
|
|
66
|
+
if (data && data.isOpen && data.ips && data.ips.length > 0) {
|
|
67
|
+
const map = (0, ListUtil_1.getMapByList)(netList, (v) => v.ifaceOrWww + v.scopeid);
|
|
68
|
+
let change = false;
|
|
69
|
+
for (const ip of data.ips) {
|
|
70
|
+
try {
|
|
71
|
+
const item = map.get(ip.ifaceOrWww + ip.scopeid);
|
|
72
|
+
if (item) {
|
|
73
|
+
if (ip.ip === item.ip && async_have) {
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
ip.ip = item.ip;
|
|
77
|
+
change = true;
|
|
78
|
+
const hosts = ip.ddnsHost.split(" ");
|
|
79
|
+
for (const host of hosts) {
|
|
80
|
+
const type = ip.isIPv4 ? "A" : "AAAA";
|
|
81
|
+
const domain = (0, tldts_1.parse)(host);
|
|
82
|
+
yield this.update(data, domain, ip.ip, type);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
finally {
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (change) {
|
|
90
|
+
async_have = true;
|
|
91
|
+
DataUtil_1.DataUtil.set(data_type_1.data_common_key.ddns_dnspod_key, data);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
finally {
|
|
99
|
+
}
|
|
100
|
+
return true;
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
update(data, domain, ip, type) {
|
|
104
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
105
|
+
const req = yield this.dnspodGet(data.account.id, data.account.token, domain.subdomain, domain.domain);
|
|
106
|
+
if (req.records && req.records.length > 0) {
|
|
107
|
+
const record = req.records[0];
|
|
108
|
+
yield this.dnspodUpdate(record.id, ip, data.account.id, data.account.token, domain.subdomain, domain.domain, type);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
yield this.dnspodCreate(ip, data.account.id, data.account.token, domain.subdomain, domain.domain, type);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
getDdnsKey() {
|
|
116
|
+
return data_type_1.data_common_key.ddns_dnspod_key;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.DnsPodService = DnsPodService;
|
|
120
|
+
exports.dnspodService = new DnsPodService();
|
|
121
|
+
//# sourceMappingURL=ddns.dnspod.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ddns.dnspod.service.js","sourceRoot":"","sources":["../../../../../src/main/domain/ddns/ddns.dnspod.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DdnsPre = void 0;
|
|
13
|
+
const ddns_pojo_1 = require("../../../common/req/ddns.pojo");
|
|
14
|
+
const http_1 = require("../../../common/http");
|
|
15
|
+
const DataUtil_1 = require("../data/DataUtil");
|
|
16
|
+
const ListUtil_1 = require("../../../common/ListUtil");
|
|
17
|
+
const tldts_1 = require("tldts");
|
|
18
|
+
const data_type_1 = require("../data/data_type");
|
|
19
|
+
const os = require('os');
|
|
20
|
+
const wwwIpv4 = "https://4.ipw.cn";
|
|
21
|
+
const wwwIpv6 = "https://6.ipw.cn";
|
|
22
|
+
let getIpsCurrentStamp = null;
|
|
23
|
+
let cacheIps = [];
|
|
24
|
+
class DdnsPre {
|
|
25
|
+
constructor() {
|
|
26
|
+
this.async_have = false;
|
|
27
|
+
}
|
|
28
|
+
getNowIps() {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
const now = Date.now();
|
|
31
|
+
if (!!getIpsCurrentStamp && now - getIpsCurrentStamp < 1000 * 30) {
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
if (cacheIps.length === 0) {
|
|
35
|
+
yield this.updateAndGetIps();
|
|
36
|
+
}
|
|
37
|
+
this.updateAndGetIps().catch((err) => {
|
|
38
|
+
console.log('获取ip错误', err);
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
return cacheIps;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
updateAndGetIps() {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
var _a;
|
|
47
|
+
getIpsCurrentStamp = Date.now();
|
|
48
|
+
let ifaces = os.networkInterfaces();
|
|
49
|
+
const list = [];
|
|
50
|
+
for (const key of Object.keys(ifaces)) {
|
|
51
|
+
const value = ifaces[key];
|
|
52
|
+
for (const item of Array.isArray(value) ? value : [value]) {
|
|
53
|
+
const ipPojo = new ddns_pojo_1.DdnsIPPojo();
|
|
54
|
+
ipPojo.ifaceOrWww = key;
|
|
55
|
+
ipPojo.ip = item.address;
|
|
56
|
+
ipPojo.scopeid = item.scopeid;
|
|
57
|
+
ipPojo.source_type = ddns_pojo_1.ip_source_type.physics;
|
|
58
|
+
if (item.family === 'IPv4') {
|
|
59
|
+
ipPojo.isIPv4 = true;
|
|
60
|
+
}
|
|
61
|
+
else if (item.family === 'IPv6') {
|
|
62
|
+
ipPojo.isIPv4 = false;
|
|
63
|
+
}
|
|
64
|
+
list.push(ipPojo);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const url_list = (_a = DataUtil_1.DataUtil.get(data_type_1.data_common_key.ddns_http_url_key)) !== null && _a !== void 0 ? _a : [];
|
|
68
|
+
for (const pojo of url_list) {
|
|
69
|
+
pojo.ip = yield http_1.HttpRequest.get(pojo.ifaceOrWww);
|
|
70
|
+
list.push(pojo);
|
|
71
|
+
}
|
|
72
|
+
cacheIps = list;
|
|
73
|
+
return list;
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
Run(netList) {
|
|
77
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
try {
|
|
79
|
+
const data = yield DataUtil_1.DataUtil.get(this.getDdnsKey());
|
|
80
|
+
if (!!data && !!data.isOpen && !!data.ips && data.ips.length > 0) {
|
|
81
|
+
const map = (0, ListUtil_1.getMapByList)(netList, (v) => v.ifaceOrWww + v.scopeid);
|
|
82
|
+
let change = false;
|
|
83
|
+
for (const ip of data.ips) {
|
|
84
|
+
try {
|
|
85
|
+
const item = map.get(ip.ifaceOrWww + ip.scopeid);
|
|
86
|
+
if (item) {
|
|
87
|
+
if (ip.ip === item.ip && this.async_have) {
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
ip.ip = item.ip;
|
|
91
|
+
change = true;
|
|
92
|
+
const hosts = ip.ddnsHost.split(" ");
|
|
93
|
+
for (const host of hosts) {
|
|
94
|
+
const type = ip.isIPv4 ? "A" : "AAAA";
|
|
95
|
+
const domain = (0, tldts_1.parse)(host);
|
|
96
|
+
yield this.update(data, domain, ip.ip, type);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
finally {
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
if (change) {
|
|
104
|
+
this.async_have = true;
|
|
105
|
+
DataUtil_1.DataUtil.set(this.getDdnsKey(), data);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
catch (e) {
|
|
113
|
+
console.log(e);
|
|
114
|
+
}
|
|
115
|
+
return true;
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
exports.DdnsPre = DdnsPre;
|
|
120
|
+
//# sourceMappingURL=ddns.pre.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ddns.pre.js","sourceRoot":"","sources":["../../../../../src/main/domain/ddns/ddns.pre.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ddnsService = exports.DdnsService = void 0;
|
|
13
|
+
const ddns_pojo_1 = require("../../../common/req/ddns.pojo");
|
|
14
|
+
const http_1 = require("../../../common/http");
|
|
15
|
+
const Result_1 = require("../../other/Result");
|
|
16
|
+
const DataUtil_1 = require("../data/DataUtil");
|
|
17
|
+
const Result_pojo_1 = require("../../../common/Result.pojo");
|
|
18
|
+
const ListUtil_1 = require("../../../common/ListUtil");
|
|
19
|
+
const ddns_dnspod_service_1 = require("./ddns.dnspod.service");
|
|
20
|
+
const ddns_pre_1 = require("./ddns.pre");
|
|
21
|
+
const ddns_tengxun_service_1 = require("./ddns.tengxun.service");
|
|
22
|
+
const ddns_ali_server_1 = require("./ddns.ali.server");
|
|
23
|
+
const dnspod_client_1 = require("./tx/dnspod_client");
|
|
24
|
+
const data_type_1 = require("../data/data_type");
|
|
25
|
+
const dnspodTest = "https://dnsapi.cn/User.Detail";
|
|
26
|
+
let ok;
|
|
27
|
+
class DdnsService extends ddns_pre_1.DdnsPre {
|
|
28
|
+
close_ddns_task() {
|
|
29
|
+
if (ok) {
|
|
30
|
+
clearInterval(ok);
|
|
31
|
+
ok = undefined;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
ddnsTask() {
|
|
35
|
+
if (ok)
|
|
36
|
+
return;
|
|
37
|
+
ok = setInterval(() => {
|
|
38
|
+
(() => __awaiter(this, void 0, void 0, function* () {
|
|
39
|
+
const netList = yield this.updateAndGetIps();
|
|
40
|
+
let handle_num = 0;
|
|
41
|
+
if (yield ddns_dnspod_service_1.dnspodService.Run(netList)) {
|
|
42
|
+
handle_num++;
|
|
43
|
+
}
|
|
44
|
+
if (yield ddns_tengxun_service_1.tengxunService.Run(netList)) {
|
|
45
|
+
handle_num++;
|
|
46
|
+
}
|
|
47
|
+
if (handle_num == 0) {
|
|
48
|
+
clearInterval(ok);
|
|
49
|
+
}
|
|
50
|
+
}))().catch(e => {
|
|
51
|
+
console.log(e);
|
|
52
|
+
});
|
|
53
|
+
}, 1000 * 60 * 10);
|
|
54
|
+
}
|
|
55
|
+
getIps(type) {
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
var _a;
|
|
58
|
+
const list = yield this.getNowIps();
|
|
59
|
+
let key;
|
|
60
|
+
switch (type) {
|
|
61
|
+
case "dnspod":
|
|
62
|
+
key = data_type_1.data_common_key.ddns_dnspod_key;
|
|
63
|
+
break;
|
|
64
|
+
case "tx":
|
|
65
|
+
key = data_type_1.data_common_key.ddns_tx_key;
|
|
66
|
+
break;
|
|
67
|
+
case "ali":
|
|
68
|
+
key = data_type_1.data_common_key.ddns_ali_key;
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
const result = new ddns_pojo_1.DdnsConnection();
|
|
72
|
+
const data = yield DataUtil_1.DataUtil.get(key);
|
|
73
|
+
result.ips = [...list.map(v => { return Object.assign({}, v); })];
|
|
74
|
+
if (data != null && ((_a = data.ips) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
75
|
+
const map = (0, ListUtil_1.getMapByList)(data.ips, (v) => v.ifaceOrWww + v.scopeid);
|
|
76
|
+
for (const ip of result.ips) {
|
|
77
|
+
const item = map.get(ip.ifaceOrWww + ip.scopeid);
|
|
78
|
+
if (item) {
|
|
79
|
+
ip.ddnsHost = item.ddnsHost;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (data) {
|
|
84
|
+
result.isOpen = data.isOpen;
|
|
85
|
+
result.account = data.account;
|
|
86
|
+
}
|
|
87
|
+
return (0, Result_1.Sucess)(result);
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
save(data) {
|
|
91
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
let key = "";
|
|
93
|
+
switch (data.ddnsType) {
|
|
94
|
+
case ddns_pojo_1.DdnsType.dnspod:
|
|
95
|
+
key = data_type_1.data_common_key.ddns_dnspod_key;
|
|
96
|
+
break;
|
|
97
|
+
case ddns_pojo_1.DdnsType.tengxun:
|
|
98
|
+
key = data_type_1.data_common_key.ddns_tx_key;
|
|
99
|
+
break;
|
|
100
|
+
case ddns_pojo_1.DdnsType.ali:
|
|
101
|
+
key = data_type_1.data_common_key.ddns_ali_key;
|
|
102
|
+
break;
|
|
103
|
+
}
|
|
104
|
+
if (data.isOpen) {
|
|
105
|
+
if (data.ddnsType === ddns_pojo_1.DdnsType.dnspod) {
|
|
106
|
+
key = data_type_1.data_common_key.ddns_dnspod_key;
|
|
107
|
+
try {
|
|
108
|
+
const r = yield http_1.HttpRequest.post(dnspodTest, {
|
|
109
|
+
format: "json",
|
|
110
|
+
"login_token": `${data.account.id},${data.account.token}`
|
|
111
|
+
}, true);
|
|
112
|
+
if (r.status.code + "" !== "1") {
|
|
113
|
+
return (0, Result_1.Sucess)("身份验证失败", Result_pojo_1.RCode.DdnsAuthFail);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
catch (e) {
|
|
117
|
+
return (0, Result_1.Sucess)("身份验证失败", Result_pojo_1.RCode.DdnsAuthFail);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else if (data.ddnsType === ddns_pojo_1.DdnsType.tengxun) {
|
|
121
|
+
key = data_type_1.data_common_key.ddns_tx_key;
|
|
122
|
+
try {
|
|
123
|
+
const client = new dnspod_client_1.Client({
|
|
124
|
+
credential: {
|
|
125
|
+
secretId: data.account.secretid,
|
|
126
|
+
secretKey: data.account.secretkey
|
|
127
|
+
},
|
|
128
|
+
});
|
|
129
|
+
yield client.DescribeUserDetail();
|
|
130
|
+
}
|
|
131
|
+
catch (e) {
|
|
132
|
+
return (0, Result_1.Sucess)("身份验证失败", Result_pojo_1.RCode.DdnsAuthFail);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
else if (data.ddnsType === ddns_pojo_1.DdnsType.ali) {
|
|
136
|
+
key = data_type_1.data_common_key.ddns_ali_key;
|
|
137
|
+
try {
|
|
138
|
+
const params = {
|
|
139
|
+
Action: 'DescribeTags',
|
|
140
|
+
AccessKeyId: data.account.accesskey_id,
|
|
141
|
+
SignatureMethod: 'HMAC-SHA1',
|
|
142
|
+
SignatureNonce: Math.random().toString(),
|
|
143
|
+
Timestamp: new Date().toISOString(),
|
|
144
|
+
Format: 'JSON',
|
|
145
|
+
SignatureVersion: '1.0',
|
|
146
|
+
Version: '2015-01-09',
|
|
147
|
+
ResourceType: "DOMAIN"
|
|
148
|
+
};
|
|
149
|
+
params['Signature'] = (0, ddns_ali_server_1.generateAliSignature)(params, data.account.accesskey_secret);
|
|
150
|
+
const req = yield http_1.HttpRequest.get(ddns_ali_server_1.alidnsEndpoint, params);
|
|
151
|
+
}
|
|
152
|
+
catch (e) {
|
|
153
|
+
return (0, Result_1.Sucess)("身份验证失败", Result_pojo_1.RCode.DdnsAuthFail);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
exports.ddnsService.ddnsTask();
|
|
157
|
+
yield DataUtil_1.DataUtil.set(key, data);
|
|
158
|
+
return (0, Result_1.Sucess)("身份信息正确");
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
exports.ddnsService.close_ddns_task();
|
|
162
|
+
}
|
|
163
|
+
yield DataUtil_1.DataUtil.set(key, data);
|
|
164
|
+
return (0, Result_1.Sucess)("保存成功");
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
getDdnsKey() {
|
|
168
|
+
}
|
|
169
|
+
update(data, domain, ip, type) {
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.DdnsService = DdnsService;
|
|
173
|
+
exports.ddnsService = new DdnsService();
|
|
174
|
+
exports.ddnsService.ddnsTask();
|
|
175
|
+
//# sourceMappingURL=ddns.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ddns.service.js","sourceRoot":"","sources":["../../../../../src/main/domain/ddns/ddns.service.ts"],"names":[],"mappings":"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"}
|