Chat Server Software

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Leute,
    ich bin auf der Suche nach einer Server Software für den Raspberry Pi bei der man sich mit verschiednen Clients aufschalten kann.
    Das ganze sollte schon optisch einiges her machen :)
    Was natürlich top wäre wenn es dazu noch entsprechende Clients für Android und IOS und ein Webinterface geben würde :thumbs1:

    Mir ist bewusst dass es zB. AJAX-Chat oder FlashChat allerdings gefielen diese mir vom Aussehen nicht so.

    Danke für eure Hilfe

  • IRC-Server (Googlen) für den PI.
    Dafür gibts hunderte Clienten aller Platformen, da sollte es einen geben, der dir optisch zu sagt.

    IRC wird auch hier im Forum verwendet.

    Einmal editiert, zuletzt von tmaex (11. Juli 2014 um 22:05)


  • ich bin auf der Suche nach einer Server Software für den Raspberry Pi bei der man sich mit verschiednen Clients aufschalten kann.


    Ergänzend zu IRC könntest Du auch den leichtgewichtigen Prosody (xmpp/jabber) mit ssl benutzen. Für den Android kannst Du dann den ChatSecure-Client mit SSL und OTR benutzen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Danke für die schnellen Antworten, auf den IRC Server bin ich gar nicht draufgekommen :)
    Danke!

    Hab aber ne Nebenfrage:
    Ich kenn mich mit IRC Server nicht so gut aus, aber ist es irgendwie möglich das der Verlauf in den Chatrooms nicht beim verlassen der Clients gelöscht wird?
    Mir ist bewusst das sich dabei jede menge Daten ansammeln, dass ist aber egal. Ich möchte das es einem z.B. WhatsApp chat sehr nahe kommt. Und wenn ich mal mit jemand über ein Projekt gesprochen habe, möchte ich nicht das am nächsten Tag der komplette Verlauf weg ist.

  • Soll der Chat übers Internet genutzt werden oder innerhalb des LAN's ?

    Ich würde eher darüber nachdenken ob ihr nicht einfach einen der hunderten öffentlichen IRC-Server verwendet und den PI damit nicht weiter belastet. Um den Chatverlauf auch nach dem Abmelden des Clients zu einem späteren Zeitpunkt wieder zu erhalten bleibt dir nämlich nur der Weg über einen sog. IRC-Bouncer der sowas auch unterstützt (backlog): ZNC

    Logfiles, wie sie Horroreyes erwähnt, die man einfach einschaltet, gelten nur für den Server und können nur von Admins eingesehen werden. Das ist aber KEIN Chatverlauf wie man es zB von ICQ kennt, dass ich den Text von Horroreyes sehe obwohl ich offline war....

    Allerdings ist der Verlauf (backlog) von ZNC nur einmalig. Also nach dem verbinden wird das Backlog angezeigt und danach gelöscht. Meldet man sich dann noch mal ab und wieder an wird einem der Verlauf nicht noch mal angezeigt!

    Mit einem ICQ-Server hättest du auch eine History, aber soweit ich weiß gibt es da keinen Chat-Raum wie man es vom IRC kennt (unendlich viele Clients die sich alle gleichzeitig in einem Raum unterhalten können und jeder jeden lesen kann, aber auch private nachrichten schreiben können, oder in mehreren Räumen gleichzeitig sein können usw)


    Du solltest mal ein paar Eckdaten nennen was dir wichtig ist und wie du dir das vorstellst, damit man dir besser helfen kann

  • Ich wollte für ein paar Freunde (höchstens 3-4) und mich eine Möglichkeit schaffen über einen Sicheren Server in Deutschland übers Handy und Computer zu schreiben. Es sollte eigentlich eine Alternative zu den ganzen Chat-Programmen werden, dass wir den Überblick über alles haben und die Daten nicht irgendwo in den USA gespeichert sind. Obwohl das jetzt auch keine streng geheime Informationen sind :)
    Da wir schon einige Zeit verschiedene Projekte mit dem Raspberry Pi machen, wollten wir das natürlich mit ihm lösen. Ich bin aber auch offen für eventuell andere Möglichkeiten.


  • ... wenn ich mal mit jemand über ein Projekt gesprochen habe, möchte ich nicht das am nächsten Tag der komplette Verlauf weg ist.


    Den kompletten Verlauf kannst Du mit dem Chat-Client protokollieren, d. h. in einer Textdatei auf dem Client speichern.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample


  • ... es ist aber natürlich viel angenehmer wenn man einfach hochscrollen kann :)


    Das ist auch kein Problem, wenn dein smartphone 24/7 (d. h. permanent) im chatroom ist. Aber nach einer gewissen Zeit, ist eine Textdatei einfacher zu handhaben als hochscrollen.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample


  • ...: IRC initial zu konfigurieren ist leicht ermüdend... VIEL Konfiguration.


    Ich benutze den leichtgewichtigen ngircd (... aus dem source code kompiliert) mit ssl, auf meinem Pi. ngircd ist ganz einfach zu konfigurieren: http://ngircd.barton.de/doc/sample-ngircd.conf BTW: ngircd wird auch auf FritzBoxen benutzt: http://svn.freetz.org/trunk/make/ngircd/Config.in

    EDIT:

    Z. B.: configure für das Makefile des ngircd (auf dem Pi):

    Code
    ./configure --with-openssl --with-tcp-wrappers --without-zlib --without-syslog --without-kqueue --without-ident --with-pam=no --disable-ipv6 --with-gnutls=no --disable-sniffer --disable-debug --sbindir=/usr/local/bin --sysconfdir=/usr/local/etc/ngircd --docdir=/usr/local/etc/ngircd --disable-option-checking --enable-silent-rules

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (15. Juli 2014 um 09:57)


  • Den kompletten Verlauf kannst Du mit dem Chat-Client protokollieren, d. h. in einer Textdatei auf dem Client speichern.

    Dazu muss der Client auch die ganze Zeit connected sein.

    Verwechselt nicht History oder Logs mit Verlauf.

  • Wenn es nur im Verlauf geht, dann ist das eine Frage des Clients, nicht des Servers. Und die Client-Logs sind der "komplette" verlauf, ein scrollback ist ziemlich standart bei denmeisten Clients... damit sollte das Thema doch gegessen sein, oder?


  • Dazu muss der Client auch die ganze Zeit connected sein.


    Ja, richtig. Der Client wird ja nicht nur im chatroom benutzt, sondern auch für Einzelchats (d. h. Client-to-Client) und da macht es Sinn, dass der Client die ganze Zeit zum Chatserver auf dem Pi, connected ist.


    Verwechselt nicht History oder Logs mit Verlauf.


    Nein, es ist der Verlauf der chatrooms/chats mit den einzelnen Teilnehmer, wenn erwünscht protokolliert mit der Client-Software. Im Server (auf dem Pi) ist betr. Logs und History, alles disabled. Für den laufenden Betrieb des Servers auf dem Pi, soll nur der Arbeitsspeicher benutzt werden. Die SD-Karte soll für den laufenden Betrieb des Chatservers auf dem Pi, möglichst nicht benutzt werden. Testen kann man das auf dem Pi, z. B. mit:

    Code
    sudo iotop -p $(pidof ngircd)


    (oder gleichwertig).

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Nein, es ist der Verlauf der chatrooms/chats mit den einzelnen Teilnehmer, wenn erwünscht protokolliert mit der Client-Software.

    Ja eben: protokolliert mit der Client-Software. Der Client kann also nur von dem Zeitpunkt einen Verlauf haben in der er auch connected war. Der TE möchte aber einen Verlauf der morgen nicht weg ist, sprich wenn der Client heute Abend die Verbindung trennt das dieser morgen den Verlauf noch sieht - oder vermutlich auch zusätzlich noch das was zwischenzeitlich geschrieben wurde wo der Client aber nicht connected war.

    Und genau das geht nicht mit einem Serverseitigen Log oder mit der normalen Clientseitigen IRC Software.
    Das ist ein kleiner aber feiner Unterschied den man nicht verwechseln darf. Verlauf ist nicht gleich zu setzen mit History oder Log - vorallem kein Serverseitiges Log worauf die Clients eh kein Zugriff haben weil nicht jeder root Rechte auf dem irc-server hat um in /var/log/ rein zu gucken bzw das eben auch viel zu umständlich wäre

    Für sowas brauch man dann schon einen IRC-Bouncer der die Verbindung aufrecht erhält, auch wenn der Client disconnected - eben sowas wie ZNC mit Backlog
    Jeder Client verbindet sich zu einem ZNC. Sobald der Client die Verbindung schließt bleibt der ZNC aber weiterhin verbunden und im Channel (sofern eingestellt) sowie protokolliert alles im Chat sowie queries mit. Verbindet sich dann der Client zB am nächsten Tag wieder kriegt der das Backlog anzeigt als wären es normale Nachrichten, sieht den Nick wer das geschrieben hat und auch die Uhrzeit wann das geschrieben wurde usw, kann mit seinem IRC-Client hoch scrollen usw...

    Ich glaub genau das ist es was der TE haben möchte :huh:


  • Ich glaub genau das ist es was der TE haben möchte :huh:


    Naja, das hat der TE aber anders gesagt in seinem Beitrag #6:

    Zitat


    Und wenn ich mal mit jemand über ein Projekt gesprochen habe, möchte ich nicht das am nächsten Tag der komplette Verlauf weg ist.


    Er hat nicht geschrieben, dass er das sehen will, was andere in seiner Abwesenheit (d. h. wenn er nicht im chatroom ist, nicht eingeloggt ist, der Akku von seinem smartphone leer ist, etc.) noch besprechen. Aber OK, das sollte auch nicht das Problem sein. Es gibt auch irc-bouncer (z. B.: http://freetz.org/ticket/1493 http://www.ip-phone-forum.de/showthread.php…l=1#post1812802) die man auch auf seinem Router (... wenn man einen Internet-Festnetzanschluss mit Router hat) oder auf seinem eigenen Pi (sudo apt-get install sbnc) installieren kann und über das Internet (... aus dem Mobilfunknetz) mit dem smartphone benutzen kann.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • Auch nicht ganz richtig, die chatrooms sind nicht öffentlich. Zudem soll es auch persönliche chats zwischen nur 2 clients. Was auch noch gut währe, wenn der 2. Benutzer schreibt und der Pi eine Pushnachricht zum Benutzer 1. sendet. Das ganze soll wie gesagt einem WhatsApp chat nahe kommen.
    Danke aber schon jetzt für euren ganzen Bemühungen und Tipps.

  • Ein Tutorial zum einrichten eines ZNC IRC-Bouncers (Forumsuche nach ZNC) hab ich ja schon verlinkt ;) Davon brauch er nur einen auf dem PI, wo auch der IRC-Server läuft, einrichten und dort mehrere Benutzer adden.



    Auch nicht ganz richtig, die chatrooms sind nicht öffentlich.

    Wenn du den IRC-Server auf deinem PI laufen hast ist der solange nicht öffentlich bis du die Adresse (dyndns + port) nicht öffentlich bekannt gibst :)

    Zudem soll es auch persönliche chats zwischen nur 2 clients.

    Das wären sog. Queries. Also Privatnachrichten. Wird ebenfalls vom IRC-Bouncer abgedeckt.

    Was auch noch gut währe, wenn der 2. Benutzer schreibt und der Pi eine Pushnachricht zum Benutzer 1. sendet. Das ganze soll wie gesagt einem WhatsApp chat nahe kommen.

    Eine Pushnachricht aufs Handy? Nun das wäre schwieriger, egal mit welcher Software. Der Server müsste in solch einem Fall entweder ein UMTS STick haben um ne SMS zu verschicken oder eben im WhatsApp Netzwerk sein usw....


  • Auch nicht ganz richtig, die chatrooms sind nicht öffentlich.


    Davon bin ich ausgegangen. Der irc-Server und die einzelnen chatrooms sind mit unterschiedlichen Passwörter (plus modi für die user und chatrooms) und mit der hosts.allow gesichert und dein irc-Server muss nicht auf den Standardports lauschen.
    z. B.:


    Die am Server bzw. für die chatrooms registrierten user sind zusätzlich gecloacked.


    Zudem soll es auch persönliche chats zwischen nur 2 clients.


    Auch für die persönlichen chats (queries) zwischen nur 2 clients gibt es keinen Unterschied zu den chatrooms. Die Clients können permanent in Verbindung (eingeloggt) bleiben.


    Was auch noch gut währe, wenn der 2. Benutzer schreibt und der Pi eine Pushnachricht zum Benutzer 1. sendet. Das ganze soll wie gesagt einem WhatsApp chat nahe kommen.


    Das geht z. B. mit Prosody (xmpp/jabber, package für raspbian) mit dem mod_offline-Modul:

    Zitat


    mod_offline

    This module handles the storage of offline messages to disk, ready to be delivered to users when the next log in.
    mod_offline is an automatically loaded module.

    EDIT:

    Es gibt auch Clients mit denen man eine offline-Nachricht an einen nicht eingeloggten user (Adressat), auf dem Client zwischenspeichern kann, die dann ausgeliefert/gesendet wird wenn der Adressat/Empfänger sich einloggt. Das funktioniert aber nur dann, wenn der Client der die offline-Nachricht zwischengespeichert hat, zum Zeitpunkt des Einloggens des Adressats/Empfängers, online/angemeldet ist. Z. B.:

    Zitat


    »<userxy>« ist im Moment abgemeldet. Möchten Sie nachfolgende Nachrichten als eine Benachrichtigung speichern und sie automatisch senden, sobald sich »<userxy>« wieder anmeldet?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (15. Juli 2014 um 22:13)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!