Coder Social home page Coder Social logo

localtunnel's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

localtunnel's Issues

using sub directory in addition to port

atm we can specify a the localhost port # when using localtunnel, would it be possible to specify a sub directory to be used as well?

The reason I ask is that ColdFusion has a built-in localhost webserver from some local directory, which one typically throws all of their development CF websites into, but when I want to test a site with localtunnel, localtunnel is making all of the CF development sites available thru xyz.localtunnel.com

so what I want is for http://localhost:8500/somesite/ to be available at xyz.localtunnel.com and not at xyz.localtunnel.com/somesite/

with some command like localtunnel 8500 somesite

cant install in ubuntu 10.04

iam follow the instalation instructions, and gem returns ok

the binari is not generated

related issue #10

compermisos@ikaro:$sudo apt-get install ruby ruby1.8-dev rubygems1.8 libopenssl-ruby
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
ruby ya está en su versión más reciente.
ruby1.8-dev ya está en su versión más reciente.
rubygems1.8 ya está en su versión más reciente.
libopenssl-ruby ya está en su versión más reciente.
0 actualizados, 0 se instalarán, 0 para eliminar y 0 no actualizados.
compermisos@ikaro:
$sudo gem install localtunnel
Successfully installed localtunnel-0.3
1 gem installed
Installing ri documentation for localtunnel-0.3...
Installing RDoc documentation for localtunnel-0.3...
compermisos@ikaro:$locate bin/localtunnel
compermisos@ikaro:
$locate localtunnel
compermisos@ikaro:~$

Linking to stylesheets

Running MAMP on port 80. My localhost is accessible through http://localhost (http://localhost:80 redirects to http://localhost).

Using WordPress, all js/css are dynamically linked. E.G.:

http://localhost/my-site/wp-content/themes/theme-name/style.css

Viewing the local tunnel URL on another computer/iOS device does not load any of these external files. Only works when I hard code the url to include localhost:80, E.G.:

http://localhost:80/my-site/wp-content/themes/theme-name/style.css

Changing the WordPress URL (Settings --> General) to localhost:80 does not work.

Any thoughts on a workaround?

Drop a pid file

So that localtunnel process can be managed, please drop a pid file

Connection keeps dropping

Using the latest HEAD, localtunnel-beta seems to drop the connection after 5-10 minutes, consistently.

Restarting localtunnel-beta then fails:

% localtunnel-beta 5000
Traceback (most recent call last):
  File "/usr/local/share/python/localtunnel-beta", line 9, in <module>
    load_entry_point('localtunnel==0.5.7', 'console_scripts', 'localtunnel-beta')()
  File "/Users/tyson/git/redisgreen-support-phone/src/localtunnel/localtunnel/client.py", line 65, in run
    backend_port = util.discover_backend_port(host[0])
  File "/Users/tyson/git/redisgreen-support-phone/src/localtunnel/localtunnel/util.py", line 48, in discover_backend_port
    headers={"Host": "_backend.{0}".format(hostname)}))
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 400, in open
    response = self._open(req, data)
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 418, in _open
    '_open', req)
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 1207, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 1180, in do_open
    r = h.getresponse(buffering=True)
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 1030, in getresponse
    response.begin()
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 407, in begin
    version, status, reason = self._read_status()
  File "/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 371, in _read_status
    raise BadStatusLine(line)
httplib.BadStatusLine: ''

Could not find localtunnel

I've installed ruby 1.8.7 using rvm.

localtunnel ~/.ssh/id_rsa.pub 3000 outputs this:

/Users/gambi/.rvm/rubies/ruby-1.8.7-p370/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find localtunnel (>= 0) amongst [abstract-1.0.0, actionmailer-3.0.10, actionpack-3.0.10, active_utils-1.0.3, activemerchant-1.24.0, activemodel-3.0.10, activerecord-3.0.10, activeresource-3.0.10, activesupport-3.0.10, addressable-2.2.8, arel-2.0.10, bcrypt-ruby-2.1.4, builder-2.1.2, capistrano-2.13.3, capistrano-ext-1.2.1, columnize-0.3.6, commonjs-0.2.6, devise-1.2.1, erubis-2.6.6, faraday-0.7.6, highline-1.6.14, i18n-0.5.0, json-1.7.3, kgio-2.7.4, less-2.2.1, less-1.2.21, less-rails-1.0.0, libv8-3.11.8.3, libv8-3.3.10.4-x86-darwin-11, linecache-0.46, mail-2.2.19, meta_where-1.0.4, mime-types-1.19, money-5.0.0, more-0.1.1, multi_json-1.0.4, multi_xml-0.4.4, multipart-post-1.1.5, mutter-0.5.3, mysql2-0.2.18, net-scp-1.0.4, net-sftp-2.0.5, net-ssh-2.5.2, net-ssh-gateway-1.1.0, nokogiri-1.5.5, oa-core-0.3.2, oa-oauth-0.3.2, oauth-0.4.6, oauth2-0.5.2, orm_adapter-0.0.7, paperclip-2.3.8, polyglot-0.3.3, rack-1.2.5, rack-contrib-1.1.0, rack-mount-0.6.14, rack-test-0.5.7, rails-3.0.10, railties-3.0.10, raindrops-0.10.0, rake-0.9.2.2, rbx-require-relative-0.0.9, rdoc-3.12, ref-1.0.0, ruby-debug-0.10.4, ruby-debug-base-0.10.4, therubyracer-0.11.0beta8, therubyracer-0.10.1, thor-0.14.6, treetop-1.4.10, tzinfo-0.3.33, unicorn-4.3.1, warden-1.0.6, will_paginate-3.0.3] (Gem::LoadError)
    from /Users/gambi/.rvm/rubies/ruby-1.8.7-p370/lib/ruby/site_ruby/1.8/rubygems/dependency.rb:256:in `to_spec'
    from /Users/gambi/.rvm/rubies/ruby-1.8.7-p370/lib/ruby/site_ruby/1.8/rubygems.rb:1231:in `gem'
    from /Users/gambi/.rvm/gems/ruby-1.8.7-p370/bin/localtunnel:18
    from /Users/gambi/.rvm/gems/ruby-1.8.7-p370/bin/ruby_noexec_wrapper:14

With ruby 1.9.3 using rvm.

localtunnel ~/.ssh/id_rsa.pub 3000 outputs this:

