Push++ 2.0.1 pl 1

License Agreement
WBB-Elite.de Lizenz
Website
https://www.wbb-elite.de
Supported Versions
Burning Board 4.1 / WCF 2.1
WoltLab Suite 3.0
WoltLab Suite 3.1

Push ++ is a push server that does not require any additional systems or servers to use. Say: No Java or Javascript.

You want to keep your users up to date with push notifications?

Then Push ++ is just the thing!

Push ++ is a push system (similar to NodePush) that does not require any additional systems to use. Say: No Java or Javascript (NodeJs).

Currently topics in the Suite Forum, conversations and normal notifications are supported.


The plugin comes with the push server, which must be installed on a Linux server. (Installation Guide)

The push server itself requires very little resources to do its job

The software works on many Linux distributions and has been tested under: Ubuntu, Debian, SLES, CentOS.

This software may not run on a pure webspace.


Prerequisite for the running of the Push ++ backend server

  • Linux distributions (tested on Ubuntu, Debian, SLES, CentOS)
    • Systemd (Init.d is not supported)
    • Root rights
  • SSL certificate
  • Operation only recommended under HTTPS
  • Nginx or Apache as a reverse proxy
    • By Apache
      • Min version 2.4.5
      • Installed and enabled proxy_wstunnel Module


