An RFB proxy, written in go that can save and replay FBS files
Go to file
2017-07-15 07:52:23 +03:00
.idea some work on the replay subsystem, plus getting better grasp of the FBS format 2017-07-14 00:52:50 +03:00
.vscode some work on the replay subsystem, plus getting better grasp of the FBS format 2017-07-14 00:52:50 +03:00
architecture some more house cleaning, updated license & docs 2017-07-15 07:52:23 +03:00
client some more house cleaning, updated license & docs 2017-07-15 07:52:23 +03:00
common cleaning up some old comments 2017-07-15 06:25:05 +03:00
encodings cleaning up some old comments 2017-07-15 06:25:05 +03:00
logger * some debugging and fixing in the proxy (still needs some work) 2017-07-11 16:50:06 +03:00
player some more house cleaning, updated license & docs 2017-07-15 07:52:23 +03:00
proxy some more house cleaning, updated license & docs 2017-07-15 07:52:23 +03:00
server some more house cleaning, updated license & docs 2017-07-15 07:52:23 +03:00
tee-listeners cleaning up some old comments 2017-07-15 06:25:05 +03:00
.gitignore added *.test to gitignore 2017-07-09 09:55:45 +03:00
LICENSE some more house cleaning, updated license & docs 2017-07-15 07:52:23 +03:00
main.go some more house cleaning, updated license & docs 2017-07-15 07:52:23 +03:00
README.md some more house cleaning, updated license & docs 2017-07-15 07:52:23 +03:00
todo.md fixed recorder (message init logic broke it) 2017-07-12 01:06:02 +03:00
vncproxy.iml Added server for web sockets, plus some refactoring 2017-07-01 23:01:58 +03:00

VncProxy

An RFB proxy, written in go that can save and replay FBS files

  • supports all modern encodings
  • supports regular and sockified (noVnc) server connnections
  • produces FBS files compatible with tightvnc player
  • can also be used as:
    • a screen recorder vnc-client
    • a replay server to show fbs recordings to connecting clients

This is still a work in progress, and requires some error handling and general tidying up, but the code is already working (see server_test, proxy_test & player_test)

  • tested on tight encoding with: tightvnc (client+server), noVnc(web client), chickenOfTheVnc(client), vineVnc(server), tigerVnc(client)

Architecture

Proxy

Image of Arch

Player

Image of Arch

The code is based on several implementations of go-vnc including the original one by Mitchell Hashimoto, and the very active fork which belongs to Vasiliy Tolstov.