• Stars
    star
    135
  • Rank 261,007 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 11 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

rfb wire protocol client and server

node-rfb2

RFB wire protocol client and server

var rfb = require('rfb2');
var r = rfb.createConnection({
  host: '127.0.0.1',
  port: 5900,
  password: 'secret'
});

r.on('connect', function() {
  console.log('successfully connected and authorised');
  console.log('remote screen name: ' + r.title + ' width:' + r.width + ' height: ' + r.height);
});

r.on('error', function(error) {
  throw new Error(error);
});

r.pointerEvent(100, 100, 0); // x, y, button state (bit mask for each mouse button)
r.keyEvent(40, 0);           // keycode, is down?
r.updateClipboard('send text to remote clipboard');

// screen updates
r.on('rect', function(rect) {
   switch(rect.encoding) {
   rfb.encodings.raw:
      // rect.x, rect.y, rect.width, rect.height, rect.data
      // pixmap format is in r.bpp, r.depth, r.redMask, greenMask, blueMask, redShift, greenShift, blueShift
   rfb.encodings.copyRect:
      // pseudo-rectangle
      // copy rectangle from rect.src.x, rect.src.y, rect.width, rect.height, to rect.x, rect.y
   rfb.encodings.hextile:
      // not fully implemented
      rect.on('tile', handleHextileTile); // emitted for each subtile
   }
});

r.on('resize', function(rect) {
  console.log('window size has been resized! Width: %s, Height: %s', rect.width, rect.height);
});

r.on('clipboard', function(newPasteBufData) {
  console.log('remote clipboard updated!', newPasteBufData);
});

r.on('bell', console.log.bind(null, 'Bell!!'));

// force update
// updates are requested automatically after each new received update
// you may want to have more frequent updates for high latency / high bandwith connection
r.requestUpdate(false, 0, 0, r.width, r.height); // incremental?, x, y, w, h

r.end(); // close connection

Status:

Ready

  • pointer, keyboard, cutText, requestUpdate client messages
  • colormap, bell, cutText server messages
  • Raw FB update encoding
  • pseudoDesktopSize and copyRect pseudo rect updates
  • record/replay to/from file

In progress:

  • Hextile encoding support
  • Server side protocol

TODO:

  • ZRle, RRE, CoRRE, Zlib, Tight encodings
  • ARD and MS security types
  • VNC server with x11 and COMPOSITE/DAMAGE extensions

see also:

More Repositories

1

node-mysql2

âš¡ fast mysqljs/mysql compatible mysql driver for node.js
JavaScript
3,941
star
2

json-bigint

JSON.parse/stringify with bigints support
JavaScript
722
star
3

node-vim-debugger

node.js step by step debugging from vim
JavaScript
562
star
4

vnc-over-gif

JavaScript
512
star
5

node-x11

X11 node.js network protocol client
JavaScript
510
star
6

node-tick

node.js-runnable v8.log processor (d8 + %platform%-tick-processor friend)
JavaScript
322
star
7

crconsole

Remote JavaScript console for Chrome/Webkit
JavaScript
254
star
8

dbus-native

D-bus protocol client and server for node.js written in native javascript
JavaScript
254
star
9

nodejs-mysql-native

Native mysql async client for node.js
JavaScript
239
star
10

react-x11

React renderer with X11 as a target
JavaScript
233
star
11

crmux

Chrome developer tools remote protocol multiplexer.
JavaScript
123
star
12

ntk

node.js desktop UI toolkit
JavaScript
88
star
13

node-wrk

wrk load testing tool node wrapper
JavaScript
80
star
14

hot-module-replacement

Hot module replacement for node.js
JavaScript
56
star
15

pugify

jade transform for browserify v2. Sourcemaps generation included.
JavaScript
41
star
16

node-adbhost

node.js adb (android debug bridge) client
JavaScript
41
star
17

mysql-pg-proxy

mysql to postgres proxy server
JavaScript
34
star
18

yandex-translate

Yandex.Translate translation service client
JavaScript
31
star
19

osquery-node

node.js client for osquery
JavaScript
31
star
20

node-i3

i3-ipc node.js client
JavaScript
31
star
21

mysqlite.js

sqlite db server talking mysql protocol, all native js
JavaScript
30
star
22

node-vnc

Node.js vnc client with gui
JavaScript
15
star
23

mysql-co

mysql2 wrappers for "co"
JavaScript
15
star
24

ni

