Zurück zur Startseite

P2P-Video-Service auf WebRTC: Entwicklung von Grund auf in 9 Monaten

Vizavi-Projekt — P2P-Video-Service, entwickelt von Grund auf in 9 Monaten. Architektur basierend auf WebRTC mit eigenem STUN/TURN-Server und Signaling-Server auf Node.js. Die Lösung läuft auf einem bescheidenen VPS ohne Nutzung von Datenbanken, Daten werden in JSON-Dateien gespeichert.

Wie baut man in 9 Monaten einen Video-Service auf einem VPS mit 1 Kern zusammen
Advertisement 728x90

Einen P2P-Video-Dienst von Grund auf bauen: 9 Monate Entwicklung auf einem 1-Core-VPS

In neun Monaten Freizeit hat ein Elektriker aus einer abgelegenen Region einen voll funktionsfähigen P2P-Video-Dienst namens „Vizavi“ entwickelt – ohne Registrierung oder App-Installationen. Von Grund auf auf einem bescheidenen VPS (1 Kern, 512 MB RAM) gebaut, nutzt er WebRTC für direkte Peer-to-Peer-Verbindungen und umgeht Sperren. Das Ergebnis: eine browserbasierte Lösung mit einer russischen Domain, die auch unter lokalen Netzwerkbeschränkungen weiterläuft.

Von der Idee zur Realität: So entstand „Vizavi“

Das Projekt begann, als der Entwickler auf Sperren bei gängigen Video-Diensten stieß und nach Alternativen suchte. Beim Experimentieren mit einem neuronalen Netz kam die Idee: „Kann man einen Video-Anrufer bauen?“ Er tauchte tief in die Grundlagen von WebRTC, STUN/TURN-Servern und ICE-Candidates ein. Die ersten erfolgreichen Testanrufe trieben die Weiterentwicklung voran. Ein Highlight: Keine Anmeldungen oder Apps nötig – Verbindungen entstehen direkt im Browser über einen kurzen numerischen Raumcode.

Die Architektur folgt einem „Bau-mit-Räumen“-Modell: Nutzer geben eine Raumnummer auf https://vizavi.rf/ ein, und das System verbindet sie automatisch, sobald zwei Teilnehmer drin sind. Das Teilen des Raumcodes obliegt den Nutzern – per Messenger, Telefonanruf oder sogar persönlich. So bleiben die Hürden niedrig: Link anklicken und Kamera/Mikrofon freigeben.

Google AdInline article slot

Tech-Stack: Minimalismus als Philosophie

Der Dienst läuft auf einem gemieteten VPS in einem Moskauer Rechenzentrum mit Minimal-Specs:

  • 1 CPU-Kern
  • 512 MB RAM
  • 10 GB SSD-Platte (3,3 GB belegt)
  • OS Debian 11

Zur Infrastruktur gehören:

  • Coturn – eigener STUN/TURN-Server für NAT-Traversal
  • Node.js (Signaling-Server) gesteuert von PM2
  • Nginx als Reverse-Proxy
  • SSL von Let’s Encrypt mit automatischer Verlängerung
  • UFW und Fail2Ban für grundlegende Sicherheit
  • Client- und Server-Logik in purem JavaScript
  • Express für statische Dateien und REST-API
  • Socket.io für Echtzeit-WebRTC-Signaling

Als Datenspeicher dienen JSON-Dateien statt klassischer Datenbanken. Das passt zu den knappen Serverressourcen und vereinfacht den Einsatz. Ein selbstgebauter Admin-Panel zeigt Live-Verbindungs-Stats und überwacht die Aktivität in Echtzeit.

Google AdInline article slot

Raumtypen: Vom Basis- bis VIP-Raum

Das System unterstützt drei Raumtypen:

  • Standard-Räume – Basis-Setup für zwei Nutzer. Gleiche Nummer eingeben, und ihr seid automatisch verbunden. Kein Anrufaufzeichnen, IP-Logging oder Nachrichten-Speicher.
  • VIP-Räume – mit Hierarchie: Der Besitzer steuert den Chat, zeichnet Meetings auf und kann Gäste rauswerfen. Gäste können Bildschirme teilen und Dateien senden. Inklusive Warteschlange für mehrere Verbindungen und Pinnwand am Eingang.
  • Beobachtungs-Räume (in Entwicklung) – wie ein „Babyphone“: Ein Gerät als Kamera, das andere als Betrachter. Plan: Alte Smartphones als Video-Feeds umnutzen.

Ein großer Vorteil: Keine Extraschritte vor der Verbindung. Im Gegensatz zu Konkurrenten, die Registrierung oder Benutzernamen verlangen, verbindet „Vizavi“ Nutzer sofort nach Eingabe des Raumcodes.

Sicherheit und Datenschutz: Aktueller Stand

Ende-zu-Ende-Verschlüsselung ist durch WebRTC integriert und schützt Audio- und Video-Ströme. Dennoch gibt es Schwachstellen:

Google AdInline article slot
  • Chat-Verlauf wird unverschlüsselt im localStorage des Browsers gespeichert
  • VIP-Eingangsnachrichten landen in unverschlüsselten JSON-Dateien
  • Keine Authentifizierung für Raumzugriff

Der Entwickler betont, dass es nicht für sensible Daten gedacht ist, plant aber Verbesserungen. Auf einem ressourcenarmen VPS (512 MB RAM) muss Sicherheit mit Performance balanciert werden.

Wichtige Erkenntnisse für Entwickler

  • Architektur-Minimalismus – JSON statt Datenbanken und Verzicht auf unnötige Abhängigkeiten sind essenziell für Low-End-VPS.
  • Flexibler Signaling-Server – Socket.io bewältigt WebRTC-Signale reibungslos, auch bei Bot- und Scanner-Traffic.
  • User Experience – Weglassen von Schritten wie Registrierung oder Namenseingabe steigert die Nutzung sofort.
  • Sicherheit als Dauerprozess – Basics wie UFW und Fail2Ban sind Pflicht, aber regelmäßig prüfen.

Das System wehrt ständige Scanner- und Bot-Angriffe ab, indem es Nicht-Browser-Clients eine abgespeckte HTML-Seite ohne JavaScript serviert. Das entlastet den Server und hilft beim SEO.

Das Projekt zeigt: Technologien wie WebRTC sind auch für Anfänger machbar. Erfolg durch schrittweisen Aufbau, Fokus auf Kernfeatures und Nutzung fertiger Tools (Coturn, Let’s Encrypt). Nächste Schritte: Nachrichtenverschlüsselung und Skalierung für mehr gleichzeitige Verbindungen.

— Editorial Team

Advertisement 728x90

Weiterlesen