Repository navigation
FAQ
No. Mumcord works fully without it. Without a relay, screen sharing, camera sharing and full-size images work only when two users can connect directly, and users who hide their IP address cannot use them. mumpeer closes that gap for your community.
No. The Mumble server stays completely unmodified: no plugin, no config change. mumpeer never connects to it. The relay bot joins the server as an ordinary registered user.
No. Voice and text chat always go through the Mumble server as before. The relay only carries Mumcord's peer-to-peer features: screen sharing, camera sharing, full-size images, files and plugin data.
No. The relay forwards an inner connection that is encrypted end to end between the two users and pinned to their Mumble certificates. The relay has no key for it, and if it forwarded to anyone else, the inner handshake would fail.
The operator can see the IP addresses of both users in a session, which two certificate hashes talk to each other, and how much data flows and when. Mumcord tells users this before they use a relay.
No. Pairs, sessions and counters are in memory only and vanish on restart. The only files it writes are its own key and certificate. Logs contain no full IP addresses, no full certificate hashes, no tokens and no content.
No. The relay only forwards between the two sides of a pair that your bot created, or from the sharer of a broadcast to the viewers your bot admitted, for users who are on your Mumble server at that moment. It never opens connections to anywhere else.
The idea is the same: forward packets when a direct path fails. mumpeer is smaller and stricter: only pairs your bot created, authenticated with the users' Mumble certificates, with short-lived tokens. It needs no user accounts or long-term credentials, and it speaks only the Mumcord relay protocol.
Almost every network lets port 443 through, because the web uses it. UDP 443 gives the best performance (QUIC); TCP 443 gets through networks that block UDP.
Give the relay its own IP address, use another port, or pass connections through by ALPN. See port 443 and reverse proxies.
You can, but you should not. Clients pin the certificate's fingerprint, not a certificate authority, so each renewal looks like "the relay changed" to every user. The generated self-signed identity is the better choice and lasts until you delete it.
Running relayed sessions end, and Mumcord sets up a new one when needed. As long as the
data_dir (Docker volume) is kept, the fingerprint stays the same and users notice nothing
else.
The relay notices after 90 seconds without an API call. It then refuses new connections with
bot_gone and ends quiet sessions. Mumcord clients mark the relay as unavailable 15 seconds
after the bot leaves the server.
Each session may use up to session_mbit (default 10 Mbit/s) in each direction; all sessions
together up to total_mbit (default 200). Set total_mbit below your uplink. A typical screen
share uses a few Mbit/s.
A broadcast (one screen share or camera shown to many viewers) adds one copy per viewer on your
outgoing side, up to broadcast_out_mbit (default 300) per broadcast (a camera sender uploads at most
camera_max_kbps, default 2500), so check your uplink before you
raise max_viewers_per_broadcast. See Configuration.
Not in this version. A relay has exactly one API secret, so the supported setup is one relay with one bot for one Mumble server. Several bots or servers with separate secrets on one relay are out of scope for now.
Linux on x86_64 and aarch64 (static binaries and a multi-arch Docker image). Mumcord clients on every platform can use it.
Yes. mumbot's
peer-with-relay example
runs everything on one machine, and this repository's testenv/ adds
network namespaces that simulate blocked direct connections and blocked UDP.
Yes, by default since 0.2.1, at the lowest priority and within its own limits. Set
[uses] plugin_data = false to turn it off. See Configuration.
Privately, through the security advisory form, never in a public issue. See Security and privacy.
In the issue tracker. Please include the mumpeer version, how you run it, and the relevant log lines. Never post your API secret or relay key.
Use
Understand
Help
Reference
Projects