Create HTTP, HTTPS, WebSocket, and TCP tunnels to localhost using standard SSH without custom clients.
sish is an open-source, self-hosted server application that creates tunnels for HTTP, HTTPS, WebSocket, and TCP traffic to a local machine. It functions as an SSH server focused on forwarding and multiplexing, allowing users to expose local services to the internet using standard SSH commands. By utilizing the remote port forwarding capabilities of the SSH protocol, the software enables the sharing of local development environments or internal services without requiring the installation of specialized client software on the user's machine.
The software is deployed as a server, available via binary releases or Docker images. It enables users to share local web applications over HTTPS, expose TCP services to specific external ports, or create private TCP aliases. This makes it suitable for developers who need to demonstrate a local project to a remote client or for system administrators who need to manage access to internal network resources through a centralized gateway.
Built with Go, the application manages routing by handling SSH remote port forwarding requests. It supports both public tunnels, which are accessible via a public domain, and private tunnels that are only reachable through authenticated SSH jumps. The server can be configured to handle TLS traffic via Server Name Indication (SNI) to route requests to multiple backends without terminating the TLS connection. This architecture allows for flexible traffic management and the ability to host multiple services behind a single entry point. It is designed for users who prefer to maintain full control over their tunneling infrastructure rather than relying on managed third party services.
sish provides a self-hosted infrastructure for secure network tunneling and API exposure.
Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.