BlaB! WS - Frequently Asked Questions

System requirements

Self-hosted client, server hosted on our servers

Self-hosted client and self-hosted server



By downloading and using BlaB! WS (server & client), you indicate your acceptance of the following terms and conditions:




How to install BlaB! WS

Installing BlaB! WS is as easy as possible and our how-to-install guides describe the whole process in detail.


How to upgrade BlaB! WS

To upgrade blabws-server simply replace the files under /opt/blabws-server with the new ones and restart the server.

To upgrade BlaB! WS client:

  1. Download and unzip the files in a new empty directory e.g. /blabws_new and remove the subdirectory /install
  2. Upload /blabws_new (and all files/subdirectories in it) to your server by an FTP program.
  3. Overwrite config.php with your old config.php file and transfer all files from your old /attachments directory to /blabws_new/attachments.
  4. Navigate with your browser to /blabws_new/admin - the database will be updated automatically.
  5. Make sure that your new chat is working properly, remove the old chat directory and rename /blabws_new to whatever you wish.

You cannot upgrade BlaB! WS client from a version prior to 18.08. Install from scratch and export/import your users with phpMyAdmin.


Can I upgrade from BlaB! WS free to BlaB! WS Pro

Yes, easily. You only have to upload the client and the server (BlaB! WS Pro and blabws-server-pro), transfer config.php from free to Pro and change some variables.


Does BlaB! WS support SSL?

The client is a PHP/MySQL app - you only need your Apache/Nginx to be configured with SSL. You cannot link directly an SSL certificate to blabws-server. However, if your Apache/Nginx server is configured with SSL you can easily make it act as a websocket proxy - in that way all communications go through standard 80/443 ports without a dedicated websocket port left open. The procedure is very easy and described in detail in our how-to-install guide.


Can I run BlaB! WS on my shared hosting account?

Only BlaB! WS client. To run the server you need a dedicated Linux server or VPS with SSH access as a root user or with sudo privileges. Virtual Private Servers (VPS) can cost as cheap as 1-2 USD/month. A good starting point to find an inexpensive VPS is offers preinstalled VPS called droplets with prices starting from $5/month and they have great tutorials on how to deploy, maintain and secure Linux servers.


Can I install BlaB! WS client on one host and run the server on another?

Yes, as long as blabws-server is not behind an Apache websocket proxy. Use Nginx instead.


I have a Windows / BSD / Linux based VPS, can I install BlaB! WS?

blabws-server supports Debian 8 Jessie+ / Ubuntu 16.04+ / CentOS 7+. In fact blabws-server should run on any Linux OS, however, older versions of Apache/Nginx do not have a proper websocket proxy. BlaB! WS client can be installed on any Apache(Nginx) / PHP / MySQL(MariaDB) host - no matter the OS.


Can I install BlaB! WS on Raspberry Pi?

Yes. We provide blabws-server for ARM7 processors. Note that blabws-server for ARM7 is a 32-bit program just like the current Raspbian Stretch is a 32-bit platform. In order to run blabws-server on a 64-bit ARM OS you will have to enable multiarch-support - Google for details.


Is it safe to turn PHP shell_exec on?

By default PHP shell_exec is enabled when you install PHP on Ubuntu, Debian and CentOS. PHP shell_exec allows shell commands to be executed via PHP. With a self-hosted blabws-server BlaB! WS client needs shell_exec to start/stop blabws-server from the Admin CP. Those commands are hardcoded and do not depend on user input so you are safe as far as BlaB! WS is concerned.


Can anyone connect to my websocket server? What does ACCESSKEY do?

No. blabws-server accepts connections from BlaB! WS client only. The browser of the user should provide a valid token - UserID / UserName / TimeStamp / CheckSum where CheckSum is a sha256 hash of UserID / UserName / TimeStamp / ACCESSKEY. The token is valid for 10 seconds only. It's impossible to reverse sha256 and extract your ACCESSKEY in order to fake a valid token.



You have an option in ACP to prevent new users from logging in immediately after registering. New users will be able to to login to chat after the period of time specified in ACP or if the quarantine is lifted manually. Quarantine does not affect guests and is useless if you have guest access enabled.


How does resetting a forgotten password work?

BlaB! WS never sends out email messages. Automated email messages to reset a password or activate an account are unreliable and very often undelivered due to spam filters. BlaB! WS deals with this in a different way. There are two couples of combinations associated with user accounts - Username-Password and Email-RecoveryQuestion-RecoveryAnswer. Users knowing the current password are allowed to set a new one. However, the Email can only be changed with a correct RecoveryAnswer. A forgotten password can be reset in this way:

It's unlikely someone to know or guess both - Password and RecoveryAnswer in order to take full control on another account. Brute-force attacks are not possible - BlaB! WS would accept up to 5 attempts per hour. Both Password and RecoveryAnswer are hashed in the database with salted sha256.


On mobile I have to re-enable sounds every time I enter the chat, why?

