
Túneis HTTP(S)/WS(S)/TCP para localhost usando apenas SSH.
Tunelamento SSH de código aberto para HTTP(S), WS(S), TCP, aliases e SNI.
Se você gosta da simplicidade do compartilhamento estilo serveo/ngrok, mas quer usar SSH puro e executar sua própria infraestrutura, o sish foi criado para isso.
Documentação | Serviço Gerenciado | Lançamentos | Imagens Docker | Patrocinado por pico.sh
O sish executa um servidor SSH focado em encaminhamento e multiplexação. Os usuários se conectam com comandos que já conhecem, e o sish lida com o roteamento.
A maneira mais rápida de validar seu fluxo de trabalho:
ssh -R 80:localhost:8080 tuns.sh
Isso cria uma URL pública para seu aplicativo local rodando na porta 8080.
Puxe a imagem:
docker pull antoniomika/sish:latest
Prepare os diretórios:
mkdir -p ~/sish/ssl ~/sish/keys ~/sish/pubkeys
cp ~/.ssh/id_ed25519.pub ~/sish/pubkeys
Execute:
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
Em seguida, conecte-se:
ssh -p 2222 -R 80:localhost:8080 example.com
ssh -R myapp:80:localhost:8080 tuns.sh
Seu aplicativo em localhost:8080 fica disponível em https://myapp.tuns.sh.
ssh -R 2222:localhost:22 tuns.sh
localhost:22 está disponível em tuns.sh:2222
ssh -R mylaptop:22:localhost:22 tuns.sh
Acesse de outro cliente:
ssh -J tuns.sh mylaptop
Clone:
git clone [email protected]:antoniomika/sish.git
cd sish
Inicie localmente:
go run main.go --http-address localhost:3000 --domain testing.ssi.sh
Ou use:
make dev
Teste um túnel:
ssh -p 2222 -R 80:localhost:8080 testing.ssi.sh
testing.ssi.sh está configurado para apontar para localhost durante o desenvolvimento.