#websocket-server

app mles-webproxy

Mles WebProxy - an Mles WebSocket proxy and a static WWW-server

7 releases

0.8.8 Nov 26, 2023
0.8.7 Sep 19, 2021
0.8.6 Mar 12, 2021
0.8.5 Sep 10, 2020
0.8.2 Aug 26, 2020

#771 in Network programming

MPL-2.0 license

34KB
604 lines

mles-webproxy

mles-webproxy is deprecated in favor of Mles v2 and will be obsolete from the beginning of year 2024.

mles-webproxy is an Mles WebSocket proxy service for Mles WebSocket protocols, like MlesTalk. It receives traffic over TLS and forwards it transformed to AES towards Mles server (and vice versa).

Mles WebProxy receives traffic over TLS. In case of Mles WebSocket protocol, the connection is upgraded and messages forwarded transformed to AES towards configured Mles server (and vice versa).

Please do end-to-end encrypt the data you send anyway. For more details, please check the Mles specifications.

Example how to create your own personal proxy server

  1. Install Rust and Cargo package manager to your preferred server
  2. Install mles-webproxy: RUSTFLAGS="-C target-feature=+aes,+ssse3" cargo install mles-webproxy
  3. Open port 80 and 443 of your firewall for Mles WebSocket protocol and Let's Encrypt certificates
  4. Startup mles-webproxy Mles WebSocket proxy in your local server. Notice: this will try to fetch certificates from Let's Encrypt by default: export MLES_KEY=<secret-server-key-string-here>; mles-webproxy <www-root> <email-for-tls> <domain-for-tls> <mles-srv-addr x.x.x.x:p>
    • default ports 80 and 443 need root privileges
  5. Connect to port 443 of your server with a browser or your Mles WebSocket application

Enjoy talking over Mles WebSocket proxy!

Available public proxy servers

Dependencies

~26–36MB
~707K SLoC