Das dezChat – Projekt

14 Juli 2009 von Andreas G. Kommentieren »

dezChat ist ein, wie der Name bereits vermuten lässt, dezentraler Chat.

Dieser besteht aus 2 Komponenten, einem Peer, welcher eine Schnittstelle für Interfaces hat und einem Interface.
Als Interface sind z.Z. eine Windows Anwendung und ein Webinterface (AJAX! :) ) verfügbar.

Ein Beispiel: Benutzer A startet einen Peer und verbindet sich mit einem Interface Programm auf seinen gestarteten Peer.
Benutzer A weiß, dass B und C bereits miteinander chatten. A kennt die IP von B, und gibt diese im Interface ein. A’s Peer fordert nun die Peer-Liste von B an, und so wird A auch mit C verbunden. Sollte ein Peer ausfallen, können die anderen weiter ungestört chatten.

Anderes Beispiel: Server-Administrator A möchte seinen Server anderen als Peer zur Verfügung stellen. Dazu startet dieser den Peer mit dem Webinterface, und gibt den anderen Benutzern Benutzernamen und Passwörter. Diese können sich nun im Webinterface einloggen, wählen einen noch freien Port auf dem Server und können sich mit anderen Peers (auf dem gleichem Server und auch mit Peers im Internet) verbinden.

Um die Netzwerklast bei vielen Nutzern zu verringern, werden die Pakete mittels UDP übertragen. Fehlerprüfung, Neuübertragung etc. ist natürlich integriert.

Die aktuelle Enticklerversion ist bereits auf dem Mercurial-Server verfügbar: dezChat dev Repository.

ToDo-Liste bis zur Veröffentlichung von Binärpakete, Website und Dokumentation:

  • Verschlüsselung der Nachrichten, welche sich die Peers untereinander austauschen, realisieren
  • Benutzer-Authentifizierung im Webinterface verbessern
  • Evtl. im Webinterface HTTPS implementieren (andernfalls kann man das Webinterface hinter einem HTTPS-Proxy schalten)
Werbung

Einen Kommentar hinterlassen