Tools
mumpeer
Un petit relais pour les connexions directes de Mumcord entre utilisateurs, par exemple pour le partage d’écran ou les images en taille réelle. Quand deux personnes ne peuvent pas se joindre directement, derrière un CGNAT, des pare-feu stricts ou dans des réseaux sans UDP, ou ne veulent pas montrer leur adresse IP, toutes deux se connectent au relais à la place. Il ne fait que transmettre les paquets chiffrés, comme un serveur TURN.
À côté de ton serveur Mumble
Une communauté fait tourner mumpeer à côté de son serveur Mumble, avec le bot de relais mumbot peer. Le bot annonce le relais et distribue des jetons de courte durée. Le serveur Mumble reste inchangé.
Uniquement des utilisateurs vérifiés
Un jeton ne vaut que pour exactement deux certificats, une fois par côté et pendant 120 secondes par défaut. Le relais ne transmet jamais ailleurs et n’ouvre jamais de connexions lui-même, ce n’est donc pas un proxy ouvert.
Chiffré de bout en bout
Ce qui passe par le relais est une connexion chiffrée distincte entre les deux utilisateurs, liée à leurs certificats Mumble. Le relais ne peut ni la lire ni la modifier.
À travers presque tous les pare-feu
QUIC sur UDP ou, là où UDP est bloqué, TLS sur TCP. Les deux sur le port 443 et avec TLS 1.3.
Entièrement facultatif
Mumcord fonctionne aussi sans bot ni relais. Dans Mumcord, tu choisis : relais désactivé, seulement quand une connexion directe échoue, ou toujours.
Ce que l’opérateur peut voir
- Les adresses IP des deux utilisateurs d’une session
- Quels deux certificats communiquent entre eux
- Quelle quantité de données circule et quand
- Pas le contenu : il est chiffré de bout en bout. Mumcord te le dit avant que tu utilises un relais
- Jamais consignés : adresses IP complètes, empreintes complètes de certificats, jetons et contenu des paquets
Lance-le avec Docker
Mets un long secret aléatoire dans .env sous le nom PEER_API_SECRET (par exemple avec openssl rand -hex 32). À partir de l’exemple de relais de Mumbot, enregistre mumpeer.example.toml sous le nom mumpeer.toml et renseigne-y public_host, et bot.example.toml sous le nom bot.toml. Démarre ensuite le relais et le bot ensemble :
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: Au premier démarrage, l’empreinte du relais s’affiche dans le log. Le bot l’annonce à Mumcord, rien d’autre n’a besoin d’être partagé. Ouvre UDP et TCP sur le port 443, l’API reste entre le relais et le bot. Mumcord utilise le relais à partir de la version 0.5.0.