
HTTP(S)/WS(S)/TCP туннели на localhost, используя только SSH.
Туннелирование SSH с открытым исходным кодом для HTTP(S), WS(S), TCP, псевдонимов и SNI.
Если вам нравится простота общего доступа в стиле serveo/ngrok, но вы хотите использовать обычный
SSH и запускать собственную инфраструктуру, sish создан именно для этого.
Документация | Управляемый сервис | Релизы | Образы Docker | Спонсируется pico.sh
sish запускает SSH-сервер, ориентированный на пересылку и мультиплексирование. Пользователи подключаются
с помощью уже знакомых им команд, а sish обрабатывает маршрутизацию.
Самый быстрый способ проверить ваш рабочий процесс:
ssh -R 80:localhost:8080 tuns.sh
Это создаёт публичный URL для вашего локального приложения, работающего на порту 8080.
Загрузите образ:
docker pull antoniomika/sish:latest
Подготовьте каталоги:
mkdir -p ~/sish/ssl ~/sish/keys ~/sish/pubkeys
cp ~/.ssh/id_ed25519.pub ~/sish/pubkeys
Запустите:
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
Затем подключитесь:
ssh -p 2222 -R 80:localhost:8080 example.com
ssh -R myapp:80:localhost:8080 tuns.sh
Ваше приложение на localhost:8080 становится доступно по адресу https://myapp.tuns.sh.
ssh -R 2222:localhost:22 tuns.sh
localhost:22 доступен на tuns.sh:2222
ssh -R mylaptop:22:localhost:22 tuns.sh
Доступ с другого клиента:
ssh -J tuns.sh mylaptop
Клонируйте:
git clone [email protected]:antoniomika/sish.git
cd sish
Запустите локально:
go run main.go --http-address localhost:3000 --domain testing.ssi.sh
Или используйте:
make dev
Проверьте туннель:
ssh -p 2222 -R 80:localhost:8080 testing.ssi.sh
testing.ssi.sh настроен на указание localhost для разработки.