Как стать автором
Обновить

Комментарии 61

Я правильно понял: сижу за натом, поднят сервер на 80-м порту, ввожу «localtunnel 80» и мне сообщают домен (пускай хоть 10-го уровня :) ), на котором к моей машине можно достучаться извне?
Да, так и есть. Достукиваться можно пока программа запущена и соответсвенно открыт туннель.
Замечательно. То что нужно, а то пытался на vps что-то похожее соорудить, но то ли принципа не понял ssh-тоннелей, то ли ещё что.

Спасибо за наводку.
Ну в принципе если на VPS откртыт 80-й порт, то достаточно запустить:

ssh -R 80:localhost:80 user@example.com

чтоб все работало.
Попробовал с парой сервров, что-то не работает.

ssh -R 8080:localhost:80 user@servername

Точнее работает, но на удалённом сервере байндится только на localhost, а не на остальные интерфейсы.
Хотя в мане явно указано:

By default, the listening socket on the server will be bound to the loopback interface only. This may be overridden by specifying a bind_address. An empty bind_address, or the address ‘*’, indicates that the remote socket should listen on all interfaces. Specifying a remote bind_address will only succeed if the server's GatewayPorts option is enabled (see sshd_config(5)).
О, из другого мана:

GatewayPorts
Specifies whether remote hosts are allowed to connect to ports forwarded for the client. By default, sshd(8) binds remote port forwardings to the loopback address. This prevents other remote hosts from connecting to forwarded ports. GatewayPorts can be used to specify that sshd should allow remote port forwardings to bind to non-loopback addresses, thus allowing other hosts to connect. The argument may be “no” to force remote port forwardings to be available to the local host only, “yes” to force remote port forwardings to bind to the wildcard address, or “clientspecified” to allow the client to select the address to which the forwarding is bound. The default is “no”.

Итого чтобы работало, нужно в /etc/ssh/sshd_config добавить строчку

GatewayPorts yes

Сам спросил — сам ответил :-))
большое спасибо, щас прям и опробую)
Меня всегда интересовало на чем зарабатывают такие сервисы, кто-то держит сервера, платит за трафик.
Я думаю что он just for fun. Много ресурсов не надо ведь все равно.
Много ip надо, а это недешевое удовольствие.
Зачем? Никто не мешает хостить несколько доменов на одном айпи. Там используется обратный HTTP-прокси.
А, ну да, надо переставать спать днем, сам ночью nginx в роли лоадбалансера настраивал :)
Кстати, насколько я понял инфраструктуру поддежрживает Twilio: www.twilio.com/

Я думаю им это несложно.
Это уже более правдоподобно.
Это не отменяет just for fun. Хотя так как localtunnel для веб-разработчиков и их платный продукт тоже для веб-разработчиков – вполне возможно довольно заметная реклама получается.
а DNAT уже не в моде? О_о
НЛО прилетело и опубликовало эту надпись здесь
Не всегда есть возможность использовать DNAT. Плюс не особо удобно для того чтоб временно расшаривать. Плюс не получится расшарить несколько сервисов на 80-м порту (с localtunnel можно на разных доменах).
У вас что за дистрибутив? В Ubuntu 10.04 в стандартном репозитории нету такого пакета…
он ставится через rubygems, сначала надо установить зависимости:
«sudo apt-get install ruby ruby1.8-dev rubygems1.8 libopenssl-ruby»
а потом уже:
sudo gem install localtunnel

у меня, правда, написал, что установился, но при запуске всё равно пишет:
«localtunnel: command not found»
Попробуйте так:

ruby /var/lib/gems/1.8/gems/GEM_NAME/bin/GEM_FILE [параметры]

где, 1.8 — зависит от версии руби, может быть 1.9.1 и др

GEM_NAME скорее всего localtunnel

