Skip to content

Main Server Configuration

All system components are configured using JSON configuration files located next to the files of the running instances.

In this document, you will find all available parameters for the Main Server that are allowed in the server/config.json file. For easier reference, the options are grouped by purpose and sorted by importance.

Listening Ports

Ports on which the main server will run:

Parameter Type Description
port.http number Port for HTTP requests. Default is 80.
port.https number Port for HTTPS requests. Default is 443.
Example
{
  "port": {
    "http": 80,
    "https": 443
  }
}

Database

Credentials for connecting to the database.

Parameter Type Description
sql.server string Database host
sql.port number Database port
sql.user string Database user
sql.password string Database password
sql.log boolean Enable SQL query logging. Default is false.
Example
{
  "sql": {
    "server": "172.16.0.1",
    "port": 5432,
    "user": "getscreen",
    "password": "Kw7ZzOioC4pdj1kp",
    "log": true
  }
}

Inter-Component Communication

For all running system components to exchange messages with each other, they must be authorized with one another. In other words, each component must explicitly allow other components to send messages to it. This authorization is implemented using special tokens.

Installation Code

During system installation, the installation code automatically writes the values of the options from this section into the following files:

  • server/config.json
  • download/config.json
  • image/config.json
  • storage/config.json
  • proxy/config.json

Authorization Token

The main server token that other system components use to authenticate with the main server.

Parameter Type Description
token string Authorization token
Example
{
  "token": "556vLWCNHXqF28eC"
}

Component Credentials

For the main server to communicate with the other subordinate components, it must also authenticate with them. Therefore, the configuration must include the address and token for each component that is being used.

System Components

Learn more about the available system components on the Self-Hosted Server Stack page.

Download Component

The values for the options in this section can be found in the download/config.json configuration file for the Download Component.

Parameter Type Description
download.host string Address in the host:port format.
download.token string Authorization token
Example
{
  "download": {
    "host": "example.net:5012",
    "token": "Isw6tEcfg79CN3IJ"
  }
}

Proxy Component

The values for the options in this section can be found in the proxy/config.json configuration file for the Proxy Component.

STUN Servers

A list of STUN servers in use.

Parameter Type Description
stun.[].ip string IP address
stun.[].port number Port
Example
{
  "stun": [
    {
      "ip": "172.16.0.10",
      "port": 5000
    }
  ]
}

TURN Servers

A list of TURN servers in use.

Parameter Type Description
turn.[].ip string IP address
turn.[].port number Port
turn.[].login string Username
turn.[].password string Password
turn.[].transport string Transport-layer network protocol
Example
{
  "turn": [
    {
      "ip": "172.16.0.11",
      "port": 5001,
      "login": "jtzPwazErFubXzuw",
      "password": "w6xuiJKnZ0hriktw",
      "transport": "udp"
    }
  ]
}

WebSocket Servers

A list of WebSocket servers in use.

Parameter Type Description
websocket.[].host string Host
websocket.[].port number Port
Example
{
  "websocket": [
    {
      "host": "example.net",
      "port": 5002
    }
  ]
}

Image Component

The values for the options in this section can be found in the image/config.json configuration file for the Image Component.

Parameter Type Description
storage_image.[].host string Host
storage_image.[].port number Port
storage_image.[].key string Storage key
storage_image.[].token string Authorization token
Example
{
  "storage_image": [
    {
      "host": "example.net",
      "port": 5003,
      "key": "PwayXNeyzUwrk64V",
      "token": "EasMwzCAKQlQkhGh"
    }
  ]
}

Storage Component

The values for the options in this section can be found in the storage/config.json configuration file for the Storage Component.

Parameter Type Description
storage.[].host string Host
storage.[].port number Port
storage.[].key string Storage key
storage.[].token string Authorization token
Example
{
  "storage": [
    {
      "host": "example.net",
      "port": 5004,
      "key": "ENutE9xxDDj8HSw9",
      "token": "zfyvQKtfTonIs7zm"
    }
  ]
}

Communication Tools

Settings for peripheral tools required for the full operation of the server.

Mail Server

Required for sending passwords to newly registered or recovering technicians, connection invitations, as well as other system emails and notifications.

Parameter Type Description
mail.server string Server address
mail.port number Port
mail.user string Username
mail.password string Password
mail.email string Sender email address
Example
{
  "mail": {
    "server": "mail.example.net",
    "port": 587,
    "user": "[email protected]",
    "password": "8G9wLmvCxq6bR2pW",
    "email": "[email protected]"
  }
}

