What is the "Meeting" extension and how does it work?
Meeting is meant to provide a secure peer-to-peer video and audio chatting without any registering required. The idea is to use a signaling server to introduce two or multiple peers and when peers receive communication data, they can build their network without any server being involved. Meeting is a distributed chat application in which each peer is responsible for providing streams to the other members. Since the signaling server is shared between all TTS users, this application uses a password to encrypt the communication data between peers. Only those peers that have the password can decrypt the messaging. TTS even allows you to join into the multiple channels at once. Simply click on the toolbar button to initiate a new instance. Set the channel number and the unique password to join the new channel. Note that all members of a chat need to know the channel number and the secure password to be able to join the meeting. Also, all members need to join the channel within the 10 minutes of the channel creation, otherwise, the other members will get disconnected from the singling server. This significantly improves the communication security.
What's new in this version?
Please check the Logs section.
Is it possible to have a different signaling server than the one provided by this application?
Yes, go to the options page of the extension and set up your server. There are two keywords for the server. "[CHANNEL_ID]" and "[API_KEY]". The "[API_KEY]" is used to validate the server access and "[CHANNEL_ID]" is meant to have multiple isolated WebSocket channels on a single server. Each client only receives messages from peers of the same channel id. You can visit the application's GitHub page to fork the server code. You need to have a NodeJS server for this code to work. The server is a simple WebSocket server so you can simply write the code in other server-side languages too. If you want to use this application on a local network, you can run a local server and there is no need for internet access for the peers to be able to join the meetings. The idea is to encrypt all messages on the client-side so that even if somebody has access to the server's data, they cannot use this data to access the client's information. It is important that all clients use the same secure password to guarantee safe communication.
Why no one else can join the meeting after about 10 minutes of the channel creation?
This is to improve the communication security. Since the singling server is the only place where a new user can send requests to all members, and this server is shared between the Meeting users, you will get disconnected from this server about 10 minutes after joining to prevent any new communication request. If a new member wants to join the chat after this period, a member inside the room can press the "Allow Joining" button and wait for a few seconds so that all members automatically reconnect to the signaling server. Once all members join the signaling server, a new member can join.
I would like to join a meeting and only see a particular member (e.g. a speaker). Is it possible to disconnect from other members of the channel?
Once the communication is established, you will get a close button on each stream. Press the close button to get disconnected from this particular peer. Alternatively, you can mute all members except the speaker one.
Since the signaling server is shared, what happens if an unauthorized client tries to connect?
It is recommended to use a random channel id between 1 and 1000 to reduce the risk of an unauthorized client finding your channel. Note that all communication messages passing through the singling server are encrypted in the client-side, so this application simply ignores the messages that cannot be decrypted with the given password. Also, you get disconnected from this server after about 10 minutes or as soon as the "Allow Joining" button is unchecked. It is recommended to manually get yourself disconnected from the server once all members joined.
We would like to have our own server, but I don't want to get involved with the server-side coding. Are there any free WebSocket server providers?
Register a free account on www.websocket.in and get a token. Paste the token and server URL on the options page. This service works for small meetings. If you want to create large meetings, fork the server code from the application's GitHub page and use www.openode.io to register a free account. If you only want to join a meeting over a local network, simply use NodeJS with the server code to set up a local server.
Please keep reviews clean, avoid the use of improper language and do not post any personal information.
|storage||to keep the custom singling server and its token value|