Tools
mumpeer
Et lille relay til Mumcords direkte forbindelser mellem brugere, for eksempel til skærmdeling eller billeder i fuld størrelse. Når to personer ikke kan nå hinanden direkte, bag CGNAT, strenge firewalls eller i netværk uden UDP, eller ikke vil vise deres IP-adresse, forbinder begge i stedet til relayet. Det sender kun de krypterede pakker videre, ligesom en TURN-server.
Ved siden af din Mumble-server
Et fællesskab kører mumpeer ved siden af sin Mumble-server, sammen med relay-botten mumbot peer. Botten annoncerer relayet og deler kortlivede tokens ud. Mumble-serveren forbliver uændret.
Kun verificerede brugere
Et token virker kun for præcis to certifikater, én gang pr. side og som standard i 120 sekunder. Relayet videresender aldrig andre steder hen og åbner aldrig selv forbindelser, så det er ikke en åben proxy.
Ende-til-ende-krypteret
Det, der går gennem relayet, er en separat krypteret forbindelse mellem de to brugere, bundet til deres Mumble-certifikater. Relayet kan hverken læse eller ændre den.
Gennem næsten enhver firewall
QUIC over UDP eller, hvor UDP er blokeret, TLS over TCP. Begge på port 443 og med TLS 1.3.
Helt valgfrit
Mumcord virker også uden bot og relay. I Mumcord vælger du selv: relay slået fra, kun når en direkte forbindelse mislykkes, eller altid.
Hvad operatøren kan se
- IP-adresserne på begge brugere i en session
- Hvilke to certifikater der taler med hinanden
- Hvor meget data der flyder, og hvornår
- Ikke indholdet: det er krypteret ende til ende. Mumcord fortæller dig det, før du bruger et relay
- Logges aldrig: fulde IP-adresser, fulde certifikat-hashes, tokens og pakkeindhold
Kør det med Docker
Læg en lang tilfældig hemmelighed i .env som PEER_API_SECRET (for eksempel fra openssl rand -hex 32). Gem mumpeer.example.toml fra Mumbots relay-eksempel som mumpeer.toml og sæt public_host i den, og bot.example.toml som bot.toml. Start derefter relay og bot sammen:
services:
mumpeer:
image: ghcr.io/mumcord/mumpeer:0.1.0
restart: unless-stopped
environment:
MUMPEER_API_SECRET: ${PEER_API_SECRET:?set PEER_API_SECRET in .env}
ports: ["443:443/udp", "443:443/tcp"]
volumes:
- ./mumpeer.toml:/config/mumpeer.toml:ro
- mumpeer-data:/var/lib/mumpeer
mumbot:
image: ghcr.io/mumcord/mumbot:0.2.0
command: ["peer"]
restart: unless-stopped
network_mode: "service:mumpeer"
environment:
MUMBOT_CONFIG: /config/bot.toml
MUMBOT_PEER_API_SECRET: ${PEER_API_SECRET:?set PEER_API_SECRET in .env}
volumes:
- ./bot.toml:/config/bot.toml:ro
- mumbot-data:/data
healthcheck:
disable: true
volumes:
mumpeer-data:
mumbot-data: Ved første start vises relayets fingeraftryk i loggen. Botten annoncerer det til Mumcord, ellers skal intet deles. Åbn UDP og TCP på port 443, API'et forbliver mellem relay og bot. Mumcord bruger relayet fra version 0.5.0.