yaler is sharing code with you

Bitbucket is a code hosting site. Unlimited public and private repositories. Free for small teams.

Don't show this again

yaler / YalerTunnel http://yaler.org/

Generic tunneling via the Yaler relay infrastructure

Clone this repository (size: 13.1 KB): HTTPS / SSH
hg clone https://bitbucket.org/yaler/yalertunnel
hg clone ssh://hg@bitbucket.org/yaler/yalertunnel

YalerTunnel overview

Recent commits See more »

Author Revision Comments Message Labels Date
Marc Frei 81564fffce0f Added tag v1.1 for changeset ea5ad1a7438b
Marc Frei ea5ad1a7438b YalerTunnel 1.1
Tag
v1.1
Marc Frei 4a8a5eb7264b Added tag v1.0 for changeset b83fe8dcb5a1
Marc Frei b83fe8dcb5a1 Initial version
Tag
v1.0
YalerTunnel - generic tunneling via the Yaler relay infrastructure

Copyright (c) 2011, Yaler GmbH, Switzerland. All rights reserved.

YalerTunnel makes any service (e.g. a Web server or a SSH daemon) accessible
from the Internet, no matter if the service is behind a firewall, a NAT, or a
mobile network gateway.

If the service is based on HTTP, YalerTunnel is started in server mode,
otherwise in proxy mode. The client either knows HTTP (e.g. a Web browser),
supports HTTP proxies (e.g. PuTTY), or uses a second instance of YalerTunnel
started in client mode to access the tunneled service.


To build the program make sure that you have JDK6 (or later) installed and that
your PATH environment variable includes the JDK's bin directory. Then type:

    javac YalerTunnel.java


Then create a free Yaler account at http://yaler.net/ to get a unique relay
domain for the Yaler instance hosted at try.yaler.net.


Example 1) Running a Web server behind a firewall

Start a Web server listening on port 80 and YalerTunnel in server mode:

    java YalerTunnel server localhost:80 try.yaler.net:80 <relay domain>

E.g., for the relay domain gsiot-ffmq-ttd5 type

    java YalerTunnel server localhost:80 try.yaler.net:80 gsiot-ffmq-ttd5

On the client, open a Web browser and access

    http://try.yaler.net/<relay domain>

In our example, this would be

    http://try.yaler.net/gsiot-ffmq-ttd5


Example 2) Tunneling SSH

Start a SSH daemon listening on port 22 and YalerTunnel in proxy mode:

    java YalerTunnel proxy localhost:22 try.yaler.net:80 <relay domain>

E.g., for the relay domain gsiot-ffmq-ttd5 type

    java YalerTunnel proxy localhost:22 try.yaler.net:80 gsiot-ffmq-ttd5


If your SSH client supports HTTP proxies, configure it to connect via

    http://try.yaler.net/<relay domain>

In our example, this would be

    http://try.yaler.net/gsiot-ffmq-ttd5


Otherwise, start YalerTunnel in client mode

    java YalerTunnel client localhost:10022 try.yaler.net:80 <relay domain>

In our example, this would be

    java YalerTunnel client localhost:10022 try.yaler.net:80 gsiot-ffmq-ttd5

and connect the SSH client to localhost:10022.


Thanks, and please join us at http://yaler.org/

Marc (frei@yaler.net), Thomas (tamberg@yaler.net)