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 Stretch. Older version? See how to access Raspbian Jessie 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 wget -O /lib/systemd/system/yalertunnel.service http://s3.yaler.net/raspi/yalertunnel.service$ sudo nano /lib/systemd/system/yalertunnel.serviceCheck the path (default: /home/pi/yalertunnel), set the port of the local Web service (default: 80), and set your relay domain1 [Unit] ⋮ 5 WorkingDirectory=/home/pi/yalertunnel 6 ExecStart=/home/pi/yalertunnel/yalertunnel server 127.0.0.1:80 try.yaler.io RELAY_DOMAIN -min-listeners 1
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 systemctl daemon-reload $ sudo systemctl enable yalertunnel.service $ sudo systemctl start yalertunnel.service
$ sudo rebootHow to remove YalerTunnel to disable Web access from anywhere.
$ sudo systemctl stop yalertunnel.service $ sudo rm /etc/systemd/system/multi-user.target.wants/yalertunnel.service $ sudo rm /lib/systemd/system/yalertunnel.service
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 wget -O /lib/systemd/system/yalertunnel-ssh.service http://s3.yaler.net/raspi/yalertunnel-ssh.service$ sudo nano /lib/systemd/system/yalertunnel-ssh.serviceCheck the path (default: /home/pi/yalertunnel), set the port of the local SSH service (default: 22), and set your relay domain1 [Unit] ⋮ 5 WorkingDirectory=/home/pi/yalertunnel 6 ExecStart=/home/pi/yalertunnel/yalertunnel proxy 127.0.0.1:22 try.yaler.io RELAY_DOMAIN
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 systemctl daemon-reload $ sudo systemctl enable yalertunnel-ssh.service $ sudo systemctl start yalertunnel-ssh.service
$ sudo rebootHow to remove YalerTunnel to disable SSH access from anywhere.
$ sudo systemctl stop yalertunnel-ssh.service $ sudo rm /etc/systemd/system/multi-user.target.wants/yalertunnel-ssh.service $ sudo rm /lib/systemd/system/yalertunnel-ssh.service
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 wget -O /lib/systemd/system/yalertunnel-vnc.service http://s3.yaler.net/raspi/yalertunnel-vnc.service$ sudo nano /lib/systemd/system/yalertunnel-vnc.serviceCheck the path (default: /home/pi/yalertunnel), set the port of the local VNC service (default: 5901), and set your relay domain1 [Unit] ⋮ 5 WorkingDirectory=/home/pi/yalertunnel 6 ExecStart=/home/pi/yalertunnel/yalertunnel proxy 127.0.0.1:5901 try.yaler.io RELAY_DOMAIN
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 systemctl daemon-reload $ sudo systemctl enable yalertunnel-vnc.service $ sudo systemctl start yalertunnel-vnc.service
$ sudo rebootHow to remove YalerTunnel to disable VNC access from anywhere.
$ sudo systemctl stop yalertunnel-vnc.service $ sudo rm /etc/systemd/system/multi-user.target.wants/yalertunnel-vnc.service $ sudo rm /lib/systemd/system/yalertunnel-vnc.service
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 $ ./configure $ 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.