Частенько возникает необходимость открыть свой компьютер для доступа через интернет, для всех желающих или по паролю. Например, если хотите продемонстрировать новый код, опубликовать файлы или просто записать весь сетевой трафик у исследовательских целях.

Для этого нужно установить у себя веб-сервер и направить на него трафик через сторонний сервер по обратному SSH-туннелю с помощью программы вроде LocalTunnel или ProxyLocal.

$ gem install localtunnel
$ localtunnel -k ~/.ssh/id_rsa.pub 8080

После ваш компьютер будет доступен с адреса вроде 8bv2.localtunnel.com. Запускаем программу — и localhost в онлайне.

$ localtunnel 8080

Недавно появился новый бесплатный сервис, который делает все то же самое, но работает стабильнее и имеет большую функциональность. Поэтому, наверное, он достоин упоминания: ngrok.com.

Программа распространяется в биннарниках под Linux, Mac OS X и Windows и работает сразу «из коробки» даже без регистрации.

Но если зарегистрироваться, то появляется пара дополнительных возможностей.

Доступ через SSL

curl https://myapp.ngrok.com

Защита туннеля паролем

ngrok -httpauth "user:password" 8080

Поддомены на выбор, с резервированием на будущее

ngrok -subdomain myapp 8080

Туннелирование TCP и UDP

ngrok -proto tcp 8080

источник