Tools
mumpeer
Nedidelis perdavimo serveris (relay) tiesioginiams Mumcord ryšiams tarp naudotojų, pavyzdžiui, ekrano bendrinimui ar viso dydžio paveikslėliams. Kai du žmonės negali tiesiogiai pasiekti vienas kito, esant CGNAT, griežtoms užkardoms ar tinkluose be UDP, arba nenori rodyti savo IP adreso, abu jungiasi prie relay. Jis tik perduoda užšifruotus paketus, kaip TURN serveris.
Šalia tavo Mumble serverio
Bendruomenė paleidžia mumpeer šalia savo Mumble serverio kartu su relay botu mumbot peer. Botas paskelbia relay ir išdalija trumpai galiojančius žetonus. Mumble serveris lieka nepakeistas.
Tik patikrinti naudotojai
Žetonas galioja tik tiksliai dviem sertifikatams, po vieną kartą kiekvienoje pusėje ir pagal numatytuosius nustatymus 120 sekundžių. Relay niekada neperduoda niekur kitur ir pats niekada neatidaro ryšių, todėl tai nėra atviras tarpinis serveris.
Šifruota nuo galo iki galo
Tai, kas eina per relay, yra atskiras užšifruotas ryšys tarp dviejų naudotojų, susietas su jų Mumble sertifikatais. Relay negali jo nei skaityti, nei keisti.
Per beveik bet kokią užkardą
QUIC per UDP arba, kur UDP užblokuotas, TLS per TCP. Abu 443 prievade ir su TLS 1.3.
Visiškai neprivaloma
Mumcord veikia ir be boto bei relay. Mumcord pasirenki pats: relay išjungtas, tik kai tiesioginis ryšys nepavyksta, arba visada.
Ką operatorius gali matyti
- Abiejų sesijos naudotojų IP adresus
- Kurie du sertifikatai kalbasi tarpusavyje
- Kiek duomenų teka ir kada
- Ne turinio: jis užšifruotas nuo galo iki galo. Mumcord tau tai pasako prieš naudojant relay
- Niekada nežurnalizuojama: pilni IP adresai, pilnos sertifikatų maišos, žetonai ir paketų turinys
Paleisk su Docker
Įrašyk ilgą atsitiktinę paslaptį į .env kaip PEER_API_SECRET (pavyzdžiui, iš openssl rand -hex 32). Iš Mumbot relay pavyzdžio išsaugok mumpeer.example.toml kaip mumpeer.toml ir joje nustatyk public_host, o bot.example.toml – kaip bot.toml. Tada paleisk relay ir botą kartu:
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: Pirmą kartą paleidus relay kontrolinis kodas (angl. fingerprint) rodomas žurnale. Botas jį paskelbia Mumcord, nieko kito dalytis nereikia. Atverk UDP ir TCP 443 prievade, API lieka tarp relay ir boto. Mumcord naudoja relay nuo 0.5.0 versijos.
Prisidėję
Šaltinio kodas Visas vadovas README faile → Idėjos ir klaidos →