Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Wireguard Server abfragen -> Client Infos

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wireguard Server abfragen -> Client Infos

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      Kuddel last edited by

      Hallo zusammen,

      bei mir läuft eine Ubuntu VM, mit Wireguard Server drauf.

      Ich würde jetzt gern den Wireguard Server abfragen und auswerten.

      Z.B.

      • Welche Clients sind online

      • Welche Clients sind offline

      • Infos pro Client

        • Status
        • Traffic UL
        • Traffic DL
      • etc.

      Ich weiß jetzt aber nicht wirklich, wie ich das Thema angehen soll.

      Javascript, linux-control, Wireguard Adapter.

      Vllt hat jemand eine Idee und kann helfen 😀

      Negalein 1 Reply Last reply Reply Quote 0
      • Negalein
        Negalein Global Moderator @Kuddel last edited by Negalein

        @kuddel sagte in Wireguard Server abfragen -> Client Infos:

        Ich würde jetzt gern den Wireguard Server abfragen und auswerten.

        gibt einen Adapter
        https://forum.iobroker.net/topic/52647/tester-für-wireguard-adapter-gesucht?_=1728577505091

        f877901a-cf6e-4889-a3d3-169d8a38345e-image.png

        K 1 Reply Last reply Reply Quote 0
        • K
          Kuddel @Negalein last edited by

          @negalein habe den Adapter mal gerade in einer Test VM installiert.

          Sieht fast so aus, als wenn der Adapter alle nötigen Daten liefert.

          Ich baue mir dann mal ein javascript um eine HTML Seite für meine VIS zu erzeugen

          Negalein David G. 2 Replies Last reply Reply Quote 0
          • Negalein
            Negalein Global Moderator @Kuddel last edited by

            @kuddel sagte in Wireguard Server abfragen -> Client Infos:

            Ich baue mir dann mal ein javascript um eine HTML Seite für meine VIS zu erzeugen

            die könntest dann hier zeigen.
            Hab die Vis derzeit nur so.
            b31e4b59-99df-45de-b3c5-5ca855704859-image.png

            1 Reply Last reply Reply Quote 0
            • David G.
              David G. @Kuddel last edited by

              @kuddel

              So habe ich es in der Visu.

              Grün und Rot für den Verbindungsstatus.
              Über den Pfeil kann man sich Infos anzeigen lassen, von wo die Verbindung aufgebaut wurde (ist für mich ein kleines Sicherheitsfeature, da sollte nicht auf einmal Afghanistan stehen 🤣).

              Screenshot_20241011_084248_Fully Kiosk Browser.jpg

              Screenshot_20241011_084259_Fully Kiosk Browser.jpg

              Negalein 1 Reply Last reply Reply Quote 2
              • Negalein
                Negalein Global Moderator @David G. last edited by

                @david-g sagte in Wireguard Server abfragen -> Client Infos:

                So habe ich es in der Visu.

                schaut toll aus!

                Würdest du es teilen?

                David G. 1 Reply Last reply Reply Quote 0
                • David G.
                  David G. @Negalein last edited by

                  @negalein

                  Schau mal in den Link in meiner Signatur.
                  Da habe ich die mit drinnen.

                  Negalein 1 Reply Last reply Reply Quote 0
                  • Negalein
                    Negalein Global Moderator @David G. last edited by

                    @david-g sagte in Wireguard Server abfragen -> Client Infos:

                    Da habe ich die mit drinnen.

                    Ah, mit Lovelace gemacht.
                    Verwende ich leider noch nicht.

                    David G. 1 Reply Last reply Reply Quote 0
                    • David G.
                      David G. @Negalein last edited by

                      @negalein

                      Sämtliche Tabellen werden als HTML in einen DP geschrieben, solltest du also mit jeder Visu verwenden können.

                      1 Reply Last reply Reply Quote 1
                      • K
                        Kuddel last edited by

                        @david-g wie hast du gemacht mit dem Quell Ort der Verbindung?

                        David G. 1 Reply Last reply Reply Quote 0
                        • David G.
                          David G. @Kuddel last edited by

                          @kuddel

                          Frage ich per httpget von einer Website ab.
                          Kann man im Blockly von mir ein- und ausschalten.

                          K 1 Reply Last reply Reply Quote 1
                          • K
                            Kuddel @David G. last edited by

                            @david-g kannst du das hier posten?

                            Würde es dann versuchen mit im Javascript einzubauen und in der HTML Tabelle anzuzeigen

                            David G. 1 Reply Last reply Reply Quote 0
                            • David G.
                              David G. @Kuddel last edited by David G.

                              @kuddel

                              Im Link in meiner Signatur findest du das Blockly.
                              Da kannst du dir das rausholen.

                              In der JS Ansicht ggf den ganzen entsprechenden Bereich kopieren....

                              Screenshot_20241011_102738_Chrome.jpg

                              K 1 Reply Last reply Reply Quote 1
                              • K
                                Kuddel @David G. last edited by

                                Die Anzeige der Werte vom Wireguard Adapter über in JSON DP funz schonmal:

                                fe1387ac-8072-4da1-8b89-0b3b603087a9-grafik.png

                                Aktuell hänge ich noch an der whois Abfrage.

                                Die Abfrage an sich funzt, nur mein javascript wartet aktuell nicht, bis die Abfrage eine Antwort gelifert hat. Somit sind die Werte immer undefiniert

                                David G. 1 Reply Last reply Reply Quote 1
                                • David G.
                                  David G. @Kuddel last edited by

                                  @kuddel

                                  So dürfte er erst nach einem Ergebnis oder 2sek weiter machen oder?
                                  Das ist der Code den mit Blockly gibt.

                                  httpGet('https://xxx.de', { timeout: 2000, responseType: 'text' }, async (err, response) => {
                                     console.info(response.data); 
                                  });
                                  
                                  K 1 Reply Last reply Reply Quote 0
                                  • K
                                    Kuddel @David G. last edited by

                                    @david-g timeout: 2000 bedeutet doch eigentlich nur, dass die Abfrage nicht länger als 2 Sekunden dauern darf.

                                    Eine Pause ist es aber nicht

                                    David G. 1 Reply Last reply Reply Quote 0
                                    • David G.
                                      David G. @Kuddel last edited by David G.

                                      @kuddel

                                      Das ist das Blockly was mir den Code generiert hat.
                                      Alles innerhalb des httpget Baustsins wird dort erst nach einer Antwort oder 2sek ausgeführt.

                                      Screenshot_20241015_110357_Chrome.jpg

                                      Edit
                                      Hier siehst du, dass die der Fehler schon zwischen beiden Warnungen kommt.
                                      Screenshot_20241015_113246_Chrome.jpg

                                      Mit einer echten Website hab ich da auch ein result stehen. Nur zu lang für einen Screenshot.

                                      K 1 Reply Last reply Reply Quote 0
                                      • K
                                        Kuddel @David G. last edited by

                                        @david-g

                                        ICh bin schon einen Schritt weiter gekommen.

                                        Wenn ich alle weiteren Schritte mit in den HTTP Get Block schreibe funktioniert es.

                                        Problem ist jetzt, dass es nur für verbundene Clients geht.

                                        Morgen mache ich einen erneuten Anlauf, um das Skript für alle Clients lauffähig zu bekommen

                                        cc46f443-aab4-49bf-ad4d-9f2dcf631bd4-grafik.png

                                        K 1 Reply Last reply Reply Quote 0
                                        • K
                                          Kuddel @Kuddel last edited by

                                          So, das Skript macht jetzt was es soll

                                          cd29096c-f006-451c-9734-24d9263eae80-grafik.png

                                          Morgen kommen dann nur noch Optimierungen

                                          K 1 Reply Last reply Reply Quote 1
                                          • K
                                            Kuddel @Kuddel last edited by

                                            Mein Script erstellt jetzt folgende zwei JSON Datein:

                                            8cf30247-84c9-4b91-91c3-19482d8c0ee4-grafik.png

                                            Oben sieht man den aktuellen Zustand:
                                            Das Land und die Herkunft werden nur abgefragt, wenn sich der Client verbindet oder trennt. Habe da im Test irgednwann eine Ablehnung von der APi bekommen, weil ich zu viele Abfragen gestellt habe.
                                            Des Weiteren läuft das Skript bei Änderungen des Traffics sowie der IP erneut los.

                                            Unten sieht man eine Verbindungshistory, die nur befüllt wird, wenn sich ein Client verbindet oder wieder trennt.

                                            Wenn Interesse besteht, kann ich das Skript gern teilen 🙂

                                            Negalein 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            969
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            22
                                            751
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo