Tools
mumpeer
Малко реле за директните връзки на Mumcord между потребители, например за споделяне на екрана или за изображения в пълен размер. Когато двама души не могат да се достигнат директно, зад CGNAT, строги защитни стени или в мрежи без UDP, или не искат да показват IP адреса си, и двамата се свързват към релето. То само предава криптираните пакети, като TURN сървър.
До твоя Mumble сървър
Общност пуска mumpeer до своя Mumble сървър, заедно с бота за релето mumbot peer. Ботът обявява релето и раздава краткотрайни токени. Mumble сървърът остава непроменен.
Само проверени потребители
Токенът важи само за точно два сертификата, по веднъж от всяка страна и по подразбиране 120 секунди. Релето никога не препраща никъде другаде и никога само не отваря връзки, така че не е отворен прокси.
Криптирано от край до край
Това, което минава през релето, е отделна криптирана връзка между двамата потребители, вързана към техните Mumble сертификати. Релето не може нито да я чете, нито да я променя.
През почти всяка защитна стена
QUIC върху UDP или, където UDP е блокиран, TLS върху TCP. И двете на порт 443 и с TLS 1.3.
Напълно по избор
Mumcord работи и без бот и реле. В Mumcord избираш ти: релето изключено, само когато директната връзка не успее, или винаги.
Какво може да види операторът
- IP адресите на двамата потребители в една сесия
- Кои два сертификата си говорят
- Колко данни текат и кога
- Не и съдържанието: то е криптирано от край до край. Mumcord ти го казва, преди да използваш реле
- Никога не се записват: пълни IP адреси, пълни хешове на сертификати, токени и съдържание на пакети
Пусни го с Docker
Запиши дълга случайна тайна в .env като PEER_API_SECRET (например от openssl rand -hex 32). От примера за релето на Mumbot запази mumpeer.example.toml като mumpeer.toml и задай в него public_host, а bot.example.toml като bot.toml. После стартирай релето и бота заедно:
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: При първия старт отпечатъкът на релето се показва в лога. Ботът го обявява на Mumcord, не е нужно да се споделя нищо друго. Отвори UDP и TCP на порт 443, API-то остава между релето и бота. Mumcord използва релето от версия 0.5.0.