{"_id":"@bunchtogether/rfb2","_rev":"1-b9057b48601151f6cd73444f6548afcd","name":"@bunchtogether/rfb2","dist-tags":{"latest":"0.2.2"},"versions":{"0.2.2":{"name":"@bunchtogether/rfb2","author":{"name":"Andrey Sidorov","email":"sidorares@yandex.ru"},"description":"RFB protocol client and server","keywords":["vnc","rfb"],"homepage":"https://github.com/sidorares/node-rfb2","version":"0.2.2","maintainers":[{"name":"bunchtogether","email":"johnwehr@bunchtogether.com"}],"bugs":{"url":"http://github.com/sidorares/node-rfb2/issues"},"licenses":[{"type":"MIT"}],"repository":{"type":"git","url":"git+ssh://git@github.com/sidorares/node-rfb2.git"},"main":"rfbclient.js","typings":"rfbclient","engines":{"node":"*"},"devDependencies":{"@types/node":"6.0.58"},"gitHead":"7426ca4b6bf40ae59e45d99ee88982dfb45c605c","_id":"@bunchtogether/rfb2@0.2.2","_nodeVersion":"10.16.3","_npmVersion":"6.9.0","dist":{"integrity":"sha512-OH2YPJK6zkcT4rRmDsxX91XAw31a/JmfbAhCQnFkkJcMTOhiHBroPFvE371slxu4m9TWeuaPCreI+THX+K2V+g==","shasum":"313518c159a2502c06c1c551967012325f8b48ae","tarball":"https://registry.npmjs.org/@bunchtogether/rfb2/-/rfb2-0.2.2.tgz","fileCount":12,"unpackedSize":60173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeSSw9CRA9TVsSAnZWagAA+M4P/jnYZiW/BrvCaU7PFz71\nWxtCfH/mh+HvYYfPthp98sHtd/C5J5jHKNRm9cca7erv8OUoC9OQbJZhhERl\nVGVm96Oj5Q63Jw8ngHFuTGK/GRqbUFs/70eWZCaeSBbaYkBl3DZs5fhun4hn\n6vWZK9RJBUyqoh6JX0Jr16uqXL+hhbb2rst8g+x3LbtKI5Z+JpoYgrDaSD+Y\nBkrp3ZOIqRzkfGlP9Qxzucn1JKWJWrID8ov4gGJT7/gW3UH75fFiq+cI0abL\new+XHVU9v5/noBAdJi3y/m2mRfiFwQihOvyg8Dl6lcNdCSmYGeKT65bJerse\nHhWNect71AN5pKf6QYovloZvySo6SGlHj8QSoVCnLOeMPEPQVF27q7vzv54v\nWOBp7u2U3uwrbthXmH4utkyr8DMrGQmzuEL4jtatHBUg/XCKCQnVY9fPaG65\nJ0Ar+ypRV1FRdfOjdS/LAuvIuOszbCKlsJuzkeAmVMNGdm/Q0SPHPYD25p3a\nGGU+iI3dX5pX0KndhqbWoQ3VBdLGz143gfktJUUJP6En+FwqjdjCVV9M/6P0\nfkqt6m7yjD1uQbY5JfYwPWs2Dpohi0x/lZYRZucQ83oWgUBRbNWdCK1BsB2/\ngq1N60BwTfvc3adYCTBdqqx/XFTsFyklo4VKZSYPTe0DNQD4ZXnPTM8YmqNZ\nJafZ\r\n=7a5X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID4ZdCspxHenzwxlo7Ftwr3a6saSrp1Frb24sYNXFrPsAiEAuYecxez4kVku8wBPGepwSCNPltmh8WN2B//9bf4rHwQ="}]},"_npmUser":{"name":"bunchtogether","email":"johnwehr@bunchtogether.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/rfb2_0.2.2_1581853757270_0.09662869635358784"},"_hasShrinkwrap":false}},"time":{"created":"2020-02-16T11:49:17.243Z","0.2.2":"2020-02-16T11:49:17.419Z","modified":"2022-04-04T21:05:42.215Z"},"maintainers":[{"name":"bunchtogether","email":"johnwehr@bunchtogether.com"}],"description":"RFB protocol client and server","homepage":"https://github.com/sidorares/node-rfb2","keywords":["vnc","rfb"],"repository":{"type":"git","url":"git+ssh://git@github.com/sidorares/node-rfb2.git"},"author":{"name":"Andrey Sidorov","email":"sidorares@yandex.ru"},"bugs":{"url":"http://github.com/sidorares/node-rfb2/issues"},"readme":"node-rfb2\n=========\n\n[RFB](http://en.wikipedia.org/wiki/RFB_protocol) wire protocol client and server\n\n```js\nvar rfb = require('rfb2');\nvar r = rfb.createConnection({\n  host: '127.0.0.1',\n  port: 5900,\n  password: 'secret'\n});\n\nr.on('connect', function() {\n  console.log('successfully connected and authorised');\n  console.log('remote screen name: ' + r.title + ' width:' + r.width + ' height: ' + r.height);\n});\n\nr.on('error', function(error) {\n  throw new Error(error);\n});\n\nr.pointerEvent(100, 100, 0); // x, y, button state (bit mask for each mouse button)\nr.keyEvent(40, 0);           // keycode, is down?\nr.updateClipboard('send text to remote clipboard');\n\n// screen updates\nr.on('rect', function(rect) {\n   switch(rect.encoding) {\n   rfb.encodings.raw:\n      // rect.x, rect.y, rect.width, rect.height, rect.data\n      // pixmap format is in r.bpp, r.depth, r.redMask, greenMask, blueMask, redShift, greenShift, blueShift\n   rfb.encodings.copyRect:\n      // pseudo-rectangle\n      // copy rectangle from rect.src.x, rect.src.y, rect.width, rect.height, to rect.x, rect.y\n   rfb.encodings.hextile:\n      // not fully implemented\n      rect.on('tile', handleHextileTile); // emitted for each subtile\n   }\n});\n\nr.on('resize', function(rect) {\n  console.log('window size has been resized! Width: %s, Height: %s', rect.width, rect.height);\n});\n\nr.on('clipboard', function(newPasteBufData) {\n  console.log('remote clipboard updated!', newPasteBufData);\n});\n\nr.on('bell', console.log.bind(null, 'Bell!!'));\n\n// force update\n// updates are requested automatically after each new received update\n// you may want to have more frequent updates for high latency / high bandwith connection\nr.requestUpdate(false, 0, 0, r.width, r.height); // incremental?, x, y, w, h\n\nr.end(); // close connection\n\n```\n\n# Status:\n\nReady\n  - pointer, keyboard, cutText, requestUpdate client messages\n  - colormap, bell, cutText server messages\n  - Raw FB update encoding\n  - pseudoDesktopSize and copyRect pseudo rect updates\n  - record/replay to/from file\n\nIn progress:\n  - Hextile encoding support\n  - Server side protocol\n\nTODO:\n  - ZRle, RRE, CoRRE, Zlib, Tight encodings\n  - ARD and MS security types\n  - VNC server with [x11](https://github.com/sidorares/node-x11) and COMPOSITE/DAMAGE extensions\n\n# see also:\n  - [node-rfb](https://github.com/substack/node-rfb) - Substack's implementation of rfb protocol.\n  - [VNC client on 200 lines of JavaScript](http://blog.mgechev.com/2013/08/30/vnc-javascript-nodejs/) - blog post and [HTML5 client](https://github.com/mgechev/js-vnc-demo-project) using node-rfb2\n  - [Vnc-over-gif](https://github.com/sidorares/vnc-over-gif) - vnc to gif proxy server. Stream your screen to animated gif image!\n  - [rfbrecord](https://github.com/sidorares/rfbrecord) - stream VNC connection to video file\n  - [ANSI-vnc](https://npmjs.org/package/ansi-vnc) - terminal vnc client.\n  - [node-vnc](https://github.com/sidorares/node-vnc) - graphical vnc client for X Window graphics using [node X11 client](https://github.com/sidorares/node-x11).\n  - [vnc.js](https://github.com/bgaff/vnc.js) - LinkedIn intern [hackday 2011 project](http://engineering.linkedin.com/javascript/vncjs-how-build-javascript-vnc-client-24-hour-hackday)\n  - [rdpy](https://github.com/citronneur/rdpy) - rfb and rdp implementation in python\n\n\n[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/sidorares/node-rfb2/trend.png)](https://bitdeli.com/free \"Bitdeli Badge\")\n","readmeFilename":"README.md"}