Make your macOS device accessible from anywhere via the Yaler relay.
Setting up your device requires a relay domain. Please sign up to get one.
Note that YalerTunnel expects this specific version of OpenSSL.
$ cd ~ $ OPENSSLSRC=openssl-1.1.1d $ OPENSSLSRC_SHASUM=1e3a91bc1f9dfce01af26026f856e064eab4c8ee0a8f457b5ae30b40b8b711f2 $ OPENSSLDIR=$(pwd)/openssl
$ curl -LO http://www.openssl.org/source/$OPENSSLSRC.tar.gz $ echo "$OPENSSLSRC_SHASUM $OPENSSLSRC.tar.gz" | shasum -a 256 -c
Make sure the output says OK.
$ tar xfzmv $OPENSSLSRC.tar.gz $ cd $OPENSSLSRC $ ./Configure darwin64-x86_64-cc --prefix=$OPENSSLDIR --openssldir=$OPENSSLDIR $ make depend $ make $ make test $ make install_sw
$ cd ~ $ mkdir yalertunnel $ cd yalertunnel $ curl -LO http://s3.yaler.net/yalertunnel/YalerTunnel2-v2.3.2.src.tar.gz $ tar xfzmv YalerTunnel2-v2.3.2.src.tar.gz $ make OPENSSLDIR=$OPENSSLDIR
$ ./yalertunnel
A Web server or service has been installed and is running on the macOS device.
How to configure YalerTunnel on your macOS device to make a local Web service accessible from anywhere.
$ sudo curl -L http://s3.yaler.net/macos/yalertunnel.plist -o /Library/LaunchDaemons/yalertunnel.plist$ sudo nano /Library/LaunchDaemons/yalertunnel.plistSet your macOS user name and yalertunnel path, set the port of the local Web service (default: 8080), and set your relay domain01 <?xml version="1.0" encoding="UTF-8"?> 02 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 03 <plist version="1.0"> 04 <dict> 05 <key>Label</key> 06 <string>org.yaler.yalertunnel</string> 07 <key>UserName</key> 08 <string>MACOS_USER</string> 09 <key>StandardErrorPath</key> 10 <string>/tmp/yalertunnel.err</string> 11 <key>StandardOutPath</key> 12 <string>/tmp/yalertunnel.out</string> 13 <key>ProgramArguments</key> 14 <array> 15 <string>/Users/MACOS_USER/yalertunnel/yalertunnel</string> 16 <string>server</string> 17 <string>127.0.0.1:8080</string> 18 <string>ssl:try.yaler.io:443</string> 19 <string>RELAY_DOMAIN</string> 20 <string>-min-listeners</string> 21 <string>1</string> 22 </array> 23 <key>KeepAlive</key> 24 <true/> 25 </dict> 26 </plist>
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 launchctl load /Library/LaunchDaemons/yalertunnel.plist$ sudo rebootHow to remove YalerTunnel to disable Web access from anywhere.
$ sudo launchctl unload /Library/LaunchDaemons/yalertunnel.plistThe SSH daemon sshd is running on the macOS device.
How to configure YalerTunnel on your macOS device to allow SSH access from anywhere.
$ sudo curl -L http://s3.yaler.net/macos/yalertunnel-ssh.plist -o /Library/LaunchDaemons/yalertunnel-ssh.plist$ sudo nano /Library/LaunchDaemons/yalertunnel-ssh.plistSet your macOS user name and yalertunnel path, set the port of the local SSH service (default: 22), and set your relay domain01 <?xml version="1.0" encoding="UTF-8"?> 02 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 03 <plist version="1.0"> 04 <dict> 05 <key>Label</key> 06 <string>org.yaler.yalertunnel-ssh</string> 07 <key>UserName</key> 08 <string>MACOS_USER</string> 09 <key>StandardErrorPath</key> 10 <string>/tmp/yalertunnel-ssh.err</string> 11 <key>StandardOutPath</key> 12 <string>/tmp/yalertunnel-ssh.out</string> 13 <key>ProgramArguments</key> 14 <array> 15 <string>/Users/MACOS_USER/yalertunnel/yalertunnel</string> 16 <string>proxy</string> 17 <string>127.0.0.1:22</string> 18 <string>ssl:try.yaler.io:443</string> 19 <string>RELAY_DOMAIN</string> 20 <string>-min-listeners</string> 21 <string>1</string> 22 </array> 23 <key>KeepAlive</key> 24 <true/> 25 </dict> 26 </plist>
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 launchctl load /Library/LaunchDaemons/yalertunnel-ssh.plist$ sudo rebootHow to remove YalerTunnel to disable SSH access from anywhere.
$ sudo launchctl unload /Library/LaunchDaemons/yalertunnel-ssh.plistHow to fix common issues.
$ ~/yalertunnel/yalertunnel$ ps aux | grep [y]alerTo enable Web and SSH 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.