feat: update

parent c85fba0a
......@@ -33,14 +33,7 @@
"../node_modules/jquery-sparkline/jquery.sparkline.js",
"../node_modules/tether/dist/js/tether.min.js",
"../node_modules/bootstrap/dist/js/bootstrap.min.js",
"../node_modules/xterm/dist/xterm.js",
"../node_modules/layui-layer/dist/layer.js",
"../node_modules/socket.io-client/dist/socket.io.js",
"./assets/js/mstsc.js",
"./assets/js/keyboard.js",
"./assets/js/rle.js",
"./assets/js/client.js",
"./assets/js/canvas.js"
"../node_modules/xterm/dist/xterm.js"
],
"environmentSource": "environments/environment.ts",
"environments": {
......
......@@ -108,7 +108,7 @@ def asset_groups_assets():
"hostname": "192.168.1.6",
"ip": "192.168.2.6",
"port": 22,
"plantform": "Linux",
"platform": "Linux",
"system_users_granted": [
{
"id": 1,
......@@ -133,13 +133,13 @@ def asset_groups_assets():
"hostname": "windows server",
"ip": "123.57.183.135",
"port": 3389,
"plantform": "Windows",
"assets_granted": [
"platform": "Windows",
"system_users_granted": [
{
"id": 1,
"id": 3,
"name": "web",
"username": "web",
"protocol": "ssh",
"protocol": "rdp",
"auth_method": "P",
"auto_push": True
}
......
......@@ -382,7 +382,6 @@
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz",
"integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=",
"dev": true,
"requires": {
"mime-types": "2.1.16",
"negotiator": "0.6.1"
......@@ -411,14 +410,6 @@
}
}
},
"active-x-obfuscator": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz",
"integrity": "sha1-CJuJs3FF/x2ex0r2UwvlUmyuHxo=",
"requires": {
"zeparser": "0.0.5"
}
},
"adm-zip": {
"version": "0.4.7",
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz",
......@@ -935,6 +926,11 @@
"tweetnacl": "0.14.5"
}
},
"benchmark": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/benchmark/-/benchmark-1.0.0.tgz",
"integrity": "sha1-Lx4vpMNZ8REiqhgwgiGOlX45DHM="
},
"better-assert": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
......@@ -955,6 +951,12 @@
"integrity": "sha1-muuabF6IY4qtFx4Wf1kAq+JINdA=",
"dev": true
},
"bindings": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz",
"integrity": "sha1-FK1hE4EtLTfXLme0ystLtyZQXxE=",
"optional": true
},
"blob": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz",
......@@ -1213,11 +1215,6 @@
}
}
},
"buffer-crc32": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz",
"integrity": "sha1-vj5TgvwCttYySVasGvmKqYsIU0w="
},
"buffer-indexof": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz",
......@@ -1230,6 +1227,16 @@
"integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
"dev": true
},
"bufferutil": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-1.2.1.tgz",
"integrity": "sha1-N75dNuHgZJIiHmjUdLGsWOUQy9c=",
"optional": true,
"requires": {
"bindings": "1.2.1",
"nan": "2.7.0"
}
},
"builtin-modules": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
......@@ -1812,14 +1819,12 @@
"content-disposition": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
"integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=",
"dev": true
"integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
},
"content-type": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
"dev": true
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
},
"convert-source-map": {
"version": "1.5.0",
......@@ -1835,8 +1840,7 @@
"cookie-signature": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=",
"dev": true
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"copy-concurrently": {
"version": "1.0.5",
......@@ -1920,7 +1924,8 @@
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true
},
"cosmiconfig": {
"version": "2.2.2",
......@@ -2313,8 +2318,7 @@
"destroy": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
"dev": true
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
"detect-indent": {
"version": "4.0.0",
......@@ -2588,8 +2592,7 @@
"encodeurl": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
"integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=",
"dev": true
"integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA="
},
"end-of-stream": {
"version": "1.4.0",
......@@ -2843,8 +2846,7 @@
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
"dev": true
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
},
"escape-string-regexp": {
"version": "1.0.5",
......@@ -2895,8 +2897,7 @@
"etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"dev": true
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
},
"event-emitter": {
"version": "0.3.5",
......@@ -3049,7 +3050,6 @@
"version": "4.16.2",
"resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz",
"integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=",
"dev": true,
"requires": {
"accepts": "1.3.4",
"array-flatten": "1.1.1",
......@@ -3086,14 +3086,12 @@
"array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
"dev": true
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
"ms": "2.0.0"
}
......@@ -3102,7 +3100,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
"integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
"dev": true,
"requires": {
"debug": "2.6.9",
"encodeurl": "1.0.1",
......@@ -3116,26 +3113,22 @@
"parseurl": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
"integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
"dev": true
"integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
},
"qs": {
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
"integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==",
"dev": true
"integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
},
"setprototypeof": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
"integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
"dev": true
"integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
},
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
"dev": true
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
}
}
},
......@@ -3390,14 +3383,12 @@
"forwarded": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
"integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
"dev": true
"integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
},
"fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"dev": true
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
},
"from2": {
"version": "2.3.0",
......@@ -4504,6 +4495,10 @@
"is-glob": "2.0.1"
}
},
"global": {
"version": "https://github.com/component/global/archive/v2.0.1.tar.gz",
"integrity": "sha512-O91OcV/NbdmQJPHaRu2ekSP7bqFRLWgqSwaJvqHPZHUwmHBagQYTOra29+LnzzG3lZkXH1ANzHzfCxtAPM9HMA=="
},
"globals": {
"version": "9.18.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
......@@ -4693,6 +4688,14 @@
"isarray": "0.0.1"
}
},
"has-binary-data": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/has-binary-data/-/has-binary-data-0.1.3.tgz",
"integrity": "sha1-jrsYOItX8ZpSMSdaFvwY1R83mq4=",
"requires": {
"isarray": "0.0.1"
}
},
"has-binary2": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.2.tgz",
......@@ -5201,8 +5204,7 @@
"ipaddr.js": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz",
"integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=",
"dev": true
"integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A="
},
"is-absolute-url": {
"version": "2.1.0",
......@@ -6143,11 +6145,6 @@
"source-map-support": "0.4.16"
}
},
"keypress": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz",
"integrity": "sha1-SjGI1CkbZrT2XtuZ+AaqmuKTWSo="
},
"killable": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/killable/-/killable-1.0.0.tgz",
......@@ -6569,14 +6566,12 @@
"merge-descriptors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
"dev": true
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
},
"methods": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
"dev": true
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
},
"metismenu": {
"version": "2.7.1",
......@@ -6734,6 +6729,283 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"mstsc.js": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/mstsc.js/-/mstsc.js-0.2.4.tgz",
"integrity": "sha1-tl3ECRVFTJIEF9EhSt8+gVdDkM0=",
"requires": {
"express": "4.16.2",
"node-rdpjs": "0.3.0",
"socket.io": "1.3.7"
},
"dependencies": {
"after": {
"version": "0.8.1",
"resolved": "https://registry.npmjs.org/after/-/after-0.8.1.tgz",
"integrity": "sha1-q11PuIP1loFtNRX495HAr0ht1ic="
},
"base64-arraybuffer": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz",
"integrity": "sha1-R030qfLaJOBd8xWMOx2zw81GoVQ="
},
"base64id": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz",
"integrity": "sha1-As4P3u4M709ACA4ec+g08LG/zj8="
},
"component-emitter": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz",
"integrity": "sha1-KWWU8nU9qmOZbSrwjRWpURbJrsM="
},
"debug": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.1.0.tgz",
"integrity": "sha1-M6uRVlnYwsyKQUQ9lNbr03aX7SE=",
"requires": {
"ms": "0.6.2"
}
},
"engine.io": {
"version": "1.5.4",
"resolved": "https://registry.npmjs.org/engine.io/-/engine.io-1.5.4.tgz",
"integrity": "sha1-xhQQEpEcNQYxwbOQ9TJOtCAuKfI=",
"requires": {
"base64id": "0.1.0",
"debug": "1.0.3",
"engine.io-parser": "1.2.2",
"ws": "0.8.0"
},
"dependencies": {
"debug": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-1.0.3.tgz",
"integrity": "sha1-/IxrLWACgEtAgcAgjg9kYLofo+Q=",
"requires": {
"ms": "0.6.2"
}
}
}
},
"engine.io-client": {
"version": "1.5.4",
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.5.4.tgz",
"integrity": "sha1-xq1lpldSopy5MMaRHledKyjREGw=",
"requires": {
"component-emitter": "1.1.2",
"component-inherit": "0.0.3",
"debug": "1.0.4",
"engine.io-parser": "1.2.2",
"has-cors": "1.0.3",
"indexof": "0.0.1",
"parsejson": "0.0.1",
"parseqs": "0.0.2",
"parseuri": "0.0.4",
"ws": "0.8.0",
"xmlhttprequest": "https://github.com/rase-/node-XMLHttpRequest/archive/a6b6f2.tar.gz"
},
"dependencies": {
"debug": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz",
"integrity": "sha1-W5wla9VLbsAigxdvqKDt5tFUy/g=",
"requires": {
"ms": "0.6.2"
}
},
"parseuri": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.4.tgz",
"integrity": "sha1-gGWCo5iH4eoY3V4v4OAZAiaOk1A=",
"requires": {
"better-assert": "1.0.2"
}
}
}
},
"engine.io-parser": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.2.2.tgz",
"integrity": "sha1-zQgQQf7qOcZDI/95uCqQpyr8zN0=",
"requires": {
"after": "0.8.1",
"arraybuffer.slice": "0.0.6",
"base64-arraybuffer": "0.1.2",
"blob": "0.0.4",
"has-binary": "0.1.6",
"utf8": "2.1.0"
}
},
"has-binary": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz",
"integrity": "sha1-JTJvOc+k9hath4eJTjryz7x7bhA=",
"requires": {
"isarray": "0.0.1"
}
},
"has-cors": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.0.3.tgz",
"integrity": "sha1-UCrLmzEE2sM90mMOry+IiwuvTLM=",
"requires": {
"global": "https://github.com/component/global/archive/v2.0.1.tar.gz"
}
},
"json3": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/json3/-/json3-3.2.6.tgz",
"integrity": "sha1-9u/JPAagTemuxTBT3yVZuxniA4s="
},
"ms": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz",
"integrity": "sha1-2JwhJMb9wTU9Zai3e/GqxLGTcIw="
},
"object-keys": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.1.tgz",
"integrity": "sha1-VYAuhYQsJru167wVer874wJWm6g="
},
"parsejson": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/parsejson/-/parsejson-0.0.1.tgz",
"integrity": "sha1-mxDGwNglq1ieaFFTgm3go7oni8w=",
"requires": {
"better-assert": "1.0.2"
}
},
"parseqs": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.2.tgz",
"integrity": "sha1-nf5wss3aw4i95PNbHyQPpYrb5sc=",
"requires": {
"better-assert": "1.0.2"
}
},
"parseuri": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.2.tgz",
"integrity": "sha1-20GHjy1pZHGL6HCzFAlz2Ak74VY=",
"requires": {
"better-assert": "1.0.2"
}
},
"socket.io": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-1.3.7.tgz",
"integrity": "sha1-k3R6KbyrYmbw++GREsyl4TiM960=",
"requires": {
"debug": "2.1.0",
"engine.io": "1.5.4",
"has-binary-data": "0.1.3",
"socket.io-adapter": "0.3.1",
"socket.io-client": "1.3.7",
"socket.io-parser": "2.2.4"
}
},
"socket.io-adapter": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.3.1.tgz",
"integrity": "sha1-34H5cLTfZJOQLZPlGce3J1XDqVg=",
"requires": {
"debug": "1.0.2",
"object-keys": "1.0.1",
"socket.io-parser": "2.2.2"
},
"dependencies": {
"debug": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/debug/-/debug-1.0.2.tgz",
"integrity": "sha1-OElZHBDM5khHbDx8Li40FttZY8Q=",
"requires": {
"ms": "0.6.2"
}
},
"socket.io-parser": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.2.tgz",
"integrity": "sha1-PXr2tkSX6Va32f53X5mXFgJ/lBc=",
"requires": {
"benchmark": "1.0.0",
"component-emitter": "1.1.2",
"debug": "0.7.4",
"isarray": "0.0.1",
"json3": "3.2.6"
},
"dependencies": {
"debug": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz",
"integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk="
}
}
}
}
},
"socket.io-client": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.3.7.tgz",
"integrity": "sha1-erfAabjVBCXrJl8DH4Spfm6+cZw=",
"requires": {
"backo2": "1.0.2",
"component-bind": "1.0.0",
"component-emitter": "1.1.2",
"debug": "0.7.4",
"engine.io-client": "1.5.4",
"has-binary": "0.1.6",
"indexof": "0.0.1",
"object-component": "0.0.3",
"parseuri": "0.0.2",
"socket.io-parser": "2.2.4",
"to-array": "0.1.3"
},
"dependencies": {
"debug": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz",
"integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk="
}
}
},
"socket.io-parser": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.4.tgz",
"integrity": "sha1-+c4ZvxkJYIzrFdl3IeI7/dHnz2U=",
"requires": {
"benchmark": "1.0.0",
"component-emitter": "1.1.2",
"debug": "0.7.4",
"isarray": "0.0.1",
"json3": "3.2.6"
},
"dependencies": {
"debug": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz",
"integrity": "sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk="
}
}
},
"to-array": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.3.tgz",
"integrity": "sha1-1F2txjY0F/YPKEdP6lDs3btPSZE="
},
"ws": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-0.8.0.tgz",
"integrity": "sha1-rGDrrTEhIdAeFswzg9fsZ60PDx8=",
"requires": {
"bufferutil": "1.2.1",
"options": "0.0.6",
"ultron": "1.0.2",
"utf-8-validate": "1.2.2"
}
}
}
},
"multicast-dns": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.0.tgz",
......@@ -6750,33 +7022,10 @@
"integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=",
"dev": true
},
"multiparty": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz",
"integrity": "sha1-pWfCrwAK0i3I8qZT2Rl4rh9TFvQ=",
"requires": {
"readable-stream": "1.1.14",
"stream-counter": "0.2.0"
},
"dependencies": {
"readable-stream": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.3",
"isarray": "0.0.1",
"string_decoder": "0.10.31"
}
}
}
},
"nan": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz",
"integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY=",
"dev": true
"integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY="
},
"ncname": {
"version": "1.0.0",
......@@ -6954,6 +7203,22 @@
"integrity": "sha1-QAlrCM560OoUaAhjr0ScfHWl0cg=",
"dev": true
},
"node-rdpjs": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/node-rdpjs/-/node-rdpjs-0.3.0.tgz",
"integrity": "sha1-h+Lck94armnCwiy8zwFS9heQHO0=",
"requires": {
"lodash": "3.3.0",
"starttls": "1.0.1"
},
"dependencies": {
"lodash": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.3.0.tgz",
"integrity": "sha1-ARzlLQGxTmDq7qdqy5uLpCxwWBs="
}
}
},
"node-sass": {
"version": "4.7.2",
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.7.2.tgz",
......@@ -10975,8 +11240,7 @@
"path-to-regexp": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=",
"dev": true
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
"path-type": {
"version": "1.1.0",
......@@ -10989,11 +11253,6 @@
"pinkie-promise": "2.0.1"
}
},
"pause": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz",
"integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10="
},
"pbkdf2": {
"version": "3.0.14",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz",
......@@ -11059,11 +11318,6 @@
}
}
},
"policyfile": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz",
"integrity": "sha1-1rgurZiueeviKOLa9ZAzEeyYLk0="
},
"popper.js": {
"version": "1.12.9",
"resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.12.9.tgz",
......@@ -12043,7 +12297,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz",
"integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=",
"dev": true,
"requires": {
"forwarded": "0.1.2",
"ipaddr.js": "1.5.2"
......@@ -12061,27 +12314,6 @@
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
"dev": true
},
"pty.js": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/pty.js/-/pty.js-0.3.1.tgz",
"integrity": "sha1-gfW+0zLW5eeraFaI0boDc0ENUbU=",
"requires": {
"extend": "1.2.1",
"nan": "2.3.5"
},
"dependencies": {
"extend": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz",
"integrity": "sha1-oPX9bPyDpf5J72mNYOyKYk3UV2w="
},
"nan": {
"version": "2.3.5",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.3.5.tgz",
"integrity": "sha1-gioNwmYpDOTNOhIoLKPn42Rmigg="
}
}
},
"public-encrypt": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz",
......@@ -12231,8 +12463,7 @@
"range-parser": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
"integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
"dev": true
"integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
},
"raw-body": {
"version": "2.3.2",
......@@ -12350,12 +12581,6 @@
"strip-indent": "1.0.1"
}
},
"redis": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/redis/-/redis-0.7.3.tgz",
"integrity": "sha1-7le3pE0l7BWU5ENl2BZfp9HUgRo=",
"optional": true
},
"reduce-css-calc": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz",
......@@ -12760,7 +12985,6 @@
"version": "0.16.1",
"resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz",
"integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==",
"dev": true,
"requires": {
"debug": "2.6.9",
"depd": "1.1.1",
......@@ -12781,7 +13005,6 @@
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
"ms": "2.0.0"
}
......@@ -12789,8 +13012,7 @@
"mime": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
"integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==",
"dev": true
"integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
}
}
},
......@@ -12845,7 +13067,6 @@
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz",
"integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==",
"dev": true,
"requires": {
"encodeurl": "1.0.1",
"escape-html": "1.0.3",
......@@ -12856,8 +13077,7 @@
"parseurl": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
"integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
"dev": true
"integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
}
}
},
......@@ -13245,6 +13465,11 @@
"safe-buffer": "5.1.1"
}
},
"starttls": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/starttls/-/starttls-1.0.1.tgz",
"integrity": "sha1-5ggcJd5rF49adfjyccFIdEkYO0I="
},
"statuses": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
......@@ -13333,27 +13558,6 @@
}
}
},
"stream-counter": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz",
"integrity": "sha1-3tJmVWMZyLDiIoErnPOyb6fZR94=",
"requires": {
"readable-stream": "1.1.14"
},
"dependencies": {
"readable-stream": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"requires": {
"core-util-is": "1.0.2",
"inherits": "2.0.3",
"isarray": "0.0.1",
"string_decoder": "0.10.31"
}
}
}
},
"stream-each": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz",
......@@ -13435,7 +13639,8 @@
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
"stringstream": {
"version": "0.0.5",
......@@ -13677,11 +13882,6 @@
"resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.0.2.tgz",
"integrity": "sha512-2NM0auVBGft5tee/OxP4PI3d8WItkDM+fPnaRAVo6xTDI2knbz9eC5ArWGqtGlYqiH3RU5yMpdyTTO7MguC4ow=="
},
"tinycolor": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz",
"integrity": "sha1-MgtaUtg6u1l42Bo+iH1K77FaYWQ="
},
"tmp": {
"version": "0.0.31",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz",
......@@ -13878,194 +14078,6 @@
"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
"dev": true
},
"tty.js": {
"version": "0.2.15",
"resolved": "https://registry.npmjs.org/tty.js/-/tty.js-0.2.15.tgz",
"integrity": "sha1-iCM+qnPRhTqLyU6K94e3zcdUj6c=",
"requires": {
"express": "3.4.4",
"pty.js": "0.3.1",
"socket.io": "0.9.16",
"term.js": "0.0.7"
},
"dependencies": {
"base64id": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz",
"integrity": "sha1-As4P3u4M709ACA4ec+g08LG/zj8="
},
"bytes": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz",
"integrity": "sha1-VVsIq8sGP4l1kFMCUj5M1P/f3zE="
},
"commander": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/commander/-/commander-1.3.2.tgz",
"integrity": "sha1-io8w7GcKb91kr1LxkUuQfXnq1bU=",
"requires": {
"keypress": "0.1.0"
}
},
"connect": {
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/connect/-/connect-2.11.0.tgz",
"integrity": "sha1-mZHOCf+bhdnq0n+dQdCyot8vkoQ=",
"requires": {
"buffer-crc32": "0.2.1",
"bytes": "0.2.1",
"cookie": "0.1.0",
"cookie-signature": "1.0.1",
"debug": "2.6.8",
"fresh": "0.2.0",
"methods": "0.0.1",
"multiparty": "2.2.0",
"negotiator": "0.3.0",
"pause": "0.0.1",
"qs": "0.6.5",
"raw-body": "0.0.3",
"send": "0.1.4",
"uid2": "0.0.3"
},
"dependencies": {
"methods": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/methods/-/methods-0.0.1.tgz",
"integrity": "sha1-J3yQ+L7zlwlkWoNxxRw7bGSOBow="
}
}
},
"cookie": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz",
"integrity": "sha1-kOtGndzpBchm3mh+/EMTHYgB+dA="
},
"cookie-signature": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz",
"integrity": "sha1-ROByFIrwHm6OJK+/EmkNaK5pjss="
},
"express": {
"version": "3.4.4",
"resolved": "https://registry.npmjs.org/express/-/express-3.4.4.tgz",
"integrity": "sha1-C2OuYmyWtxt40T384HnBA1FjWoY=",
"requires": {
"buffer-crc32": "0.2.1",
"commander": "1.3.2",
"connect": "2.11.0",
"cookie": "0.1.0",
"cookie-signature": "1.0.1",
"debug": "2.6.8",
"fresh": "0.2.0",
"methods": "0.1.0",
"mkdirp": "0.3.5",
"range-parser": "0.0.4",
"send": "0.1.4"
}
},
"fresh": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz",
"integrity": "sha1-v9lALPPfEsSkwxDHn5mj3eE9NKc="
},
"methods": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/methods/-/methods-0.1.0.tgz",
"integrity": "sha1-M11Cnu/SG3us8unJIqjSvRSjDk8="
},
"mime": {
"version": "1.2.11",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz",
"integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA="
},
"mkdirp": {
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz",
"integrity": "sha1-3j5fiWHIjHh+4TaN+EmsRBPsqNc="
},
"nan": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-1.0.0.tgz",
"integrity": "sha1-riT4hQgY1mL8q1rPfzuVv6oszzg="
},
"negotiator": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz",
"integrity": "sha1-cG1pLv7d9XTVfqn7GriaT6fuj2A="
},
"qs": {
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/qs/-/qs-0.6.5.tgz",
"integrity": "sha1-KUsmjksNQlD23eGbO4s0k13/FO8="
},
"range-parser": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz",
"integrity": "sha1-wEJ//vUcEKy6B4KkbJYC50T/Ygs="
},
"raw-body": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-0.0.3.tgz",
"integrity": "sha1-DLPrIs7RymB9Mt2P2Upus4Pz64o="
},
"send": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/send/-/send-0.1.4.tgz",
"integrity": "sha1-vnDY0b4B3mGCGvE3gLUDRaT3Gr0=",
"requires": {
"debug": "2.6.8",
"fresh": "0.2.0",
"mime": "1.2.11",
"range-parser": "0.0.4"
}
},
"socket.io": {
"version": "0.9.16",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-0.9.16.tgz",
"integrity": "sha1-O6sEROSbVfu8FXQk29Qao3WlGnY=",
"requires": {
"base64id": "0.1.0",
"policyfile": "0.0.4",
"redis": "0.7.3",
"socket.io-client": "0.9.16"
}
},
"socket.io-client": {
"version": "0.9.16",
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.16.tgz",
"integrity": "sha1-TadRXF53MEHRtCOXBBW8xDDzX8Y=",
"requires": {
"active-x-obfuscator": "0.0.1",
"uglify-js": "1.2.5",
"ws": "0.4.32",
"xmlhttprequest": "1.4.2"
}
},
"uglify-js": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz",
"integrity": "sha1-tULCx29477NLIAsgF3Y0Mw/3ArY="
},
"ws": {
"version": "0.4.32",
"resolved": "https://registry.npmjs.org/ws/-/ws-0.4.32.tgz",
"integrity": "sha1-eHphVEFPPJntg8V3IVOyD+sM7DI=",
"requires": {
"commander": "2.1.0",
"nan": "1.0.0",
"options": "0.0.6",
"tinycolor": "0.0.1"
},
"dependencies": {
"commander": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz",
"integrity": "sha1-0SG7roYNmZKj1Re6lvVliOR8Z4E="
}
}
}
}
},
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
......@@ -14162,16 +14174,10 @@
}
}
},
"uid2": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz",
"integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I="
},
"ultron": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
"integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po=",
"dev": true
"integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po="
},
"underscore": {
"version": "1.4.4",
......@@ -14313,6 +14319,29 @@
}
}
},
"utf-8-validate": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-1.2.2.tgz",
"integrity": "sha1-i7hxpHQeCFxwSHynrNvX1tNgKes=",
"optional": true,
"requires": {
"bindings": "1.2.1",
"nan": "2.4.0"
},
"dependencies": {
"nan": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz",
"integrity": "sha1-+zxZ1F/k7/4hXwuJD4rfbrMtIjI=",
"optional": true
}
}
},
"utf8": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.0.tgz",
"integrity": "sha1-DP7FyAUtRKI+OqqQgQToB1+V39U="
},
"util": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
......@@ -14382,8 +14411,7 @@
"vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
"dev": true
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
},
"vendors": {
"version": "1.0.1",
......@@ -15150,9 +15178,8 @@
"integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk="
},
"xmlhttprequest": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz",
"integrity": "sha1-AUU6HZvtHo8XL2SVu/TIxCYyFQA="
"version": "https://github.com/rase-/node-XMLHttpRequest/archive/a6b6f2.tar.gz",
"integrity": "sha512-GO6pmHif8rvZ9YddEoem4hQo0OvcTZJnPGyKxBNsFwgEwNYxbpfewye2ulTDAanWXTcfl2+XKE6/DK7SAoKqMw=="
},
"xmlhttprequest-ssl": {
"version": "1.5.3",
......@@ -15240,11 +15267,6 @@
"integrity": "sha1-5a2ryKz0CPY4X8dklWhMiOavaJo=",
"dev": true
},
"zeparser": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz",
"integrity": "sha1-A3JlYbwmjy5URPVMZlt/1KjAKeI="
},
"zone.js": {
"version": "0.8.17",
"resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.8.17.tgz",
......
......@@ -40,6 +40,7 @@
"layui-layer": "git+https://github.com/jumpserver/layer.git",
"materialize-css": "^0.100.2",
"metismenu": "^2.5.0",
"mstsc.js": "^0.2.4",
"ng2-charts": "^1.5.0",
"ng2-cookies": "^1.0.12",
"ngx-bootstrap": "^1.6.6",
......@@ -54,8 +55,8 @@
"socket.io": "^2.0.3",
"socket.io-client": "^2.0.4",
"ssh-keygen": "^0.4.1",
"term.js": "0.0.7",
"tether": "^1.4.0",
"tty.js": "^0.2.15",
"xterm": "^2.9.2",
"zone.js": "^0.8.14"
},
......
......@@ -67,11 +67,7 @@ label {
background: #2f2a2a;
font-size: 9pt;
border-top-width: 1px;
<<<<<<< HEAD
left: 0;
=======
left: 0px;
>>>>>>> github_dev
padding: 1px 20px 0 20px;
position: absolute;
}
......
......@@ -10,7 +10,7 @@
<label for="hostgroup-{{i}}">{{hostGroup.name}}</label>
<ul [ngClass]="{'insearch': q }">
<li *ngFor="let host of hostGroup.assets_granted | SearchFilter: q" (click)="Connect(host)">
<i class="fa" [ngClass]="'fa-'+(host.plantform||'undefined').toLowerCase()" id="fa-{{i}}"></i>
<i class="fa" [ngClass]="'fa-'+(host.platform||'undefined').toLowerCase()" id="fa-{{i}}"></i>
{{host.hostname}}
</li>
</ul>
......
......@@ -166,12 +166,12 @@ export class CleftbarComponent implements OnInit {
this._rdp.Connect(host, user.id);
}
}
// if (host.plantform) {
// if (host.plantform.toLowerCase() === 'linux') {
// if (host.platform) {
// if (host.platform.toLowerCase() === 'linux') {
// jQuery('app-ssh').show();
// jQuery('app-rdp').hide();
// this._term.TerminalConnect(host, user.id);
// } else if (host.plantform.toLowerCase() === 'windows') {
// } else if (host.platform.toLowerCase() === 'windows') {
// jQuery('app-ssh').hide();
// jQuery('app-rdp').show();
// this._rdp.Connect(host, user.id);
......
......@@ -46,6 +46,17 @@ export let NavList: {
styleUrls: ['./control.component.css']
})
export class ControlComponent implements OnInit {
static active(id) {
for (let i in NavList.List) {
if (id.toString() === i) {
NavList.List[id].hide = false;
} else {
NavList.List[i].hide = true;
}
}
NavList.Active = id;
}
constructor() {
}
......
......@@ -69,4 +69,5 @@ export class ControlnavComponent implements OnInit {
ControlnavComponent.checkActive(index);
}
}
......@@ -6,9 +6,10 @@
*/
import {Component, OnInit} from '@angular/core';
import {NavList, View, Rdp} from '../control.component';
import {NavList, View, Rdp, ControlComponent} from '../control.component';
declare let Mstsc: any;
import * as Mstsc from 'mstsc.js/client/js/mstsc.js';
// declare let Mstsc: any;
@Component({
selector: 'app-rdp',
......@@ -53,17 +54,10 @@ export class RdpComponent implements OnInit {
NavList.List[id].Rdp.token = host.token;
NavList.List[id].Rdp.machine = host.uuid;
NavList.List[id].Rdp.client = Mstsc.client.create(Mstsc.$('canvas-' + id));
NavList.List[id].Rdp.client.connect(host.token, 'rdp/socket.io');
NavList.List[id].Rdp.client.connect(host.token, '/rdp/socket.io');
NavList.List.push(new View());
for (let m in NavList.List) {
NavList.List[m].hide = true;
}
NavList.List[id].hide = false;
NavList.Active = id;
ControlComponent.active(id);
}
}
......@@ -9,7 +9,7 @@ import {Component, OnInit} from '@angular/core';
import {Logger} from 'angular2-logger/core';
import {Cookie} from 'ng2-cookies/ng2-cookies';
import {AppService} from '../../../app.service';
import {NavList, View, Term} from '../control.component';
import {NavList, View, Term, ControlComponent} from '../control.component';
import {Terminal} from '../../../globals';
import * as io from 'socket.io-client';
import * as jQuery from 'jquery/dist/jquery.min.js';
......@@ -74,15 +74,7 @@ export class SshComponent implements OnInit {
screenKeys: true,
});
NavList.List.push(new View());
for (let i = 0; i < NavList.List.length; i++) {
if (id === i) {
NavList.List[id].hide = false;
} else {
NavList.List[i].hide = true;
}
}
NavList.Active = id;
ControlComponent.active(id);
// TermStore.term[id]['term'].on('title', function (title) {
......
......@@ -12,15 +12,15 @@ import {environment} from '../environments/environment';
import {NotFoundComponent} from './BasicPage/not-found/not-found.component';
import {LoginComponent} from './BasicPage/login/login.component';
import {ControlPageComponent} from './ControlPage/controlpage.component';
import {RdppageComponent} from './rdppage/rdppage.component';
import {TermpageComponent} from './termpage/termpage.component';
import {ReplayPageComponent} from './replay-page/replay-page.component';
import {MonitorPageComponent} from './monitor-page/monitor-page.component';
import {RdpPageComponent} from './rdp-page/rdp-page.component';
import {TermPageComponent} from './term-page/term-page.component';
const appRoutes: Routes = [
{path: 'users/login', component: LoginComponent},
{path: 'rdp/:token', component: RdppageComponent},
{path: 'term/:token', component: TermpageComponent},
{path: 'rdp/:token', component: RdpPageComponent},
{path: 'term/:token', component: TermPageComponent},
{path: 'replay/:token', component: ReplayPageComponent},
{path: 'monitor/:token', component: MonitorPageComponent},
{path: '', component: ControlPageComponent},
......
......@@ -36,8 +36,8 @@ import {SshComponent} from './ControlPage/control/ssh/ssh.component';
import {ControlPageComponent} from './ControlPage/controlpage.component';
import {IndexPageComponent} from './IndexPage/index-page.component';
import {NotFoundComponent} from './BasicPage/not-found/not-found.component';
import {RdppageComponent} from './rdppage/rdppage.component';
import {TermpageComponent} from './termpage/termpage.component';
import {RdpPageComponent} from './rdp-page/rdp-page.component';
import {TermPageComponent} from './term-page/term-page.component';
import {ReplayPageComponent} from './replay-page/replay-page.component';
import {Mp4Component} from './replay-page/mp4/mp4.component';
import {JsonComponent} from './replay-page/json/json.component';
......@@ -74,8 +74,8 @@ import {ElementRdpComponent} from './elements/rdp/rdp.component';
ControlPageComponent,
IndexPageComponent,
NotFoundComponent,
RdppageComponent,
TermpageComponent,
RdpPageComponent,
TermPageComponent,
ReplayPageComponent,
Mp4Component,
JsonComponent,
......
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { TermpageComponent } from './termpage.component';
import { RdpPageComponent } from './rdp-page.component';
describe('TermpageComponent', () => {
let component: TermpageComponent;
let fixture: ComponentFixture<TermpageComponent>;
describe('RdpPageComponent', () => {
let component: RdpPageComponent;
let fixture: ComponentFixture<RdpPageComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ TermpageComponent ]
declarations: [ RdpPageComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(TermpageComponent);
fixture = TestBed.createComponent(RdpPageComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
......
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-rdp-page',
templateUrl: './rdp-page.component.html',
styleUrls: ['./rdp-page.component.scss']
})
export class RdpPageComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { TermPageComponent } from './term-page.component';
describe('TermPageComponent', () => {
let component: TermPageComponent;
let fixture: ComponentFixture<TermPageComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ TermPageComponent ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(TermPageComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-term-page',
templateUrl: './term-page.component.html',
styleUrls: ['./term-page.component.scss']
})
export class TermPageComponent implements OnInit {
constructor() { }
ngOnInit() {
}
}
#term {
width: 100%;
height: 100%;
}
#term > div {
height: 100%;
}
.terminal {
border: #000 solid 5px;
color: #f0f0f0;
box-shadow: rgba(0, 0, 0, 0.8) 2px 2px 20px;
white-space: nowrap;
display: inline-block;
width: 100%;
height: 100%;
background-color: black;
}
#term .terminal div span {
min-width: 12px;
}
import {Component, OnInit} from '@angular/core';
import {ActivatedRoute, Params} from '@angular/router';
import {DataStore} from '../globals';
import * as io from 'socket.io-client';
import * as Terminal from 'term.js/src/term.js';
@Component({
selector: 'app-termpage',
templateUrl: './termpage.component.html',
styleUrls: ['./termpage.component.css']
})
export class TermpageComponent implements OnInit {
constructor(private activatedRoute: ActivatedRoute) {
DataStore.NavShow = false;
}
ngOnInit() {
let token: string;
this.activatedRoute.params.subscribe((params: Params) => {
token = params['token'];
});
const socket = io.connect('/ssh');
const term = new Terminal({
cols: '80',
rows: '24',
useStyle: true,
screenKeys: true,
});
term.open(document.getElementById('term'), true);
socket.on('connect', function () {
socket.emit('token', token);
term.on('data', function (data) {
socket.emit('data', data);
});
socket.on('data', function (data) {
term.write(data);
});
socket.on('disconnect', function () {
term.destroy();
});
socket.on('resize', function (data) {
term.resize(data.col, data.row);
});
// jQuery(window).resize();
});
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment