Technical details

<< Click to Display Table of Contents >>

  Server and client installation >

Technical details



This chapter contains general information about servers, data encryption and other technical details related to data transfer and storage


Client-server data encryption


All data is protected during the transfer by public-key cryptography and SSL. The security certificate for self hosted Virola can be defined by a user. If it is not defined, it is generated automatically on a server when it is launched.


For voice chats symmetric-key encryption AES is used. The keys are generated on the server when it is running and are renewed within specific time period. The keys are stored in RAM only while the server is running.


How to check APK file for viruses


File of the Android app is uploaded to Google Play as Android Application Bundle, then it is converted to APK file by Google. An example of checking APK file for viruses:


Working with push notifications


1.Firebase platform from Google is used to send push notifications in Android Virola client app

2.APNs (Apple Push Notification service) platform is used to send push notifications in iOS Virola client app


Virola Server command line options help


run Virola Server with --help or -? or -h parameter to get help on Virola Server command line usage.



./virola_server_app.exe --help


Commands for changing SSL certificate


You can run Virola Server with your own SSL certificate / Private key pair.



virola_server_app.exe --listen-host --listen-port 7777 --database-dir ./storage --use-ssl --ssl-certificate ./cert.pem --ssl-private-key ./key.pem --ssl-private-key-password QWERTY


For detailed information please use Virola Server command line options help.