Quick Start

You can use cloud solutions such as MailChimp or similar services.


Telegram Bot

Used to send two-factor authentication codes, receive notifications, and access the personal dashboard when a technician enables the integration for their account.

Telegram Integration

Learn which features become available to technicians when the integration is enabled in the guide Remote Desktop Access via Telegram.

Parameter Type Description
integrate.telegram.id number Bot ID
integrate.telegram.name string Bot name
integrate.telegram.token string Bot token
Example
{
  "integrate": {
    "telegram": {
      "id": 123,
      "name": "TelegramBot",
      "token": "AHp0KjWznFvbTsxH:DgBfX7J0QSlkSa9H"
    }
  }
}

Quick Start

See the step-by-step guide for creating and configuring a bot in the Telegram Bot Setup documentation.


Google Translate

Used for automatic translation of on-screen text during a remote desktop session.

Automatic Text Translation

Learn more about on-screen text translation in the guide Auto-Translation of Text on Remote Desktop Screen.

Parameter Type Description
translate.google string API key
Example
{
  "translate": {
    "google": "qwertyqwertyqwertyqwerty"
  }
}

Where do I get the API key?

You can obtain the API key from Translation Hub .

Security Settings

Captcha

You can enable CAPTCHA verification for technicians on the registration, login, and password recovery pages.

Parameter Type Description
captcha_info.[].type string CAPTCHA provider. Supported values: google, cloudflare, hcaptcha
captcha_info.[].key string API key
captcha_info.[].secret string Secret key
Example
{
  "captcha_info": [
    {
      "type": "google",
      "key": "UdHonfCy9UubOE3s",
      "secret": "3DhRLmUW3AvIeiSg"
    }
  ]
}

Where do I get the API key?

You can create a CAPTCHA and obtain an API key at reCAPTCHA .


Anonymous Access

You can deny anonymous technicians the ability to connect to devices using one-time links.

Anonymous Technician

Learn more about anonymous technicians in the Connection Participants guide and about one-time links in the Providing Access to Your Computer guide.

Parameter Type Description
force_login boolean Deny anonymous access via one-time links. Default is false.
Example
{
  "force_login": true
}

Password Settings

You can limit the password lifetime for user accounts and require users to change their password on first login.

Parameter Type Description
password_timeout number Password expiration period in days. By default, the password does not expire.
password_change boolean Require a password change on first login for users who received their password via an invitation email.
Example
{
  "password_timeout": 30,
  "password_change": true
}

Old Browsers

You can prevent technicians from using the system in outdated browser versions.

Parameter Type Description
accept_old_browser boolean Allow legacy browsers. Default value is false.
Example
{
  "accept_old_browser": true
}

The following browser versions are considered outdated:

Vendor Versions below
Mozilla Firefox 50
Opera 15
Google Chrome 64
Internet Explorer 11
Microsoft Edge 40.15063
Safari 11

HSTS (HTTP Strict Transport Security)

You can enable an option that forces browsers to always use HTTPS when connecting to the server and blocks any HTTP connections.

Parameter Type Description
hsts boolean Include the HSTS header in server responses. Default value is false.
Example
{
  "hsts": true
}

Learn More

Learn more about automatic redirection from HTTP to HTTPS in the public documentation: HSTS .


CSP (Content Security Policy)

You can restrict which hosts are allowed to load content and receive requests in the browser where the dashboard and connection window are opened, helping to prevent XSS vulnerabilities.

Parameter Type Description
csp.enable boolean Enable CSP headers. Default value is true.
csp.extra string Additional domains to include in CSP headers (space-separated).
Example
{
  "csp": {
    "enable": true,
    "extra": "abc.example.net"
  }
}

Learn More

Learn more about web page content restrictions in the Content Security Policy documentation.

Network Settings

Reverse Proxy

If you use a reverse proxy in the server environment, you must inform the server about it.

Parameter Type Description
balancer.ip.[]."" string List of IP addresses of the proxy servers in use
Example
{
  "balancer": {
    "ip": [
      "123.123.123.123"
    ]
  }
}

Log HTTP Requests

You can enable logging of HTTP requests to the server.

Parameter Type Description
log-http boolean Enable HTTP request logging. Default is false.
Example
{
  "log-http": true
}