Voltar ao ranking

antoniomika/sish

Gossi.sh

HTTP(S)/WS(S)/TCP Tunnels to localhost using only SSH.

ngrokserveosshtunneltcpwebsocketshttphttps
Crescimento de estrelas
Estrelas
4.7k
Forks
332
Crescimento semanal
Issues
23
2k4k
fev. de 2019jul. de 2021jan. de 2024jul. de 2026
ArtefatosGo Modulesgo get github.com/antoniomika/sish
README

sish

Open source SSH tunneling for HTTP(S), WS(S), TCP, aliases, and SNI.

If you like the simplicity of serveo/ngrok-style sharing but want to use plain SSH and run your own infrastructure, sish is built for that.

  • No custom client required for end users
  • Public and private tunnel workflows
  • Docker and binary releases
  • Designed for production-grade self-hosting

Docs | Managed Service | Releases | Docker Images | Sponsored by pico.sh

Why sish

sish runs an SSH server focused on forwarding and multiplexing. Users connect with commands they already know, and sish handles the routing.

Typical use cases

  • Share a local web app instantly over HTTPS
  • Expose a TCP service to a fixed or random external port
  • Create private TCP aliases that are only reachable through authenticated SSH
  • Route TLS traffic by SNI to multiple backends without terminating TLS

Quick Start

1) Try the managed service

The fastest way to validate your workflow:

ssh -R 80:localhost:8080 tuns.sh

This creates a public URL for your local app running on port 8080.

2) Self-host with Docker

Pull image:

docker pull antoniomika/sish:latest

Prepare directories:

mkdir -p ~/sish/ssl ~/sish/keys ~/sish/pubkeys
cp ~/.ssh/id_ed25519.pub ~/sish/pubkeys

Run:

docker run -itd --name sish \
	-v ~/sish/ssl:/ssl \
	-v ~/sish/keys:/keys \
	-v ~/sish/pubkeys:/pubkeys \
	--net=host antoniomika/sish:latest \
	--ssh-address=:2222 \
	--http-address=:80 \
	--https-address=:443 \
	--https=true \
	--https-certificate-directory=/ssl \
	--authentication-keys-directory=/pubkeys \
	--private-keys-directory=/keys \
	--bind-random-ports=false \
	--domain=example.com

Then connect:

ssh -p 2222 -R 80:localhost:8080 example.com

Forwarding Examples

HTTP tunnel

ssh -R myapp:80:localhost:8080 tuns.sh

Your app at localhost:8080 becomes available at https://myapp.tuns.sh.

TCP tunnel

ssh -R 2222:localhost:22 tuns.sh

localhost:22 is available at tuns.sh:2222

Private TCP alias

ssh -R mylaptop:22:localhost:22 tuns.sh

Access from another client:

ssh -J tuns.sh mylaptop

Feature Highlights

  • HTTP(S), WS(S), TCP forwarding, and multiplexing
  • TCP aliases for private internal-only access patterns
  • SNI proxy support for TLS-based backend routing
  • Optional load balancing modes for HTTP/TCP/SNI aliases
  • Service console support for inspecting forwarded requests
  • Key and password authentication with dynamic key reloading
  • Restrictive binding policies for safer multi-tenant setups

Local Development

Clone:

git clone git@github.com:antoniomika/sish.git
cd sish

Start locally:

go run main.go --http-address localhost:3000 --domain testing.ssi.sh

Or use:

make dev

Test a tunnel:

ssh -p 2222 -R 80:localhost:8080 testing.ssi.sh

testing.ssi.sh is configured to point to localhost for development.

Learn More

Community

Repositórios relacionados
anderspitman/awesome-tunneling

List of ngrok, Cloudflare Tunnel, Tailscale, and ZeroTier alternatives and other tunneling software and services. Focus on self-hosting.

ngroktunneling
21.5k1.1k
rathole-org/rathole

A lightweight and high-performance reverse proxy for NAT traversal, written in Rust. An alternative to frp and ngrok.

Rustcrates.ioApache License 2.0nattunnel
13.9k796
rapiz1/rathole

A lightweight and high-performance reverse proxy for NAT traversal, written in Rust. An alternative to frp and ngrok.

Rustcrates.ioApache License 2.0nattunnel
10.4k532
ffay/lanproxy

lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面、http代理、https代理、socks5代理...)。技术交流QQ群 736294209

JavaMavenlanproxynat
nat.nioee.com
5.9k1.6k
jinwyp/one_click_script

install latest or LTS linux kernel and enable BBR or BBR plus

ShellMIT Licensetrojanv2ray
5.1k1.4k
abhinavsingh/proxy.py

💫 Ngrok FRP Alternative • ⚡ Fast • 🪶 Lightweight • 0️⃣ Dependency • 🔌 Pluggable • 😈 TLS interception • 🔒 DNS-over-HTTPS • 🔥 Poor Man's VPN • ⏪ Reverse & ⏩ Forward • 👮🏿 "Proxy Server" framework • 🌐 "Web Server" framework • ➵ ➶ ➷ ➠ "PubSub" framework • 👷 "Work" acceptor & executor framework

PythonPyPIBSD 3-Clause "New" or "Revised" Licensehttp-proxypython3
abhinavsingh.com/proxy-py-a-lightweight-single-file-http-proxy-server-in-python/
3.5k631
sabri-zaki/EasY_HaCk

Hack the World using Termux

PythonPyPIApache License 2.0termuxhackers
2.4k256
bubenshchykov/ngrok

Expose your localhost to the web. Node wrapper for ngrok.

JavaScriptnpmngroktunneling
ngrok.com
2.4k319
AdrMXR/KitHack

Hacking tools pack & backdoors generator.

PythonPyPIMIT Licenseandroidwindows
adrmxr.github.io/KitHack/
2.1k269
rebel0789/codexpro

Use ChatGPT Developer Mode as a local coding agent for your repo through MCP.

JavaScriptnpmMIT Licenseapps-sdkchatgpt
rebel0789.github.io/codexpro/
1.3k126
hasanfirnas/symbiote

Your target's phone's front and back cameras📸 can be accessed by sending a link🔗.

PythonPyPIMIT Licenseandroidcameracamera-hacking
1.1k127