Back to FSRdp

Download and Install FsRdpServer

Run the FSRdp relay server on your own infrastructure: Windows Server/Windows 11 x64, Linux x64 or Linux ARM64 (e.g. Raspberry Pi). This page guides you through downloading, installation, certificates and licensing.

Detailed Step-by-Step Guides

This page provides an overview. If you have a freshly installed server and want every step explained, from DNS records and router port forwarding to the PFX certificate and browser viewer, use the detailed guide for your platform:

Detailed Windows Guide Detailed Linux Guide

Windows x64

FsRdpServer for Windows

Windows Server or Windows 11 x64. Setup automatically configures the service, firewall rules and access permissions.

Version 1.2609.16.3 · Standard Windows Installer

Windows Installer
Linux x64

FsRdpServer for Linux

For Ubuntu Server, Debian and similar 64-bit distributions. Self-contained package; no separate .NET runtime required.

Version 1.2609.16.3 · ZIP Package

Linux x64 Package
Linux ARM64

For Raspberry Pi

For Raspberry Pi OS (64-bit) and other 64-bit ARM Linux systems, for example as a small server running continuously.

Version 1.2609.16.3 · ZIP Package

Linux ARM64 Package

What You Need before Installation

  • The exact DNS name your clients will use (e.g. server.ihrefirma.de).
  • A password-protected PKCS#12 certificate file cert.pfx for that exact name (see below).
  • The password for that PFX file.
  • A signed license file for your installation: license.fsrdpoptional: without it, the 30-day trial period applies (see below).
  • Two available TCP ports, by default 8888 (main connection) and 8889 (audio).
  • Optional, if using the browser viewer: a third TCP port (default 8890) and a license with browser viewing enabled. It is available during the trial period (see below).

What Is the PFX File For?

Complete PFX Certificate Guide (Obtaining, Installing and Renewing)

cert.pfx is a password-protected PKCS#12 package containing the TLS server certificate for your server name and its private key. FsRdpServer uses it to encrypt connections to all clients, just as a web server uses its HTTPS certificate.

Important: You provide this file yourself. The certificate must be issued for the exact DNS name your clients will use, and you control that name, rather than Fischbacher Software.

How to Obtain a Suitable PFX File:

You have two options:

Option 1: Wildcard Certificate (Recommended for Several Servers)

  • Obtain a wildcard certificate from your domain registrar (e.g. HostEurope), for example for *.ihrefirma.de.
  • The wildcard certificate automatically covers all subdomains, including server.ihrefirma.de.
  • Export it as cert.pfx with a password and use it for FsRdpServer.
  • Benefit: If you later install a second server (e.g. at support.ihrefirma.de), you can use the same wildcard certificate. The license must, however, be issued for the new host name.

Option 2: Specific Certificate (for One Server)

  • Obtain a certificate only for server.ihrefirma.de .
  • Export it as cert.pfx with a password.
  • Benefit: Less expensive if you only have one server.

The Key Point: The DNS name in the certificate must exactly match the server name for which the license is issued , whether the certificate is wildcard or specific. Example: if your license is issued for server.ihrefirma.de , the certificate must also include the DNS Subject Alternative Name (SAN) server.ihrefirma.de .

Other Options:

  • A free certificate from Let's Encrypt (e.g. using certbot), provided the server name is publicly resolvable via DNS.
  • A commercial certificate from another certificate authority.
  • An internal certificate from your company CA for internal deployments; every client must explicitly trust that CA.

