Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Linux Tool zur Gesichtserkennung

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Linux Tool zur Gesichtserkennung

Scheduled Pinned Locked Moved Off Topic
24 Posts 8 Posters 5.6k Views 12 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • coyoteC coyote

    @ChrisXY da wären Zoneminder, Viseron und Frigate. Wobei Frigate glaube keine Face Detection kann.
    Bin da auch am rumspielen mit allen drei Programmen. Face Detection habe ich noch nicht ausprobiert, da ich erst mal die Objekt bzw Personen/Auto Erkennung anständig am Laufen haben will

    C Offline
    C Offline
    ChrisXY
    wrote on last edited by
    #7

    @coyote Ja Zoneminder hab ich mir schon gestern angeschaut auch 100 von so Erweiterungen per Konsole versucht zu Installieren. Aber ich glaube das ist nur eine face detection .. also Gesichert aber nicht um die Personen zuzuordnen ?
    Scheint alles recht aufwendig zu sein schade.. bei der ESP Cam kann da ssogar der ESP relativ einfach ... komisch das es nicht anders so einfach funktionieren kann G

    coyoteC 1 Reply Last reply
    0
    • C ChrisXY

      @coyote Ja Zoneminder hab ich mir schon gestern angeschaut auch 100 von so Erweiterungen per Konsole versucht zu Installieren. Aber ich glaube das ist nur eine face detection .. also Gesichert aber nicht um die Personen zuzuordnen ?
      Scheint alles recht aufwendig zu sein schade.. bei der ESP Cam kann da ssogar der ESP relativ einfach ... komisch das es nicht anders so einfach funktionieren kann G

      coyoteC Offline
      coyoteC Offline
      coyote
      Most Active
      wrote on last edited by
      #8

      @ChrisXY ja möglich, wie gesagt, habe mich mit Face Detection noch nicht wirklich beschäftig.
      Schau mal nach viseron, wenn ich das richtig sehe, sollte es doch da funktionieren:

      /config
      |-- face_recognition
      |   `-- faces
      |       |-- person1
      |       |   |-- image_of_person1_1.jpg
      |       |   |-- image_of_person1_2.png
      |       |   `-- image_of_person1_3.jpg
      |       `-- person2
      |       |   |-- image_of_person2_1.jpeg
      |       |   `-- image_of_person2_2.jpg
      
      C H 2 Replies Last reply
      0
      • C ChrisXY

        @AlCalzone
        Keine sorge das ist nur dazu gedacht wenn Alarm aus ist und alle Anwesend sind im Hof die Türe aufgemacht zu bekommen. Da ist keine Klinke :)
        Wenn Alarm an und keiner Zuhause ist es Deaktiviert g

        Soll auch dazu sein das die Kinder rein kommen aber andere Personen die im Hof sind aber nicht Zugang haben sollen nicht rein kommen ;)

        AlCalzoneA Offline
        AlCalzoneA Offline
        AlCalzone
        Developer
        wrote on last edited by
        #9

        @ChrisXY sagte in Linux Tool zur Gesichtserkennung:

        Wenn Alarm an und keiner Zuhause ist es Deaktiviert g

        Da würde ich an deiner Stelle ganz sicher gehen, dass es wirklich so funktioniert. Nicht dass nachts einer mit nem Foto von euch die Tür aufmacht und die Bude ausräumt.

        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

        1 Reply Last reply
        0
        • coyoteC coyote

          @ChrisXY ja möglich, wie gesagt, habe mich mit Face Detection noch nicht wirklich beschäftig.
          Schau mal nach viseron, wenn ich das richtig sehe, sollte es doch da funktionieren:

          /config
          |-- face_recognition
          |   `-- faces
          |       |-- person1
          |       |   |-- image_of_person1_1.jpg
          |       |   |-- image_of_person1_2.png
          |       |   `-- image_of_person1_3.jpg
          |       `-- person2
          |       |   |-- image_of_person2_1.jpeg
          |       |   `-- image_of_person2_2.jpg
          
          C Offline
          C Offline
          ChrisXY
          wrote on last edited by
          #10

          @coyote Oh ha ... ich hab es gerade mal im Docker aber bekomme mein Stream noch nicht damit ans laufen gibt nichtmal eine UI :) Das schaut nicht einfach aus

          coyoteC 1 Reply Last reply
          0
          • C ChrisXY

            @coyote Oh ha ... ich hab es gerade mal im Docker aber bekomme mein Stream noch nicht damit ans laufen gibt nichtmal eine UI :) Das schaut nicht einfach aus

            coyoteC Offline
            coyoteC Offline
            coyote
            Most Active
            wrote on last edited by
            #11

            @ChrisXY stimmt UI gibt es (noch) nicht, das ist eher für HomeAssistant gemacht. Stört mich aber nicht, da ich die DP's ja auch über MQTT rein bekomme. Ich bin auch gerade dabei Viseron zum Laufen zu bringen, will auch noch nicht so richtig, aber ich weiß noch nicht warum.
            So kompliziert ist es nicht, die Readme ist ganz gut und ja auch mit Beispielen.

            C 1 Reply Last reply
            0
            • coyoteC coyote

              @ChrisXY stimmt UI gibt es (noch) nicht, das ist eher für HomeAssistant gemacht. Stört mich aber nicht, da ich die DP's ja auch über MQTT rein bekomme. Ich bin auch gerade dabei Viseron zum Laufen zu bringen, will auch noch nicht so richtig, aber ich weiß noch nicht warum.
              So kompliziert ist es nicht, die Readme ist ganz gut und ja auch mit Beispielen.

              C Offline
              C Offline
              ChrisXY
              wrote on last edited by
              #12

              @coyote ja aber mit dem codec usw. verstehe ich nicht ganz. Hab es im Proxmox unter Debian mit Docker versucht. Es scheitert aber wohl am decoden

              U 1 Reply Last reply
              0
              • C ChrisXY

                @coyote ja aber mit dem codec usw. verstehe ich nicht ganz. Hab es im Proxmox unter Debian mit Docker versucht. Es scheitert aber wohl am decoden

                U Offline
                U Offline
                uwe72
                wrote on last edited by
                #13

                @coyote

                Hallo,
                ich wollte mal fragen, ob jemand eine (die) Gesichterkennung in einem Script in ioBroker am Laufen hat?

                Ich habe eine Personenerkennung am laufen, möchte diese aber nun noch auf Gesichter erweitern.

                Als Basis habe ich mir dieses angeschaut:
                https://github.com/justadudewhohacks/face-api.js

                Mir ist aber noch nicht ganz klar was ich exakt tun muss, d.h. welche NPM Module muss ich installieren. Wie ist der JavaScript Code im ioBroker.

                Kann mir hier jemand weiterhelfen?

                coyoteC 1 Reply Last reply
                0
                • U uwe72

                  @coyote

                  Hallo,
                  ich wollte mal fragen, ob jemand eine (die) Gesichterkennung in einem Script in ioBroker am Laufen hat?

                  Ich habe eine Personenerkennung am laufen, möchte diese aber nun noch auf Gesichter erweitern.

                  Als Basis habe ich mir dieses angeschaut:
                  https://github.com/justadudewhohacks/face-api.js

                  Mir ist aber noch nicht ganz klar was ich exakt tun muss, d.h. welche NPM Module muss ich installieren. Wie ist der JavaScript Code im ioBroker.

                  Kann mir hier jemand weiterhelfen?

                  coyoteC Offline
                  coyoteC Offline
                  coyote
                  Most Active
                  wrote on last edited by
                  #14

                  @uwe72 ich nutze keine Gesichtserkennung. Habe momentan "Frigate" am Laufen, das hat keine Gesichtserkennung.

                  I 1 Reply Last reply
                  1
                  • coyoteC coyote

                    @uwe72 ich nutze keine Gesichtserkennung. Habe momentan "Frigate" am Laufen, das hat keine Gesichtserkennung.

                    I Offline
                    I Offline
                    iobroker_Alex
                    wrote on last edited by
                    #15

                    @coyote Kannst du mir bitte auf die Sprünge bei Frigate helfen:
                    Mein Ziel ist es, dass ich per Telegram (im eigenen Bot) immer einer Nachricht bekomme, wenn eine Person oder ein Auto erkannt wird.

                    Hab Frigate am laufen und als MQTT Broker den Iobroker integriert. Hier wird dann ja auch gemeldet, dass ein Objekt erkannt wurde. Um mir unnötig arbeit zu ersparen habe ich mir HASS im Docker installiert und dort die Frigate Integration installiert. Zudem lasse ich den HASS MQTT-Broker auf den Iobroker lauschen. Leider komme ich mit HASS hier nicht so recht klar, aber vielleicht hast du einen Tipp wie ich weiter machen sollte um mein Ergebnis zu bekommen.

                    So wie ich es vermute hast du auch HASS und Iobroker am laufen. Könntest du mal dein Setup vorstellen und sagen wie du benachrichtigt wirst bzw. wie du dir im Zweifel die Clips anschaust?

                    Danke dir!

                    coyoteC 1 Reply Last reply
                    0
                    • I iobroker_Alex

                      @coyote Kannst du mir bitte auf die Sprünge bei Frigate helfen:
                      Mein Ziel ist es, dass ich per Telegram (im eigenen Bot) immer einer Nachricht bekomme, wenn eine Person oder ein Auto erkannt wird.

                      Hab Frigate am laufen und als MQTT Broker den Iobroker integriert. Hier wird dann ja auch gemeldet, dass ein Objekt erkannt wurde. Um mir unnötig arbeit zu ersparen habe ich mir HASS im Docker installiert und dort die Frigate Integration installiert. Zudem lasse ich den HASS MQTT-Broker auf den Iobroker lauschen. Leider komme ich mit HASS hier nicht so recht klar, aber vielleicht hast du einen Tipp wie ich weiter machen sollte um mein Ergebnis zu bekommen.

                      So wie ich es vermute hast du auch HASS und Iobroker am laufen. Könntest du mal dein Setup vorstellen und sagen wie du benachrichtigt wirst bzw. wie du dir im Zweifel die Clips anschaust?

                      Danke dir!

                      coyoteC Offline
                      coyoteC Offline
                      coyote
                      Most Active
                      wrote on last edited by
                      #16

                      @iobroker_alex
                      nein habe kein HASS laufen. Wie du schon sagst, habe ich es auch einfach in MQTT eingebunden in iobroker. Habe mir einfach ein Script gebaut, dass wenn in MQTT ein Objekt erkannt wird, bekomme ich über Telegram eine Nachricht geschickt mit einem Snapshot des aktuellen Kamera Bildes.
                      Leider funktioniert es nicht, den Snapshot des über MQTT übertragenen Bildes direkt über iobroker zu Telegram zu schicken. Heißt, wenn ein Objekt erkannt wird löst bei mir über das Script direkt einen Snapshot aus und den schicke ich mir per Telegram

                      I 1 Reply Last reply
                      0
                      • coyoteC coyote

                        @iobroker_alex
                        nein habe kein HASS laufen. Wie du schon sagst, habe ich es auch einfach in MQTT eingebunden in iobroker. Habe mir einfach ein Script gebaut, dass wenn in MQTT ein Objekt erkannt wird, bekomme ich über Telegram eine Nachricht geschickt mit einem Snapshot des aktuellen Kamera Bildes.
                        Leider funktioniert es nicht, den Snapshot des über MQTT übertragenen Bildes direkt über iobroker zu Telegram zu schicken. Heißt, wenn ein Objekt erkannt wird löst bei mir über das Script direkt einen Snapshot aus und den schicke ich mir per Telegram

                        I Offline
                        I Offline
                        iobroker_Alex
                        wrote on last edited by
                        #17

                        @coyote ja okay, dann ziemlich ähnlich wie ich... Hast du das Skript ggf mal als Beispiel da?

                        Meine Idee war eigentlich HASS im Hintergrund und genau nur für diese Sache laufen zu lassen, da der Screenshot hier ja anscheinend per MQTT mitübertragen werden kann...

                        Am besten Wäre natürliche eine Iobroker Integration ;-)

                        coyoteC 1 Reply Last reply
                        0
                        • I iobroker_Alex

                          @coyote ja okay, dann ziemlich ähnlich wie ich... Hast du das Skript ggf mal als Beispiel da?

                          Meine Idee war eigentlich HASS im Hintergrund und genau nur für diese Sache laufen zu lassen, da der Screenshot hier ja anscheinend per MQTT mitübertragen werden kann...

                          Am besten Wäre natürliche eine Iobroker Integration ;-)

                          coyoteC Offline
                          coyoteC Offline
                          coyote
                          Most Active
                          wrote on last edited by
                          #18

                          @iobroker_alex
                          Mir wäre auch lieber, dass ich direkt den Snap benutzen kann der über MQTT in iobroker kommt, habe ich aber nicht hinbekommen, da stimmt was mit der Codierung nicht. Daher habe ich es so gelöst, dass ein Snapshot der Kamera ausgelöst wird, gespeichert in iobroker und über Telegram verschickt wird.
                          So:

                          //##################  Frigate Garage Cam Person ausgelöst  ####################
                          
                          
                          var request = require('request');
                          var fs      = require('fs');
                          
                            var dest_path = '/opt/iobroker/foto/';
                          
                          on({id: 'mqtt.0.frigate.garage.person', change: "ne"}, function (obj) {
                              
                              if(getState('javascript.0.Sperren.TelegramNotifyAus').val === true){
                                  var time = new Date();
                                  setState('javascript.0.Sperren.time', time);
                                     if (obj.state.val === 1){   
                                   saveImage();
                                   log('Person erkannt Frigate')    
                                   }
                              }
                          });
                          
                          //######### Bild speichern und verschicken für Garagen Cam ##########
                          
                          // Bild speichern
                          function saveImage() {
                              var source_url = 'http://192.168.XX.XX:5000/api/garage/person/best.jpg';   //Frigate IP
                              request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
                                  fs.writeFile(dest_path + 'cambild.jpeg', body, 'binary', function(err) {
                          
                                  if (err) {
                                      log('Fehler beim Bild speichern: ' + err, 'warn');
                                  } else {
                                      log('Webcam Bild gespeichert');
                                      sendImage(dest_path + 'cambild.jpeg');
                                  }
                                }); 
                              });
                          }
                          
                          // Bild an telegram schicken 
                          function sendImage (pfad) {
                              var zeit = getState('javascript.0.Sperren.time').val;
                                  sendTo('telegram', {text: pfad, caption: 'Person erkannt Garage Frigate ' +zeit});  //Bild mit Text
                                  log('Bild gesendet Frigate');
                          }
                          

                          Die "Sperren" kannst du natürlich weg lassen, das ist für mich, dass ich die Objekterkennung über Telegram deaktivieren kann.

                          A 1 Reply Last reply
                          2
                          • coyoteC coyote

                            @ChrisXY ja möglich, wie gesagt, habe mich mit Face Detection noch nicht wirklich beschäftig.
                            Schau mal nach viseron, wenn ich das richtig sehe, sollte es doch da funktionieren:

                            /config
                            |-- face_recognition
                            |   `-- faces
                            |       |-- person1
                            |       |   |-- image_of_person1_1.jpg
                            |       |   |-- image_of_person1_2.png
                            |       |   `-- image_of_person1_3.jpg
                            |       `-- person2
                            |       |   |-- image_of_person2_1.jpeg
                            |       |   `-- image_of_person2_2.jpg
                            
                            H Offline
                            H Offline
                            hohmannc
                            wrote on last edited by
                            #19

                            @coyote bist du inzwischen mit Gesichtserkennung schon weiter?
                            Meine Linux Kenntnisse sind noch eingeschränkt, gibt es irgendwo eine Anleitung zur Installation von Viseron, das ist aus der readme ja irgendwie nicht so erkennbar.

                            kann man Viseron dann via MQTT die Ergebnisse in iobroker abfragen?

                            Danke!

                            H 1 Reply Last reply
                            0
                            • H hohmannc

                              @coyote bist du inzwischen mit Gesichtserkennung schon weiter?
                              Meine Linux Kenntnisse sind noch eingeschränkt, gibt es irgendwo eine Anleitung zur Installation von Viseron, das ist aus der readme ja irgendwie nicht so erkennbar.

                              kann man Viseron dann via MQTT die Ergebnisse in iobroker abfragen?

                              Danke!

                              H Offline
                              H Offline
                              hohmannc
                              wrote on last edited by
                              #20

                              @hohmannc ah ok, die iobrokerfrage hat sich schon geklärt XD

                              coyoteC 1 Reply Last reply
                              0
                              • H hohmannc

                                @hohmannc ah ok, die iobrokerfrage hat sich schon geklärt XD

                                coyoteC Offline
                                coyoteC Offline
                                coyote
                                Most Active
                                wrote on last edited by
                                #21

                                @hohmannc nutze viseron schon lange nicht mehr. Gesichtserkennung brauche ich nicht, daher nutze ich "frigate" mit einer Google TPU zur Objekterkennung.

                                Viseron kannst du in einem Docker Container installieren, so steht es auch unter "Getting started" auf der Viseron Github Seite.

                                1 Reply Last reply
                                0
                                • coyoteC coyote

                                  @iobroker_alex
                                  Mir wäre auch lieber, dass ich direkt den Snap benutzen kann der über MQTT in iobroker kommt, habe ich aber nicht hinbekommen, da stimmt was mit der Codierung nicht. Daher habe ich es so gelöst, dass ein Snapshot der Kamera ausgelöst wird, gespeichert in iobroker und über Telegram verschickt wird.
                                  So:

                                  //##################  Frigate Garage Cam Person ausgelöst  ####################
                                  
                                  
                                  var request = require('request');
                                  var fs      = require('fs');
                                  
                                    var dest_path = '/opt/iobroker/foto/';
                                  
                                  on({id: 'mqtt.0.frigate.garage.person', change: "ne"}, function (obj) {
                                      
                                      if(getState('javascript.0.Sperren.TelegramNotifyAus').val === true){
                                          var time = new Date();
                                          setState('javascript.0.Sperren.time', time);
                                             if (obj.state.val === 1){   
                                           saveImage();
                                           log('Person erkannt Frigate')    
                                           }
                                      }
                                  });
                                  
                                  //######### Bild speichern und verschicken für Garagen Cam ##########
                                  
                                  // Bild speichern
                                  function saveImage() {
                                      var source_url = 'http://192.168.XX.XX:5000/api/garage/person/best.jpg';   //Frigate IP
                                      request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
                                          fs.writeFile(dest_path + 'cambild.jpeg', body, 'binary', function(err) {
                                  
                                          if (err) {
                                              log('Fehler beim Bild speichern: ' + err, 'warn');
                                          } else {
                                              log('Webcam Bild gespeichert');
                                              sendImage(dest_path + 'cambild.jpeg');
                                          }
                                        }); 
                                      });
                                  }
                                  
                                  // Bild an telegram schicken 
                                  function sendImage (pfad) {
                                      var zeit = getState('javascript.0.Sperren.time').val;
                                          sendTo('telegram', {text: pfad, caption: 'Person erkannt Garage Frigate ' +zeit});  //Bild mit Text
                                          log('Bild gesendet Frigate');
                                  }
                                  

                                  Die "Sperren" kannst du natürlich weg lassen, das ist für mich, dass ich die Objekterkennung über Telegram deaktivieren kann.

                                  A Offline
                                  A Offline
                                  anselra
                                  wrote on last edited by
                                  #22

                                  @coyote genau sowas hebe ich gesucht, bin von deiner Idee sehr angetan und wollte diese übernehmen. Leider bekomme ich die Sperre nicht raus.

                                      if(getState('javascript.0.Sperren.TelegramNotifyAus').val === true){
                                          var time = new Date();
                                          setState('javascript.0.Sperren.time', time);
                                             if (obj.state.val === 1){
                                  

                                  diesen Part habe ich entfernt und diesen

                                  zeit = getState('javascript.0.Sperren.time').val;
                                  

                                  leider bekomme ich dann folgenden Fehler

                                  javascript.0 (22119) script.js.common.FrigateCAMEingang compile failed: at script.js.common.FrigateCAMEingang
                                  

                                  Für einen Tipp wäre ich sehr dankbar,
                                  Gruß anselra

                                  BETRIEBSSYSTEM: LINUX
                                  ARCHITEKTUR: ARM
                                  CPUS: 4
                                  GESCHWINDIGKEIT: 1500 MHZ
                                  MODELL: ARMV7 PROCESSOR REV 3 (V7L)
                                  RAM: 3.7 GB

                                  coyoteC 1 Reply Last reply
                                  0
                                  • A anselra

                                    @coyote genau sowas hebe ich gesucht, bin von deiner Idee sehr angetan und wollte diese übernehmen. Leider bekomme ich die Sperre nicht raus.

                                        if(getState('javascript.0.Sperren.TelegramNotifyAus').val === true){
                                            var time = new Date();
                                            setState('javascript.0.Sperren.time', time);
                                               if (obj.state.val === 1){
                                    

                                    diesen Part habe ich entfernt und diesen

                                    zeit = getState('javascript.0.Sperren.time').val;
                                    

                                    leider bekomme ich dann folgenden Fehler

                                    javascript.0 (22119) script.js.common.FrigateCAMEingang compile failed: at script.js.common.FrigateCAMEingang
                                    

                                    Für einen Tipp wäre ich sehr dankbar,
                                    Gruß anselra

                                    coyoteC Offline
                                    coyoteC Offline
                                    coyote
                                    Most Active
                                    wrote on last edited by
                                    #23

                                    @anselra probier mal so:

                                    on({id: 'mqtt.0.frigate.garage.person', change: "ne"}, function (obj) {
                                               if (obj.state.val === 1){   
                                             saveImage();
                                             log('Person erkannt Frigate')    
                                        }
                                    });
                                    
                                    A 1 Reply Last reply
                                    0
                                    • coyoteC coyote

                                      @anselra probier mal so:

                                      on({id: 'mqtt.0.frigate.garage.person', change: "ne"}, function (obj) {
                                                 if (obj.state.val === 1){   
                                               saveImage();
                                               log('Person erkannt Frigate')    
                                          }
                                      });
                                      
                                      A Offline
                                      A Offline
                                      anselra
                                      wrote on last edited by
                                      #24

                                      @coyote vielen dank, jetzt geht es

                                      BETRIEBSSYSTEM: LINUX
                                      ARCHITEKTUR: ARM
                                      CPUS: 4
                                      GESCHWINDIGKEIT: 1500 MHZ
                                      MODELL: ARMV7 PROCESSOR REV 3 (V7L)
                                      RAM: 3.7 GB

                                      1 Reply Last reply
                                      0
                                      Reply
                                      • Reply as topic
                                      Log in to reply
                                      • Oldest to Newest
                                      • Newest to Oldest
                                      • Most Votes


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      280

                                      Online

                                      32.6k

                                      Users

                                      82.3k

                                      Topics

                                      1.3m

                                      Posts
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                      ioBroker Community 2014-2025
                                      logo
                                      • Login

                                      • Don't have an account? Register

                                      • Login or register to search.
                                      • First post
                                        Last post
                                      0
                                      • Home
                                      • Recent
                                      • Tags
                                      • Unread 0
                                      • Categories
                                      • Unreplied
                                      • Popular
                                      • GitHub
                                      • Docu
                                      • Hilfe