Tools

mumpeer

Neliels relejs Mumcord tiešajiem savienojumiem starp lietotājiem, piemēram, ekrāna koplietošanai vai pilna izmēra attēliem. Kad divi cilvēki nevar sasniegt viens otru tieši, aiz CGNAT, stingrām ugunsmūriem vai tīklos bez UDP, vai nevēlas rādīt savu IP adresi, abi tā vietā savienojas ar releju. Tas tikai pārsūta šifrētās paketes, kā TURN serveris.

Jaunākā versija: v0.1.0

Blakus tavam Mumble serverim

Kopiena palaiž mumpeer blakus savam Mumble serverim kopā ar releja botu mumbot peer. Bots paziņo par releju un izdala īslaicīgus žetonus. Mumble serveris paliek nemainīts.

Tikai pārbaudīti lietotāji

Žetons derīgs tikai tieši diviem sertifikātiem, vienu reizi katrā pusē un pēc noklusējuma 120 sekundes. Relejs nekad nepārsūta nekur citur un nekad pats neatver savienojumus, tāpēc tas nav atvērts starpniekserveris.

Šifrēts no gala līdz galam

Tas, kas iet caur releju, ir atsevišķs šifrēts savienojums starp abiem lietotājiem, piesaistīts viņu Mumble sertifikātiem. Relejs to nevar ne lasīt, ne mainīt.

Cauri gandrīz jebkuram ugunsmūrim

QUIC pār UDP vai, kur UDP ir bloķēts, TLS pār TCP. Abi 443. portā un ar TLS 1.3.

Pilnīgi neobligāts

Mumcord darbojas arī bez bota un releja. Mumcord tu izvēlies pats: relejs izslēgts, tikai kad tiešais savienojums neizdodas, vai vienmēr.

Ko operators var redzēt

  • Abu sesijas lietotāju IP adreses
  • Kuri divi sertifikāti sarunājas savā starpā
  • Cik daudz datu plūst un kad
  • Ne saturu: tas ir šifrēts no gala līdz galam. Mumcord tev to pasaka, pirms lieto releju
  • Nekad netiek žurnalizēts: pilnas IP adreses, pilni sertifikātu jaucējkodi, žetoni un pakešu saturs

Palaid ar Docker

Ieraksti garu nejaušu noslēpumu failā .env kā PEER_API_SECRET (piemēram, no openssl rand -hex 32). No Mumbot releja piemēra saglabā mumpeer.example.toml kā mumpeer.toml un iestati tajā public_host, bet bot.example.toml kā bot.toml. Pēc tam palaid releju un botu kopā:

docker-compose.yml
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:

Pirmajā palaišanas reizē releja pirkstu nospiedums parādās žurnālā. Bots to paziņo Mumcord, nekas cits nav jādala. Atver UDP un TCP 443. portā, API paliek starp releju un botu. Mumcord izmanto releju no versijas 0.5.0.

Līdzdalībnieki

Pirmkods Pilna rokasgrāmata README failā → Idejas un kļūdas →