Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. FritzBox-PBpics per TR-064 Community-Adapter

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

FritzBox-PBpics per TR-064 Community-Adapter

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vis
42 Beiträge 6 Kommentatoren 5.2k Aufrufe 11 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • bahnuhrB bahnuhr

    @liv-in-sky sagte in FritzBox-PBpics per TR-064 Community-Adapter:

    @bahnuhr

    schon mal getestet ?
    https://www.heise.de/download/product/wget-3073

    Nein,
    und ich will auch kein Extra Programm installieren.

    Müsste ja mit js auch gehen.

    SBorgS Offline
    SBorgS Offline
    SBorg
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #33

    @bahnuhr sagte in FritzBox-PBpics per TR-064 Community-Adapter:

    Müsste ja mit js auch gehen.

    Geht sicherlich, aber mit größerem Aufwand. Wer will, gerne, ich aber nicht (ich nutze weder das eine noch das andere. Sorry, da hänge ich nicht noch mehr Zeit rein.)

    @bahnuhr sagte in FritzBox-PBpics per TR-064 Community-Adapter:

    Müsste man nicht einen anderen Weg gehen.

    Viele Wege führen nach Rom und es wird keiner daran gehindert sie zu gehen :)

    @liv-in-sky Das Problem tritt bei mir wegen des internen FritzBox-Speichers nicht auf. Beim Google-Link sind die "" im Link das Problem. Füge mal direkt vor Zeile #8 (also var DL=...)

    Bild = Bild.replace(/"/g, '%22');
    

    ein, das müsste eigentlich die Anführungszeichen Link konform maskieren?

    LG SBorg ( SBorg auf GitHub)
    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

    liv-in-skyL 1 Antwort Letzte Antwort
    0
    • bahnuhrB Offline
      bahnuhrB Offline
      bahnuhr
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #34

      Danke für die Antwort.

      Dann bin ich auch raus (weil ich es nicht kann).

      Suche ja schon ca. 2 Jahre nach einer Lösung.

      Und auch mehrere Beiträge hier im Forum; und auch issue (mehrere).

      Lösung bisher keine.

      Schade; wäre gut gewesen.


      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
      Danke.
      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
      ScreenToGif :https://www.screentogif.com/downloads.html

      1 Antwort Letzte Antwort
      0
      • SBorgS SBorg

        @bahnuhr sagte in FritzBox-PBpics per TR-064 Community-Adapter:

        Müsste ja mit js auch gehen.

        Geht sicherlich, aber mit größerem Aufwand. Wer will, gerne, ich aber nicht (ich nutze weder das eine noch das andere. Sorry, da hänge ich nicht noch mehr Zeit rein.)

        @bahnuhr sagte in FritzBox-PBpics per TR-064 Community-Adapter:

        Müsste man nicht einen anderen Weg gehen.

        Viele Wege führen nach Rom und es wird keiner daran gehindert sie zu gehen :)

        @liv-in-sky Das Problem tritt bei mir wegen des internen FritzBox-Speichers nicht auf. Beim Google-Link sind die "" im Link das Problem. Füge mal direkt vor Zeile #8 (also var DL=...)

        Bild = Bild.replace(/"/g, '%22');
        

        ein, das müsste eigentlich die Anführungszeichen Link konform maskieren?

        liv-in-skyL Offline
        liv-in-skyL Offline
        liv-in-sky
        schrieb am zuletzt editiert von liv-in-sky
        #35

        @SBorg

        leider selbes ergebnis

        Image 5.png

        kann ich auch etwas mit dem internen speicher machen - vielleicht hilft das ?

        log:

        wget -O /opt/iobroker/iobroker-data/files/vis.0/armin/img/google-img/caller_pic.jpg "http://192.168.178.1:49000/download.lua?path=https://www.google.com/m8/feeds/photos/media/axxx.xxxy%40gmail.com/1d12449a0fcc6fcd,240,%22Kg9MBGcHfCt7I2A9LEokR05lAk00GEoeYgw.%22&sid=8378c49ede729c31&pbid=240"
        

        nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

        1 Antwort Letzte Antwort
        0
        • SBorgS Offline
          SBorgS Offline
          SBorg
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #36

          Zumindest ist die URL jetzt korrekt encodet. Aber egal ob intern oder extern (kann ich halt nicht testen), ich glaube der Adapter spackt rum. Gestern ging noch alles, heute läuft es wieder mal nicht mehr.
          Also schau ich auf den json-DP. Logisch warum es nicht mehr läuft: DP aktualisiert nicht (zumindest bei gleichem Anrufer) und die SID von gestern steht immer noch drin. Daraus resultiert dann kein "richtiges" Bild, sondern eigentlich eine Text-Datei

          <?xml version="1.0"?>
          <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
          s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
          <s:Body><s:Fault><faultcode>s:Client</faultcode><faultstring>UPnPError</faultstring>
          <detail><UPnPError xmlns="urn:dslforum-org:control-1-0"><errorCode>606</errorCode><errorDescription>Action Not Authorized</errorDescription></UPnPError></detail></s:Fault></s:Body></s:Envelope>
          

          was uns sagt, dass die SID aus dem Link nicht mehr gültig ist...
          Also wird jetzt das JS der Einfachheit halber nur das Linux-SID-Skript aufrufen und die URL übergeben, dafür aber immer eine neue SID per Challenge generieren.

          LG SBorg ( SBorg auf GitHub)
          Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

          1 Antwort Letzte Antwort
          0
          • SBorgS Offline
            SBorgS Offline
            SBorg
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #37

            Sodele, mal wieder etwas Zeit gehabt. Bis auf "selber und unbekannter Anrufer" läuft es jetzt :)
            Google-Link kann ich nicht testen, durch Umstellung der Syntax und Nutzung von curl sollte es aber IMO laufen.

            Notwendig:

            • Simple-API-Adapter
            • Linux Shell-Script
            • JavaScript

            Linux-Script auf den ioB-Server (bei mir /opt/iobroker/script/fritz_sid.sh)

            #!/bin/sh
            # V0.0.1 / 16.08.2019 - ermittelt eine gültige SID von der FritzBox
            
            ### User-Einstellungen ###
            IP="192.168.x.x"
            FRITZ_USER="username"
            USER_PW="geheim"
            ##########################
            
            ### ab hier braucht man nix zu ändern, außer man weiß genau was man tut ... ;)
            # Challenge abholen
              CHALLENGE=`wget -O - "http://$IP/login_sid.lua" 2>/dev/null | sed 's/.*<Challenge>\(.*\)<\/Challenge>.*/\1/'`
            
            # login aufbauen und hashen
              CPSTR="$CHALLENGE-$USER_PW"
            
              MD5=`echo -n $CPSTR | iconv -f ISO8859-1 -t UTF-16LE | md5sum -b | awk '{print substr($0,1,32)}'`
              RESPONSE="$CHALLENGE-$MD5"
              URL_PARAMS="username=$FRITZ_USER&response=$RESPONSE"
            
            # login senden und SID herausfischen
              SID=`wget -O - "http://$IP/login_sid.lua?$URL_PARAMS" 2>/dev/null | sed 's/.*<SID>\(.*\)<\/SID>.*/\1/'`
            
            # SID übergeben
              echo ${SID}
            
            ###EOF
            

            JavaScript (Zeile #7 [ggf.] und #12 anpassen)

            on({id: "tr-064-community.0.callmonitor.ringing"/*ringing*/, val: true}, function (obj) {
            
                //Bild vom aktuellen Gespräch
                var json = JSON.parse(getState('tr-064-community.0.callmonitor.inbound.json').val);
                
                try {let Bild = json.imageurlcaller;
                    run_shell_command("/opt/iobroker/script/fritz_sid.sh", 
                     function (SID) { 
                         console.log('FritzBox-SessionID: ' + SID);
                         let regex = /sid=\w{16}/ig;
                         let DLURL = Bild.replace(regex, "sid="+SID.substr(0, SID.length-1));
                         var DL = 'curl -o /opt/iobroker/iobroker-data/files/vis.0/xxx/caller_pic.jpg ' + "'" + DLURL + "'";
                         console.log(DL);
                         exec(DL); 
                    });
            
                    } catch (e) {
                      console.log('Kein Bild für Anrufer vorhanden...');
                      return;
                    }
            
            });
            
            
            function run_shell_command(command,cb) {   
                exec(command, function(err,stdout,stderr){
                    if(err) {
                      cb(stderr);
                    } else {
                      cb(stdout);
                   }
               });
            }
            
            

            ToDo: selber und unbekannter Anrufer, Doku, auf GitHub schieben...

            LG SBorg ( SBorg auf GitHub)
            Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

            liv-in-skyL 1 Antwort Letzte Antwort
            0
            • SBorgS SBorg

              Sodele, mal wieder etwas Zeit gehabt. Bis auf "selber und unbekannter Anrufer" läuft es jetzt :)
              Google-Link kann ich nicht testen, durch Umstellung der Syntax und Nutzung von curl sollte es aber IMO laufen.

              Notwendig:

              • Simple-API-Adapter
              • Linux Shell-Script
              • JavaScript

              Linux-Script auf den ioB-Server (bei mir /opt/iobroker/script/fritz_sid.sh)

              #!/bin/sh
              # V0.0.1 / 16.08.2019 - ermittelt eine gültige SID von der FritzBox
              
              ### User-Einstellungen ###
              IP="192.168.x.x"
              FRITZ_USER="username"
              USER_PW="geheim"
              ##########################
              
              ### ab hier braucht man nix zu ändern, außer man weiß genau was man tut ... ;)
              # Challenge abholen
                CHALLENGE=`wget -O - "http://$IP/login_sid.lua" 2>/dev/null | sed 's/.*<Challenge>\(.*\)<\/Challenge>.*/\1/'`
              
              # login aufbauen und hashen
                CPSTR="$CHALLENGE-$USER_PW"
              
                MD5=`echo -n $CPSTR | iconv -f ISO8859-1 -t UTF-16LE | md5sum -b | awk '{print substr($0,1,32)}'`
                RESPONSE="$CHALLENGE-$MD5"
                URL_PARAMS="username=$FRITZ_USER&response=$RESPONSE"
              
              # login senden und SID herausfischen
                SID=`wget -O - "http://$IP/login_sid.lua?$URL_PARAMS" 2>/dev/null | sed 's/.*<SID>\(.*\)<\/SID>.*/\1/'`
              
              # SID übergeben
                echo ${SID}
              
              ###EOF
              

              JavaScript (Zeile #7 [ggf.] und #12 anpassen)

              on({id: "tr-064-community.0.callmonitor.ringing"/*ringing*/, val: true}, function (obj) {
              
                  //Bild vom aktuellen Gespräch
                  var json = JSON.parse(getState('tr-064-community.0.callmonitor.inbound.json').val);
                  
                  try {let Bild = json.imageurlcaller;
                      run_shell_command("/opt/iobroker/script/fritz_sid.sh", 
                       function (SID) { 
                           console.log('FritzBox-SessionID: ' + SID);
                           let regex = /sid=\w{16}/ig;
                           let DLURL = Bild.replace(regex, "sid="+SID.substr(0, SID.length-1));
                           var DL = 'curl -o /opt/iobroker/iobroker-data/files/vis.0/xxx/caller_pic.jpg ' + "'" + DLURL + "'";
                           console.log(DL);
                           exec(DL); 
                      });
              
                      } catch (e) {
                        console.log('Kein Bild für Anrufer vorhanden...');
                        return;
                      }
              
              });
              
              
              function run_shell_command(command,cb) {   
                  exec(command, function(err,stdout,stderr){
                      if(err) {
                        cb(stderr);
                      } else {
                        cb(stdout);
                     }
                 });
              }
              
              

              ToDo: selber und unbekannter Anrufer, Doku, auf GitHub schieben...

              liv-in-skyL Offline
              liv-in-skyL Offline
              liv-in-sky
              schrieb am zuletzt editiert von
              #38

              @SBorg ich trau es mir gar nicht sagen aber ich habe das problem wieder - es kommt ein bild (richtige zeit und datum ) aber es ist leer bzw

              <HTML><HEAD><TITLE>404 Not Found (ERR_NOT_FOUND)</TITLE></HEAD><BODY><H1>404 Not Found</H1><BR>ERR_>
              

              steht drin

              im log steht die id

              javascript.0	2019-08-17 18:40:23.527	info	script.js.Armin_Schalter.ALLERLEI.FRITZBOXSQLUserPic: curl -o /opt/iobroker/iobroker-data/files/vis.0/armin/img/google-img/caller_pic.jpg 'http://192.168.178.1:49000/download.lua?path=https://www.goog
              javascript.0	2019-08-17 18:40:23.527	info	script.js.Armin_Schalter.ALLERLEI.FRITZBOXSQLUserPic: FritzBox-SessionID: d4adaef91132587f
              

              nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

              SBorgS 1 Antwort Letzte Antwort
              0
              • liv-in-skyL liv-in-sky

                @SBorg ich trau es mir gar nicht sagen aber ich habe das problem wieder - es kommt ein bild (richtige zeit und datum ) aber es ist leer bzw

                <HTML><HEAD><TITLE>404 Not Found (ERR_NOT_FOUND)</TITLE></HEAD><BODY><H1>404 Not Found</H1><BR>ERR_>
                

                steht drin

                im log steht die id

                javascript.0	2019-08-17 18:40:23.527	info	script.js.Armin_Schalter.ALLERLEI.FRITZBOXSQLUserPic: curl -o /opt/iobroker/iobroker-data/files/vis.0/armin/img/google-img/caller_pic.jpg 'http://192.168.178.1:49000/download.lua?path=https://www.goog
                javascript.0	2019-08-17 18:40:23.527	info	script.js.Armin_Schalter.ALLERLEI.FRITZBOXSQLUserPic: FritzBox-SessionID: d4adaef91132587f
                
                SBorgS Offline
                SBorgS Offline
                SBorg
                Forum Testing Most Active
                schrieb am zuletzt editiert von Homoran
                #39

                @liv-in-sky sagte in FritzBox-PBpics per TR-064 Community-Adapter:

                ich trau es mir gar nicht sagen...

                Warum? Wenn es nicht geht, geht es nicht. Ich kann es halt nicht testen und nur raten. Ich hab jetzt mal einen Google-Kontakt angelegt und es auf der FB eingerichtet, geht bei mir aber nicht (steht auch dabei, dass man ein FritzFon braucht?). Die Namensauflösung klappt noch, aber der TR-064 legt keinerlei Bild-URL an. Ich bekomme schon im Telefonbuch keine Anzeige, dass ein Foto hinterlegt ist...
                Ist dein ioB-Server headless oder kannst du dort einen Browser öffnen? Die SID scheint zu funktionieren, nur kann er sich anscheinend bei Google nicht korrekt einloggen. Du kannst dann mal versuchen ob das Bild unter dem generierten Link http://192.168.178.1:49000/download.lua?path=https://www.... angezeigt werden kann.
                Eventuell liegt es doch wieder an den "" im Link. Das sollte eigentlich curl und '' verhindern. Du könntest noch versuchen sie zu encoden:
                Nach let DLURL = ... noch eine Zeile einfügen:

                DLURL = DLURL.replace(/"/g, '%22');
                

                Wenn ich mir allerdings bei deinem obigen Post die Google-URL so ansehe, und dann die Google-API, verstehe ich den Teil ,240,"Token Entfernt; Homoran; Admin" nicht wirklich. Das ist in der API nicht vorgesehen, muss also anscheinend von der FB kommen...?

                LG SBorg ( SBorg auf GitHub)
                Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                liv-in-skyL 1 Antwort Letzte Antwort
                0
                • SBorgS SBorg

                  @liv-in-sky sagte in FritzBox-PBpics per TR-064 Community-Adapter:

                  ich trau es mir gar nicht sagen...

                  Warum? Wenn es nicht geht, geht es nicht. Ich kann es halt nicht testen und nur raten. Ich hab jetzt mal einen Google-Kontakt angelegt und es auf der FB eingerichtet, geht bei mir aber nicht (steht auch dabei, dass man ein FritzFon braucht?). Die Namensauflösung klappt noch, aber der TR-064 legt keinerlei Bild-URL an. Ich bekomme schon im Telefonbuch keine Anzeige, dass ein Foto hinterlegt ist...
                  Ist dein ioB-Server headless oder kannst du dort einen Browser öffnen? Die SID scheint zu funktionieren, nur kann er sich anscheinend bei Google nicht korrekt einloggen. Du kannst dann mal versuchen ob das Bild unter dem generierten Link http://192.168.178.1:49000/download.lua?path=https://www.... angezeigt werden kann.
                  Eventuell liegt es doch wieder an den "" im Link. Das sollte eigentlich curl und '' verhindern. Du könntest noch versuchen sie zu encoden:
                  Nach let DLURL = ... noch eine Zeile einfügen:

                  DLURL = DLURL.replace(/"/g, '%22');
                  

                  Wenn ich mir allerdings bei deinem obigen Post die Google-URL so ansehe, und dann die Google-API, verstehe ich den Teil ,240,"Token Entfernt; Homoran; Admin" nicht wirklich. Das ist in der API nicht vorgesehen, muss also anscheinend von der FB kommen...?

                  liv-in-skyL Offline
                  liv-in-skyL Offline
                  liv-in-sky
                  schrieb am zuletzt editiert von
                  #40

                  hi @SBorg

                  man benötigt ein fritzphone ? hab ich nicht - ich habe das google konto hinterlegt - sonst nichts

                  ich bin davon ausgegangen, das es so funktioniert, weil ich dachte: wenn die handy app boxtofritz das kann, dann muss es ja gehen - mein irrtum : ich weiß ja garnicht, wo die app das bild holt - die userbilder sind ja auf dem handy in den kontakten verfügbar.

                  ich mach es jetzt einfach so wie bisher - es kommen selten neue nummern hinzu

                  • google contakte im browser öffnen
                  • alle contacte exportieren als google csv
                  • csv mit openoffice öffnen und alle spalten bis auf name und bild-url löschen
                    -csv in mysql importieren
                  • script welches tr064 adapter-usernamen holt und die bild url aus der mysql datenbank - wenn ringing aktiv
                  • läuft - etwas umständlich - für meine bedürfnisse aber ok
                    -unbekannte anrufe, fertige anrufe, gleiche anrufe- kann alles das script abfangen

                  falls jmd. eine idee hat, wie man den csv download process automatisieren kann - bitte her damit

                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                  1 Antwort Letzte Antwort
                  0
                  • SBorgS Offline
                    SBorgS Offline
                    SBorg
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #41

                    Will bei mir nicht. Ist aber egal, ich nutze es ja eh nicht (und wenn nur intern und da funktioniert es).
                    ...und das andere ist ein OAuth-Token der für Google benötigt wird. Spätestens da hört es jetzt aber wirklich auf.

                    Du kannst die Daten auch per Google-API auslesen: https://developers.google.com/contacts/v3/

                    LG SBorg ( SBorg auf GitHub)
                    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                    liv-in-skyL 1 Antwort Letzte Antwort
                    0
                    • SBorgS SBorg

                      Will bei mir nicht. Ist aber egal, ich nutze es ja eh nicht (und wenn nur intern und da funktioniert es).
                      ...und das andere ist ein OAuth-Token der für Google benötigt wird. Spätestens da hört es jetzt aber wirklich auf.

                      Du kannst die Daten auch per Google-API auslesen: https://developers.google.com/contacts/v3/

                      liv-in-skyL Offline
                      liv-in-skyL Offline
                      liv-in-sky
                      schrieb am zuletzt editiert von
                      #42

                      @SBorg sagte in FritzBox-PBpics per TR-064 Community-Adapter:

                      Du kannst die Daten auch per Google-API auslesen: https://developers.google.com/contacts/v3/

                      das hatte ich mal angeschaut - übersteigt meinen horizont - entweder mit java oder mit phyton (das muss ja auch irgendwie installiert/eingebunden werden) - bin froh, wenn meine javascripts irgendwie funktionieren

                      danke dir

                      nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                      1 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      770

                      Online

                      32.6k

                      Benutzer

                      82.0k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe