A voice chat application.
| Project info | |
|---|---|
| License | GPLv3 |
| Version | 1.0-alpha |
| Status | Paused |
| Used tools | Janus WebRTC Server Gson mysql-connector-j |
The Disbordissimo server code is contained in the server package.
To run the server, you need a Janus WebRTC Server and a Mysql Server.
Note
Any "type" of SQL Server can be used, but some queries might change depending on the chosen "type".
Example:
Standard SQL: BEGIN TRANSACTION;
MySQL: START TRANSACTION;
- DB Setup
Install a MySQL server, then use the db.sql file to import the DB.
Tip
A dedicated DB user can be created; that should have the permission to use DML and DQL queries only.
- Janus setup
To install Janus, see: Janus Github-repo.
Tip
Delete all permanent rooms, which are in the config by default, to avoid potential Room ID conflicts.
- Install DisbordissimoServer
Install the server, then run it to autogen the config file (located at*/**/.config/).
A simple API documentation can be found in API_syntax.md.
The Disbordissimo client API wrapper code is contained in the client package.
Note
You are free to communicate with Disbordissimo Server using the API Wrapper or "Pure" API. It's recommended to use the API wrapper.
- CLI: it's contained in the
clipackage. - GUI: coming soon
-
Session-oriented communication: it aims to reduce spoofing attacks, which are easier to perform on a user-ID oriented communication.
-
Encrypted communication: Currently every message is sent as plain text, adopting any type of encryption will reduce the effect of sniffing attacks.
-
Signaling tunnel: Implementing a signaling filter tunnel allows control over the Janus API message-passing between janus and clients by blocking dangerous messages.
-
Janus API hiding: Hide the Janus API from clients and force them to transmit WebRTC messages via DisbordissimoAPI. This change makes it possible to use every WebRTC server that implements MCU Architecture (because it's treated server-side).