Mles logo

MlesTalk is an instant messenger application which uses Mles (Modern Lightweight channEl Service) - Websocket protocol to exchange information.

MlesTalk at Google Play

About MlesTalk

MlesTalk is an open source instant messenger between two or more users on a same channel. Instead of just seeing the finalized messages, see how everyone write their messages, character by character. UTF8 support, emojis and images are also supported. Avoid centralized services like Messenger or WhatsApp, have a freedom to pick freely the server to connect to - or setup your own!

In addition to username and channel, you'll need to pick a shared key with other channel users. The key provides lightweight (56-bit) end-to-end security for messages on the channel. You can share your channel with friends without MlesTalk easily with provided QR-code or use it on browser yourself.

Retro-feeling for those Unix-era users who remember the magnificent Talk program.

The source

MlesTalk is an open source project. A sincere thank you to all open source library developers, without you this application would not exist!

Please join /r/mles Reddit community to get info about new features of MlesTalk or Mles procotol in general.

Connectivity is based on open Mles-Websocket protocol. Please see http://mles.io for more information.

About Mles.io server

Mles.io has a service server support implemented for the MlesTalk application and this server is suggested by default to be used by the MlesTalk application. Mles.io provides a limited history of messages for users during initial connection, if messages already exists on the channel. The Mles.io service is provided as is as a best effort service without any liability. The MlesTalk application user is free to select any server they wish to connect to, as long as it supports Mles-Websocket protocol.

Mles.io will always run the latest released open source version of the Mles-Websocket server service called arki-server and it does not collect any information of MlesTalk application users. Application code is also open sourced under arki-server through the WebUI. The users are always welcome to review the source code of arki-server and establish their own Mles-Websocket server service. Please see http://mles.io/legal for the full Privacy Notice and other legal information.

Frequently Asked Questions

What kind of network connection MlesTalk needs?

MlesTalk uses Mles-Websocket protocol over Transmission Control Protocol (TCP). You should be able to use it with any internet connection. If your connection is not stable, you may need to reconnect from time to time. MlesTalk will do the reconnection attempts for you in usual network glitches.

Are sent or received messages saved somewhere for later retrieval by the MlesTalk application?

Messages are not saved by the application and are in practice lost when the MlesTalk application is closed from application point of view. At least some of the messages on the channel can be restored from an Mles-Websocket server during reconnection to the channel, if the server supports message history.

How are the messages secured?

All messages are secured with symmetrical Blowfish with max key length of 56-bits with CTS+AONT and Blake2 HMAC. Messages can be opened easily only by the channel users who have the channel name and the key available. These security measures will not protect messages from serious decryption efforts, if messages are obtained by a 3rd party. The Mles-Websocket server, which forwards messages on the selected channel, is not aware of the key used on the channel.

56-bit key size equals 72,057,594,037,927,936 possible keys. As Blowfish is designed to have large initialization delay, the 56-bit key size combined with AONT guarantees lightweight security for messaging. In practice, this should mean that brute force decryption efforts without special arrangements take long enough that it is not a feasible choice for a possible attacker.

Considering block size, Sweet32 birthday attack is the worst known attack at the moment against block ciphers with 64-bit block size. It needs several hundreds of GBs of traffic to be effective. Thus, it does not really apply to a messenger with very limited amount of message traffic, like MlesTalk.

I cannot log into channel with the same user name twice, i.e from the web GUI. What can I do?

Please use a different user name for simultaneous logins on the same channel. It is a feature of the Mles protocol that the user name is restricted to one active at a time.

I'd like to have more than one channel already now. Anything for that?

You can open several channels to browser tabs from the QR-code link. Another option is, if you accept that you use it at your own risk, to try an app cloner application and have a cloned MlesTalk application login to different channel. You should be able to use it as original software. Please note that cloned applications do not usually get any upgrades.