Mobile browsers do not play audio and video automatically without user's interaction. That's why on mobile sound notifications are always disabled and you have to re-enable them every session. We provide a PhoneGap mobile app template which allows you to build your own mobile app and enable proper sound notifications using the PhoneGap media plugin (see below - mobile app for Android/IOS).


Guests cannot login with their chosen username, why?

For security reasons guests can login to chat with a previously chosen username as long as their IP is the same - in their case the IP is their password. A guest can always become a properly registered user by providing a password / email / recovery question & answer. You can disable guest access from ACP » Settings.


BlaB! WS seems to be slower with my mobile over 3G/4G?

Some carriers use transparent proxies "to ensure reliable and fair access to resources in cellular networks". These proxies are in some cases slow.


Can I add or replace emoticons?

Yes but it's not easy. The list of emoticons can be found in emocodes.php. There are no image files, all emoticons in SVG format are base64 encoded entries in emoticons.css. You'd better stick to the excellent EmojiOne emoticons.


Can I replace sound notifications?

Easily! Go to the bottom of the product page and click on the link BlaB! WS - select sounds & create your notification file. Generate sounds.js and replace your current sounds.js file in the main BlaB! WS (client) folder. Rebuild & Uncache from ACP » Settings.


Can I add or replace stickers?

Yes, easily. Put your stickers in JPG/PNG/GIF/SVG format in subdirectories under /stickers and Rebuild & Uncache from ACP » Settings. Use only letters & numbers without spaces in the names of the sticker folders! When displaying in chat the name of the sticker folder will be shortened to 8 letters. Use only letters, numbers, dots, dashes and underscores without spaces in the names of the sticker files!


Can I add or replace predefined avatars?

Yes, easily. Put your avatars in JPG/PNG/GIF/SVG format in the directory /avatars and Rebuild & Uncache from ACP » Settings. The image files will be scaled automatically to 80x80px in the avatar list and to 60x60px in the user profile. It is recommended to use SVG images with 1:1 aspect ratio.


Uploading avatars

The folder /attachments must be CHMODed to 777. PHP fileinfo extension enabled is strongly recommended (PHP fileinfo is enabled by default from PHP 5.3.0 on). Optionally PHP GD extension enabled in order to crop/scale images. The max filesize of the uploaded image can be increased from the Admin CP.


My theme doesn't match the white icons, how to change their color?

The icons are base64 encoded entries in blabws.css. You can change their color with the built-in search and replace function of your favorite text editor.

base64 RkZGRkZG = FFFFFF (white)
base64 MDAwMDAw = 000000 (black)
base64 NjY2NjY2 = 666666 (grey)


What is WebKitCSS in the style section of the Admin CP?

We do not use browser specific hacks - such hacks usually break in the long run. This is a place to provide custom CSS code for WebKit based browsers and here you have a CSS line that shows smaller and better scrollbars (WebKit desktop only).



How can I show who is online on my front page?

This is an experimental feature and not enabled by default. To make blabws-server keep a list of the online users in a file, open config.php with a text editor and set a filename of a writeable file e.g. $blabws_server_onli='/tmp/'; then restart your blabws-server. In the file online.php enter path/name of the same file: $online_list='/tmp/';. Now you can call online.php as an external JS file from any HTML page.

<script src="/chat/online.php"></script>

outputs document.write(3)

<script src="/chat/online.php?mode=1"></script> 

outputs document.write('Jo, Adam, Maria')

<script src="/chat/online.php?mode=2"></script>

adds a fixed DIV to the BODY element of your page that can be updated periodically with Ajax requests, can be seen at our demo page (also see the comments in online.php to adjust the look etc)


Can I have a mobile app for Android/IOS?

Yes, you can. See here.


Can I have a Chrome web extension?

Web extension GIF

Although easy and possible, loading the chat as a web extension is useless - the extension box will be closed as soon as it loses its focus.

Download here a ZIP file with all the necessary files to create a web extension that shows who is online. A click anywhere within the box opens BlaB! WS in a new tab. First, you need to have who is online working and then set the proper URL to your BlaB!WS client: in popup.html.

Creating a web extension is one thing, submitting it to Chrome Web Store quite another - please refer to the appropriate documentation.


Why SVG and not PNG/GIF/JPG images like everybody else?

Almost all smartphones and tablets and a large part of the computer displays these days have pixel ratio x2, x3 or even x4. A raster image: GIF, JPG or PNG should be 2, 3 or 4 times larger to look as expected on such a screen. A solution is to use srcset {Webkit Demo} and then you must have 4 files for each actual image. On the other hand SVG images are relatively small, look well and are supported in all major browsers.


Stealth users

Stealth users can be defined in config.php as an array: $stealth_users=array(1,25,665); Any user whose ID is in the array do not appear in chat and in logs.


What does version XX.XX mean?

It's similar to Ubuntu versioning. 17.08 means released in August 2017 and 17.08.2 means August 2017 revision 2. You should always run the latest server & client version (latest client and server version might be different e.g. 17.06 and 17.12). The version of blabws-server can be found in its log, client version can be seen in ACP [press ESC].


Page updated: 2019-03-11

Facebook Twitter Google LinkedIn Reddit Digg StumbleUpon