Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. SSH
  3. wssh

wssh

MITJavaScript

A SSH to WebSockets bridge that enables remote shell access over HTTP/WebSockets without requiring SSH protocol knowledge.

GitHubGitHub
1.4k stars269 forks0 contributors

What is wssh?

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.

Target Audience

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.

Value Proposition

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.

Overview

SSH to WebSockets Bridge

Use Cases

Best For

  • Embedding terminal access in web-based administration panels
  • Building web applications that require remote shell functionality
  • Creating educational platforms with interactive coding environments
  • Developing remote server management tools with custom authentication
  • Adding terminal capabilities to existing Flask or Python web applications
  • Providing browser-based access to servers without installing SSH clients

Not Ideal For

  • Applications requiring advanced SSH features like port forwarding or X11 forwarding
  • High-performance environments where WebSocket latency or JSON overhead is unacceptable
  • Teams using non-Python backend stacks that prefer native server implementations
  • Projects with strict security policies that avoid additional protocol translation layers

Pros & Cons

Pros

Easy Web Integration

Enables embedding terminal access in web apps with minimal code, as demonstrated by the Flask example in the README, allowing custom authentication like OAuth.

Multi-Platform Client Support

Provides Python and JavaScript client libraries, making it simple to integrate into various applications, including browser-based terminals via the built-in web interface.

Flexible Server Customization

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.

Standalone Usability

Ships with command-line tools (wsshd and wssh) for immediate use, allowing quick setup without extensive configuration, as outlined in the usage section.

Cons

Limited SSH Capabilities

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.

Python-Dependent Server

Requires Python for the server implementation, limiting adoption in teams using other backend technologies and adding dependency overhead.

Security Complexity

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.

Potential Obsolescence

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.

Frequently Asked Questions

Quick Stats

Stars1,371
Forks269
Contributors0
Open Issues19
Last commit7 years ago
CreatedSince 2012

Tags

#protocol-translation#web-terminal#python-library#devops-tools#remote-shell#javascript-client#websockets

Built With

P
Python
F
Flask

Included in

SSH2.8k
Auto-fetched 22 hours ago

Related Projects

ngrokngrok

Unified ingress for developers

Stars24,414
Forks4,246
Last commit2 years ago
sshuttlesshuttle

Transparent proxy server that works as a poor man's VPN. Forwards over ssh. Doesn't require admin. Works with Linux and MacOS. Supports DNS tunneling.

Stars13,598
Forks795
Last commit1 day ago
sshfssshfs

A network filesystem client to connect to SSH servers

Stars7,693
Forks549
Last commit20 days ago
sslhsslh

Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)

Stars5,120
Forks398
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub