Tools
mumpeer
Ένα μικρό relay για τις άμεσες συνδέσεις του Mumcord μεταξύ χρηστών, για κοινή χρήση οθόνης ή εικόνες πλήρους μεγέθους, για παράδειγμα. Όταν δύο άτομα δεν μπορούν να βρεθούν απευθείας, πίσω από CGNAT, αυστηρά firewall ή σε δίκτυα χωρίς UDP, ή δεν θέλουν να δείχνουν τη διεύθυνση IP τους, συνδέονται και οι δύο στο relay. Αυτό απλώς προωθεί τα κρυπτογραφημένα πακέτα, όπως ένας server TURN.
Δίπλα στον server Mumble σου
Μια κοινότητα τρέχει το mumpeer δίπλα στον server Mumble της, μαζί με το bot relay mumbot peer. Το bot ανακοινώνει το relay και μοιράζει βραχύβια tokens. Ο server Mumble μένει αμετάβλητος.
Μόνο επαληθευμένοι χρήστες
Ένα token ισχύει μόνο για ακριβώς δύο πιστοποιητικά, μία φορά ανά πλευρά και για 120 δευτερόλεπτα από προεπιλογή. Το relay δεν προωθεί ποτέ πουθενά αλλού και δεν ανοίγει ποτέ το ίδιο συνδέσεις, άρα δεν είναι ανοιχτό proxy.
Κρυπτογράφηση από άκρο σε άκρο
Ό,τι περνά από το relay είναι μια ξεχωριστή κρυπτογραφημένη σύνδεση μεταξύ των δύο χρηστών, δεμένη με τα πιστοποιητικά Mumble τους. Το relay δεν μπορεί ούτε να τη διαβάσει ούτε να την αλλάξει.
Μέσα από σχεδόν κάθε firewall
QUIC πάνω από UDP ή, όπου το UDP είναι μπλοκαρισμένο, TLS πάνω από TCP. Και τα δύο στη θύρα 443 και με TLS 1.3.
Εντελώς προαιρετικό
Το Mumcord δουλεύει και χωρίς bot και relay. Στο Mumcord επιλέγεις εσύ: relay απενεργοποιημένο, μόνο όταν αποτυγχάνει η άμεση σύνδεση, ή πάντα.
Τι μπορεί να δει ο διαχειριστής
- Τις διευθύνσεις IP και των δύο χρηστών μιας συνεδρίας
- Ποια δύο πιστοποιητικά μιλούν μεταξύ τους
- Πόσα δεδομένα ρέουν και πότε
- Όχι το περιεχόμενο: είναι κρυπτογραφημένο από άκρο σε άκρο. Το Mumcord σου το λέει πριν χρησιμοποιήσεις relay
- Δεν καταγράφονται ποτέ: πλήρεις διευθύνσεις IP, πλήρη hash πιστοποιητικών, tokens και περιεχόμενο πακέτων
Τρέξ' το με Docker
Βάλε ένα μεγάλο τυχαίο μυστικό στο .env ως PEER_API_SECRET (για παράδειγμα από το openssl rand -hex 32). Από το παράδειγμα relay του Mumbot αποθήκευσε το mumpeer.example.toml ως mumpeer.toml και όρισε σε αυτό το public_host, και το bot.example.toml ως bot.toml. Μετά ξεκίνα μαζί το relay και το bot:
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: Στην πρώτη εκκίνηση το δακτυλικό αποτύπωμα του relay εμφανίζεται στο log. Το bot το ανακοινώνει στο Mumcord, τίποτε άλλο δεν χρειάζεται να μοιραστεί. Άνοιξε UDP και TCP στη θύρα 443, το API μένει ανάμεσα στο relay και το bot. Το Mumcord χρησιμοποιεί το relay από την έκδοση 0.5.0.
Συντελεστές
Πηγαίος κώδικας Ολόκληρος ο οδηγός στο README → Ιδέες και σφάλματα →