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
Metadata
Release files for novnc 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| novnc-1.3.0.tar.gz | 799.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| novnc-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.6 MB
Release files / novnc-1.3.0.tar.gz
| Download URL | novnc-1.3.0.tar.gz |
|---|---|
| Size | 799.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
de1950efc72f3e1b4d15786198396719ff5c399b3179b706a2612f557c9f0434
|
|
BLAKE2b-256 checksum How to use checksums |
0ee38a97cc88175b1e58d950dd9f74cc0de1cfe6bb17428c2e3aa139e6464417
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Release files / novnc-1.3.0-py3-none-any.whl
| Download URL | novnc-1.3.0-py3-none-any.whl |
|---|---|
| Size | 797.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
df890f890ffc2ba9a4c4901273b7d694f3ee9b79b11e0d1a3876ba24c76a7acb
|
|
BLAKE2b-256 checksum How to use checksums |
05538ab63b5da695392e7350d8f8bf156fbe8d031e4dc268923371102f3c5bf9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.9.25
|
Security for novnc 1.3.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.