Comment on page
RPort is under active development. Keep your installation up-to-date.
The latest open-source version is 0.9.12. The below update instructions and scripts will update your client to 1.X.X which is not compatible with server versions 0.9.12 or older.
Do not update clients, unless you have updated the server to 1.X.
It's recommended to run your clients with the recent version of rport. We try to always keep server and client compatible, regardless of the version. Basic connectivity and the usage of tunnels should always be possible with clients running an older version than the server. An exception to that rule is the licence change from 0.9.12 to 1.0.0. Clients >= 1.0 will not connect to an open-source server <= 0.9.12.
A fast and easy update of the rport clients can be done through the pairing service. If you have scripting with root privileges enabled, you can trigger a client update through the rport server.
💡It's safe to execute the update while being connected via SSH or RDP through an RPort tunnel. On Windows and Linux, the rport client is restarted delayed and from a decoupled background process. You will be disconnected, but the client reconnects, and you can create a new tunnel after the update.
if [ $(id -u) -ne 0 ];then
echo "Needs to run from the root account. Activate sudo!"
if which at; then
echo "System is missing the at command."
echo "Try 'dnf -y install at; pidof atd||systemctl start atd' on RHEL"
echo "Try 'DEBIAN_FRONTEND=noninteractive apt-get -y --no-install-recommends install at' on Debian/Ubuntu"
curl -sf https://pairing.rport.io/update > /tmp/rport-update.sh
at now << EOF
sh /tmp/rport-update.sh >/tmp/rport-update.log 2>&1
echo "The rport client update will shortly start in the background."
echo "If update fails, inspect /tmp/rport-update.log"
RPort client update on Linux
The Linux update script accepts parameters as follows:
sh rport-update.sh -h
Usage rport-update.sh [OPTION(s)]
Update the current version of RPort to the latest version.
-h print this help message
-v [version] update to the specified version.
-c update the rport client, default action
-t use the latest unstable version (DANGEROUS!)
-u uninstall the rport client and all configurations and logs
-x enable script execution in rport.conf
-d disable script execution in rport.conf
-s create sudo rules to grant full root access to the rport user
-n do not create sudo rules to grant full root access to the rport user
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-WebRequest -Uri $url -OutFile "rport-update.ps1"
powershell -ExecutionPolicy Bypass -File .\rport-update.ps1
rm .\rport-update.ps1 -Force
Update the RPort client on Windows with RPort
The Windows update script accepts parameters as follows:
PS C:\Users\Administrator> .\rport-update.ps1 -h
Update the rport client.
Invoking without parameters updates to the latest stable version.
-t Use the latest unstable version.
-x Enable command and script execution without asking for confirmation.
-d Disable command and script execution.
-v [version] Upgrade to the specified version.
We keep all major and minor versions of the
rportdand the frontend compatible. Do not run different major and minor versions of frontend and backend.
The rport server has database migrations built-in. But some tables are excluded from auto-migration. An update consists basically of replacing the old
rportdbinary by a newer version. If you need to change the database manually, we will provide SQL snippets.
For a fast, secure and convenient update, use the update script as follows, read the security advice below first:
curl -s https://get.rport.io/update -o rportd-update.sh
sudo -E bash rportd-update.sh
If you already entered your licence details to the
rportd.conffile, you must not export them to the environment before starting the update.
Exporting your licence key to an environment variable via the
exportcommand can be insecure because the key could be extracted from the process list by currently logged in none-root users.
To prevent this, create a text file, e.g.
rportd-license-key.txtthat contains the line
Load the environment variables from the file with
. ./rportd-license-key.txtand delete the file securely afterwards, e. g. using