Skip to main content

noVNC is a Python-based server that integrates noVNC and websockify to provide a web-based VNC client, enabling remote desktop access via a web browser.

Project description

noVNC

noVNC is a Python-based wrapper that bundles websockify and the noVNC HTML client to provide a web-based VNC viewer.It enables remote desktop access directly from the browser without requiring a standalone VNC client.


✨ Features

  • Easy Setup – Start a proxy server in seconds and connect to your VNC server.
  • Web-based Access – Use any modern browser as a VNC client.
  • Custom Arguments – Supports both noVNC (--listen, --target) and all websockify options.
  • Secure Connection – SSL/TLS support with --ssl-only, --cert, and --key.

📦 Requirements

  • Python 3.7+
  • A running VNC server (e.g., TigerVNC, TightVNC, RealVNC)

🔧 Installation

pip install novnc

⚙️ Options

Option Description Default
--listen HOST:PORT Address and port to listen on for WebSocket + web server 0.0.0.0:8080
--target HOST:PORT VNC server address and port to connect to 127.0.0.1:5900
--web PATH Path to noVNC static files (auto-extracted to temp directory) (auto set)
--ssl-only Enable TLS only Disabled
--cert FILE Path to SSL certificate (PEM) None
--key FILE Path to SSL private key (PEM) None

✅ Any websockify arguments can also be passed through.


🚀 Usage

Start the proxy with your VNC server details:

novnc --listen 0.0.0.0:8080 --target 127.0.0.1:5900

Then open in your browser:

http://localhost:8080/vnc.html

🔒 HTTPS / WSS Setup

Generate a self-signed cert (for testing):

openssl req -new -x509 -days 365 -nodes -out cert.pem -keyout key.pem

Run with SSL:

novnc --listen 0.0.0.0:443 --target 127.0.0.1:5900 --ssl-only --cert cert.pem --key key.pem

Access via:

https://yourdomain.com/vnc.html

🛠 Troubleshooting

  • Connection refused → Ensure your VNC server is running and reachable.
  • Black screen → Verify the VNC server allows connections (sometimes password-protected).
  • Browser SSL warning → Use a trusted CA (e.g., Let’s Encrypt) instead of self-signed certs.

📜 License

Licensed under the MIT License.


🙏 Acknowledgments

  • noVNC – Browser-based VNC client (HTML5 + WebSockets)
  • websockify – WebSockets proxy for any TCP service

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

novnc-1.3.0.tar.gz (799.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

novnc-1.3.0-py3-none-any.whl (797.0 kB view details)

Uploaded Python 3

File details

Details for the file novnc-1.3.0.tar.gz.

File metadata

  • Download URL: novnc-1.3.0.tar.gz
  • Upload date:
  • Size: 799.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for novnc-1.3.0.tar.gz
Algorithm Hash digest
SHA256 de1950efc72f3e1b4d15786198396719ff5c399b3179b706a2612f557c9f0434
MD5 b134cbd0f33e09e859ea393855516ed3
BLAKE2b-256 0ee38a97cc88175b1e58d950dd9f74cc0de1cfe6bb17428c2e3aa139e6464417

See more details on using hashes here.

File details

Details for the file novnc-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: novnc-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 797.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for novnc-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 df890f890ffc2ba9a4c4901273b7d694f3ee9b79b11e0d1a3876ba24c76a7acb
MD5 65ccd805b93406e5b18f7d5ad06d888e
BLAKE2b-256 05538ab63b5da695392e7350d8f8bf156fbe8d031e4dc268923371102f3c5bf9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page