websockify
Websockify.
What it is and what it does
Websockify is a WebSocket-to-TCP proxy that accepts WebSocket connections and forwards traffic bidirectionally to a target TCP server. Originally part of the noVNC project, it translates the WebSocket handshake and protocol into standard socket communication, allowing web browsers and WebSocket clients to reach any TCP-based service without native WebSocket support. It supports both plain ws:// and encrypted wss:// connections, with automatic SSL detection.
The package includes optional features for authentication via pluggable auth modules, token-based routing to multiple targets, session recording, daemonization, and wrapping local programs via LD_PRELOAD to intercept their TCP bindings. It can serve static web content on the same port and integrates with redis and jwcrypto for advanced deployments. Typical use cases include exposing remote services to web browsers, enabling browser-based access to legacy TCP services, and bridging web applications to infrastructure that lacks native WebSocket support.
Use it for:
- Proxy remote services to web browsers for integrated remote access applications.
- Enable browser-based clients to reach legacy TCP services without native WebSocket support.
- Route multiple TCP services through a single WebSocket endpoint using token-based target selection.
- Record and replay WebSocket traffic for debugging or compliance auditing with session recording.
- Serve web UI and WebSocket proxy on the same port for unified remote access deployments.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Translates WebSocket connections to normal TCP socket traffic, enabling WebSocket clients to communicate with any TCP-based server or application.
Yes. Websockify is a mature, actively maintained tool with no known vulnerabilities, low install friction, and a clear use case for bridging WebSocket clients to TCP services. The LGPLv3 copyleft license is standard for this class of infrastructure software. Install it if you need to expose TCP services to web clients; skip it if you have no WebSocket-to-TCP bridging requirement.
Install
websockify on PyPI
pip
pip install websockifyuv
uv add websockifypoetry
poetry add websockifyInstalling websockify
Before you install
Low install friction with a pure Python wheel distribution. Actively maintained with recent commits and a stable release history since 2013. Four runtime dependencies (numpy, requests, jwcrypto, redis) are standard libraries with broad availability.
License in practice
Licensed under LGPLv3 (copyleft). Derivative works and modifications must be distributed under compatible terms; static linking or proprietary wrapping requires legal review.
Quickstart
pip install websockify
from websockify import server
server.WebSocketProxy(listen_host='0.0.0.0', target_host='localhost').start()
Verify before relying
- Whether numpy is truly optional or required for production use despite being listed as install_requires.
- Performance characteristics and throughput limits under typical proxy loads.
- Compatibility guarantees for the four runtime dependencies (numpy, requests, jwcrypto, redis) across their version ranges.
- Specific port configuration requirements and defaults for WebSocket listener and target connections.
Package facts
| License | LGPLv3 (copyleft) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — numpy, requests, jwcrypto, redis |
| Maintenance | actively maintained — 445 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 387,066/month — #7,046 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: websockify-0.13.0-py3-none-any.whl
Keywords: noVNC, websockify
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
lomondLomond is a WebSocket client library that…
permissive · top 5,000 on PyPI
websockets-proxyEnables WebSocket connections through HTTP and…
permissive · top 15,000 on PyPI
mitmproxymitmproxy is an interactive, SSL/TLS-capable…
permissive · top 5,000 on PyPI
hass-web-proxy-libProvides base classes and utilities for Home…
permissive · top 15,000 on PyPI
portendPortend monitors TCP ports to check whether…
permissive · top 5,000 on PyPI
websocketswebsockets is a library for building WebSocket…
permissive · top 100 on PyPI
pproxypproxy is an asynchronous proxy server that…
permissive · top 15,000 on PyPI
SocketSwapSocketSwap intercepts and redirects network…
permissive · top 15,000 on PyPI
httpx-wsAdds WebSocket support to HTTPX, enabling sync…
permissive · top 5,000 on PyPI
signalrcoreA Python client library for connecting to…
unclear · top 15,000 on PyPI