macchina.io REMOTE Device Agent (WebTunnelAgent)
The WebTunnelAgent program is used to connect a device to the macchina.io REMOTE.
WebTunnelAgent can run on directly the device, or on a separate computer or network device (Windows, macOS, Raspberry Pi, OpenWRT router, etc) in the same network.
Executables for various platforms are available for download below.
macOS Catalina/Big Sur/Monterey and Gatekeeper
On macOS Catalina, Big Sur and Monterey, the WebTunnelAgent.gz file should be downloaded via the Terminal (shell) using the curl command. If the file is downloaded with a web browser, the executable won't run due to security restrictions (Gatekeeper). The following commands will download and extract the WebTunnelAgent executable:
curl https://macchina.io/downloads/RemoteManager/SDK/macos/bigsur/x86_64/WebTunnelAgent.gz | gunzip >WebTunnelAgent && chmod +x WebTunnelAgent
If you have downloaded the file via a browser, you can use the following command to unquarantine it:
The WebTunnelAgent executable must be extracted from the gzip-compressed file with:
The executable for Windows (WebTunnelAgent.exe) has been cryptographically signed by Applied Informatics Software Engineering GmbH.
A Docker image containing WebTunnelAgent is available on Docker Hub.
Build from Source
If there is no executable for your platform, or if you want to build it yourself, please get the macchina.io REMOTE SDK from GitHub.
macchina.io REMOTE Helper
macchina.io REMOTE Helper is a native Windows desktop application that integrates with the macchina.io REMOTE web user interface in the browser and allows you to launch an external secure shell (SSH), secure file transfer (SFTP), or remote desktop (RDP or VNC) client directly from the macchina.io REMOTE web user interface.
macchina.io REMOTE Command-Line Client Tools
The macchina.io REMOTE SDK includes a number of command-line clients for starting SSH (Secure Shell), SCP (Secure Copy), SFTP (Secure File-Transfer Protocol), RDP (Remote Desktop Protocol) or VNC (Virtual Network Computing) sessions, or for tunneling arbitrary TCP ports between a client machine and the remote device.
- remote-client : This executable can run on a client machine (Windows, macOS or Linux) to create a secure tunnel from the client machine to the remote device, via macchina.io REMOTE. It is required for tunneling TCP-based protocols not directly supported by macchina.io REMOTE, such Modbus/TCP, OPC-UA, or application-specific protocols.
- remote-ssh : This is a variant of remote-client that first creates a tunnel connection from your local machine (Windows, macOS or Linux) to the remote device, then launches a SSH client using that tunnel connection.
- remote-scp : This is a variant of remote-client that first creates a tunnel connection from your local machine (Windows, macOS or Linux) to the remote device, then launches a SCP (Secure/SSH File Copy) client using that tunnel connection.
- remote-sftp : This is a variant of remote-client that first creates a tunnel connection from your local machine (Windows, macOS or Linux) to the remote device, then launches a SFTP (Secure/SSH File Transfer Protocol) client using that tunnel connection.
- remote-vnc : This is a variant of remote-client that first creates a tunnel connection from your local machine (Windows, macOS or Linux) to a remote device running a VNC (Virtual Network Computing) server, then launches a VNC remote desktop client using that tunnel connection.
- remote-rdp : This is a variant of remote-client that first creates a tunnel connection from your local machine (Windows, macOS) to a remote Windows device (which must have the remote desktop feature enabled), then launches a Microsoft Remote Desktop (RDP) client using that tunnel connection.
macchina.io REMOTE command-line client executables for Windows, Linux and macOS are available for download.
macchina.io REMOTE SDK Sources
The SDK can be built for various platforms, including Linux (desktop/server or embedded), Windows, and macOS. CMake is required to build the SDK and the included programs WebTunnelAgent, remote-client, remote-ssh, remote-scp, remote-sftp, remote-vnc and remote-rdp. Please see the included README.md for instructions how to build.
Easy Install (Linux and macOS)
The easiest way to install the above mentioned executables on a Linux or macOS system from source is to download and run the installer script with the following command:
The script should work on most Debian and RedHat-based Linux distributions including Ubuntu and Raspbian. On macOS, Homebrew must be installed.
The script will install all required dependencies, then get the sources from GitHub and run the steps necessary
to build and install the binaries in /usr/local/bin/.
If you do not want to or cannot run the installer script, please see the instructions in README.md