/Users/gambi/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find localtunnel (>= 0) amongst [] (Gem::LoadError)
    from /Users/gambi/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
    from /Users/gambi/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems.rb:1231:in `gem'
    from /Users/gambi/.rvm/gems/ruby-1.9.3-p194/bin/localtunnel:18:in `<main>'
    from /Users/gambi/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval'
    from /Users/gambi/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `<main>'

Does not forward POST requests

I am trying to use localtunnel for Twilio. It appears that POST requests are not forwarded, which is strange.

I am using localtunnel 0.3 (the version from gem install) with Ruby 1.9.3-p194.

My backend (in R) contains

...
if (!req$post()) {
str = 'Nothing posted!'
} else {
str = paste('', req$POST()$From, ' said: ',
req$POST()$Body, ' ')
}
...

POSTing from localhost works:

$ curl -d From=Me -d Body=Herpderp http://localhost:21902/custom/echo_twilio

Me said: Herpderp

Using localtunnel doesn't:
$ curl -d From=Me -d Body=Herpderp http://582u.localtunnel.com/custom/echo_twilio

Nothing posted!

Localtunnel being hammered by abusive scripts?

Some of the requests I received in the span of 5 seconds:

Started POST "/tag/love" for 127.0.0.1 at 2012-05-29 16:13:45 -0600
Started POST "/tag/love" for 127.0.0.1 at 2012-05-29 16:13:45 -0600
Started POST "/tag/nofilter" for 127.0.0.1 at 2012-05-29 16:13:45 -0600
Started POST "/tag/paris" for 127.0.0.1 at 2012-05-29 16:13:45 -0600
Started POST "/tag/love" for 127.0.0.1 at 2012-05-29 16:13:45 -0600
Started POST "/tag/love" for 127.0.0.1 at 2012-05-29 16:13:45 -0600
Started POST "/tag/love" for 127.0.0.1 at 2012-05-29 16:13:46 -0600
Started POST "/tag/love" for 127.0.0.1 at 2012-05-29 16:13:46 -0600
Started POST "/tag/love" for 127.0.0.1 at 2012-05-29 16:13:46 -0600
Started POST "/tag/love" for 127.0.0.1 at 2012-05-29 16:13:46 -0600
Started POST "/callbacks" for 127.0.0.1 at 2012-05-29 16:13:47 -0600
Started POST "/tag/love" for 127.0.0.1 at 2012-05-29 16:13:47 -0600
Started POST "/tag/love" for 127.0.0.1 at 2012-05-29 16:13:47 -0600
Started POST "/tag/love" for 127.0.0.1 at 2012-05-29 16:13:48 -0600
Started POST "/tag/love" for 127.0.0.1 at 2012-05-29 16:13:48 -0600
Started POST "/tag/love" for 127.0.0.1 at 2012-05-29 16:13:48 -0600
Started POST "/tag/love" for 127.0.0.1 at 2012-05-29 16:13:48 -0600
Started POST "/tag/love" for 127.0.0.1 at 2012-05-29 16:13:49 -0600
Started POST "/tag/nofilter" for 127.0.0.1 at 2012-05-29 16:13:49 -0600
Started POST "/callbacks" for 127.0.0.1 at 2012-05-29 16:13:49 -0600
Started POST "/tag/nofilter" for 127.0.0.1 at 2012-05-29 16:13:49 -0600
Started POST "/tag/android" for 127.0.0.1 at 2012-05-29 16:13:49 -0600
Started POST "/callbacks" for 127.0.0.1 at 2012-05-29 16:13:49 -0600
Started POST "/callbacks" for 127.0.0.1 at 2012-05-29 16:13:50 -0600
Started POST "/callbacks" for 127.0.0.1 at 2012-05-29 16:13:50 -0600

Is there any way to mitigate this annoying traffic at the localtunnel side? It makes watching the logs extremely difficult.

Failed to authenticate

Localtunnel refuses to ever authenticate:


[~]$ localtunnel -k ~/.ssh/id_rsa.pub 4567
   Failed to authenticate. If this is your first tunnel, you need to
   upload a public key using the -k option. Try this:

   localtunnel -k /home/curtis/.ssh/id_rsa.pub 4567
[~]$ localtunnel -k ~/.ssh/id_rsa.pub 4567
   Failed to authenticate. If this is your first tunnel, you need to
   upload a public key using the -k option. Try this:

   localtunnel -k /home/curtis/.ssh/id_rsa.pub 4567
[~]$ 

Could not find any downloads that satisfy the requirement ginkgo

root@harshad-Vostro-1550:~/localtunnel# python setup.py install
.
.

Searching for ginkgo
Reading http://pypi.python.org/simple/ginkgo/
Couldn't find index page for 'ginkgo' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading http://pypi.python.org/simple/
No local packages or download links found for ginkgo
error: Could not find suitable distribution for Requirement.parse('ginkgo')

root@harshad-Vostro-1550:~/localtunnel# pip install ginkgo
Downloading/unpacking ginkgo
Could not find any downloads that satisfy the requirement ginkgo
No distributions at all found for ginkgo

Error - unable to register tunnel

Hi, I know you've got this bugreport over and over again - well, here's another one. I have no idea what I'm doing wrong but it just won't start. Let me know if I can somehow provide more debugging info.

iMac:~ jakub$ gem list --local | grep localtunnel
localtunnel (0.2)
iMac:~ jakub$ ruby --version
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
iMac:~ jakub$ localtunnel -k ~/.ssh/id_dsa.pub 3000
   [Error] Unable to register tunnel. Perhaps service is down?
iMac:~ jakub$ telnet localhost 3000
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying fe80::1...
telnet: connect to address fe80::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
^CConnection closed by foreign host.
iMac:~ jakub$ ll ~/.ssh/id_dsa.pub
-rw-r--r--  1 jakub  staff  608 May  7  2009 /Users/jakub/.ssh/id_dsa.pub
iMac:~ jakub$

Comments: FAQ?

Quick questions that I could not find the answer to:

  1. Where is v2 code?
  2. Would it be possible to rewrite the client code in python as well? (perhaps using paramiko or twisted)
  3. Does localtunnel support https?
  4. How hard is it to run it on my own webserver? Perhaps make it configurable.

Perhaps add a FAQ to the source code that can be read by everyone?

Allow specifying of subdomain, or persistent subdomain

One really great use of localtunnel is for developing Facebook applications. Facebook often needs a publicly accessible URL to ping for certain actions. The only annoyance is that every time you kill the local, the domain changes, and you have to go change your Facebook app config.

Either letting users choose their subdomain on the command line, or offering a persistent subdomain would be helpful.

don't u see this? http://stackoverflow.com/questions/10590506/how-to-run-localtunnel-v2-properly

I'm using localtunnel v1. But I found that v2 allows you to customize the subdomain, and I need this feature.

I followed the tutorial described in the README from the repository, but it confused me in several parts and, in the end, it did not work.

First step is to run some web-app: checked, on port no. 8000.

Then, it says something about hostnames:

Localtunnel does some stuff with the hostname, so you want to set up two hostnames. One for localtunnel registration, one for your localtunnel. Normally it expects a wildcard, but we'll just hardcode a hostname for this example tunnel.

example.localtunnel.local -> 127.0.0.1
localtunnel.local -> 127.0.0.1

You can do this in /etc/hosts or use that fancy ghost utility.

I've got lost here, but still I edited my /etc/hosts:

127.0.0.1 localhost
127.0.1.1 my-pc-name
127.0.0.1 example.localtunnel.local
127.0.0.1 localtunnel.local
Next step...

Now you can start the server. It's based on a configuration file in the config directory. You can make your own, but this one is configured to run the server on port 9999 and expects the hostname localtunnel.local

ginkgo config/default.conf.py

Which one? Anyway... I created myconfig.conf.py based on the files in localtunnel repo's dir /deploy:

port = 9999
hostname = 'localtunnel.local'
service = 'localtunnel.server.TunnelBroker'
But, when I run:

lt --broker 127.0.0.1:9999 --name example 8000
I got:

Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/gevent/greenlet.py", line 390, in run
result = self._run(_self.args, *_self.kwargs)
File "/usr/local/lib/python2.7/dist-packages/localtunnel/client.py", line 53, in listen
msg = self.ws.receive(msg_obj=True)
TypeError: receive() got an unexpected keyword argument 'msg_obj'
<Greenlet at 0xb6e0db1cL: <bound method TunnelClient.listen of <localtunnel.client.TunnelClient object at 0xb6def52c>>> failed with TypeError
And in the ginkgo process:

Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/gevent/pywsgi.py", line 438, in handle_one_response
self.run_application()
File "/usr/local/lib/python2.7/dist-packages/ws4py/server/geventserver.py", line 85, in run_application
self.result = self.application(self.environ, start_response_for_upgrade)
File "/usr/local/lib/python2.7/dist-packages/ws4py/server/wsgi/middleware.py", line 131, in call
environ.copy()))
TypeError: handle_websocket() takes exactly 3 arguments (2 given)
: Failed to handle request:
request = GET /t/example HTTP/1.1 from ('127.0.0.1', 35907)
application = <ws4py.server.wsgi.middleware.WebSocketUpgradeMiddleware object at 0x95bc2ac>

127.0.0.1 - - [2012-05-14 17:18:18] "GET /t/example HTTP/1.1" 101 162 0.000933
And, obviously, http://example.localtunnel.local:9999 does not work.

How to fix this? And where I have to modify to change the final subdomain?

Running localtunnel reassigned

I usually start a localtunnel on a screen session. I started one today ~2 hrs ago (from this comment) [3:40 AM GMT]. The url it assigned to me was http://4624.localtunnel.com, which worked perfectly.

After some time it was down, so I checked my screen session, which was still up, and localtunnel seemed to be up there as well.

The url was opening something else (and is now).

Right now, it is running at http://4gf2.localtunnel.com, in case you need it.

there seems to be no executable localtunnel

i'm surely missing something stupid here but i can't seem to get this to work. please help..

anup@ubuntu:$ sudo apt-get install ruby ruby1.8-dev rubygems1.8 libopenssl-ruby
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libruby' instead of 'libopenssl-ruby'
libruby is already the newest version.
ruby is already the newest version.
ruby1.8-dev is already the newest version.
rubygems1.8 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
anup@ubuntu:
$ sudo gem install localtunnel
Successfully installed localtunnel-0.2
1 gem installed
Installing ri documentation for localtunnel-0.2...
Installing RDoc documentation for localtunnel-0.2...
anup@ubuntu:$ localtunnel
localtunnel: command not found
anup@ubuntu:
$

Sharing non-http daemons

Hi there,

Apparently the localtunnel only works with http connections.
Can I share a port used by another daemon doesn't communicate with HTTP?

[Error] Invalid key.

lpicado-atg-dev:~$ localtunnel --k ~/.ssh/id_rsa.pub 8080
NOTE: Gem::Specification#default_executable= is deprecated with no replacement. It will be removed on or after 2011-10-01.
Gem::Specification#default_executable= called from /usr/local/lib/ruby/gems/1.8/specifications/rubygems-update-1.8.3.gemspec:11.
[Error] Invalid key.

My key's valid as far as I can tell, I use it for our company's git repository and even github, I actually copy and pasted the key FROM github to see if it would fix it, but no dice.

Keep in mind that I created this key using Putty in Windows, then I just copied it into my machine but, never had any issues with it 'till now, any idea of what could be wrong or how to fix it?

Local-tunnel port not accessible

HI ,

I have installed local-tunnel gem successfully in my rails app and configured with my ssh key

$localtunnel -k ~/.ssh/id_rsa.pub 3000
$localtunnel 3000
Port 3000 is now publicly accessible fro http://3g9f.localtunnel.com ...

But when click on the link the page is not opening and keeps on connecting ...

RVM :
ruby 1.9.2p320
Rails 3.2.6

Do i need to configure any settings from my machine ?

Wildcard domains

Hi,

Would it be possible to have something like this:

*.3m9b.localtunnel.com

So that we can scope stuff like

test.dk.3m9b.localtunnel.com

It will be better for people with multisite applications.

Longer, better randomized subdomain names

I've been playing with localtunnel (great tool by the way) and twice today I have created tunnels that were immediately re-assigned to someone else upon closing them. Thus, by just reloading my web page with the old address I've stumbled on someone else tunnel. Since currently the only security is through obscurity, is there a way to assign longer and/or better randomized subdomains?

Maybe this is on the roadmap, and since you explicitly said "there are no real privacy guarantees", feel free to immediately close this issue.

Thanks

Connection refused - connect(2) (Errno::ECONNREFUSED)

Hi,
I'm trying to use localtunnel on Mac OSX 10.7.3 but I obtain this error:

localtunnel -k ~/.ssh/id_rsa.pub 80
/Library/Ruby/Gems/1.8/gems/net-ssh-2.3.0/lib/net/ssh/transport/session.rb:66:in initialize': Connection refused - connect(2) (Errno::ECONNREFUSED) from /Library/Ruby/Gems/1.8/gems/net-ssh-2.3.0/lib/net/ssh/transport/session.rb:66:inopen'
from /Library/Ruby/Gems/1.8/gems/net-ssh-2.3.0/lib/net/ssh/transport/session.rb:66:in initialize' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/timeout.rb:53:intimeout'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/timeout.rb:93:in timeout' from /Library/Ruby/Gems/1.8/gems/net-ssh-2.3.0/lib/net/ssh/transport/session.rb:66:ininitialize'
from /Library/Ruby/Gems/1.8/gems/net-ssh-2.3.0/lib/net/ssh.rb:186:in new' from /Library/Ruby/Gems/1.8/gems/net-ssh-2.3.0/lib/net/ssh.rb:186:instart'
from /Library/Ruby/Gems/1.8/gems/net-ssh-gateway-1.1.0/lib/net/ssh/gateway.rb:74:in initialize' from /Library/Ruby/Gems/1.8/gems/localtunnel-0.3/lib/localtunnel/tunnel.rb:44:innew'
from /Library/Ruby/Gems/1.8/gems/localtunnel-0.3/lib/localtunnel/tunnel.rb:44:in start_tunnel' from /Library/Ruby/Gems/1.8/gems/localtunnel-0.3/bin/localtunnel:47 from /usr/bin/localtunnel:19:inload'
from /usr/bin/localtunnel:19

What's wrong?
Thx!

unsupported encryption algorithm: `arcfour' (NotImplementedError)