Images

  • Version 2.0.1 pl 1

    Fix the problem that the icon by desktop notifications will not displayed

  • Version 2.0.1

    Adding:
    • Desktop(browser) notification
    • Connection status of the push++ server in the acp

  • Version 1.0.0 pl 1

    Release
  • Version 2.0.0 pl 3

    Adding version for WSC3.1
  • Hallo, habe ich das richtig verstanden, das dieses Plugin dem User eine Benachrichtigung in Live ausgibt das er zb. eine Antwort auf seinem Thema hat oder einer Konversation?


    lg

  • How do the users of the forum make use of this plugin ?


    Dos it require a special app or something ?


    Thanks

    • you only install the plugin and install our service on your unix Server.

      And the user need not install anything. The browser can that by default

  • Hallo,

    habe das Plugin nun instaliert und getestet. Mit der Config soweit kein Problem Server läuft wie gewünscht jedoch habe ich Probleme bei der Verbindung.

    Fehler bei Verbindung zum Push Server:

    Status Code: 1006


    Was kann ich tun ?

    • Dieser Status Code besagt, das die Verbindung vom Server geschlossen wurde.

      Ist der Token in der neuen Konfiguration auch eingetragen?

      Steht irgendetwas im log(WSC oder Push++)?

      Wurde diese auch in der Webserver Konfiguration eingetragen unter einem anderen Pfad?

    • der log vom Push++ ist bis auf den Start leer. Ja der Token müsste stimmen und ist eingetragen denn als er nicht stimmte kam öfter das die nachricht nicht autorisiert war und abgelehnt wurde. ansonsten leer nach dem service neustart mit dem richtigen Token.

      Meine Reversproxy Regel (Hatte so ähnlich auch mit nodePush geklappt):

      Code
      1. <rule name="Push" enabled="true" stopProcessing="true">
      2. <match url="^(push)/(.*)$" />
      3. <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
      4. <action type="Rewrite" url="http://push:8002/{R:0}" />
      5. </rule>

      Im WSC Log steht immer wieder folgender Fehler:

      Im Seitenaufruf bekomme ich in der Netzwerkanalyse GET /push/?token=.... einen 502 Statuscode

    • dann stimmt dein regle nicht das der Push Server angestuert werden soll oder der Service läuft noch.

    • Ok ich denke ich habe den Fehler gefunden. Wenn der Punkt grün ist funktioniert alles super oder?

      Status Code nun im Browser ist die 101, was soweit ich weiß korrekt ist für den Websocket.


      Problem war ich hatte in meinem Reverse Proxy die komplette URL inkusive "/push/" an den Dienst weitergegeben. Nun gebe ich alles danach weiter also: "http://IP:Port/?token=..."


      Dann sollte das nun laufen?

    • Wenn es Funktioniert?

  • Hallo,

    eventuell installiere ich neben meiner Hauptseite bald noch eine weitere Instanz. Um auf beiden dieses Plugin zu verwenden, müsste ich ja nur die Service Datei 2x installieren und auf zwei unterschiedliche Configs verweisen. Ich habe aber keinen Verweis auf die Config gefunden. Ist die hart hinterlegt in /etc/pushxx.conf ? Kann man die beim Service start mit angeben ?


    Wäre für Infos diesbezüglich dankbar.

    • in der Service Datei ist diese hinterlegt und kann als Übergabe Parameter geändert werden

    • Meine Service Datei sieht so aus:

      Ich finde den Userkontext und den Pushserver selbst aber keine Angaben zur Config.

      Würdest du mir eine Beispielzeile bzw Beispielservice Datei mit Config-Aufruf zeigen ?

    • ah, das haben wir aus der neueren raus genommen.

      Sollte aber mit dem Parameter c oder config und dann der Pfad zu dieser Datei funktionieren :)

    • Also ungefähr so?

    • Wenn dann so

      ExecStart=/usr/local/bin/pushxx -c /etc/pushxx1.conf

  • Ich habe das Plugin und den Service installiert und konfiguriert. Im ACP erscheint auch der Indikator jedoch immer als roter Punkt obwohl ein Klick auf den Indikator sagt das die Verbindung mit dem Server erfolgreich hergestellt wurde. Sollte der Indikator in dem Fall nicht die Farbe auf grün ändern denn so ist es irgendwie etwas verwirrend finde ich...

    • wenn der rot ist, ist auf jedenfall ein Fehler aufgetreten. Anscheinend könnte das System aber nicht wirklich erkennen warum.

      Wäre es möglich Zugang zum ACP zu bekommen um mir das mal anzusehen?

    • Hum offensichtlich hatte ich in den Einstellungen noch ein Fehler. Jetzt bleibt der Indikator rot aber diesmal gibt es auch eine etwas aussagekräftigere Meldung. Der Status Code den ich bekomme lautet 1006. Das ganze läuft auf einem Linux Server mit Plesk Onyx und nginx/1.13.8 als Webserver.

    • Dann ist die Konfiguration in Plesk nicht richtig eingetragen wurden.

      Bitte dies überprüfen und dann ggfs. korrigieren.

    • Hallo Cyperghost,


      ich habe die Konfiguration noch mal überprüft und die Location für den nginx 1:1 aus der Anleitung übernommen und eingefügt leider geht es trotzdem nicht (ich habe ja Plesk im Verdacht). Ich habe versucht die Location direkt in das vhost File von nginx einzutragen als auch über die GUI von Plesk in beiden Fällen funktioniert es leider trotzdem nicht. Die Konsole sagt das keine Verbindung aufgebaut werden kann.


      Wenn es eine Rolle spielt die Domain ist mit einem Let's Encrypt Zertifikat über Plesk abgesichert.


      Gruß

      Griven

    • Ich kenne mich leider nicht mit allen CP´s aus und nutze selber keins. Dafür müsste sich der Sys Admin sich auskennen der dies verwaltet.

      Die Konfigurationen wurden alle unter Konfigurationen getestet.

      Sollte ich Zugang bekommen können, kann ich mir das ganze mal ansehen ;)

  • Kann mir mal jemand helfen ich arbeite zum erstenmal mit putty und nem linux root.

    Wie komme ich in das verzeichniss von meinem Webspace über Putty vom rootserver?

    cd /pfad/zum/wcf/acp/pushXX/ das ist soweit klar aber was muss ich vor dem Pfad angeben, damit ich mich verbinden kann?

  • Hallo Cyperghost,


    warum wird init.d nicht unterstützt? Es ist standardmäßig als Verzeichnis vorhanden und wo anders werden Scripte bei mir auch nicht abgelegt oder verlinkt (Symlink), der Rest wird dann mittels LSB-Tags im Startscript selbst festgelegt und per update-rc.d dann vom system gem. den LSB-Tags einsortiert.


    Init.d ist für mich nach wie vor der bessere Einsatz, als Systemd, aber hier kann man sich jetzt sinnlos drüber streiten ^^.


    Auch bedenklich finde ich, ist, dass die Vorraussetzung von Rootrechten suboptimal ist. Ich würde das ganze als User laufen lassen, wie z. B. TS3 oder Minecraft als non-Root. Ergo würde ich Push++ auch niemals unter Root laufen lassen, weil dies Systemprozessen aus meiner Sicht vorbehalten ist. Immerhin ist jeder Prozess, der als root läuft, ein Sicherheitsrisiko.

    • Der Prozess wird nicht als Root ausgeführt, man benötigt aber Root Zugang und einen Service neuzustarten bzw. einen neuen zu registrieren.


      Und da alle neuen Unix Systeme Systemd haben und dies besser ist(natürlich Ansichtssache) werde ich keine alte Technologie unterstützen.

      Du hast aber selbst verständlich die Möglichkeit dir ein eigens init.d Skript zu schreiben, dies sollte kein Problem sein.

  • Moin Gyperghost


    Ich bin grade dabei den server zu installieren.


    laut linux läuft der server. Meine frage wie sehe ich ob zugriff geht?


    ich habe in der conf locale ip benutzt und die öffentliche zum testen.


    wenn ich http;//meineip.de:8082 drauf gehe. Muss da was kommen oder wir da die verbindung unterbrochen?


    Ich bekomme es nicht wirklich zum laufen mit der intergration plugin. Push++ laut linux läuft

    • der Port ist nichts von außen offen, sondern nur über den Proxy(Nginx oder Apache).

      Du kannst über die Entwickler Tools nachgucken deines Browsers :)

      Beim nächsten Update wird im ACP ein Status Icon hinzugefügt.

    • Hoi, ja habe ich schon gesehen. Habe es auch mittlerweile soweit das der http server messages bekommt.

      Allerdings bekommt die gegenseite als bzw ein anderen user der grade im thma ist nicht die live aktualliesrung.


      was mache ich da falsch?


      https://data.my-servers.ch/index.php/s/eADJTzXMGeMKEGj


      habe auch in plesk nginx und apache2 die angebane gemacht von reserve Proxy wie in der anleitung beschrieben.,

    • ah in der console steht "Firefox kann keine Verbindung zu dem Server unter wss://***:8081/?userID=1&token=c8052f641f49dd04a3827c62de18bd49&thread=1&hash=ea87509cd684730890484e5d5ee7b89f6f767d7cd3dd1a9583db314992d0d91e aufbauen.


      allerdings habe ich alles so gemacht wie in der anleitung. habe auch mal versucht öffentliche ip und dann in acp anstatt die domain name die öffentliche ip zu verwenden. kein erfolg.


      In plesk habe ich proxy_wstunnels aktiviert

    • nicht 8081 als Port angeben.

      So wie in der Installations Anleitung beschrieben. Da der Socket Server kein wss(SSL) kann, muss dies über einen Proxy Apache oder Nginx.

    • yo grade gestet sobald ich ssl per plesk abschalte gehts. Aber wenn ich es aktiviere sagt er mit SecurtiyError the operatrion is insecure wbb.elite.push.min.js:1



      in plesk ist apache2 und nginx als reserve Proxy aktiv.


      habe nginx angeben als zusätzliche anweisung :


      location /socket {

      proxy_set_header Upgrade $http_upgrade;

      proxy_set_header Connection "upgrade";

      proxy_http_version 1.1;

      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

      proxy_set_header Host $host;

      proxy_pass http://127.0.0.1:8081;

      proxy_read_timeout 86400s;

      proxy_send_timeout 86400s;

      proxy_redirect off;

      }



      https://data.my-servers.ch/index.php/s/oFSmf6p6ENQStoL

  • Eine Frage.

    Ist es möglich dieses Push-Plugin auf einem separatem Server (Windows) und das WSC auf einem anderem Server (Webspace) laufen zu lassen? Habe auf meinem Webspace leider nicht die Möglichkeit dieses Plugin zu nutzen, da kein SSH-Zugang.


    LG