MultiVNC is a cross-platform Multicast-enabled VNC viewer based on LibVNCClient. The desktop version uses wxWidgets and runs on Unix, Mac OS X and Windows. There also is an Android version.
The roadmap for future developments regarding the project can be found here.
- Support for most VNC encodings including Tight.
- TLS support, i.e. AnonTLS and VeNCrypt.
- Discovery of VNC servers advertising themselves via ZeroConf.
- Bookmarking of connections.
- Supports server framebuffer resize.
- Experimental support for MulticastVNC.
- Support for SSH-Tunnelling with password- and privkey-based authentication.
- UltraVNC Repeater support.
- Import and export of saved connections.
- Virtual mouse button controls with haptic feedback.
- Two-finger swipe gesture recognition.
- A super fast touchpad mode for local use.
- Hardware-accelerated OpenGL drawing and zooming.
- Copy&paste to and from Android.
- Several connections with one viewer using tabs.
- Listen mode (Reverse VNC). Via tabs it's possible to listen for and serve multiple incoming connections.
- Record and replay of user input macros.
- Under X11, seamless control of the remote side by moving pointer over the (default upper) screen edge. Borrows heavily from x2vnc by Fredrik Hübinette hubbe@hubbe.net, which in turn was based on ideas from x2x and code from vncviewer.
- Simple, loggable statistics.
To get bleeding-edge packages built from the master development branch, navigate to the list of CI runs, select the last successful one and download the wanted artifact.
See the Android version's README.
The prerequisites:
- the usual c-compiler with headers and stuff
- wxWidgets dev package version >= 3.0
- zlib dev package
- libjpeg dev package
After cloning the repo, do
git submodule init
git submodule update
To build:
mkdir build
cd build
cmake ..
cmake --build .
cpack
Depending on which OS you are on, you end up with a .deb, .dmg or .exe you can install.
You can get a modified libvncserver/libvncclient at https://github.com/LibVNC/libvncserver/tree/multicastvnc - this is the same library that MultiVNC uses internally.