Частенько возникает необходимость открыть свой компьютер для доступа через интернет, для всех желающих или по паролю. Например, если хотите продемонстрировать новый код, опубликовать файлы или просто записать весь сетевой трафик у исследовательских целях.
Для этого нужно установить у себя веб-сервер и направить на него трафик через сторонний сервер по обратному SSH-туннелю с помощью программы вроде LocalTunnel или ProxyLocal.
$ gem install localtunnel
$ localtunnel -k ~/.ssh/id_rsa.pub 8080
После ваш компьютер будет доступен с адреса вроде http://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
Взято с xakep.ru