02 Jul 2011

MikRFB is a web-based RFB (aka VNC) client.

The server is written in python and runs as a HTTP server and the client is written in javascript using the HTML5 canvas tag.

It was written mostly as an experiment so feel free to use it, improve it, or steal ideas from it.


  • Allows you to control a machine remotely from your web browser - no java plugin required, just a modern web browser
  • Support for local rendering of the remote cursor - reduces bandwidth and makes it feel less laggy
  • Desktop resize support
  • Tile caching - blinking cursors and hover-highlighting will consume less bandwidth




  • Desktop resize support
  • Much cleaner connection handling code
  • Password box only there if the server requests authentication


  • Tile caching - blinking cursors and hover-highlighting will consume WAY less bandwidth
  • TCP_CORK support - minimizes wasted bandwidth caused by BaseHTTPServer sending small packets


  • Added support for cursor encoding - this significantly improves the experience for servers that support it!
  • Made detecting lost connections more reliable
  • Put the connection status in the web page, rather than popping up annoying alerts


  • Cleaned up JavaScript code significantly
  • Removed “block pointer events” button, until I can make it work again