If your certificate consists of separate files (common with Let's Encrypt: fullchain.pem and privkey.pem), use OpenSSL to bundle them into a PFX file:

openssl pkcs12 -export -out cert.pfx \
  -inkey privkey.pem -in fullchain.pem \
  -password pass:IhrPasswort

How Do I Get a License?

For continued operation, FsRdpServer requires a valid signed license file (license.fsrdp). It is issued individually for your installation and tied to a permanent installation ID and your server name. It is not required for the first 30 days, during which the server runs as a trial installation. You can add the license at any time.

How It Works:

  1. Install FsRdpServer without a license and test it for 30 days. This creates the installation ID.
  2. Display this ID (command below) and send it to me along with the desired DNS name and license limits (number of rooms, participants per room and term).
  3. I issue your signed license.fsrdp and send it to you.
  4. Place the file in the server's data directory. A restart is not required when replacing it later.

Display the Installation ID (Windows):

& "C:\Program Files\FsRdpServer\FsRdpServer.exe" --installation-id

Display the Installation ID (Linux):

sudo -u fsrdp-server env FSRDP_DATA_DIR=/opt/fsrdp-server/data \
  /opt/fsrdp-server/FsRdpServer --installation-id

Installing on Windows

1

Check Prerequisites

Have local administrator permissions, the correct server time/time zone, cert.pfx with its password and license.fsrdp ready.

2

Run Setup as Administrator

Setup_FSRdpServer.exe Right-click Run as administrator to run it.

3

Confirm Ports

Enter the main and audio ports, normally 8888 and 8889.

4

Select the Certificate and Optional License

Select your cert.pfx and enter its password, then select the supplied license.fsrdp . If you do not have one yet, leave the license page empty. Setup asks for confirmation and then creates the 30-day trial installation.

5

Finish Installation

Setup automatically checks the certificate, DNS resolution and any supplied license, then configures the Windows service FsRdpServer and firewall rules. The service starts automatically.

You can check the service afterwards using Get-Service -Name FsRdpServer (the status should be Running ) and FsRdpServer.exe --validate-installation. Every installation includes a detailed guide with troubleshooting.

Installing on Linux

1

Extract the Appropriate Package

unzip FsRdpServer-linux-x64.zip -d FsRdpServer – use the ARM64 package on Raspberry Pi.

2

Run the Installer

Creates a dedicated restricted service account, the systemd service and the data directory. The service initially remains stopped until the certificate is configured; a license is not required to start it.

cd FsRdpServer
chmod +x FsRdpServer install.sh
sudo ./install.sh
3

Generate the Installation ID (and Request a License Later)

Generate the installation ID once with the command shown above. That is sufficient for the trial period. For a license, send me the ID and desired DNS name.

4

Install the Certificate and Optional License

cert.pfx and, once received, license.fsrdp to the data directory with the correct permissions. Omit the first command during the trial period:

sudo install -o fsrdp-server -g fsrdp-server -m 0640 \
  license.fsrdp /opt/fsrdp-server/data/license.fsrdp
sudo install -o fsrdp-server -g fsrdp-server -m 0640 \
  cert.pfx /opt/fsrdp-server/data/cert.pfx
5

Store the PFX Password

In the root-protected file /etc/fsrdp-server/fsrdp-server.env , enter the value FSRDP_CERT_PASSWORD=... and protect the file with chmod 0600 .

6

Start and Check the Service

After successful validation, start the service and check its status:

sudo systemctl start fsrdp-server.service
systemctl is-active fsrdp-server.service

Every download package includes a detailed step-by-step guide with a file permissions table, validation and troubleshooting in README-LINUX.md .

Optional: Enable the Browser Viewer (Port 8890)

To offer the read-only live viewer in a browser as well (no client required; see the FSRdp home page), you need a third TCP port, by default 8890. This feature is disabled by default and requires:

  • Specify when requesting a license that you want to use the browser viewer; it must be enabled in the license.
  • Also enable it in the server configuration: "WebGatewayEnabled": true in appsettings.json (Windows: C:\ProgramData\FsRdpServer\appsettings.json, Linux: /opt/fsrdp-server/data/appsettings.json) or with the environment variable FSRDP_WEB_GATEWAY_ENABLED=true. Set a different port using "WebGatewayPort" or FSRDP_WEB_PORT .
  • Also allow port 8890 (or your chosen port) in the firewall.
  • Optional: configure a separate certificate for the browser viewer using WebGatewayCertificatePath/WebGatewayCertificatePassword if visitors will use a different host name from native clients. If left empty, cert.pfx is used automatically.
  • Restart the service after every configuration change.

Network Checklist

Questions about Installation or Licensing? I am happy to agree on the server name, license limits and certificate with you and help with installation.

Robert Fischbacher

Contact Me Directly