Stacktrace:

danilo@dev5 front]$ localtunnel -k ~/.ssh/id_rsa.pub 8000
/usr/lib/ruby/gems/1.9.1/gems/net-ssh-2.1.4/lib/net/ssh/transport/algorithms.rb:192:in `block in prepare_preferred_algorithms!': unsupported encryption algorithm: `arcfour' (NotImplementedError)
        from /usr/lib/ruby/gems/1.9.1/gems/net-ssh-2.1.4/lib/net/ssh/transport/algorithms.rb:185:in `each'
        from /usr/lib/ruby/gems/1.9.1/gems/net-ssh-2.1.4/lib/net/ssh/transport/algorithms.rb:185:in `prepare_preferred_algorithms!'
        from /usr/lib/ruby/gems/1.9.1/gems/net-ssh-2.1.4/lib/net/ssh/transport/algorithms.rb:96:in `initialize'
        from /usr/lib/ruby/gems/1.9.1/gems/net-ssh-2.1.4/lib/net/ssh/transport/session.rb:77:in `new'
        from /usr/lib/ruby/gems/1.9.1/gems/net-ssh-2.1.4/lib/net/ssh/transport/session.rb:77:in `initialize'
        from /usr/lib/ruby/gems/1.9.1/gems/net-ssh-2.1.4/lib/net/ssh.rb:183:in `new'
        from /usr/lib/ruby/gems/1.9.1/gems/net-ssh-2.1.4/lib/net/ssh.rb:183:in `start'
        from /usr/lib/ruby/gems/1.9.1/gems/net-ssh-gateway-1.1.0/lib/net/ssh/gateway.rb:74:in `initialize'
        from /usr/lib/ruby/gems/1.9.1/gems/localtunnel-0.3/lib/localtunnel/tunnel.rb:44:in `new'
        from /usr/lib/ruby/gems/1.9.1/gems/localtunnel-0.3/lib/localtunnel/tunnel.rb:44:in `start_tunnel'
        from /usr/lib/ruby/gems/1.9.1/gems/localtunnel-0.3/bin/localtunnel:47:in `<top (required)>'
        from /usr/bin/localtunnel:19:in `load'
        from /usr/bin/localtunnel:19:in `<main>'

Ruby version:

[danilo@dev5 front]$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]

Openssl version:

[danilo@dev5 front]$ openssl 
OpenSSL> version
OpenSSL 1.0.0d 8 Feb 2011

Openssh version:

[danilo@dev5 front]$ pacman -Ss openssh
core/openssh 5.8p2-1 [installed]
    Free version of the SSH connectivity tools

System information (Arch Linux i686):

[danilo@dev5 front]$ uname -a
Linux dev5 2.6.38-ARCH #1 SMP PREEMPT Fri Apr 22 17:48:36 UTC 2011 i686 Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz GenuineIntel GNU/Linux

Better support for private tunnels

This may be beyond the scope of localtunnel, and if so, feel free to close out and let me know.

The only way to access a site over a tunnel is via a private URL. But that URL could be guessed by anyone. It'd be nice if it were possible to register a tunnel on one port and serve up the tunnel on another. This would allow a client to register over a publicly exposed port, but for the tunnel to only be available on a private port.

The use case here may be esoteric, but we have people that want us to be able to access their sites, but don't want the sites accessible by anyone else. The random name provides security through obscurity. This would add the ability to do security via firewall, too. Then our users can access their sites publicly through our service where we can impose user restrictions and such.

Multiple Hosts on a Single Port

Not sure if this has been discussed, but it would be nice if I could specify which host is used.

For example, say I am running MAMP which has 10 hosts running on port 80. I can use localtunnel with port 80 but I want to limit it to 1 particular domain that is running on port 80.

So I could theoretically go localtunnel 80 ~/Sites/somesite
This would then create a 8kmb.localtunnel.com for somesite

Hopefully this is not a duplicate issue, but I could not find any previous issues that relate to this.

Also, should I be using the pip version and not the gem version from now on?

ssh key with passphrase problems.

I've had some problems getting localtunnel working. Firstly I was getting [Error] Unable to register tunnel. Perhaps service is down?

To debug this I modified tunnel.rb to output the actual exception message - it could be helpful to add this to the gem. It turned out the problem was a request for the passphrase for the ssh key.

So I generated new keys with no passphrase just for localtunnel. However, when I tested this on the command line I still get asked for the passphrase for my other key despite passing localtunnel the new key which has no passphrase.

If I exit without entering the passphrase, the code running is :

C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/net-ssh-2.5.2/lib/net/ssh/authentication/key_manager.rb:143:in `rescue in sign': the given identity is known, but the private key could not be load
ed: OpenSSL::PKey::RSAError (Neither PUB key nor PRIV key:: nested asn1 error) (Net::SSH::Authentication::KeyManagerError)
        from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/net-ssh-2.5.2/lib/net/ssh/authentication/key_manager.rb:140:in `sign'
        from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/net-ssh-2.5.2/lib/net/ssh/authentication/methods/publickey.rb:62:in `authenticate_with'
        from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/net-ssh-2.5.2/lib/net/ssh/authentication/methods/publickey.rb:20:in `block in authenticate'
        from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/net-ssh-2.5.2/lib/net/ssh/authentication/key_manager.rb:121:in `block in each_identity'
        from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/net-ssh-2.5.2/lib/net/ssh/authentication/key_manager.rb:118:in `each'
        from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/net-ssh-2.5.2/lib/net/ssh/authentication/key_manager.rb:118:in `each_identity'
        from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/net-ssh-2.5.2/lib/net/ssh/authentication/methods/publickey.rb:19:in `authenticate'
        from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/net-ssh-2.5.2/lib/net/ssh/authentication/session.rb:78:in `block in authenticate'
        from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/net-ssh-2.5.2/lib/net/ssh/authentication/session.rb:65:in `each'
        from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/net-ssh-2.5.2/lib/net/ssh/authentication/session.rb:65:in `authenticate'
        from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/net-ssh-2.5.2/lib/net/ssh.rb:190:in `start'
        from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/net-ssh-gateway-1.1.0/lib/net/ssh/gateway.rb:74:in `initialize'
        from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/localtunnel-0.3/lib/localtunnel/tunnel.rb:44:in `new'
        from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/localtunnel-0.3/lib/localtunnel/tunnel.rb:44:in `start_tunnel'
        from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/localtunnel-0.3/bin/localtunnel:47:in `<top (required)>'
        from C:/RailsInstaller/Ruby1.9.3/bin/localtunnel:19:in `load'
        from C:/RailsInstaller/Ruby1.9.3/bin/localtunnel:19:in `<main>'

Is this something to do with my originally using the original key which has a passphrase ?

Localtunnel translates all headers to lowercase

Local:

[headers] => Array
    (
        [Host] => localhost
        [User-Agent] => Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
        [Accept] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
        [Accept-Language] => en-us,en;q=0.5
        [Accept-Encoding] => gzip,deflate
        [Accept-Charset] => ISO-8859-1,utf-8;q=0.7,*;q=0.7
        [Keep-Alive] => 115
        [Connection] => keep-alive
        [Cookie] => PHPSESSID=lcf89g5dfn9bqttnu7d5jr6vn4
        [Cache-Control] => max-age=0
    )

Forwarded:

[headers] => Array
    (
        [accept-language] => en-us,en;q=0.5
        [accept-encoding] => gzip,deflate
        [keep-alive] => 115
        [accept] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
        [user-agent] => Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
        [accept-charset] => ISO-8859-1,utf-8;q=0.7,*;q=0.7
        [connection] => close
        [cookie] => PHPSESSID=mtd8lmm6khdbcvo1aknsn4q9i7
        [cache-control] => max-age=0
        [host] => 38yc.localtunnel.com
    )

Should I rewrite my app to expect lowercase headers?

Reserved Domains

Any chance localtunnel will support reserved domains in the future? This would be great for pointing CNAMEs at your localtunnel.

License?

No attached license to this repo. Do you mind adding one?

Failed to authenticate error

Hello!

I'm testing localtunnel, it seems a great tool for people like me that has to test external services which need an internet connection, thank you!

I have a strange problem: I have two laptops running Ubuntu on the same local network. One of them can connect without problems but the other gives me "failed to autenticate error" message.

Any ideas about how to find the problem? Any additional error report would be greatly appreciated.

Thanks again for the tool!

Illegal instruction

When trying:
localtunnel -k ~/.ssh/my_key.pub 8080

I get:
Illegal instruction

Any idea why?

Mac OS X 10.6.2

Problem: extraneous /stripe/webhooks requests coming from nowhere/somewhere

I just got up with localtunnel. I am using it to talk to a vagrant based virtual machine running rails with the simple webrick server for now.

Works fine, except I keep getting /stripe/webhooks requests from somewhere - do not know where. I do not have a controller called stripe so it naturally causes an error.

This is what shows up in the rails log:

Started POST "/stripe/webhooks" for 127.0.0.1 at 2012-10-27 05:41:02 +0200

ActionController::RoutingError (No route matches [POST] "/stripe/webhooks"):...

Any idea of what is going on? I presumed the public key that is required would prevent others from using the generated domain, but apparently not.

Let me know what I can do. I would really like to use the service, but I cannot if I am going to keep getting extraneous requests.

Thanks for this service - I hope we can figure out what is going on...

-Dan Vokt

KeyError

Hi,
I am trying to start localtunnel but I get this error:

$ lt --broker 127.0.0.1:6543 --name mattest 8080
Traceback (most recent call last):
File "/usr/local/bin/lt", line 9, in
load_entry_point('localtunnel==0.4.0', 'console_scripts', 'lt')()
File "/usr/local/lib/python2.7/dist-packages/localtunnel/client.py", line 31, in main
client.serve_forever()
File "/usr/local/lib/python2.7/dist-packages/ginkgo/core.py", line 166, in serve_forever
self.start()
File "/usr/local/lib/python2.7/dist-packages/ginkgo/core.py", line 109, in start
ready = not self.do_start()
File "/usr/local/lib/python2.7/dist-packages/localtunnel/client.py", line 42, in do_start
self.ws.connect()
File "/usr/local/lib/python2.7/dist-packages/ws4py-0.2.1-py2.7.egg/ws4py/client/init.py", line 66, in connect
self.process_response_line(response_line)
File "/usr/local/lib/python2.7/dist-packages/ws4py-0.2.1-py2.7.egg/ws4py/client/init.py", line 110, in process_response_line
raise HandshakeError("Invalid response status: %s %s" % (code, status))
ws4py.exc.HandshakeError: Invalid response status: 302 Found
Exception KeyError: KeyError(15627536,) in <module 'threading' from '/usr/lib/python2.7/threading.pyc'> ignored

Any reason why?

Thanks,
Mat

Using local MAMP server causes remote URL to redirect to a new port = fail

Hello,

Having got this working on my friend's machine, we're finding that running a local MAMP setup, which runs on 8888, causes a problem when we access the remote URL.

When we go to http://xxxx.localtunnel.com/the_site, the server replies with a redirect to http://xxxx.localtunnel.com:8888/the_site (which would we correct if we were running locally), which then fails, presumably because our tunnel is not running over port 8888.

How can we fix this? We are really keen to use this as it would solve so many headaches in development.

Thanks,

J.

old subdomains are not shut down when a new one is issued

I used localtunnel then closed the process and the xyz.localtunnel.com was no longer working (I get a "Could not connect" message), then when I start a new process and run localtunnel again and get a new url xya.localtunnel.com, then xyz.localtunnel.com will suddenly work again.

It would be nice if there was a way to permanently close the xyz.localtunnel.com subdomain connection when it is desired.

Tunnels expire after short time

I find that the generated URL, eg. http://4d3m.localtunnel.com only works for a short period of time, then I get a 'Could not connect' message or sometimes someone else's work (once a website for a Belgian death metal band). Generating a new tunnel works, but again only for a short time (seems to be maybe 10 mins at most).

-k execution expired (Timeout::Error)

Jon-Schulls-MacBook-Pro-2:~ jonschull$ localtunnel -k ~/.ssh/id_rsa.pub 5000
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/timeout.rb:60:in rbuf_fill': execution expired (Timeout::Error) from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/protocol.rb:134:inrbuf_fill'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/protocol.rb:116:in readuntil' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/protocol.rb:126:inreadline'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:2024:in read_status_line' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:2013:inread_new'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:1050:in request' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:405:inpost_form'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:543:in start' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/net/http.rb:404:inpost_form'
from /Library/Ruby/Gems/1.8/gems/localtunnel-0.3/lib/localtunnel/tunnel.rb:25:in register_tunnel' from /Library/Ruby/Gems/1.8/gems/localtunnel-0.3/bin/localtunnel:46 from /usr/bin/localtunnel:19:inload'
from /usr/bin/localtunnel:19

Mac 10.7.2

Support additional subdomains (e.g. m.xxxx.localtunnel.com)

Hey guys, I'm currently working on a webapp with a desktop and mobile component.

I'm hosting the mobile version on m.*, even in development mode (by adding m.localhost to /etc/hosts).

I think it would be great if any subdomain under the xxxx subdomain I was given on localtunnel.com also pointed to my local machine. That feature would also make localtunnel useful to anyone whose webapp has per-account subdomains, for example.

What do you think?

Mat

Issue testing localtunnel-beta

https://gist.github.com/5babc39fb82a209ef6fb

(after ~30s without actually running a daemon on 8000)

Note that I did not make a request to the URL -- this happened on its own; I started localtunnel and started fiddling with a codebase to bring up a daemon. Before I got the daemon running (or requested the vhost in the browser), localtunnel had crashed and printed this stack.

Error message when connecting

Sometimes when I try to connect (with no code changes), I getting this error filling my console windows :

   [Error] Unable to register tunnel. Perhaps service is down? : JSON::ParserError, 743: unexpected token at '<html><head><title>web.Server Traceback (most recent call last)</title></head><body><b>web
.Server Traceback (most recent call last):</b>


<style type="text/css">
    p.error {
      color: red;
      font-family: Verdana, Arial, helvetica, sans-serif;
      font-weight: bold;
    }

    div {
      font-family: Verdana, Arial, helvetica, sans-serif;
    }

    div.stackTrace {
    }

    div.frame {
      padding: 1em;
      background: white;
      border-bottom: thin black dashed;
    }

    div.firstFrame {
      padding: 1em;
      background: white;
      border-top: thin black dashed;
      border-bottom: thin black dashed;
    }

    div.location {
    }

    div.snippet {
      margin-bottom: 0.5em;
      margin-left: 1em;
      background: #FFFFDD;
    }

    div.snippetHighlightLine {
      color: red;
    }

    span.code {
      font-family: "Courier New", courier, monotype;
    }

    span.function {
      font-weight: bold;
      font-family: "Courier New", courier, monotype;
    }

    table.variables {
      border-collapse: collapse;
      margin-left: 1em;
    }

    td.varName {
      vertical-align: top;
      font-weight: bold;
      padding-left: 0.5em;
      padding-right: 0.5em;
    }

    td.varValue {
      padding-left: 0.5em;
      padding-right: 0.5em;
    }

    div.variables {
      margin-bottom: 0.5em;
    }

    span.heading {
      font-weight: bold;
    }

    div.dict {
      background: #cccc99;
      padding: 2px;
      float: left;
    }

    td.dictKey {
      background: #ffff99;
      font-weight: bold;
    }

    td.dictValue {
      background: #ffff99;
    }

    div.list {
      background: #7777cc;
      padding: 2px;
      float: left;
    }

    div.listItem {
      background: #9999ff;
    }

    div.instance {
      background: #cc7777;
      padding: 2px;
      float: left;
    }

    span.instanceName {
      font-weight: bold;
      display: block;
    }

    span.instanceRepr {
      background: #ff9999;
      font-family: "Courier New", courier, monotype;
    }

    div.function {
      background: orange;
      font-weight: bold;
      float: left;
    }
</style>
<a href="#tbend">
<p class="error">&lt;type 'exceptions.Exception'&gt;: No port available</p>
</a><div class="stackTrace"><div class="firstFrame">
<div class="location">/usr/local/lib/python2.6/dist-packages/twisted/web/server.py, line 125 in <span class="function">process</span></div>
<div class="snippet">
<div class="snippetLine"><span class="lineno">123</span><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;try:</span></div>

<div class="snippetLine"><span class="lineno">124</span><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;resrc = self.site.getResourceFor(self)</span></div>

<div class="snippetHighlightLine"><span class="lineno">125</span><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.render(resrc)</span></div>

<div class="snippetLine"><span class="lineno">126</span><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;except:</span></div>
</div><div class="variables"><b>Self</b><table class="variables">
<tr class="varRow"><td class="varName">site</td><td class="varValue"><div class="instance"><span class="instanceName">twisted.web.server.Site instance @ 0xf546c8</span>
              <span class="instanceRepr">&lt;twisted.web.server.Site instance at 0xf546c8&gt;</span></div>
              </td></tr>
</table></div><div class="variables"><b>Locals</b><table class="variables">
<tr class="varRow"><td class="varName">resrc</td><td class="varValue"><div class="instance"><span class="instanceName">__main__.LocalTunnelReverseProxy instance @ 0x7f44d38bc0e0</span>
              <span class="instanceRepr">&lt;__main__.LocalTunnelReverseProxy instance at 0x7f44d38bc0e0&gt;</span></div>
              </td></tr>

<tr class="varRow"><td class="varName">self</td><td class="varValue"><div class="instance"><span class="instanceName">twisted.web.server.Request instance @ 0x3fb8ab8</span>
              <span class="instanceRepr">&lt;POST / HTTP/1.1&gt;</span></div>
              </td></tr>
</table></div></div><div class="frame">
<div class="location">/usr/local/lib/python2.6/dist-packages/twisted/web/server.py, line 132 in <span class="function">render</span></div>
<div class="snippet">
<div class="snippetLine"><span class="lineno">130</span><span class="code">&nbsp;&nbsp;def render(self, resrc):</span></div>

<div class="snippetLine"><span class="lineno">131</span><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;try:</span></div>

<div class="snippetHighlightLine"><span class="lineno">132</span><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;body = resrc.render(self)</span></div>

<div class="snippetLine"><span class="lineno">133</span><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;except UnsupportedMethod, e:</span></div>
</div><div class="variables"><b>Locals</b><table class="variables">
<tr class="varRow"><td class="varName">resrc</td><td class="varValue"><div class="instance"><span class="instanceName">__main__.LocalTunnelReverseProxy instance @ 0x7f44d38bc0e0</span>
              <span class="instanceRepr">&lt;__main__.LocalTunnelReverseProxy instance at 0x7f44d38bc0e0&gt;</span></div>
              </td></tr>

<tr class="varRow"><td class="varName">self</td><td class="varValue"><div class="instance"><span class="instanceName">twisted.web.server.Request instance @ 0x3fb8ab8</span>
              <span class="instanceRepr">&lt;POST / HTTP/1.1&gt;</span></div>
              </td></tr>
</table></div><div class="variables"><b>Globals</b><table class="variables">
<tr class="varRow"><td class="varName">UnsupportedMethod</td><td class="varValue"><code>&lt;class 'twisted.web.error.UnsupportedMethod'&gt;</code></td></tr>
</table></div></div><div class="frame">
<div class="location">server.py, line 86 in <span class="function">render</span></div>
<div class="snippet">
<div class="snippetLine"><span class="lineno">84</span><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;if host.startswith('open.'):</span></div>

<div class="snippetLine"><span class="lineno">85</span><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.setHeader('Content-Type', 'application/json')</span></div>

<div class="snippetHighlightLine"><span class="lineno">86</span><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return self.register_tunnel(superhost, request.args.get('key', [None])[0])</span>
</div>

<div class="snippetLine"><span class="lineno">87</span><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;else:</span></div>
</div><div class="variables"><b>Locals</b><table class="variables">
<tr class="varRow"><td class="varName">host</td><td class="varValue">'open.localtunnel.com'</td></tr>

<tr class="varRow"><td class="varName">request</td><td class="varValue"><div class="instance"><span class="instanceName">twisted.web.server.Request instance @ 0x3fb8ab8</span>
              <span class="instanceRepr">&lt;POST / HTTP/1.1&gt;</span></div>
              </td></tr>

<tr class="varRow"><td class="varName">superhost</td><td class="varValue">'localtunnel.com'</td></tr>

<tr class="varRow"><td class="varName">self</td><td class="varValue"><div class="instance"><span class="instanceName">__main__.LocalTunnelReverseProxy instance @ 0x7f44d38bc0e0</span>
              <span class="instanceRepr">&lt;__main__.LocalTunnelReverseProxy instance at 0x7f44d38bc0e0&gt;</span></div>
              </td></tr>
</table></div></div><div class="frame">
<div class="location">server.py, line 76 in <span class="function">register_tunnel</span></div>
<div class="snippet">
<div class="snippetLine"><span class="lineno">74</span><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;if key and not self.install_key(key): return simplejson.dumps(dict(error=&quot;Invalid key.&quot;))</s
pan></div>

<div class="snippetLine"><span class="lineno">75</span><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;name = self.find_tunnel_name()</span></div>

<div class="snippetHighlightLine"><span class="lineno">76</span><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;port = self.find_tunnel_port()</span></div>

<div class="snippetLine"><span class="lineno">77</span><span class="code">&nbsp;&nbsp;&nbsp;&nbsp;self.tunnels[name] = port</span></div>
</div><div class="variables"><b>Self</b><table class="variables">
<tr class="varRow"><td class="varName">tunnels</td><td class="varValue"><div class="dict"><span class="heading">Dictionary instance @ 0xf03500</span><table class="dict"><tr><td class="dictKey">'4iw8'<
/td><td class="dictValue"><code>32006</code></td></tr><tr><td class="dictKey">'4iw9'</td><td class="dictValue"><code>32010</code></td></tr><tr><td class="dictKey">'4kqp'</td><td class="dictValue"><cod
e>32002</code></td></tr><tr><td class="dictKey">'4v9d'</td><td class="dictValue"><code>32009</code></td></tr><tr><td class="dictKey">'4kqr'</td><td class="dictValue"><code>32017</code></td></tr><tr><t
d class="dictKey">'4kqs'</td><td class="dictValue"><code>32006</code></td></tr><tr><td class="dictKey">'4kqt'</td><td class="dictValue"><code>32011</code></td></tr><tr><td class="dictKey">'4kqw'</td><
td class="dictValue"><code>32006</code></td></tr><tr><td class="dictKey">'3ex2'</td><td class="dictValue"><code>32000</code></td></tr><tr><td class="dictKey">'4xee'</td><td class="dictValue"><code>320
08</code></td></tr><tr><td class="dictKey">'4kqc'</td><td class="dictValue"><code>32000</code></td></tr><tr><td class="dictKey">'4kqg'</td><td class="dictValue"><code>32002</code></td></tr><tr><td cla
ss="dictKey">'48zf'</td><td class="dictValue"><code>32000</code></td></tr><tr><td class="dictKey">'3ky9'</td><td class="dictValue"><code>32004</code></td></tr><tr><td class="dictKey">'3eyf'</td><td cl
ass="dictValue"><code>32000</code></td></tr><tr><td class="dictKey">'5982'</td><td class="dictValue"><code>32019</code></td></tr><tr><td class="dictKey">'5983'</td><td class="dictValue"><code>32019</c
ode></td></tr><tr><td class="dictKey">'48zk'</td><td class="dictValue"><code>32009</code></td></tr><tr><td class="dictKey">'59mv'</td><td class="dictValue"><code>32000</code></td></tr><tr><td class="d
ictKey">'48zv'</td><td class="dictValue"><code>32016</code></td></tr><tr><td class="dictKey">'59mh'</td><td class="dictValue"><code>32011</code></td></tr><tr><td class="dictKey">'48zs'</td><td class="
dictValue"><code>32006</code></td></tr><tr><td class="dictKey">'48zp'</td><td class="dictValue"><code>32008</code></td></tr><tr><td class="dictKey">'59mn'</td><td class="dictValue"><code>32007</code><
/td></tr><tr><td class="dictKey">'4yv5'</td><td class="dictValue"><code>32015</code></td></tr><tr><td class="dictKey">'59mg'</td><td class="dictValue"><code>32019</code></td></tr><tr><td class="dictKe
y">'3bme'</td><td class="dictValue"><code>32009</code></td></tr><tr><td class="dictKey">'4g3u'</td><td class="dictValue"><code>32009</code></td></tr><tr><td class="dictKey">'4kq2'</td><td class="dictV
alue"><code>32007</code></td></tr><tr><td class="dictKey">'3zsh'</td><td class="dictValue"><code>32001</code></td></tr><tr><td class="dictKey">'4iwn'</td><td class="dictValue"><code>32007</code></td><
/tr><tr><td class="dictKey">'4yiu'</td><td class="dictValue"><code>32016</code></td></tr><tr><td class="dictKey">'4yvn'</td><td class="dictValue"><code>32008</code></td></tr><tr><td class="dictKey">'3
ew6'</td><td class="dictValue"><code>32004</code></td></tr><tr><td class="dictKey">'3ngd'</td><td class="dictValue"><code>32012</code></td></tr><tr><td class="dictKey">'4yvi'</td><td class="dictValue"
><code>32008</code></td></tr><tr><td class="dictKey">'598r'</td><td class="dictValue"><code>32000</code></td></tr><tr><td class="dictKey">'535a'</td><td class="dictValue"><code>32017</code></td></tr><
tr><td class="dictKey">'598q'</td><td class="dictValue"><code>32000</code></td></tr><tr><td class="dictKey">'4yvb'</td><td class="dictValue"><code>32009</code></td></tr><tr><td class="dictKey">'4yva'<
/td><td class="dictValue"><code>32016</code></td></tr><tr><td class="dictKey">'48z7'</td><td class="dictValue"><code>32006</code></td></tr><tr><td class="dictKey">'598i'</td><td class="dictValue"><cod
e>32026</code></td></tr><tr><td class="dictKey">'48z2'</td><td class="dictValue"><code>32002</code></td></tr><tr><td class="dictKey">'3ew3'</td><td class="dictValue"><code>32008</code></td></tr><tr><t
d class="dictKey">'4yvy'</td><td class="dictValue"><code>32017</code></td></tr><tr><td class="dictKey">'598f'</td><td class="dictValue"><code>32004</code></td></tr><tr><td class="dictKey">'598g'</td><
td class="dictValue"><code>32014</code></td></tr><tr><td class="dictKey">'47g5'</td><td class="dictValue"><code>32026</code></td></tr><tr><td class="dictKey">'3ngi'</td><td class="dictValue"><code>320
07</code></td></tr><tr><td class="dictKey">'42cx'</td><td class="dictValue"><code>32009</code></td></tr><tr><td class="dictKey">'3zsf'</td><td class="dictValue"><code>32007</code></td></tr><tr><td cla
ss="dictKey">'42ct'</td><td class="dictValue"><code>32026</code></td></tr><tr><td class="dictKey">'42cq'</td><td class="dictValue"><code>32000</code></td></tr><tr><td class="dictKey">'42cp'</td><td cl
ass="dictValue"><code>32010</code></td></tr><tr><td class="dictKey">'42ch'</td><td class="dictValue"><code>32015</code></td></tr><tr><td class="dictKey">'3fmp'</td><td class="dictValue"><code>32005</c
ode></td></tr><tr><td class="dictKey">'3eyj'</td><td class="dictValue"><code>32002</code></td></tr><tr><td class="dictKey">'4eke'</td><td class="dictValue"><code>32014</code></td></tr><tr><td class="d
ictKey">'4saf'</td>

and continues ...

websocket?

I'm using socket.io.

I see in my logs:

5 May 23:03:37 - Initializing client with transport "websocket"

But sending messages through localtunnel is not working.

Both socket.io and the server are connected on port 80.

Is this expected to work? Thanks.

chunked encoding introducing random characters

Hi

I've been doing some testing with a default apache setup on OSX 10.7, and serving php pages. As soon as my page is long enough, it seems apache decides to use chunked encoding to send the response. In that case I'm getting some random characters added in before/after chunks, notably the first and last of which cause my pages to render incorrectly.

I've come across this problem before when using an nginx proxy to apache and the apache was serving chunked encoding, not sure if that's related but I thought it might help to debug.

Hope you can help.

Validate port is a number.

I just had someone bork up the command when running our fork of localtunnel. Since something ended up in the port position, localtunnel moved along just fine. We'll never be able to address user error 100%, but checking if the port is a number is simple enough check to relay better error messaging.

Invalid key error

Using Win7 machine. Getting an invalid key error repeatedly - tried putty, tried github public key. everything fails. Here is my key
ssh2-dsa AAAAB3NzaC1kc3MAAACAQ4+Shvexym3WoYIUrS+GxgMWCpEPf9Mvl+qLVUweMHTl29svEdEuWq0KBV4kmC8RR+QKJOf+Lcej0wCcMvlsJv+GcckYmathxZoLe3yCzNrP5EiqcTERNguKW5GPRcYxjWVZKWOcw6Aj7gRL0EhhIKB2lb6Tctxe/nYia+vTWn0AAAAVAIEde/D7ZDRvzrfy7Ez0NXjdGmbjAAAAgD5cQI0yRMUX03posZGs/gNmpo4Xcj2dP7/HPkLAKr8qFQlsWDKrYpvGLp6OlMjHc6Olgv4XXUyDySB0mPw0ErjcSMxTPub4UW4LueXYUeaIc5wE7v3dRs0F25IF0+ituuMG31ZUG84C1aPMEqW0IrPDQJ2DiMxqvXDaY9jwhoRIAAAAgAU+edahu6GtQbUzSSk63bPt0LX2rn4PioJHtFRYKVRDBA3ULnpXPmyrg5K/MYLUAXoNft6L7AQlv6rqbMwA4J2j4TuG+fpWIoG7Y16z19jhN8PE9fVfjpg1OOhpK8qBjKmrRxUB0oCNZNg6PAH/53BrfFPrgOMObohaV541TQkA [email protected]

Service Down?

I just finished installing and im getting the following message:

$ localtunnel -k ~/.ssh/id_rsa.pub 80
[Error] Unable to register tunnel. Perhaps service is down?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.