Tools
mumpeer
Malý relay pre priame spojenia Mumcordu medzi používateľmi, napríklad na zdieľanie obrazovky alebo obrázky v plnej veľkosti. Keď sa dvaja ľudia nedokážu spojiť priamo, za CGNAT, prísnymi firewallmi alebo v sieťach bez UDP, alebo nechcú ukázať svoju IP adresu, pripoja sa obaja namiesto toho k relay. To len odovzdáva šifrované pakety, ako server TURN.
Vedľa tvojho servera Mumble
Komunita prevádzkuje mumpeer vedľa svojho servera Mumble, spolu s relay botom mumbot peer. Bot relay oznamuje a rozdáva krátkodobé tokeny. Server Mumble ostáva nezmenený.
Len overení používatelia
Token platí len pre presne dva certifikáty, raz na každej strane a predvolene 120 sekúnd. Relay nikdy nič nepreposiela inam a nikdy samo neotvára spojenia, takže nie je otvoreným proxy.
Šifrované end-to-end
To, čo prechádza cez relay, je samostatné šifrované spojenie medzi dvoma používateľmi, viazané na ich certifikáty Mumble. Relay ho nemôže ani čítať, ani meniť.
Cez takmer každý firewall
QUIC cez UDP alebo, kde je UDP blokované, TLS cez TCP. Oboje na porte 443 a s TLS 1.3.
Úplne voliteľné
Mumcord funguje aj bez bota a relay. V Mumcorde si vyberáš: relay vypnuté, len keď priame spojenie zlyhá, alebo vždy.
Čo môže prevádzkovateľ vidieť
- IP adresy oboch používateľov relácie
- Ktoré dva certifikáty spolu komunikujú
- Koľko dát tečie a kedy
- Nie obsah: ten je šifrovaný end-to-end. Mumcord ti to povie skôr, než relay použiješ
- Nikdy sa nelogujú: celé IP adresy, celé hashe certifikátov, tokeny a obsah paketov
Spusti ho v Dockeri
Vlož do .env dlhý náhodný tajný kľúč ako PEER_API_SECRET (napríklad z openssl rand -hex 32). Z ukážky relay v Mumbote ulož mumpeer.example.toml ako mumpeer.toml a nastav v ňom public_host a bot.example.toml ako bot.toml. Potom spusti relay a bota spolu:
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: Pri prvom štarte sa v logu zobrazí odtlačok relay. Bot ho oznámi Mumcordu, nič ďalšie sa zdieľať nemusí. Otvor UDP a TCP na porte 443, API zostáva medzi relay a botom. Mumcord používa relay od verzie 0.5.0.