Skip to content

mles-webproxy, the Mles WebSocket proxy service server at mles.io -> clone and set up your own!

License

Notifications You must be signed in to change notification settings

jq-rs/mles-webproxy

Repository files navigation

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).

For the crates.io-version, please check crates.io-branch. The only difference should be that crates.io does not include mles.io website as part of it.

Example how to create your own personal proxy server

  1. Install Rust and Cargo package manager to your preferred server
  2. Clone mles-webproxy repository: git clone https://github.com/jq-rs/mles-webproxy.git; cd mles-webproxy
  3. Compile mles-webproxy: RUSTFLAGS="-C target-feature=+aes,+ssse3" cargo build --release
  4. Open port 80 and 443 of your firewall for Mles WebSocket protocol and for Let's Encrypt certificates
  5. 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-key-string-here (or mles-devel-frank for mles.io)>; target/release/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
  6. Connect to port 443 of your server with Mles WebSocket application

Optional: You can configure with provided systemctl scripts the services to be started automatically on server reboot.

Optional: To support Web GUI (the QR link of MlesTalk), update submodules for mles-webproxy: git submodule update --init --recursive

Enjoy talking over Mles WebSocket proxy!

Available public proxy servers

P.S. Please send a PR if some of this info is outdated.