A HTML VNC client JavaScript library and application that runs in modern browsers, including mobile.
noVNC is an open-source HTML VNC client library and web application that allows users to access remote desktops directly from a web browser. It implements the VNC protocol over WebSockets, enabling no-plugin remote desktop access for cloud platforms, virtualization management, and remote support. The project solves the problem of providing cross-platform VNC access without requiring native client installations.
Developers and integrators building cloud infrastructure platforms (like OpenStack or OpenNebula), virtualization management tools, or remote support solutions that require browser-based remote desktop access.
Developers choose noVNC because it's a mature, widely-adopted open-source solution that works in any modern browser, supports a wide range of VNC encodings and authentication methods, and can be easily integrated into existing systems or self-hosted.
VNC client web application
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Works in any modern browser including iOS and Android, enabling remote access from virtually any device without plugins, as highlighted in the browser requirements section.
Implements a wide range of VNC encodings and authentication methods, such as tight, ZRLE, and RealVNC RSA-AES, ensuring compatibility with various servers and efficient data transmission.
Can be embedded as a JavaScript library or deployed as a standalone app with WebSocket proxy via websockify, making it adaptable to different project needs like cloud platforms and remote management tools.
Requires VNC servers to support WebSockets or the use of websockify proxy, adding an extra layer to setup and potential points of failure, as admitted in the server requirements section.
Minimum browser versions like Chrome 89 are required, which may exclude older systems or browsers, limiting accessibility in legacy environments despite broad modern support.
Initial deployment involves running scripts like novnc_proxy or configuring snap packages, which can be challenging for those unfamiliar with VNC or web server setups, as seen in the quick start guide.