macchina.io REMOTE Downloads

Device Agent and Client Tools

macchina.io REMOTE Device Agent (WebTunnelAgent)

The WebTunnelAgent program is used to connect a device to the macchina.io REMOTE.
WebTunnelAgent is a native program written in C++ which 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.

WebTunnelAgent requires a configuration file (typically named WebTunnelAgent.properties) which can be generated in the macchina.io REMOTE web application.

Windows

WebTunnelAgent.exe is a stand-alone (statically linked) 64-bit executable that can run as is (no installation required).

Note: The WebTunnelAgent.exe executable has been signed with Applied Informatics' code signing certificate.

Run WebTunnelAgent
WebTunnelAgent /config=path\to\WebTunnelAgent.properties 

macOS

Install with Homebrew

The easiest way to install the device agent and client tools on macOS is with the Homebrew package manager.
Note that this requires that you have Homebrew and Xcode Command Line Tools installed on your Mac.

brew install my-devices/tap/macchina-remote-tools 
Run WebTunnelAgent
WebTunnelAgent -c path/to/WebTunnelAgent.properties 
Pre-Built Binaries

If you cannot use Homebrew, you can download pre-built binaries.

On macOS Big Sur, Monterey and Ventura, 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:

Intel:
curl https://macchina.io/downloads/RemoteManager/SDK/macos/monterey/x86_64/WebTunnelAgent.gz | gunzip >WebTunnelAgent && chmod +x WebTunnelAgent 
Apple Silicon:
curl https://macchina.io/downloads/RemoteManager/SDK/macos/monterey/arm64/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:

xattr -d com.apple.quarantine WebTunnelAgent 

On an Apple Silicon Mac, do not copy the executables to /usr/local/bin, as macOS on Apple Silicon will refuse to run unsigned executables from that location. Run from your home directory or a directory like /opt/local/bin.

Linux

Install from Source

The easiest way to install WebTunnelAgent and the client tools is via our installer script with the following command:

curl https://raw.githubusercontent.com/my-devices/agent-installer/master/install.sh | bash 

The script should work on most Debian and RedHat-based Linux distributions including Ubuntu and Raspberry Pi OS.
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/.

Run WebTunnelAgent
WebTunnelAgent -c path/to/WebTunnelAgent.properties 
Pre-Built Binaries

Pre-built binaries for various Linux distributions can be found below.

The WebTunnelAgent executable must be extracted from the gzip-compressed file with:

gunzip WebTunnelAgent.gz 
OpenWRT Packages

Meta data and instructions for building OpenWRT packages of the device agent for various OpenWRT targets with Docker can be found on GitHub.

Yocto Layer

Meta data and instructions for building Yocto packages of the device agent can be found on GitHub.

Docker

A Docker image containing WebTunnelAgent is available on Docker Hub for multiple platforms (x86_64, arm32v7, arm64).

Run WebTunnelAgent

The following command can be used to run WebTunnelAgent in a Docker container.
Note that WEBTUNNEL_DOMAIN, WEBTUNNEL_DEVICE_ID and WEBTUNNEL_HTTP_PORT must be set according to your account.

docker run \
  -e WEBTUNNEL_DOMAIN=eac8b99b-1866-4ef4-8f57-76b655949c29 \
  -e WEBTUNNEL_DEVICE_ID=6e26e894-10a2-48bf-80f1-65a48527c80e \
  -e WEBTUNNEL_HTTP_PORT=8080 \
  -e WEBTUNNEL_SSH_PORT=22 \
  macchina/device-agent 

Please see the project on GitHub for more information.

Build from Source

The macchina.io REMOTE SDK (formerly my-devices.net SDK) is available from GitHub.

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.

The macchina.io REMOTE SDK is open source, based on the POCO C++ Libraries and licensed under the Boost Software License 1.0.

Downloads (Pre-Built Binaries)

Platform Architecture Toolchain Download
Microsoft Windows
Windows 10/11 x64 Visual C++ 2022
Apple macOS
macOS Monterey/Ventura x86_64 Clang/Apple LLVM 14.0
macOS Monterey/Ventura arm64 Clang/Apple LLVM 14.0
GNU/Linux
Ubuntu 20.04 x86_64 GCC 9.3.0
Ubuntu 22.04 x86_64 GCC 11.3.0
Raspberry Pi OS/Debian 11.x/Bullseye armv7l GCC 10.2.1
Other Downloads
All macchina.io REMOTE device agent and command-line client tools for various platforms
(WebTunnelAgent, remote-client, remote-ssh, remote-scp, remote-sftp, remote-vnc, remote-rdp)
Validating the Integrity of Downloads

SHA-256 hashes for all files, signed with our PGP key, are available alongside the files.

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 Helper Status Window

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.

Client Executables

macchina.io REMOTE command-line client executables for Windows, Linux and macOS are available for download.