| Crates.io | mles-client |
| lib.rs | mles-client |
| version | 2.1.1 |
| created_at | 2017-01-22 18:55:27.482008+00 |
| updated_at | 2025-03-31 17:44:23.518654+00 |
| description | A prototype implementation of the Mles v2 protocol with end-to-end encryption support |
| homepage | |
| repository | https://github.com/jq-rs/mles-client |
| max_upload_size | |
| id | 8176 |
| size | 107,190 |
A prototype implementation of the Mles v2 protocol. This client serves as an example implementation and proof-of-concept for the protocol, demonstrating WebSocket-based messaging with end-to-end encryption using XChaCha20-Poly1305.
⚠️ Important Note: This is a prototype implementation intended for demonstration and learning purposes. It should not be used in production environments or for any critical applications.
This client implements the Mles v2 protocol (Modern Lightweight channEl Service), a client-server data distribution protocol designed for lightweight and reliable distributed publish-subscribe data service. For production implementations and more detailed protocol specifications, please visit https://mles.io.
# Connect to default server (wss://mles.io)
mles-client
# Connect to specific server
mles-client -s wss://example.com
# Connect with predefined channel and user ID
mles-client -c mychannel -u myuser
# Connect two servers
mles-client -s wss://server1.com --proxy-server wss://server2.com -c channel -u proxy-user
# Connect Mles server to MQTT broker
mles-client -s wss://mles.io --mqtt-broker mqtt://test.mosquitto.org:1883 -c channel -u mqttproxy
This mode allows bidirectional message forwarding between a Mles server and an MQTT broker. Messages sent to the Mles channel will be published to the MQTT topic and vice versa. The MQTT topic name matches the Mles channel name.
-s, --server: WebSocket server URL (default: wss://mles.io)-c, --channel: Channel name-u, --uid: User ID--proxy-server: Second server URL for proxy mode--mqtt-broker: MQTT broker URL for MQTT proxy modeMLES_KEY: Optional shared key for authenticationThis implementation includes:
While functional, this implementation prioritizes demonstrating protocol concepts over production-ready features and security hardening.
cargo build --release
This project is licensed under the Mozilla Public License Version 2.0 - see the LICENSE file for details.