Make your Raspberry Pi accessible from anywhere via the Yaler relay.
Setting up your device requires a relay domain. Please sign up to get one.
Make sure the Raspberry Pi is connected to the Internet via Ethernet, Wi-Fi or 3G.
This tutorial is for Raspbian Jessie. Newer version? See how to access Raspbian Stretch from the Web.
Follow these steps to install YalerTunnel on the Raspberry Pi.
$ cd ~$ sudo apt-get update$ sudo apt-get install libssl-dev ca-certificates$ mkdir yalertunnel $ cd yalertunnel
$ wget http://s3.yaler.net/yalertunnel/YalerTunnel2-v2.3.2.src.tar.gz $ tar xfzmv YalerTunnel2-v2.3.2.src.tar.gz $ make
$ ./yalertunnel
A Web server or service has been installed and is running on the Raspberry Pi.
How to configure YalerTunnel on your Raspberry Pi to make a local Web service accessible from anywhere.
$ sudo apt-get install runit$ sudo mkdir /etc/service/yalertunnel $ cd /etc/service/yalertunnel
$ sudo wget http://s3.yaler.net/raspi/run $ sudo chmod a+x run
$ sudo wget http://s3.yaler.net/raspi/finish $ sudo chmod a+x finish
$ sudo nano /etc/service/yalertunnel/runCheck the path (default: /home/pi/yalertunnel), set the port of the local Web service (default: 80), and set your relay domain1 #!/bin/sh ⋮ 6 exec /home/pi/yalertunnel/yalertunnel server 127.0.0.1:80 try.yaler.io:80 RELAY_DOMAIN -min-listeners 1 </dev/null 2>&1 | logger -t yalertunnel
Save changes with CTRL-X, then Y, then RETURN. Do not change the local IP (default: 127.0.0.1), unless the Web service runs on a separate device in the same network.
$ sudo rebootHow to remove YalerTunnel to disable Web access from anywhere.
$ sudo sv stop yalertunnel $ sudo rm -r /etc/service/yalertunnel $ sudo reboot
The SSH daemon sshd is running on the Raspberry Pi.
To enable sshd on Raspbian, add a file called ssh to the boot partition of the SD card or use raspi-config.
How to configure YalerTunnel on your Raspberry Pi to allow SSH access from anywhere.
$ sudo apt-get install runit$ sudo mkdir /etc/service/yalertunnel-ssh $ cd /etc/service/yalertunnel-ssh
$ sudo wget http://s3.yaler.net/raspi/run-ssh -O run $ sudo chmod a+x run
$ sudo wget http://s3.yaler.net/raspi/finish $ sudo chmod a+x finish
$ sudo nano /etc/service/yalertunnel-ssh/runCheck the path (default: /home/pi/yalertunnel), set the port of the local SSH service (default: 22), and set your relay domain1 #!/bin/sh ⋮ 6 exec /home/pi/yalertunnel/yalertunnel proxy 127.0.0.1:22 try.yaler.io:80 RELAY_DOMAIN </dev/null 2>&1 | logger -t yalertunnel-ssh
Save changes with CTRL-X, then Y, then RETURN. Do not change the local IP (default: 127.0.0.1), unless the SSH service runs on a separate device in the same network.
$ sudo rebootHow to remove YalerTunnel to disable SSH access from anywhere.
$ sudo sv stop yalertunnel-ssh $ sudo rm -r /etc/service/yalertunnel-ssh $ sudo reboot
A VNC service has been installed and is running on the Raspberry Pi.
How to configure YalerTunnel on your Raspberry Pi to allow VNC access from anywhere.
$ sudo apt-get install runit$ sudo mkdir /etc/service/yalertunnel-vnc $ cd /etc/service/yalertunnel-vnc
$ sudo wget http://s3.yaler.net/raspi/run-vnc -O run $ sudo chmod a+x run
$ sudo wget http://s3.yaler.net/raspi/finish $ sudo chmod a+x finish
$ sudo nano /etc/service/yalertunnel-vnc/runCheck the path (default: /home/pi/yalertunnel), set the port of the local VNC service (default: 5901), and set your relay domain1 #!/bin/sh ⋮ 6 exec /home/pi/yalertunnel/yalertunnel proxy 127.0.0.1:5901 try.yaler.io:80 RELAY_DOMAIN </dev/null 2>&1 | logger -t yalertunnel-vnc
Save changes with CTRL-X, then Y, then RETURN. Do not change the local IP (default: 127.0.0.1), unless the VNC service runs on a separate device in the same network.
$ sudo rebootHow to remove YalerTunnel to disable VNC access from anywhere.
$ sudo sv stop yalertunnel-vnc $ sudo rm -r /etc/service/yalertunnel-vnc $ sudo reboot
How to fix common issues.
$ ~/yalertunnel/yalertunnel$ ps aux | grep [y]aler$ greplog () { cd /var/log { cat $1 $1.*[0-9] zcat $1.*.gz } | grep "$2" } $ greplog messages yalertunnel
$ cd ~/yalertunnel/udns $ make dnsget $ ./dnsget -o udpbuf:512 -vv try.yaler.ioand
$ host -v try.yaler.ioTo enable Web and SSH or VNC access at the same time, or tunnel another protocol, please get in touch.
This work by Yaler GmbH is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.