Tools

mumpeer

Pieni välityspalvelin Mumcordin käyttäjien välisille suorille yhteyksille, esimerkiksi näytön jakamiseen tai täysikokoisiin kuviin. Kun kaksi ihmistä ei tavoita toisiaan suoraan, CGNAT:n tai tiukkojen palomuurien takana tai verkoissa ilman UDP:tä, tai ei halua näyttää IP-osoitettaan, molemmat yhdistävät sen sijaan välityspalvelimeen. Se vain välittää salatut paketit eteenpäin, kuten TURN-palvelin.

Uusin versio: v0.1.0

Mumble-palvelimesi rinnalla

Yhteisö ajaa mumpeeria Mumble-palvelimensa rinnalla yhdessä välitysbotin mumbot peer kanssa. Botti ilmoittaa välityspalvelimesta ja jakaa lyhytikäisiä tokeneita. Mumble-palvelin pysyy muuttamattomana.

Vain varmennetut käyttäjät

Token toimii vain täsmälleen kahdelle varmenteelle, kerran kummallakin puolella ja oletuksena 120 sekuntia. Välityspalvelin ei koskaan välitä muualle eikä avaa itse yhteyksiä, joten se ei ole avoin välityspalvelin.

Päästä päähän salattu

Välityspalvelimen läpi kulkee erillinen salattu yhteys kahden käyttäjän välillä, sidottuna heidän Mumble-varmenteisiinsa. Välityspalvelin ei voi lukea eikä muuttaa sitä.

Lähes minkä tahansa palomuurin läpi

QUIC UDP:n yli tai, missä UDP on estetty, TLS TCP:n yli. Molemmat portissa 443 ja TLS 1.3:lla.

Täysin valinnainen

Mumcord toimii myös ilman bottia ja välityspalvelinta. Mumcordissa valitset itse: välitys pois, vain kun suora yhteys epäonnistuu, tai aina.

Mitä ylläpitäjä voi nähdä

  • Istunnon molempien käyttäjien IP-osoitteet
  • Mitkä kaksi varmennetta puhuvat keskenään
  • Kuinka paljon dataa kulkee ja milloin
  • Ei sisältöä: se on salattu päästä päähän. Mumcord kertoo tämän sinulle ennen kuin käytät välityspalvelinta
  • Ei koskaan kirjata: täydet IP-osoitteet, täydet varmenteiden tiivisteet, tokenit ja pakettien sisältö

Aja se Dockerilla

Laita pitkä satunnainen salaisuus tiedostoon .env nimellä PEER_API_SECRET (esimerkiksi komennolla openssl rand -hex 32). Tallenna Mumbotin välitysesimerkistä mumpeer.example.toml nimellä mumpeer.toml ja aseta siihen public_host, sekä bot.example.toml nimellä bot.toml. Käynnistä sitten välityspalvelin ja botti yhdessä:

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:

Ensimmäisellä käynnistyksellä välityspalvelimen sormenjälki näkyy lokissa. Botti ilmoittaa sen Mumcordille, mitään muuta ei tarvitse jakaa. Avaa UDP ja TCP portissa 443, API pysyy välityspalvelimen ja botin välillä. Mumcord käyttää välityspalvelinta versiosta 0.5.0 alkaen.

Osallistujat

Lähdekoodi Koko opas README-tiedostossa → Ideat ja viat →