GEM_FILE — так же скорее всего localtunnel
спасибо большое, у меня это вот так ruby /var/lib/gems/1.8/gems/localtunnel-0.2/bin/localtunnel -k ~/.ssh/id_rsa.pub 8080
что только сделают люди, лишь бы ssh -R не пользоваться…
Так тут как бы вообщем-то и есть ssh -R только в обертке и сервер предоставляется публичный.
Почитал сорцы. Почему то вспомнилось Evolution of a Python Programmer. тов. progrium достиг высшего мастерства и является гордым обладателем звания Enterprise Programmer в обоих языках.
То есть там много лишнего кода (1 страница что сервер что клиент) и вы напишете короче?
И ставится через рубижемс? о_О
Какой-то server.py на питоне, а localtunnel.rb — на руби
На питоне серверная часть я так понимаю. Для обычного использования она не жуна, так как сервер хостится разработчиком.
Если у вас нет готовых ключей для SSH, их можно сгенерировать такой командой:
НЛО прилетело и опубликовало эту надпись здесь
Ошибка в слове Можно
Исправил
html теги у хараюзеров с заминусованой кармой вырезаются
Спасибо, уже понял(
>> Иногда во время тестирования веб-приложений может понадобится доступ к ним снаружи (то есть из публичного Интернета).

Opera Unite Web Proxy?
Opera малоиспользуемый браузер к тому же c кзарытыми исходниками. То есть подходит не для всех, но думаю кому-то пригодится, спасибо.
По крайней мере, у веб разработчиков он обычно установлен — хотя бы для тестирования, а для доступа к запущенному у разработчика юнайт-сервису подойдёт любой браузер.
У меня на работе есть сервер на Linux (Ubuntu 10.04.1) с подключенным к нему 3G модемом (Megafon Huawei E1550) и установленным SSH-Server. Подскажите, пожалуйста, можно ли похожим способом сделать так, чтобы я мог подключаться к серверу по SSH извне, так как IP адрес подключения, естественно, не белый?
я решал эту проблему с помощью teredo — будете иметь доступ к своей машине через IPv6
Я могу ошибаться, но если мне не изменяет память, то teredo не позволяет работать двум машинам между собой через IPv6 из-за одного NAT.
ssh -R. Естественно это приведет к снижению производительности.
Запустить на сервере этот самый localtunnel с указанием порта для sshd (по умолчанию 22), получить домен и коннектиться извне к этому домену. Для вариантов «дома доделаю» или «не хочу из отпуска возвращаться, чтобы пару строк в конфиге поправить» (если есть кому на работе запустить прогу и сказать полученный домен, хотя можно заскриптовать и отсылку его на email, например) должно хватить, как постоянный вариант — не очень надёжно, по-моему.
Только с портами надо быть аккуратней, чтобы конфликта не возникло, лучше, наверное, нестандартные использовать.
Не получится, так как localtunnel работает только с HTTP. Дело в том что он использует обратный HTTP-proxy. Это для того чтоб на 80-м порту можно было много доменов обслуживать используя только один айпи.
если доступ к раб. столу — то teamviewer, но если у Вас на работе linux тогда не знаю
Если полноценный TCP-коннект — тогда hamachi(logmein) — больше аналогов не известно.
teamviewer есть под linux(со встроенным wine, типа как пикаса гугловская, но работает). И еще до того, как появилась эта версия, я его замечательно запускал под вайном.
другое дело, что teamviewer не даст возможность подключаться по ssh.
Openvpn
Я так понимаю этот localtunnel нужен в том случае если внешний ip отсутствует как класс?.. Довольно редкая ситуация мне кажется, сколько провайдеров перепробовал у всех был какой то внешний адрес, пусть динамический, но все же.
Бывают провайдеры где есть только NAT не(если доплачивать специально). Ну или кривые роутеры. Ну или кто-то сидит в конторе за NAT и не имеет доступ к роутеру. Короче далеко не всегда можно заполучить внешний айпи еще и с 80-м портом открытым.
Попробовал сейчас под виндой, не получилось:
PS C:\Users\Alexandr> localtunnel -k C:\Users\Alexandr\.ssh\id_rsa.pub 3000
[Error] Unable to register tunnel. Perhaps service is down?
Я не думаю что оно работает под чистой виндой, можете попробовать под Cygwin.
Та же ошибка и под ubuntu 10.04
Ну может и правда Perhaps service is down?
Если зайти на open.localtunnel.com/ и передать в параметр key свой ключ то выводит кучу ошибок, но не invalid key. а должен json с данными. invalid key выведет если удалить из ключа что-нибудь или вообще послать фигню в параметре. вот поэтому и ошибка такая в итоге. только что с этим делать не ясно
Ну скорее всего это временно все-таки. Может написать разработчикам об этом.
А чем не устраивает денвер + динднс? привязываете свой айпишник к динднсу, прокидываете порты через модем, если он в режиме роутера и пользуетесь. никаких дополнительных напрягов с другими прогами. Пару строк в htaccess и дело в шляпе.
Не всегда доступен даже динамический IP.
неплохо-бы упомянуть это в начале статьи, ибо слишком уж многим непонятно зачем это все это городить, если есть внешний айпи.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории