A SSH to WebSockets bridge that enables remote shell access over HTTP/WebSockets without requiring SSH protocol knowledge.
wssh is a SSH to WebSockets bridge that allows clients to access remote shells using HTTP/WebSocket protocols instead of traditional SSH clients. It terminates SSH connections at the bridge level and wraps the terminal session in JSON for transmission, solving the problem of embedding terminal access in web applications without implementing full SSH protocol support.
Web developers and DevOps engineers who need to embed terminal access in web applications, particularly those building web-based administration interfaces, remote management tools, or educational platforms requiring shell access.
Developers choose wssh because it eliminates the need for clients to understand the SSH protocol, enables terminal access from web browsers with minimal code, and provides flexible integration options with existing authentication systems like OAuth.
SSH to WebSockets Bridge
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables embedding terminal access in web apps with minimal code, as demonstrated by the Flask example in the README, allowing custom authentication like OAuth.
Provides Python and JavaScript client libraries, making it simple to integrate into various applications, including browser-based terminals via the built-in web interface.
Can be embedded into existing Python web frameworks like Flask for tailored access control, as shown in the examples, rather than relying solely on the standalone server.
Ships with command-line tools (wsshd and wssh) for immediate use, allowing quick setup without extensive configuration, as outlined in the usage section.
Only supports basic shell access via JSON wrapping, missing advanced SSH features such as file transfer or tunneling, which are not mentioned in the README.
Requires Python for the server implementation, limiting adoption in teams using other backend technologies and adding dependency overhead.
Introduces a WebSocket bridge layer that must be secured separately, increasing the attack surface compared to direct SSH connections, with no built-in encryption details beyond HTTP.
The README includes examples dated to 2012, suggesting the project may be less actively maintained, which could lead to compatibility or security issues over time.