script to simplify node-inspector debugger workflow
JavaScript
14
star
25

mysql-osquery-proxy

mysql server proxying queries to facebook osquery daemon
JavaScript
14
star
26

node-shaper

Create through stream which limits speed to bytes per second/chunks per second
JavaScript
13
star
27

npdf

desktop pdf viewer using pdfium.js + node-x11
JavaScript
12
star
28

nierika

pixel based testing library with VNC as a driver
JavaScript
12
star
29

node-ptv

Public Transport Victoria API client for node.js
JavaScript
12
star
30

rfbrecord

stream VNC connection to a video file
JavaScript
11
star
31

dbusfs

FUSE filesystem exposing dbus objects
JavaScript
11
star
32

ansi-vnc

terminal vnc client
JavaScript
10
star
33

atom-vnc

VNC client for atom editor
CoffeeScript
9
star
34

node-pidgin

Pidgin node.js client using pidgin dbus api
JavaScript
7
star
35

react-show-in-atom

Navigate to line of code where react element is defined by clicking on it
JavaScript
6
star
36

node-skype-dbus

node.js SkypeAPI dbus client
JavaScript
6
star
37

node-cli-debugger

node.js command-line debugger
JavaScript
5
star
38

nodejs-memcached-native

Native async memcached client for node.js
5
star
39

exec-stream

create read-write stream from child process stdin/stdout
JavaScript
5
star
40

node-gday

dns-sd client (Avahi/dbus wrapper)
JavaScript
5
star
41

repl-co

node repl with yield support
JavaScript
5
star
42

v8-debugger-protocol

v8 debugger protocol client
JavaScript
5
star
43

node-skype

node.js SkypeAPI client
JavaScript
4
star
44

node-dbusmenu

node.js dbusmenu client
JavaScript
3
star
45

x11-xsettings

XSETTINGS binary format encoder/decoder
JavaScript
3
star
46

embed-source-map

Convert sourcemaps with external references to inlineable sourcemap
JavaScript
3
star
47

gaussian-convolution-kernel

calculate square matrix - gaussian blur convolution kernel
JavaScript
3
star
48

tfn

JavaScript
3
star
49

node-harfbuzz

node.js harfbuzz bindings
C++
3
star
50

node-resolve-cache

Cache and reuse results of node module file name resolution algorithm
JavaScript
3
star
51

_sidorares.github.com

personal tech blog
CSS
2
star
52

melbnodejs

Melbourne node.js meetup - proposals, links, website
2
star
53

xclimsg

send ewmh ClientMessage to x11 window from command line
JavaScript
2
star
54

australian-business-number

validate ABN
JavaScript
2
star
55

pr-linecommits

Chrome extension to help reviw "files" pane of github PR page
JavaScript
2
star
56

xml2jade

xml -> jade convertor
JavaScript
2
star
57

diamond

stdin + arguments composite stream (aka <> or diamond)
JavaScript
2
star
58

canvas-fontstyle

canvas fontStyle parser
JavaScript
1
star
59

http-nodejs

JavaScript
1
star
60

netlify-test

HTML
1
star
61

australian-tax-rate

return tax rate based on annual income
JavaScript
1
star
62

Browserless

Dockerfile
1
star
63

node-streamagent

Connect http/websockets node.js client using arbitrary duplex stream
JavaScript
1
star
64

webpubsub-local

A drop in replacement for Azure webpubsub you can run locally
JavaScript
1
star
65

node-mssql

Node.js support for talking to microsoft sql server. [currently only connect is OK]
JavaScript
1
star
66

hackduino

arduino workshop examples
1
star
67

node-unpack

Pack and unpack binary data using pyhon-alike pack syntax
JavaScript
1
star
68

andreysidorov.com

HTML
1
star
69

node-skype-applescript

skype applescript wrapper + repl
1
star
70

android-xserver

This is a fork of Matt Kwan's android X server project
Java
1
star
71

mfe-version-resolver

JavaScript
1
star
72

d3bench

benchmark app
JavaScript
1
star
73

logcomments

wrap every comments in JavaScript source to function call
JavaScript
1
star
74

compare-energy-rates

graph cost of your electricyty based on your past usage and new rates
1
star
75

mysql-client-benchmarks

JavaScript
1
star
76

argnames

print javascript function argument values together with names from function definition
JavaScript
1
star
77

generators-and-co

My presentation at MelbJS about generators & generator control flow libraries
JavaScript
1
star