{"_id":"guacamole-lite","_rev":"42-cf69fcdc5b3b461f4c19cf392b0b6aad","name":"guacamole-lite","dist-tags":{"latest":"1.2.0"},"versions":{"0.0.2":{"name":"guacamole-lite","version":"0.0.2","keywords":["guacamole","rdp","vnc"],"_id":"guacamole-lite@0.0.2","maintainers":[{"url":"http://pronin.com","name":"Vadim Pronin","email":"git@pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"ace499aa473e2d2964bfe850db8d1eed339f4e8d","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.0.2.tgz","integrity":"sha512-sXB9ieDqWTc/x6rbsm1CO3B9elpRLAoCaPJ0/89zC2jTITBgpY3go8BEwYrrs2HfieNxUkOmu0p9gaa4canVUg==","signatures":[{"sig":"MEUCIFTNsYgQv7D2bN98ImxOWPfYnMl7PI8t1yedCig3xjlqAiEA/KLMRwIGmbM6r/YxKX+pgb253/Pa6ThdujuAb8nduw8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"ace499aa473e2d2964bfe850db8d1eed339f4e8d","gitHead":"7376d34f4f1f53ec1e0509a5ba6d63fb12b6ce4b","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"licenses":[{"url":"http://opensource.org/licenses/apache2.0.php","name":"Apache-2.0"}],"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.0.5","description":"Lite version of guacamole server in nodejs","directories":{},"_nodeVersion":"7.4.0","dependencies":{"ws":"^1.1.1","deep-extend":"^0.4.1"},"repositories":[{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"}],"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.0.2.tgz_1486632853240_0.5439879652112722","host":"packages-12-west.internal.npmjs.com"}},"0.0.3":{"name":"guacamole-lite","version":"0.0.3","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.0.3","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"1adb1923b302cb38a613f2c834b2a032f09a64ff","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.0.3.tgz","integrity":"sha512-b0/4O5zjnenpIAYu8yIVwyDRR/iiRsUDSPnXY2cIooRq1Q7/OxIKcfVgYqg3SBg2DRFqIAwWawMxNtCseoublA==","signatures":[{"sig":"MEUCIGINnSJA+TYWfW65JNOwqnIJ4rep6F9JW1AoJ0PmtbYkAiEAj3jk3tFy7LdGQ1h3mCv7IkBE7JKgsQgi2ERPGGNS07M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"1adb1923b302cb38a613f2c834b2a032f09a64ff","gitHead":"cac42c010ae8be010f412df6c9684e3bb1554025","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.0.5","description":"Lite version of guacamole server in nodejs. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.4.0","dependencies":{"ws":"^1.1.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.0.3.tgz_1486647338935_0.005560731748118997","host":"packages-18-east.internal.npmjs.com"}},"0.0.4":{"name":"guacamole-lite","version":"0.0.4","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.0.4","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"29b37893269c230977be20d32078bbc8385f92f6","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.0.4.tgz","integrity":"sha512-oZJYSim9hWUSKHr0cIXeZ/nojib5UWjWDnPix8j31vRDsN3U35imEzlOBHp7rwApez4aFEwYKBXcRviMfWArLA==","signatures":[{"sig":"MEUCIGksu2KrUnoIV9y+IFe3KuTBBuy5kfJcZsFIjUiMHVYPAiEAhPh4xGIL2nbumWIj1INPj6oemL9aaxctp69eKG7C6Go=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"29b37893269c230977be20d32078bbc8385f92f6","gitHead":"b173d62793fc776873ca64d2e408286b0b4e2a55","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.0.5","description":"Lite version of guacamole server in nodejs. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.4.0","dependencies":{"ws":"^1.1.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.0.4.tgz_1486647954970_0.22384003712795675","host":"packages-12-west.internal.npmjs.com"}},"0.0.5":{"name":"guacamole-lite","version":"0.0.5","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.0.5","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"6bd655c4608a5cc8c8f649deb69c72b978d44c86","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.0.5.tgz","integrity":"sha512-vcgdASJyIKvBKsAqWcrgfkE9HjxUFPlyf3S7RsjqkKTjkJ4eM2hZVVhHSduXAcMRSrbl/5SVkwJ8jK/prpG7Ig==","signatures":[{"sig":"MEYCIQCw2Bxx8WpDxJyCW/2brvoK3SxnV3OipwM85YdJh5K8IQIhALVzNIqzOndwhbdcovDrWnefbBm3bb3ogaMt9XdnVfS5","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"6bd655c4608a5cc8c8f649deb69c72b978d44c86","gitHead":"f70f1af15e401033ec20517e3dfcc2175da696f5","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.0.5","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.4.0","dependencies":{"ws":"^1.1.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.0.5.tgz_1486729930761_0.4517838815227151","host":"packages-18-east.internal.npmjs.com"}},"0.1.0":{"name":"guacamole-lite","version":"0.1.0","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.1.0","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"038bffe7108fc3ad4a4e9ac2c6ed80e58230c11d","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.1.0.tgz","integrity":"sha512-kmqM0cIyMpjESvTeDkVcdSMshK4vzTytM/5XCfojmokUFGuEgqSvNUQTKjQJfX0JuJ+Cw3eiJxsmY7UMS5y0sQ==","signatures":[{"sig":"MEUCIBWUXJu/ORxH8MR/vXm8QVtoDV0BiQbHtK+edxeNuVZlAiEAvecG9Oh/pWyvixNW0XM5kVNc/MdQgIzI37b2DEOqgkc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"038bffe7108fc3ad4a4e9ac2c6ed80e58230c11d","gitHead":"5e45b4be0c785edfb46cb60174ac63968436999e","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.0.5","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.4.0","dependencies":{"ws":"^1.1.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.1.0.tgz_1487166915837_0.8457031957805157","host":"packages-18-east.internal.npmjs.com"}},"0.1.1":{"name":"guacamole-lite","version":"0.1.1","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.1.1","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"657d7245479a033dd85d5ed4edecb6c31f70cdec","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.1.1.tgz","integrity":"sha512-GQHg6hp6iWSZ5jYW6soe88wgccp7dPOOrWfxqq6q8pLmkdlSL3QQI9H2TIjxXpU9741IZ7w4JM1emuSyzAa0Yw==","signatures":[{"sig":"MEQCIAzKQ+xbSLLZ++mKY1Qc+Wi+Qv7V5E6p5nsW4mBTNGxtAiBkAW6mZzCOc6jalZlXRXQTVydmnxBmuddlEojMkePa2w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"657d7245479a033dd85d5ed4edecb6c31f70cdec","gitHead":"436d1affbb685ab2590c728358c60d81f017f96e","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.0.5","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.4.0","dependencies":{"ws":"^1.1.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.1.1.tgz_1487167396974_0.44270318024791777","host":"packages-18-east.internal.npmjs.com"}},"0.1.2":{"name":"guacamole-lite","version":"0.1.2","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.1.2","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"fcb8f92f960e33d93fa784b95d7b45ec6d4d7414","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.1.2.tgz","integrity":"sha512-wwo+u+BxBRjgX7oWoTbkdWsWf/0pIGGVX+IdPGBJpesvEG1wIIZaYQ6cvRfXANJZmbHrN5jSMkEPWVr94PSeKA==","signatures":[{"sig":"MEUCIBzCsn6RLfnFgI1bNduV2u2TOduzygQK5qvCwAhd+QgdAiEAi8Df27RGv5k3NPBqZIQ5zFjAl/I2IYngvhP2dUCduhE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"fcb8f92f960e33d93fa784b95d7b45ec6d4d7414","gitHead":"d23093c56530980cd82de51be595b940bcd04974","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.0.5","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.4.0","dependencies":{"ws":"^1.1.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.1.2.tgz_1487168419729_0.21060148836113513","host":"packages-12-west.internal.npmjs.com"}},"0.1.3":{"name":"guacamole-lite","version":"0.1.3","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.1.3","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"51f9cf82236e54768d081c3da232de401fd4f0ed","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.1.3.tgz","integrity":"sha512-OOr1ODVQbFgd3XQ853S56fjAYN+ulPYINAqC1ODVd1l+70yEsMK5RCjhqogsyFMKIZBvuddc6wEWfmkXqm0QMQ==","signatures":[{"sig":"MEQCIDuxuQ0ED0UPQrnwxb2IwkXsx+uh8ZdvOnIBivNgdl90AiBFOKwJaywonbOTBGh5nI52qgXLkLHEIyWX5QAz0bNeOw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"51f9cf82236e54768d081c3da232de401fd4f0ed","gitHead":"d91e80477d1c91d6387fd63ba2e7467371ab933f","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.0.5","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.4.0","dependencies":{"ws":"^1.1.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.1.3.tgz_1487170201961_0.29818719369359314","host":"packages-18-east.internal.npmjs.com"}},"0.2.0":{"name":"guacamole-lite","version":"0.2.0","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.2.0","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"2c8c71d93c632cf2b20d1ecd982b255c50618f71","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.2.0.tgz","integrity":"sha512-sZegmqC6eTrEepLR6Cr5t9aVBW+F21UtvSZGeKZGKV26dtEcnad7djv0zFven72Tmxk4f2YuVahjH1Wjppzc2w==","signatures":[{"sig":"MEUCIBsXlNb96mKRMJlRF40lcjdJg6kYZCQG4vmP6ZZJhsbTAiEAlLzFn9LtWrEauW47heWazFKyetrxl3PgkK8j1+MrNEI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"2c8c71d93c632cf2b20d1ecd982b255c50618f71","gitHead":"ee5be214e298aad1007b16cdf5c6205aac4113d4","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.0.5","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.4.0","dependencies":{"ws":"^1.1.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.2.0.tgz_1487176035445_0.9781504652928561","host":"packages-18-east.internal.npmjs.com"}},"0.2.1":{"name":"guacamole-lite","version":"0.2.1","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.2.1","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"1f6c389b600f230f2b4ae8b5d3712d2bc4f7ae9b","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.2.1.tgz","integrity":"sha512-N8WzmfVOTZPt7BL8Ac4yNBHhTB88Qkz7AYG+Npr3ZA9DlCh8SN7vs/DGnyNWJuqjKI1SCVBudBLK++ENusoTDA==","signatures":[{"sig":"MEUCIQCyiKJiXz9wPb7X0DMUQTjBwydSU+P7j6L76BNeAlhibAIgEarCx4Ifyy6GMS5R3cPDQPJaVFnIRKrcDbZERWtuWro=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"1f6c389b600f230f2b4ae8b5d3712d2bc4f7ae9b","gitHead":"77874c96ec93eecc62ac5a623d84cb4d77feae14","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.0.5","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.4.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.2.1.tgz_1487262475023_0.4880296904593706","host":"packages-18-east.internal.npmjs.com"}},"0.2.2":{"name":"guacamole-lite","version":"0.2.2","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.2.2","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"23f5fe154f11708517fc7d23e844e725ac7b583b","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.2.2.tgz","integrity":"sha512-35C4e4V4b9/dztWT2WbZr783i+UXTKEfvhr9JQ4CzKvlxSqH0NTqtpluX9fW1lLZqfDFlMB6Y67ZcpHRg5DDvQ==","signatures":[{"sig":"MEYCIQCMJEaRKDEZbpaM8xcLWbxvmJ/bq9oYGzMfGuuhqSr7SQIhAOYkGX7RqZCTHE3FOZXNPiqVd3G6ThihWDmRTS3l/Hj6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"23f5fe154f11708517fc7d23e844e725ac7b583b","gitHead":"4a692fd0886300155359662849845b5685db7f13","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.0.5","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.4.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.2.2.tgz_1487263608940_0.6476214698050171","host":"packages-12-west.internal.npmjs.com"}},"0.3.0":{"name":"guacamole-lite","version":"0.3.0","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.3.0","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"e1df5f2e9e7192eb98038876be26be3213f613ce","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.3.0.tgz","integrity":"sha512-WVpA2hlg3hkYCQl+vwPTwkhan0byW6ltGRNlnUc2O9IxcxZWKEutZ/iYbXtYuT76v+RJE1iTWOZkgM2JX3TSjg==","signatures":[{"sig":"MEUCIGqvDcbP7dkwCm6Q7NwN/lNu4yTkO8ui/NwoH+g+tb7TAiEA8xqUco6WQXV+dgwyvuAqTBeBzTkd91/JV1cqQY6fXyk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"e1df5f2e9e7192eb98038876be26be3213f613ce","gitHead":"599f1bfbc3e29f18e2e9b78ac4b5152b8028f241","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.0.5","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.4.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.3.0.tgz_1487402448313_0.8793933624401689","host":"packages-12-west.internal.npmjs.com"}},"0.3.1":{"name":"guacamole-lite","version":"0.3.1","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.3.1","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"ac86f999a92eee34fe286dd61bb261e11e844894","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.3.1.tgz","integrity":"sha512-i/7D2PbOJvWs8D3JXOlGn4e4oEDKJ4TFMuT4SawFf7PP2DEmG5wtrVf+7/HDTG/yJu85R8IPF/4/WF5HytOiwA==","signatures":[{"sig":"MEUCIFj+N7Obnwlg42lya9Tr92wFcoBueE0r9t1AdJV4U6zmAiEA9dl8cNrbH0LIjPUqUCiekDMDluRUFfLp7Yzy9qw7Exk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"ac86f999a92eee34fe286dd61bb261e11e844894","gitHead":"72ad13a9a9dc28fb08985fe1305f4f5c75bd3037","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.0.5","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.4.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.3.1.tgz_1487402802526_0.19920531380921602","host":"packages-18-east.internal.npmjs.com"}},"0.3.2":{"name":"guacamole-lite","version":"0.3.2","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.3.2","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"e711274dc0f6b20def2c7090d241e4bc9d661299","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.3.2.tgz","integrity":"sha512-L08LSgQ17DS/nyp5kcflvQZUApEBEZaUuglaFi5vjG1DNsUaqzhdoWATRa+bFQzCBSeKWuiSshQ3S4CHPHhGEw==","signatures":[{"sig":"MEUCIQD4K73dI8ZzjAw7syFpl0JbZNg+/YRo1wFo/+Lkhifd9AIgGgSwbEQYoXry9+BYVe0gI1gP/QrQm/43WwcnUWIuq0Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"e711274dc0f6b20def2c7090d241e4bc9d661299","gitHead":"39c83d3bddcdbfcf83029830bd1a5098c090698c","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.1.2","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.7.1","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.3.2.tgz_1489075995347_0.9240284042898566","host":"packages-18-east.internal.npmjs.com"}},"0.3.3":{"name":"guacamole-lite","version":"0.3.3","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.3.3","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"8dbb2f1298f3e3fe5d94e93666a40b1580515ec7","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.3.3.tgz","integrity":"sha512-H0Ix9ZHCy+DLEQB3zhC9H37GSCcJubDpCQKaXXEB9OTlVzpzeKdojWXYaiF9E0idKwy0+kSr+lxZOK36zK3AfQ==","signatures":[{"sig":"MEUCIQDVWLIC022H5kVMfe+B9SKsXRXS55IQSRVOtPS5mkRqiwIgTp6ODWq382OLBNKu+t1wR/ywQ0Xmq2mUq2UOQ5QN6fM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"8dbb2f1298f3e3fe5d94e93666a40b1580515ec7","gitHead":"4c4e0a0b68b9070bf61d5d863698209fbbca25d3","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.1.2","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.7.1","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.3.3.tgz_1493889729960_0.5096014358568937","host":"packages-12-west.internal.npmjs.com"}},"0.4.0":{"name":"guacamole-lite","version":"0.4.0","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.4.0","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"77f6bc1eb4a9fab846ddbca903f1e10e29fb6cf8","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.4.0.tgz","integrity":"sha512-rHhXVL42U/bjxzKl9OjJGt2CyZxM2Z8chPplXbaz0c5q6wNkXoSZgawZflui7KxGlljIALhArW35U9DcZ8ODkw==","signatures":[{"sig":"MEQCIGLgC3Z34CoGlkyIyXtPG029702XQZO3LkYh0ePIQE7fAiARoKuChL1F4cHPxqVnl4wRuzR2IZUsvzSEW/KipSFcwQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"77f6bc1eb4a9fab846ddbca903f1e10e29fb6cf8","gitHead":"403d9fea38af179b8c3771ccde039fb207ae454c","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.1.2","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.7.1","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.4.0.tgz_1493902902437_0.9262730304617435","host":"packages-18-east.internal.npmjs.com"}},"0.4.1":{"name":"guacamole-lite","version":"0.4.1","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.4.1","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"0d12ed99e6c01542468dd10f12efebbcd14f9634","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.4.1.tgz","integrity":"sha512-CfXEh5yHQFP3lOZYvFd8CcpoHFxGkarHEBeVerEZsQwdFrGSOg9EiQ/bx7+HasG4y92N80NATXWkRg9dQSdofA==","signatures":[{"sig":"MEUCIFBnd5ncJopuBSZfcRJttHqOmdl66fcop0KdAM7vGLIQAiEAgmIqw9dQhJ2F/QxNrYTm8PWODN+AuwsvQWfczp9aPWw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"0d12ed99e6c01542468dd10f12efebbcd14f9634","gitHead":"0f7f3090f0a8ea5fb518eeda0864bd93127e14cd","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.1.2","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.7.1","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.4.1.tgz_1493915212349_0.6303396739531308","host":"packages-12-west.internal.npmjs.com"}},"0.4.2":{"name":"guacamole-lite","version":"0.4.2","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.4.2","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"83c9d1dfe36a68a18f3265b092b7996222746161","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.4.2.tgz","integrity":"sha512-YUCPIfh0GUZEkMwfqtsJuFHhRPSjVfTEMsxRrL1b+EfOuw2tdaT9RW1xPNiluBmWQgGXY1Pvml0x5suXPCw91g==","signatures":[{"sig":"MEUCIQD2evvQL6kdnXMceCCZWHpZNFPrklUciWnfc5B+XfzB8wIge7NnCMGyBXUMjsUpVKvNDpayxpmnYd4lK7EY6Pwh9Mw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"83c9d1dfe36a68a18f3265b092b7996222746161","gitHead":"66a8e4350f2a7436d890a6281f4d9fa41fcd02fd","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.1.2","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.7.1","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.4.2.tgz_1493915562681_0.38005702453665435","host":"packages-12-west.internal.npmjs.com"}},"0.4.3":{"name":"guacamole-lite","version":"0.4.3","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.4.3","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"70997bf06a1bfca823558c375070eb25501a6920","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.4.3.tgz","integrity":"sha512-fgNwc2iJ3rOJsgJ4SDNdSQ9ER6MAFyq5Sir6+UKJ6q2bsGyLBH8ZYpT/xNvxNna+SOt9CSmbJ5NhzWw7Av3jrw==","signatures":[{"sig":"MEUCIQC+ew6i9ojqjrrqBurJq3EP7tU/l0Nw8ZAVE4+u6vivhwIgCI5s62oYNFl2Hl06Y/mOHQJtigGwn9Jw7tcg/nAHeZk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"70997bf06a1bfca823558c375070eb25501a6920","engines":{"node":">=6"},"gitHead":"9488f5fde0743e538cd760d27aee9694577bed4a","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.1.2","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.7.1","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.4.3.tgz_1494327304986_0.9548255228437483","host":"packages-12-west.internal.npmjs.com"}},"0.4.4":{"name":"guacamole-lite","version":"0.4.4","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.4.4","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"d7546ad3186769bb2b2542323045af0d5b5221d1","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.4.4.tgz","integrity":"sha512-TO+dwIJhn9SMfp2RySmEW3eVsnYy0otIVEhmQ/noj7ozIS8jj0AyHO/X9N3CJakqqOQo7M28sqVAOFWyLf9NRg==","signatures":[{"sig":"MEUCIDzLIQz6mITGB9YQD99pq+EHBYeV6v7NWQ6Iwc4Fp4ADAiEAjzwzcPx2WBQsCftVVPEylY52ScCkMq76x5FtfNb4r9U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"d7546ad3186769bb2b2542323045af0d5b5221d1","engines":{"node":">=6"},"gitHead":"0ceae02a77e66e70d5e343d72c48710694455c33","scripts":{},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"4.1.2","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"7.7.1","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.4.4.tgz_1495800713258_0.38835039688274264","host":"s3://npm-registry-packages"}},"0.5.0":{"name":"guacamole-lite","version":"0.5.0","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.5.0","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"17fa193d18dd891b0a11a137e11a7fb2e7779032","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.5.0.tgz","integrity":"sha512-HKSzRA/OKVAXILkwcgclR9MUfnguIndlKTYrt3obT37iOTothH9sad8C3Vtwcf6jKk5CKMq3mlr7DQ+NzW1oIQ==","signatures":[{"sig":"MEQCIDUJwsFW9gI6YpDmbe4qc29AIMWUMuVHqdliobdcSTVwAiAIMGzmqJK67iycp5v8wS7ZO8RxWjR2b+VZNzo4lkg90Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":">=6"},"gitHead":"0d75ed6782f434abdb9b4a13db3bd2010044ec40","_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"5.5.1","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"8.4.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.5.0.tgz_1510085212476_0.6486842746380717","host":"s3://npm-registry-packages"}},"0.5.1":{"name":"guacamole-lite","version":"0.5.1","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.5.1","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"c81d779f625b6582213b215ebde87b9f7ebc6bb0","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.5.1.tgz","integrity":"sha512-FRQspZRzf9JTEXBIxgH72rDLi0xgOKFWo2OQEanfBM6lIBoZJTxVTvP4x5Ln2fGGEX0p38KD63NfLaKAcAD+rQ==","signatures":[{"sig":"MEYCIQD2JpvyLOtK/WtRno9gr5z7J3a3Xk6r2v6RPb1s2DJk2wIhAPVDruiaQuKFFsZlIvOXwASbmev4L52pc7RJLwbhWTGS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":">=6"},"gitHead":"db02f91950ed880d58f0615c68d926200b245646","_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"5.5.1","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"8.4.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.5.1.tgz_1511451047203_0.6734544271603227","host":"s3://npm-registry-packages"}},"0.5.2":{"name":"guacamole-lite","version":"0.5.2","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.5.2","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"66c149297c68e1a2f24c0cd1ca3bc3fdc672d965","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.5.2.tgz","integrity":"sha512-CCQ1vb+3fjyImxgSWTsCjwnzz6udALSU5Z+9sSp2xaGlJnMe9jWbgP1fJpQew+MPF79JIDf0FduhVKt4BtEhlA==","signatures":[{"sig":"MEUCIDbZ5QXlGFwi0ZhwXYaAgMfu3EPKZP2pLRrvRI5SS+A+AiEAiH1/14z0flKXLr0CFs09/Zn3H8pJBYmmnA7NfM68jEU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":">=6"},"gitHead":"626049f86f0ec16567bfcdc07c3553bc939c189f","_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"5.5.1","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"8.4.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.5.2.tgz_1511458139246_0.8473934836219996","host":"s3://npm-registry-packages"}},"0.5.3":{"name":"guacamole-lite","version":"0.5.3","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.5.3","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"ee236ee6566c0192e60f5cff8804b84fbcecbcac","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.5.3.tgz","integrity":"sha512-G97ZhD4RjRp4IzhAZerPZP70YfGPONM6g1a7sj1/Sotizr1dXD9helNmfC7eR8623axU9DOzvQNRV9Qf3tTtqg==","signatures":[{"sig":"MEUCIQDIbVrNMPalmeKU5UQw7BMsWQrC7Qvl8xKTa0vS0DvlqQIgKoVii/yUpt4EXv+7chP18hLfC7Hn/833KAJjt7RoKJQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":">=6"},"gitHead":"140cdf1e43b68d11c0a0fb66d4188baecefce4bc","_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"5.5.1","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"8.4.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.5.3.tgz_1511458825091_0.9787892308086157","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"guacamole-lite","version":"0.6.0","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.6.0","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"e235bad6233182f807e9ec15c1831af0b10fc6ef","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.6.0.tgz","integrity":"sha512-V84Pt10X/NbFM8usjUbjyuVgvFUNaAlSrP+o0eOpTSvgMWtZRl3G2TZgZPggsyoPcPRCwvm/0GKClkxzMYXNQA==","signatures":[{"sig":"MEUCIENiycH5dxl0kdSPC2eSTit24xGUvkLqxC1Z8BMvI5uiAiEAppnxq8yb7TM0cWv14a/Njonuce4J0yuXOTpnVJVDDfg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":">=6"},"gitHead":"5617e3dc287ace818ac22a37ff35d21d723408d0","_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"5.6.0","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"9.3.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.6.0.tgz_1514374285528_0.14146381034515798","host":"s3://npm-registry-packages"}},"0.6.1":{"name":"guacamole-lite","version":"0.6.1","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.6.1","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"5429ae275699e00ce6bd4d87c4c91e68f09b42db","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.6.1.tgz","integrity":"sha512-t8JkeDXhqS1I0KUyvfw4takXLvTxNq2hGZwx+KJiloNq7rhI8Mvm7M28cVeS0OsWTCHYPfAEkjYsw9r9ZNJsZA==","signatures":[{"sig":"MEYCIQCXm1mq0aUj0OF+H/JqHYRtaRgcW4bfRJDwMKCa+aapGgIhAIUQ3WMveYZXGxNZAE+Y6nCAtrPC3dh3B2bOk5GFhQ1H","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":">=6"},"gitHead":"50b5bba1ae9b033a33b31d14538da88704c7fdd2","_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"5.6.0","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"9.3.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.6.1.tgz_1514375923857_0.045743025140836835","host":"s3://npm-registry-packages"}},"0.6.2":{"name":"guacamole-lite","version":"0.6.2","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.6.2","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"19f421f88efb258c0b4280f98040a66fa8dee3b8","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.6.2.tgz","integrity":"sha512-A2k1Rx1/30DJ2uQvuOcfLdou/JuZ7bgtmVkuiWRUKqdLoyZKgKD629KYkvvt+fuKYVEaNVVIq1ml6y3X3HW4YQ==","signatures":[{"sig":"MEUCIQChTWiJwojTBydCjc8lWEV1iQoz0aHtgfkjmi/DZbsv9wIgUhIsHDuBlG0I4Qay4l/wiz4pFDRYA+yajAiHdTJfduE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"engines":{"node":">=6"},"gitHead":"03d688a1f8633fca1f6620c955a0b31dff5f3a41","_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"5.6.0","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"9.3.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite-0.6.2.tgz_1514377255736_0.34163810568861663","host":"s3://npm-registry-packages"}},"0.6.3":{"name":"guacamole-lite","version":"0.6.3","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.6.3","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"375ff4bf6cb331ceaf0bf6ee8bd37761c754cf15","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.6.3.tgz","fileCount":8,"integrity":"sha512-DwSjyr6RLAlH3Nuell/2aQ/96PZQkmtd6UX9obeqIgQBcC2f2rKnr/rS6jpsN8RJ+VFRlp9NAzsxciM03u4kCQ==","signatures":[{"sig":"MEYCIQCxZfLriMs7RRAWjfpS6ZrCp+WfF6Lh4FNnCbGFxfERsgIhAPqSX49WbYGRV7E2B2ZGwh3FUWR9RuGblpEQPe6pTsHH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39912,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEoIqCRA9TVsSAnZWagAAnvgP/10kny08M06MUvDjD99l\nq7iGIy4W9/aft8PtaCo8wYSEz1MR9ASEAOjXEW7v7zN+c+ZP3DDyw5/uB7yy\ntaOWUZzjQvkGuRALpv/fZvfNHOozVIHYlMx+wIQrO0vwQPQPK0ioeTxCnYcp\nrFY9BIGdoc9l7djld8P3zEkmgQS79bXx59hiIB0dgLZ4LPvAb2bCHfb376q7\n7/dzIxgQrd6CyoPHAMV6XRQyptevMaUWZRnj6dEGZwF88tyzB6s3juPvQjL7\noelHCoabktl+IKGBH8uL7Z+cW/byPWg++JjFu1y2hHC39Refbb8/MP+izB7n\nYTq6staJ5yGDxOwiwZQ49oLwJGwVoRi4a+KPIspD3CZVzq6R/Goopcszn7Tc\n4Amm1lWqS5hD6/kz6uPf7agRYFmln8Eb87pfuUPNUBDf2QOYYBgT/AJUQNRn\n06AhmT/Okmf5BgjQBRHNkzadd5OavqjWMNBU70aB9hOx8VReSjs4oiQ6GJnW\ngrMgz0GhcuzggKcqOap/CxoV1lpFAk73A8+xQxU4lrTiUC4YZFEu0oV0hSy5\n8NiLmWqLnNsa1v0zOV8HplLAlAATvY2qxSYiFRRQlJUc3x2d+T/CbcWjkrwM\nlcFsSG4vSNc42Nl9y3zNva5e1tIYexfbn1rXdnCJWy4T3LiQG+4nzSIDhqW4\nm9/6\r\n=4XWh\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":">=6"},"gitHead":"d72a2feed7f8d25d4e15d8878bad21138a231680","_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"6.14.6","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"14.1.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite_0.6.3_1595048489767_0.0021642557970127374","host":"s3://npm-registry-packages"}},"0.6.4":{"name":"guacamole-lite","version":"0.6.4","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.6.4","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"4300b5e5abf35fcd67929a818e33c7e705a799f2","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.6.4.tgz","fileCount":8,"integrity":"sha512-7EVA90qEJyGtSUv8crxjKZ7ZI6OfVd+ajhJaXcZOKX563fbzuypZT5zd2frgV9vCPIFlG+1uKlCH9wOUsocQ0Q==","signatures":[{"sig":"MEUCIHHOuNsw+2j+7H9UQhiqpzQOyhwjw+524LZGYOR3zoamAiEAhg00qFzBZSv6FwV3hylTH8POSYzrlFF6NfvBsGW1lZk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":40005,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2tvhCRA9TVsSAnZWagAARfAP/0xwCwVzKYanL2cECRSU\nJSFpkjJvNisnFXbbXiUJUvNeoIB20PRJGui+X0NAoMpnBY7odbzitGRzJ2tB\nKO4aNPcBzuUj/6dZcPv1UKPXY5JL74MzzQuIvD5wYFwjicMehIu9dGqXtWjr\nkX9O7RqvqHdDRzUfkEvUeiBK/LJ9MqwbIzqht1xn0UU5Ju/uvCSJhCBzhXaG\ng55K3DRJqKhdppL+QLxON5+O3b4VsfAVFINGZ1934fGT8qUgWg9DMb+nJ9Xl\n4qSFG/dE9J9nRRLzdLa3maRL80vib8o5AnWbjqwE+o4COc0QBN/Cty8BpEOI\nw0m0e7dA+JIVC3hPKgbg5CjOk1i94VJO0Wft3Q6e7fXkfkPM83PVNf5Le+Sm\n4j4NbHRJd3Uk0k5mCBMFy72CPeHiqqQoYN/vyvoMX/JnoCXB/0TXM7HzFWxz\n5ktM3XZ1RplwT5/OLMOTJKLYkj1JKI/9gnLsEOHP5qzHMsEHw/zgiLigw6aD\nYWztEXE9UEZ8VxCabeq6s2iPSOEwKZaEHhfWhLsJEu5gCGEjLjFN+Eg883VP\noUCHYQI/UbbSkVU4fRcHKVGRN0+zndFURPeSBRfaaZ8D8RUhH0PPc3asZdkb\nUOdWP48VbPVh4gG9abq3kesyt6SAe/+j7hMU5WeSyvoOLGLz0FcGTzMs1vxC\nz0HI\r\n=mZ3r\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":">=6"},"gitHead":"a51a00d14b07bdb45c82fcde0e3ce6e0b0484fce","_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"7.18.1","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"16.4.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.4.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite_0.6.4_1624955873150_0.06555204886183752","host":"s3://npm-registry-packages"}},"0.7.0":{"name":"guacamole-lite","version":"0.7.0","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.7.0","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"8256651306e22c8c84d16ad0398cded4a2e6653a","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.7.0.tgz","fileCount":10,"integrity":"sha512-onO/z44fzOdJF7/NiLyR2Ui1SbQ51Nlq5koAUXMbEoHAiaxuj+78WTbnH3vbl+7EJeKo2I9GDoJjX7FdYTc2xQ==","signatures":[{"sig":"MEQCIGMCZREvekLQtApjvZuZDX+VIel31+W/sMKlfI2KGNXAAiBPKZL8rniMevV2VkoNn6vq5wI2xTD52N3AfkiC6W2GdA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41615,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2symCRA9TVsSAnZWagAAbBMQAJTEUzVkBVCoL8kx3GeE\n8EiKGqwyveRMGo12luokXnlnbuU2mlDh37o7hJOXtd9pzS6musH55m68gCiG\nHmy9wifHHtP2QZxYt8boTtfdeB7XkDSc008H8I6WBy/dqkWQR47j7fuRQuEl\nO+Ko5r4osKhi+5D4leh+7mWlVXLLgdcxZAMspXvSxeVndGFBb3opn//5ZE6Y\nodLoxSBaVl5gB/XBd2OfgjiWBJHpc6QGqgBCzTMLmnQMzjFiP3q+zwg4c/KO\ncaqc8ahf9z+gh1I4jmAzZUiY9lieVCN7ZY3t4aTSy8KtAYL2Zr1+pvSxC6q9\nnD3TuLBCILT+qHPU/X+t6eyCabMz7Ch2luPKRc9UpLCUGNnWb28MzmPOdeR6\nSZ7SacF3r0yDVOWVSZqsM2VLgEyVi2HxuV3pHbGIqd4DMXeaQtXdDTSdwMjJ\nXOzRclnPlmJkBG6TT5iC/ZdOC9jVpGpYJdzDAFT1WocD49D12vpzWmgDBTu4\n49sxClizMqRdrbj/mHxC9gEROeArC4oivbg/IEJU9sxP5YnN8aas61aFnQ1G\nnMUIDK0aH18bkc1/AIleePHdqhCEhMsgo3EcIZZsAbKpud9V/fmCMedf/bMJ\nZUABIfkej8aSO7H6hhxe4XjTpbdwahxKIEBceStE8VPGpcpUPmmwTA229qDt\nvxok\r\n=H5AR\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":">=6"},"gitHead":"dfb72f5d2b2c98bca26b723fb1ed5e4598ce9a43","_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"7.18.1","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"16.4.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.6.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite_0.7.0_1633678358895_0.15098622877420897","host":"s3://npm-registry-packages"}},"0.7.1":{"name":"guacamole-lite","version":"0.7.1","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.7.1","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"140f6d47ca28a69c19659976d2d6a73e53eeb29c","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.7.1.tgz","fileCount":10,"integrity":"sha512-agTG6rbZdHyDgfA+fbnDTTsdv3uMvBd9QyT4r3HbzWCJuBpDfuy+6pbrfBJ33u5OIVT0NFhouiYipL4cJHwi6g==","signatures":[{"sig":"MEQCIG4maYsn0jQKHQkXUu/zju00BLMn0s+8E1KBXC4HnKQuAiAQB8eTDvDBqT4adzObKBfNCM0Lf2VdiJqPBNdUfjVNSA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh5rmnCRA9TVsSAnZWagAA1/cP+wdtd9W5j3qcizB43Rea\nm/n7qC5Bj/HqRnPK2mBHrGeDdPJtZSuQ8Hqb4j3Riq3ScDhumM3m3oQsLtEr\nMBZxiRCvLC0taiJvlSasc2zSYUbgazH/QHPlmw9h8ZfLBePoHgflKD8HCZem\nbvjsmBBOb5pq/l20F9ARvMPZg0wgV0cxVTGkLoaGuEFv9XBFrOfzSMtDV1y0\n6VvQ8UmEhJ3pZ+8aqQVa2OYGcbrx2ZyEWmW2P6redCID1H5nhZrOYVhBVeDD\nu87IHNrlhTyMmLYKPX0R2uyXFmNgzPugBk+bfTUu8aOFv48C5gugjPSnJAYW\nkKIYckX8jcSvzXSeSdfEeF/znYbZX30nnZHkpLfqXPBXqU0/6b/hsaNS55Rq\ns8+2/qNWsMbd5l6Ltnu4+XMhnc77h/RrFQuQTsqHohitfh5o7KZC//VorUEf\n8k8X0NoN6hElwemH4bp+JcGeI1loUu+Wc9q+qs07SbA2e8N8tJj6w6M5EK+9\nNjTt9lEbaeQ5SyCg+G3Tg4ddyqzls5m+oNAJrAb/lXDX6y/UxnWOA94NqqzK\n2wZfFG26EgRou85oq5JH1Bh5uyJPGZDARkmQ4vcPGXyP9p6jtCTvnpXvI4iV\n0J8bAVP8JUptQU2uimaxggkHuF9t3xYL7/fC6akxm0LK+3QMbjkr56VGtxTk\n+poa\r\n=esNm\r\n-----END PGP SIGNATURE-----\r\n"},"engines":{"node":">=6"},"gitHead":"d2f4ce1ec1847781ca3667066c9e286624d8e432","_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"8.3.0","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"17.2.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.6.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite_0.7.1_1642510759746_0.013825089428368686","host":"s3://npm-registry-packages"}},"0.7.2":{"name":"guacamole-lite","version":"0.7.2","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.7.2","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"1e0a21be8786c775c5fee79a8fc3870d6fe24f86","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.7.2.tgz","fileCount":17,"integrity":"sha512-JoFu1ni+zel3wcU5PCKsA1kuKZHLuE63pc0oRm48w05D0jDMDwVrdWvvexNmlSI2lTZnwqC2rR7NvmgdEi/AYw==","signatures":[{"sig":"MEYCIQCfyo9jwb2xIRTz41xZZGqGkvdkATekn6chT30iEWECXAIhAJsn0UUttMKcShHr1lBB+wJuVOolPFaq02gpoyt3MVBz","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":131312},"engines":{"node":">=6"},"gitHead":"30195c9d43a876aa000b7d0496e32f560af8b5c1","_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"10.1.0","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"20.8.1","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.6.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite_0.7.2_1703515445612_0.7177874576502243","host":"s3://npm-registry-packages"}},"0.7.3":{"name":"guacamole-lite","version":"0.7.3","keywords":["guacamole","rdp","vnc","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@0.7.3","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"c23329bf64a6c8ec0a432d9748973cf40b62bef1","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-0.7.3.tgz","fileCount":17,"integrity":"sha512-BXq7BpleikHe+B/Z1NSJIlTzzAnEX87eFW9WCl3aZ5DoEaGcNbVD9Tzj8CUQI3FFYk1LqtZ31MxlRdVojDLVLw==","signatures":[{"sig":"MEUCIQDIZfqwlWja2pOd5CNRKOhlRujG8I3lz6MW3PONZ835kQIgXJuuRJTMcUAzuE3fLt3HKHIqzpgdS5+t7HKnyO/iNi8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":132660},"engines":{"node":">=6"},"gitHead":"87815ea95534c9813d461868cdab54e1d9b9bcbb","_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"10.9.2","description":"Lite version of guacamole server in node.js. RDP/VNC client for HTML5 browsers","directories":{},"_nodeVersion":"22.14.0","dependencies":{"ws":"^1.1.2","moment":"^2.17.1","deep-extend":"^0.6.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite_0.7.3_1745350437929_0.1384838327596445","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"guacamole-lite","version":"1.0.0","keywords":["guacamole","guacamole-client","guacamole-common-js","rdp","vnc","ssh","telnet","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@1.0.0","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"732785ee1abfa05d524f44540c0ebeb967aba904","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-1.0.0.tgz","fileCount":38,"integrity":"sha512-BLt0uIxX7/nT1t0IaVRMSJysc8NZQLeHp37TP3L7qoNYHwRWOf+vI0WUFtWfxRGGVpQ/VD36Ur6vcr1jJHwNUg==","signatures":[{"sig":"MEUCIQDzcHts6jtznmOL1XIIeK+NwLpkhT5XnrHGbGhYQxIrEAIgGsy4qdvxOwstEu3aBpLfTZyyxpKK8l423c1UUYSRJN0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179794},"engines":{"node":">=10.0.0"},"gitHead":"69243e7d46d8d3bcdde84a87e463c2e86d697b79","scripts":{"test":"jest"},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"10.9.2","description":"Library to create servers compatible with the Guacamole protocol. Guacamole is a web client for RDP/VNC/SSH/Telnet","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.15.1","deep-extend":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.1","@types/jest":"^29.5.11"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite_1.0.0_1747656135807_0.02622782728044948","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"guacamole-lite","version":"1.0.1","keywords":["guacamole","guacamole-client","guacamole-common-js","rdp","vnc","ssh","telnet","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@1.0.1","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"e492b66cf97c1880ad960819484d29b8c5c86116","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-1.0.1.tgz","fileCount":38,"integrity":"sha512-G6zVCGEDG2w8PezUScM8F5BK/4fOHnbPdy54S+ok+M6dxm7WP2JL4kJMXOyWZHkUn7rQAOYe1Z9/YV30tgeKAw==","signatures":[{"sig":"MEQCIDRikGbJY+sAwMiD6CX5z3jMD1mB/5qk1qN/gWBkeQxUAiAN0npyLUtqwbcVjG2YFtOXgDxf4+rym6JsaVMLQ6BR/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":179794},"engines":{"node":">=10.0.0"},"gitHead":"2dd22c248a0b397b72e02c765a922a7ba94351d0","scripts":{"test":"jest"},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"10.9.2","description":"Library to create servers compatible with the Guacamole protocol. Guacamole is a web client for RDP/VNC/SSH/Telnet","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.15.1","deep-extend":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.1","@types/jest":"^29.5.11"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite_1.0.1_1747656494161_0.7617528047771618","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"guacamole-lite","version":"1.0.2","keywords":["guacamole","guacamole-client","guacamole-common-js","rdp","vnc","ssh","telnet","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@1.0.2","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"8f8aacf4645dd7e1834901f269577370e903680c","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-1.0.2.tgz","fileCount":40,"integrity":"sha512-SPZocDICsapoimgVX4Y346TgNXrZnUZgrTYFvnFycthdo80t1mvMv9uL+kyrTykipKXCfW9OZ0x1XeH869pEkw==","signatures":[{"sig":"MEUCIQDqPJOCte0LMVpb/Xpz5PKhIXH0Gg088JkX7U4igBHVfQIgczNRp9xhz3iUr/0Fk+JFOPbgans45VXfTbPLLIkurC0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":181300},"engines":{"node":">=10.0.0"},"gitHead":"87972308c036737a1bffa49cb060628d67c4ca8d","scripts":{"test":"jest"},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"10.9.2","description":"Library to create servers compatible with the Guacamole protocol. Guacamole is a web client for RDP/VNC/SSH/Telnet","directories":{},"_nodeVersion":"22.15.0","dependencies":{"ws":"^8.15.1","deep-extend":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.1","@types/jest":"^29.5.11"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite_1.0.2_1747728960481_0.024232648217950015","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"guacamole-lite","version":"1.1.0","keywords":["guacamole","guacamole-client","guacamole-common-js","rdp","vnc","ssh","telnet","remote desktop"],"license":"Apache-2.0","_id":"guacamole-lite@1.1.0","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"homepage":"https://github.com/vadimpronin/guacamole-lite#readme","bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"dist":{"shasum":"3de813d3bc976b198880d9b0d1cb86003491885c","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-1.1.0.tgz","fileCount":55,"integrity":"sha512-bMdGC6yZ7X1UNdy/7VZFLIvrL8p+t9KpV1BUBEiou0J0MBtTPuhsl9YzQcjnAt1p1cwnmLW3XLkEhbtw254ocA==","signatures":[{"sig":"MEUCIQDTVGDi+01OSVQECvPUyfBc0yTN8lAwEZvUD+N5FBl4CgIgLHgY/rOO03BmuapuFmPd+z0wGj7UT/l34En6Wp16FMQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":444284},"engines":{"node":">=10.0.0"},"gitHead":"b28e02911d011470613dafad28b849af979fbc9f","scripts":{"test":"jest","update-vendors":"node scripts/update-vendors.js"},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"repository":{"url":"git+https://github.com/vadimpronin/guacamole-lite.git","type":"git"},"_npmVersion":"10.9.2","description":"Library to create servers compatible with the Guacamole protocol. Guacamole is a web client for RDP/VNC/SSH/Telnet","directories":{},"_nodeVersion":"22.17.0","dependencies":{"ws":"^8.15.1","deep-extend":"^0.6.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","ts-jest":"^29.1.1","@types/jest":"^29.5.11"},"_npmOperationalInternal":{"tmp":"tmp/guacamole-lite_1.1.0_1758016155305_0.7139514854127","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"guacamole-lite","description":"Library to create servers compatible with the Guacamole protocol. Guacamole is a web client for RDP/VNC/SSH/Telnet","version":"1.2.0","keywords":["guacamole","guacamole-client","guacamole-common-js","rdp","vnc","ssh","telnet","remote desktop"],"maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"dependencies":{"deep-extend":"^0.6.0","ws":"^8.15.1"},"devDependencies":{"@types/jest":"^29.5.11","jest":"^29.7.0","ts-jest":"^29.1.1"},"engines":{"node":">=10.0.0"},"bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"repository":{"type":"git","url":"git+https://github.com/vadimpronin/guacamole-lite.git"},"license":"Apache-2.0","scripts":{"test":"jest","update-vendors":"node scripts/update-vendors.js"},"_id":"guacamole-lite@1.2.0","gitHead":"d60ad34dd4c1dca39fe6fa04bb8ac45cdd594eb1","homepage":"https://github.com/vadimpronin/guacamole-lite#readme","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-NeSYgbT5s5rxF0SE/kzJsV5Gg0IvnqoTOCbNIUMl23z1+SshaVfLExpxrEXSGTG0cdvY5lfZC1fOAepYriaXGg==","shasum":"90d00d9f42585724ff957c6dff8ab552a81dad42","tarball":"https://registry.npmjs.org/guacamole-lite/-/guacamole-lite-1.2.0.tgz","fileCount":59,"unpackedSize":425197,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHmeM7ybKotdDpzFHV9vyrWNzCfBSK/cnK9DyBxmue+cAiEAi0ZAQySbAV9solBen50bYafCCZSIz+OoROJ+RcIAcRA="}]},"_npmUser":{"name":"vpronin","email":"npmjs@mail.pronin.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/guacamole-lite_1.2.0_1758017332530_0.408090816387511"},"_hasShrinkwrap":false}},"time":{"created":"2017-02-09T09:34:15.023Z","modified":"2025-09-16T10:08:52.942Z","0.0.2":"2017-02-09T09:34:15.023Z","0.0.3":"2017-02-09T13:35:39.484Z","0.0.4":"2017-02-09T13:45:56.625Z","0.0.5":"2017-02-10T12:32:11.352Z","0.1.0":"2017-02-15T13:55:16.492Z","0.1.1":"2017-02-15T14:03:17.691Z","0.1.2":"2017-02-15T14:20:21.577Z","0.1.3":"2017-02-15T14:50:02.729Z","0.2.0":"2017-02-15T16:27:16.056Z","0.2.1":"2017-02-16T16:27:55.704Z","0.2.2":"2017-02-16T16:46:50.812Z","0.3.0":"2017-02-18T07:20:50.125Z","0.3.1":"2017-02-18T07:26:43.174Z","0.3.2":"2017-03-09T16:13:16.018Z","0.3.3":"2017-05-04T09:22:11.744Z","0.4.0":"2017-05-04T13:01:44.423Z","0.4.1":"2017-05-04T16:26:54.320Z","0.4.2":"2017-05-04T16:32:44.701Z","0.4.3":"2017-05-09T10:55:06.986Z","0.4.4":"2017-05-26T12:11:54.274Z","0.5.0":"2017-11-07T20:06:53.520Z","0.5.1":"2017-11-23T15:30:48.286Z","0.5.2":"2017-11-23T17:29:00.196Z","0.5.3":"2017-11-23T17:40:26.060Z","0.6.0":"2017-12-27T11:31:26.525Z","0.6.1":"2017-12-27T11:58:44.889Z","0.6.2":"2017-12-27T12:20:56.750Z","0.6.3":"2020-07-18T05:01:29.899Z","0.6.4":"2021-06-29T08:37:53.269Z","0.7.0":"2021-10-08T07:32:39.093Z","0.7.1":"2022-01-18T12:59:19.924Z","0.7.2":"2023-12-25T14:44:05.819Z","0.7.3":"2025-04-22T19:33:58.146Z","1.0.0":"2025-05-19T12:02:16.031Z","1.0.1":"2025-05-19T12:08:14.432Z","1.0.2":"2025-05-20T08:16:00.660Z","1.1.0":"2025-09-16T09:49:15.481Z","1.2.0":"2025-09-16T10:08:52.767Z"},"bugs":{"url":"https://github.com/vadimpronin/guacamole-lite/issues"},"license":"Apache-2.0","homepage":"https://github.com/vadimpronin/guacamole-lite#readme","keywords":["guacamole","guacamole-client","guacamole-common-js","rdp","vnc","ssh","telnet","remote desktop"],"repository":{"type":"git","url":"git+https://github.com/vadimpronin/guacamole-lite.git"},"description":"Library to create servers compatible with the Guacamole protocol. Guacamole is a web client for RDP/VNC/SSH/Telnet","maintainers":[{"name":"vpronin","email":"npmjs@mail.pronin.com"}],"readme":"# guacamole-lite\n\n## Introduction\n\n### What is `guacamole-lite`?\n\n`guacamole-lite` is a lightweight Node.js library designed to create servers compatible with the Guacamole protocol.\n\n### What is Guacamole?\n\nApache Guacamole is an HTML5 web client for remote desktop environments, utilizing protocols such as VNC, RDP, SSH, or\nTelnet.\n\n### Why use `guacamole-lite`?\n\nUnlike the Java-based original `guacamole-client`, which is a full-featured client with its own user and host management\nsystem, `guacamole-lite` is tailored for integration into existing applications. It is particularly suitable for systems\nthat already have user, host, and credential management in place, offering a more streamlined approach to adopting the\nGuacamole protocol.\n\nThe main differences between `guacamole-lite` and the Java-based `guacamole-client` are:\n\n- **Integration-Friendly**: `guacamole-lite` is built to be easily integrated into existing applications, allowing\n  developers to leverage their own systems for managing users, hosts, and credentials. In contrast, `guacamole-client`\n  comes with a comprehensive suite of features, including its own database for user and host management, which can make\n  integration into existing systems more challenging.\n\n- **Node.js Based**: The library is written in Node.js, which provides a more accessible and flexible development\n  experience compared to the Java-based `guacamole-client`. This makes `guacamole-lite` easier to extend, modify, and\n  integrate into modern web applications.\n\n- **Resource Efficiency**: `guacamole-lite` is less resource-intensive, making it a more efficient choice for\n  environments where resource optimization is crucial.\n\nBy focusing on these key areas, `guacamole-lite` offers a compelling option for developers looking to implement remote\ndesktop capabilities within their Node.js applications.\n\n## Architecture Overview\n\n`guacamole-lite` is designed to seamlessly fit into the\nbroader [Guacamole ecosystem](https://guacamole.apache.org/doc/gug/guacamole-architecture.html), providing an efficient\nway to develop Guacamole-compatible servers in Node.js. The following diagram illustrates the typical architecture of a\nGuacamole deployment and how `guacamole-lite` integrates within it:\n\n![arch](docs/architecture.png)\n\nThe diagram shows the following components:\n\n1. **HTML5 Browser (guacamole-common-js)**: This is the user's interface, an HTML5 application that runs in the browser.\n   The user interacts with this layer to access remote desktop sessions. The application\n   uses [guacamole-common-js](https://guacamole.apache.org/doc/gug/guacamole-common-js.html), a library\n   that provides the Guacamole protocol implementation in JavaScript.\n\n2. **Guacamole Protocol**: This communication protocol is used by `guacamole-common-js` to interact with `guacd`\n   via `guacamole-lite`, which acts as a proxy. Check out\n   the [Guacamole protocol](https://guacamole.apache.org/doc/gug/guacamole-protocol.html) documentation for more\n   details.\n\n3. **Node.js Application**: A Node.js application that integrates the `guacamole-lite` package. It provides the\n   configuration to `guacamole-lite` and handles business logic, such as session management.\n\n4. **`guacamole-lite` Package**: As a Node.js application component, `guacamole-lite` implements the handshaking of the\n   Guacamole protocol and further forwards Guacamole protocol instructions between `guacamole-common-js` (over\n   WebSockets) and `guacd` (over TCP or Unix socket).\n\n5. **`guacd`**: A core component of the Guacamole infrastructure, `guacd` translates Guacamole protocol\n   instructions into native remote desktop protocol commands. See\n   the [Guacamole architecture](https://guacamole.apache.org/doc/gug/guacamole-architecture.html)\n   documentation for more details.\n\n6. **Guacamole Server**: A server that hosts the `Node.js application` with the `guacamole-lite` package\n   and `guacd`. These components are typically deployed together, but they can also be separated into different\n   machines.\n\n7. **Remote Desktop Protocols**: The bottommost layer includes the various protocols handled by `guacd`:\n    - **RDP (Remote Desktop Protocol)**: Primarily used for connecting to Windows machines.\n    - **VNC (Virtual Network Computing)**: Connects to various operating systems, including Windows, Mac, and Linux.\n    - **SSH (Secure Shell)**: Used for secure command-line access to Linux and Unix-like systems.\n\n**Overall Data Flow**:\n\n- A user initiates a remote desktop session from their browser.\n- The browser communicates with `guacamole-lite` via WebSockets.\n- `guacamole-lite` forwards the instructions to `guacd` using the Guacamole protocol.\n- `guacd` interacts with the remote desktop system using the appropriate protocol (RDP, VNC, or SSH).\n- The remote system responds back through the chain: from `guacd` to `guacamole-lite`, through WebSockets, and finally\n  to the user's browser, allowing the user to see and control the remote desktop.\n\nThe entire process is encapsulated within the \"Guacamole server\" setup, indicating that both `guacamole-lite`\nand `guacd` are integral parts of the server infrastructure. This architecture allows `guacamole-lite` to provide a\nlightweight and flexible solution for integrating remote desktop capabilities into Node.js applications.\n\n## Installation\n\nTo install `guacamole-lite` in your Node.js project, run the following command:\n\n```sh\nnpm install guacamole-lite --save\n```\n\nThis will add `guacamole-lite` as a dependency to your `package.json` file and download it to the `node_modules`\ndirectory.\n\n## Before You Start\n\nBefore you start, make sure you have `guacd` installed and running on your server.\nThe easiest way to run `guacd` is to use the official Docker image:\n\n```sh\ndocker run --name guacd -d -p 4822:4822 guacamole/guacd\n```\n\nAlternatively, you can install `guacd` from source. For more details, refer to the official documentation on\n[Installing guacamole-server](https://guacamole.apache.org/doc/gug/installing-guacamole.html#installing-guacamole-server)\nor the `guacamole-server` [README](https://github.com/apache/guacamole-server/blob/master/README) on GitHub.\n\n## Quick Start Guide\n\nTo get started with `guacamole-lite` and create a Guacamole-compatible server, follow the basic example below. For\nadvanced configuration options, please refer to the relevant sections of\nthe [advanced configuration documentation](docs/advanced-configuration.md).\n\n### Basic `guacamole-lite` Server Setup\n\nHere's a minimal example to set up a `guacamole-lite` server:\n\n```javascript\nconst GuacamoleLite = require('guacamole-lite');\n\nconst websocketOptions = {\n    port: 8080 // WebSocket server port\n};\n\nconst guacdOptions = {\n    port: 4822 // guacd server port\n};\n\nconst clientOptions = {\n    crypt: {\n        cypher: 'AES-256-CBC',\n        key: 'MySuperSecretKeyForParamsToken12' // Use a secure key\n    }\n};\n\nconst guacServer = new GuacamoleLite(websocketOptions, guacdOptions, clientOptions);\n```\n\nThis code will start a WebSocket server that interfaces with the Guacamole daemon (`guacd`) and handles client\nconnections securely.\n\n### Connecting to the Server\n\nTo connect to the server, your application needs to create a WebSocket connection and pass the connection parameters to\nthe server. The connection parameters are passed in an encrypted token in the query string of the WebSocket URL.\n\n```\nws://your-guacamole-server:8080/?token=token\n```\n\nThe encrypted token is a JSON object that is **base64-encoded and encrypted**. It can be used to either create a new\nconnection or join an existing one.\n\n#### Creating a New Connection\n\nTo create a new remote desktop session, the `connection` object in your token must include a `type` property and the\nnecessary `settings` for that protocol.\n\n```javascript\nconst crypto = require('crypto');\n\nconst CIPHER = 'aes-256-cbc';\nconst SECRET_KEY = 'MySuperSecretKeyForParamsToken12';\n\nconst tokenObject = {\n    connection: {\n        type: \"rdp\",\n        settings: {\n            \"hostname\": \"10.0.0.12\",\n            \"username\": \"Administrator\",\n            \"password\": \"pAsSwOrD\",\n            \"enable-drive\": true,\n            \"create-drive-path\": true,\n            \"security\": \"any\",\n            \"ignore-cert\": true,\n            \"enable-wallpaper\": false\n        }\n    }\n};\n\nfunction encryptToken(value) {\n    const iv = crypto.randomBytes(16);\n    const cipher = crypto.createCipheriv(CIPHER, Buffer.from(SECRET_KEY), iv);\n\n    let encrypted = cipher.update(JSON.stringify(value), 'utf8', 'base64');\n    encrypted += cipher.final('base64');\n\n    const data = {\n        iv: iv.toString('base64'),\n        value: encrypted\n    };\n\n    const json = JSON.stringify(data);\n    return Buffer.from(json).toString('base64');\n}\n\nconst token = encryptToken(tokenObject);\nconsole.log(`ws://localhost:8080/?token=${encodeURIComponent(token)}`);\n```\n\n#### Joining an Existing Connection\n\nTo join an active session, the `connection` object must instead specify the `join` property with the unique ID of the\nsession you wish to join. This is mutually exclusive with the `type` property.\n\n```javascript\nconst crypto = require('crypto');\n\nconst CIPHER = 'aes-256-cbc';\nconst SECRET_KEY = 'MySuperSecretKeyForParamsToken12';\n\nconst tokenObject = {\n    connection: {\n        join: \"$b447679c-0541-4b3d-821b-74389e9dfb16\",\n        settings: {\n            \"read-only\": true,\n            \"width\": 1920,\n            \"height\": 1080,\n            \"dpi\": 96,\n            \"audio\": [\"audio/L16\"],\n            \"video\": \"video/webm\",\n            \"image\": [\"image/png\", \"image/jpeg\"],\n            \"timezone\": \"America/New_York\"\n        }\n    }\n};\n\nfunction encryptToken(value) {\n    const iv = crypto.randomBytes(16);\n    const cipher = crypto.createCipheriv(CIPHER, Buffer.from(SECRET_KEY), iv);\n\n    let encrypted = cipher.update(JSON.stringify(value), 'utf8', 'base64');\n    encrypted += cipher.final('base64');\n\n    const data = {\n        iv: iv.toString('base64'),\n        value: encrypted\n    };\n\n    const json = JSON.stringify(data);\n    return Buffer.from(json).toString('base64');\n}\n\nconst token = encryptToken(tokenObject);\nconsole.log(`ws://localhost:8080/?token=${encodeURIComponent(token)}`);\n```\n\nThe connection ID is provided by the server when the initial session is established. For more details on obtaining this\nID and other join-specific options, please see\nthe [Joining Existing Connections](docs/advanced-configuration.md#joining-existing-connections) section in the advanced\nconfiguration documentation.\n\n#### Token Encryption\n\nThe token is encrypted for security reasons because it contains sensitive information, such as login credentials to the\nremote host, and to prevent tampering with the parameters, which could lead to using the server as a proxy for malicious\npurposes (see [Security Considerations](#security-considerations)).\n\nFor details on how to structure the parameters and implement encryption, refer to\nthe [Client Options](docs/advanced-configuration.md#client-options) section in the advanced configuration documentation.\nFor practical examples of how to encrypt the token in different programming languages, check out\nthe [examples](examples) directory:\n\n- [Node.js Example](examples/encrypt_token.js)\n- [PHP Example](examples/encrypt_token.php)\n- [Python Example](examples/encrypt_token.py)\n\n## Security Considerations\n\nUnlike the full `guacamole-client`, `guacamole-lite` does not maintain its own database for managing users, remote\nhosts, and credentials. Instead, it relies on the integrating application to supply these parameters. Since the\ntransmission of these parameters occurs through potentially insecure channels, such as the client's browser, it is\ncrucial to ensure their security and integrity. To address these concerns, `guacamole-lite` employs encrypted tokens to\npass connection details.\n\nAn encrypted token is a secure method of transmitting information where the data is first converted into ciphertext\nusing an encryption algorithm and a secret key. This process ensures two critical aspects:\n\n- **Authentication**: The encrypted token verifies that the connection parameters were indeed generated by the\n  application and have not been forged or tampered with by any third party.\n\n- **Confidentiality**: Sensitive information, such as login credentials to the remote host, remains concealed from the\n  client. Only `guacamole-lite` and the application that generated the token can decrypt and access the contained\n  information.\n\nFor more detailed security guidelines and best practices, please refer to\nthe [Encryption and Security](docs/advanced-configuration.md#encryption-and-security) section in the advanced\nconfiguration documentation.\n\n## Advanced Configuration\n\nMost likely you will need to customize `guacamole-lite` beyond the basic setup. The advanced configuration options allow\nfor fine-tuning of the WebSocket server, `guacd` communication, default connection settings, and more. Below is an\noutline of the advanced configuration topics covered in the documentation:\n\n- [WebSocket Options](docs/advanced-configuration.md#websocket-options)\n    - [Configuration](docs/advanced-configuration.md#configuration)\n- [Guacd Options](docs/advanced-configuration.md#guacd-options)\n    - [Default `guacd` Instance Configuration](docs/advanced-configuration.md#default-guacd-instance-configuration)\n    - [Dynamic `guacd` Routing](docs/advanced-configuration.md#dynamic-guacd-routing)\n- [Client Options](docs/advanced-configuration.md#client-options)\n    - [Encryption and Security](docs/advanced-configuration.md#encryption-and-security)\n    - [Connection Settings](docs/advanced-configuration.md#connection-settings)\n    - [Allowed Unencrypted Connection Settings in Query](docs/advanced-configuration.md#allowed-unencrypted-connection-settings-in-query)\n    - [Connection Types](docs/advanced-configuration.md#connection-types)\n    - [Joining Existing Connections](docs/advanced-configuration.md#joining-existing-connections)\n    - [Logging](docs/advanced-configuration.md#logging)\n- [Callbacks](docs/advanced-configuration.md#callbacks)\n    - [`processConnectionSettings` Callback](docs/advanced-configuration.md#processconnectionsettings-callback)\n    - [`sessionRegistry` Callback](docs/advanced-configuration.md#sessionregistry-callback)\n- [Events](docs/advanced-configuration.md#events)\n    - [`open` Event](docs/advanced-configuration.md#open-event)\n    - [`close` Event](docs/advanced-configuration.md#close-event)\n    - [`error` Event](docs/advanced-configuration.md#error-event)\n- [Integration with Node.js Frameworks](docs/advanced-configuration.md#integration-with-nodejs-frameworks)\n    - [Considerations for Integration](docs/advanced-configuration.md#considerations-for-integration)\n    - [Example of Integrating with Express.js](docs/advanced-configuration.md#example-of-integrating-with-expressjs)\n- [Additional Examples and Resources](docs/advanced-configuration.md#additional-examples-and-resources)\n    - [Contents of the Examples Directory](docs/advanced-configuration.md#contents-of-the-examples-directory)\n\nEach section provides detailed information and examples to help you tailor `guacamole-lite` to your specific needs.\nWhether you're integrating with existing Node.js frameworks, handling complex logging requirements, or setting up custom\ncallbacks and events, the advanced configuration guide has you covered.\n\n## Testing\n\n`guacamole-lite` comes with two ways to test:\n\n1. **Unit/Integration Tests:** A suite of tests is included to ensure the stability and reliability of the core library\n   functions. To run these tests:\n\n   ```sh\n   npm test\n   ```\n\n2. **End-to-End Testing Environment (`test-guac`):** For more comprehensive testing, the `test-guac` directory provides\n   a full end-to-end environment using Docker Compose. This setup simulates a real-world deployment scenario with\n   multiple `guacd` instances, dynamic routing, and session join tracking.\n\n**Components:**\n\n* `guacd-1`, `guacd-2`, `guacd-3`: Multiple instances of the core Guacamole proxy daemon to demonstrate dynamic routing.\n* `desktop-linux`: A sample Ubuntu Linux desktop with RDP and VNC installed, serving as the remote machine.\n* `guacamole-lite-server`: An instance of the `guacamole-lite` server running within a Node.js container.\n* `guacamole-lite-client`: A simple Nginx container serving an HTML page that uses the official `guacamole-common-js`\n  library to connect to the `guacamole-lite-server`. It includes example code for generating the connection\n  token (though this should be done server-side in production).\n* `admin-dashboard`: A web-based dashboard that provides a real-time view of the session registry, showing active\n  sessions and tracking all joined connections.\n\n**How to Use `test-guac`:**\n\n* Navigate to the `test-guac` directory:\n  ```sh\n  cd test-guac\n  ```\n* Build and start all containers in detached mode:\n  ```sh\n  make up\n  ```\n  *Alternatively, you can use `docker compose up --build -d`.*\n* Once the containers are running, you can access the test environment:\n    * **Guacamole Client**: `http://localhost:9090`\n    * **Admin Dashboard**: `http://localhost:9092`\n* To stop and remove the containers and associated volumes:\n  ```sh\n  make down\n  ```\n  *Alternatively, you can use `docker compose down -v --remove-orphans`.*\n\nThis end-to-end setup is invaluable for testing the integration between the browser client, `guacamole-lite`, `guacd`,\nand the target remote desktop.\n\n## Contributing\n\nContributions to `guacamole-lite` are welcome! If you're interested in contributing, you can:\n\n- Report issues or suggest features\n  by [submitting an issue on GitHub](https://github.com/vadimpronin/guacamole-lite/issues).\n- Contribute code by forking the repository, making your changes, and creating a pull request.\n\n### Development Setup\n\nTo work on the code, clone the repository and install the dependencies:\n\n```sh\ngit clone https://github.com/vadimpronin/guacamole-lite.git\ncd guacamole-lite\nnpm install\n```\n\n#### Managing Vendored Dependencies\n\nThis project includes some third-party code directly in the `lib/vendor` directory. This approach is used for critical\ndependencies, like the official `Guacamole.Parser`, which are not published as standard packages on npm. This ensures\nreliability and avoids complex installation issues.\n\n**Please do not edit vendored files directly.**\n\nTo update these dependencies to their latest versions from their source repositories, run the dedicated npm script:\n\n```sh\nnpm run update-vendors\n```\n\nThis command will automatically download the files specified in `scripts/update-vendors.js` and place them in the\ncorrect location.\n\n## Acknowledgements\n\nSpecial thanks to the Guacamole team for creating the original Guacamole project and making it available under the\nApache-2.0 license.\nI also want to acknowledge all individual contributors to the project who have invested their time and effort into\nimproving `guacamole-lite`.\n\n## License\n\n`guacamole-lite` is made available under the Apache License, Version 2.0 (Apache-2.0), the same license as the original\nApache Guacamole project. This license is a permissive open-source license that allows for broad freedom in usage and\ndistribution.\n\nFor more details about the Apache-2.0 license and your rights under it, please see\nthe [LICENSE](https://github.com/vadimpronin/guacamole-lite/blob/master/LICENSE) file included in the repository.\n","readmeFilename":"README.md"}