
Túneles HTTP(S)/WS(S)/TCP hacia localhost usando solo SSH.
Túnel SSH de código abierto para HTTP(S), WS(S), TCP, alias y SNI.
Si te gusta la simplicidad del estilo de compartir de serveo/ngrok pero quieres usar SSH básico y gestionar tu propia infraestructura, sish está hecho para eso.
Documentación | Servicio Gestionado | Lanzamientos | Imágenes Docker | Patrocinado por pico.sh
sish ejecuta un servidor SSH enfocado en el reenvío y la multiplexación. Los usuarios se conectan con comandos que ya conocen, y sish gestiona el enrutamiento.
La forma más rápida de validar tu flujo de trabajo:
ssh -R 80:localhost:8080 tuns.sh
Esto crea una URL pública para tu aplicación local que se ejecuta en el puerto 8080.
Descargar la imagen:
docker pull antoniomika/sish:latest
Preparar directorios:
mkdir -p ~/sish/ssl ~/sish/keys ~/sish/pubkeys
cp ~/.ssh/id_ed25519.pub ~/sish/pubkeys
Ejecutar:
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
Luego conectar:
ssh -p 2222 -R 80:localhost:8080 example.com
ssh -R myapp:80:localhost:8080 tuns.sh
Tu aplicación en localhost:8080 estará disponible en https://myapp.tuns.sh.
ssh -R 2222:localhost:22 tuns.sh
localhost:22 está disponible en tuns.sh:2222
ssh -R mylaptop:22:localhost:22 tuns.sh
Acceso desde otro cliente:
ssh -J tuns.sh mylaptop
Clonar:
git clone [email protected]:antoniomika/sish.git
cd sish
Iniciar localmente:
go run main.go --http-address localhost:3000 --domain testing.ssi.sh
O usar:
make dev
Probar un túnel:
ssh -p 2222 -R 80:localhost:8080 testing.ssi.sh
testing.ssi.sh está configurado para apuntar a localhost durante el desarrollo.