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).

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 both Homebrew and Xcode 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.

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 Toolchain Hash (SHA-256) Download
Microsoft Windows
Windows 10/11 (x64) Visual C++ 2019 b5b338b035aed4280d9a9d985c52c4a43dd889939a62b16af02180bae5737394
Apple macOS
macOS Monterey/Ventura (x86_64) Clang/Apple LLVM 14.0 56b65612130c6d1fef3bd41ababc7f30390c11d678a8bcb0aef7aa62800fce4b
macOS Monterey/Ventura (arm64) Clang/Apple LLVM 14.0 995eb11218d1a7b60b2862ac55a1ed4c42ebd2e63379b723420dbb943b1e0c7c
GNU/Linux
Ubuntu 18.04 (x86_64) GCC 7.4.0 60eb2b8b98a959dc3d78c6a602263c8b82afb8b098a9946f7e3de306afbae33f
Ubuntu 20.04 (x86_64) GCC 9.3.0 38b8c07ce57dfba64bc64981c939dded4ce2b00e2130670b26f217000b68a206
Ubuntu 22.04 (x86_64) GCC 11.3.0 2b6f23288466a42fc5a651939ca7d3cb076bac999861388379d21ea55c09d3a3
Raspberry Pi OS/Debian 11.x/Bullseye (armv7l) GCC 10.2.1 f09ee53337fdb7f3fc1adc89d576d7cc1392161d537c073ae59dd388c42c6bb5
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)

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.