progrium / localtunnel

Expose localhost servers to the Internet
MIT License
3.2k stars 242 forks source link

Error message when connecting #53

Closed sreid99 closed 11 years ago

sreid99 commented 12 years ago

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 ...

progrium commented 11 years ago

Haha, sorry. This was when it was under heavy use. The version shouldn't have this problem. Check it out with the latest README.