CardDAV to FritzBox: Unable to find the wrapper "https"

Goethe47

Neuer User
Mitglied seit
27 Jan 2019
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Hallo,

habe die aktuelle Version auf meiner Synology DS216play installiert (
https://www.ip-phone-forum.de/threads/carddav-to-fritzbox-2-0-neue-version-verfügbar.298117/). Soweit so gut. Beim Start "php70 carddav2fb.php run" kommt jetzt immer folgende Meldung.



Downloading vCard(s) from account username
0 [>---------------------------]
In RequestException.php line 52:

Error creating resource: [message] fopen(): Unable to find the wrapper "https" - did you forget to enable it when y
ou configured PHP?​

Hab mal ein bisschen nach der Meldung gesurft. Wenn ich es richtig verstehe, dann ist OpenSSL nicht aktiviert. Bin jetzt etwas ratlos was zu tun ist.
 
Zuletzt bearbeitet:
In der php.ini muss das Semikolon vor
Code:
;extension=php_openssl.dll
entfernt werden
 
Hallo Black Senator, danke für die Antwort, bin leider erst heute dazu gekommen. Passt soweit.

Jetzt bekomme ich aber folgende Meldung.
"cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/l
ibcurl-errors.html)".

Es ist zum Mäusemelken:-(
 
Ich muss gestehen, dass ich kein Experte hinsichtlich SSL/TLS bin. Auf meine externen CardDAV-Server kann ich problemlos per https zugreifen.

Wenn ich Dich richtig verstehe, dann
  1. läuft das carddav2fb script auf der Synology?
  2. ist der CardDAV-Server auch die Synologie?
Wenn 2. ja, - warum musst Du dann per https darauf zugreifen?

Wie Zertifikate auf/für die Synology erstellt werden und installiert werden findet man im Web. Wenn das ein vertrauenswürdiges Zertifikat (z.B. Let´s Encrypt) ist, dann dürfte es nach meinem Verständnis keine Probleme geben. Wie es sich mit selbstsignierten Zertifikaten verhält weiß ich nicht so genau aber sieh einmal hier!

Grüße

Black Senator
 
Danke für die schnelle Antwort. Ist ein guter Hinweis mit dem HTTP (ohne S). Werde ich mal probieren.
 
Hallo Black Senator, (fast) alles wunderbar. Das mit HTTP für den Zugriff hat das Problem gelöst. Vielen Dank:)

Der Upload der Bilder funktioniert auch (run -i), sie landen auch im Fonpix Verzeichnis, nur am FritzFon werden sie nicht angezeigt:-(
In der FritzBox Console sehe ich im Telefonbuch das Icon für Bild vorhanden, im Kontakt-Eintrag selbst ist aber kein Bild vorhanden???
 
Zusatzinfo: Die mittels des Skripts hochgeladenen Bilder haben einen etwas kryptischen Namen z.B. 388dabef-d628-4d0f-a6d1-0a614f97212e_190210165624.jpg, die von Hand im Telefonbuch eingetragenen sehen etwas anders aus 1549815421-0.jpg
 
Der Name ist egal - entscheidend ist, dass der Name im Telefonbuch-Tag <imageURL> identisch ist mit dem, der im fonpix-Verzeichnis steht.
Die von carddav2fb geladenen Bilder bestehen aus [UID]_[UNIXTIMESTAMP].jpg, die von Hand per GUI geladenen bestehen nur aus [UNIXTIMESTAMP].jpg

Das im Telefonbuch mit dem ICON ein zugeordnetes Bild signalisiert wird, bedeutet nur, dass ein Eintrag <imageURL> vorhanden ist.

Entscheiden ist, dass das Link in dem Tag auf den tatsächlichen physischen Speicherort verweist.

Kannst Du die images im ../fonpix im Explorer aufrufen?
Wieviele images sind in dem Verzeichnis?
Welche Größe haben die images so im Schnitt?

Lade mal deine config.php (ohne credentials) hoch.

Black Senator
 
Zunächst mal die Antworten auf Deine Fragen

Kannst Du die images im ../fonpix im Explorer aufrufen? -> ja, nachdem ich ein LW gemountet habe
Wieviele images sind in dem Verzeichnis? -> 27 Dateien, 904kB in Summe,
Welche Größe haben die images so im Schnitt? -> eine Datei hat so ca. 30kB

Falls es wichtig ist. Ich habe eine FB 7362SL mit aktueller FW.
 

Anhänge

  • config_.php.txt
    2.6 KB · Aufrufe: 5
So sieht der Eintrag aus. Sieht aus als ob ein Bild da wäre es aber nicht angezeigt werden kann
 

Anhänge

  • telefonbuch.JPG
    telefonbuch.JPG
    122.7 KB · Aufrufe: 8
Hast Du ein USB-Stick als Speicher angeschlossen?

Wie in der config.example.php beschrieben:
Code:
'fonpix'   => '/[YOURUSBSTICK]/FRITZ/fonpix',
'imagepath' => 'file:///var/InternerSpeicher/[YOURUSBSTICK]/FRITZ/fonpix/'

Mein Stick z.B. heißt "FRITZSTICK",
also lauten die Zeilen in der Konfiguration entsprechend:
Code:
'fonpix'   => '/FRITZSTICK/FRITZ/fonpix',
'imagepath' => 'file:///var/InternerSpeicher/FRITZSTICK/FRITZ/fonpix/',

Ändere in deiner config.php die Zeilen entsprechend - dann sollte es auch funktionieren.

Black Senator
 
  • Like
Reaktionen: Goethe47
Sieht aus als ob ein Bild da wäre es aber nicht angezeigt werden kann
Ja, wie ich sagte, wenn die FRITZ!Box im Telefonbuch einen Eintrag mit Tag <imageURL> findet, dann sieht das so aus - ob damit ein Bild physisch verlinkt ist bzw. der Link zum richtigen Speicherort weist wird von der FRITZ!Box nicht direkt überprüft!

Imageupload und Telefonbuch-Upload finden ja logischer Weise in carddav2fb auch getrennt statt. Da wir nicht genau wissen welche Speicherorte welche FRITZ!Box bzw. Firmware verwendet haben wir hier keine Logik zur Plausibilisierung eingebaut. Da verlassen wir uns auf die Kompetenz der User und der Transferleistung aus Forenbeiträgen

Grüße

Black Senator


P.S. über ein "gefällt mir" für die Unterstützung würde ich mich freuen!
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Goethe47
Hallo Black Senator, vielen Dank für Deine Unterstützung (hab schon geliked)

Noch ein letzter Versuch, dann geb ich auf bzw. bin mit dem Erreichten zufrieden.

Hab den Pfad auf den USB_Stick geändert. Die Bilder landen auch dort, nur sie werden nicht angezeigt. Wenn ich mir den Pafd genau anschaue, dann passt das alles (s. Bild). Wenn ich den Pfad zum Bild im Explorer eingebe, dann geht das Bild auf. Noch ne Idee?
 

Anhänge

  • foto.JPG
    foto.JPG
    277.1 KB · Aufrufe: 4
Wie verhält es sich denn, wenn Du in das Telefonbuch zusätzlich von Hand (per GUI) ein Bild hinzufgst?

Meine letzte Idee dazu ist dies hier.

Grüße

Black Senator
 
"cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/l
ibcurl-errors.html)".
Bevor man hier auf eine unverschlüsselte Übertragung (http ohne "s") "zurückfällt", würde ich empfehlen, die entsprechenden Optionen in config.php zu setzen.
Seit einigen commits kann man nämlich die Überprüfung der Zertifikate "ausschalten".
'verify' => false, // uncomment to disable certificate check
Genau für den Fall von selbstsignierten Zertifikaten, denen das dem Skript letztendlich zugrunde liegende cURL nicht vertraut.
Für den Zugriff auf den CardDav-Account mit:
Code:
    'server' => [
        [
            'url' => 'https://...',
            'user' => '',
            'password' => '',
            'http' => [           // http client options are directly passed to Guzzle http client
                'verify' => false, // uncomment to disable certificate check
                // 'auth' => 'digest', // uncomment for digest auth
            ]
        ],
für den Zugriff auf die Fritzbox mit:
Code:
   'fritzbox' => [
       'url' => 'http://fritz.box',
       'user' => '',
       'password' => '',
       'fonpix'   => '/[YOURUSBSTICK]/FRITZ/fonpix',   // the storage on your usb stick for uploading images
       'http' => [           // http client options are directly passed to Guzzle http client
           'verify' => false, // uncomment to disable certificate check
       ],
       'plainFTP' => false, // set true to use FTP instead of FTPS e.g. on Windows
   ],

Persönlich versuche ich immer wenn Zugangsdaten übertragen werden, verschlüsselte Kommunikation zu verwenden, auch im eigenen (W)LAN.

Zu den Bildern:
Noch ein letzter Versuch, dann geb ich auf bzw. bin mit dem Erreichten zufrieden.

Hab den Pfad auf den USB_Stick geändert.
[...]
Noch ne Idee?
Ja. Der Pfad in Deiner config.php passt nicht:
Code:
    'phonebook' => [
        'id'        => 0,                                              // only "0" can store quickdial and vanity numbers
        'name'      => 'Telefonbuch',
        'imagepath' => 'file:///fritz.nas/FRITZ/fonpix/', // mandatory if you use the -i option
    ],
Bei imagepath muss die "lokale" URL innerhalb der Fritzbox mit dem "Protokoll" "file:///" angegeben werden.
Für den internen Speicher (im fritzbox-Abschnitt als 'fonpix' => '/FRITZ/fonpix/' referenziert) heisst der Eintrag wie in der Beispiel-Konfig:
Code:
       'imagepath' => 'file:///var/InternerSpeicher/FRITZ/fonpix/'
Bei Verwendung eines USB-Sticks heißt der Pfad (zumindest bei einer 7390 und 7590)
Code:
       'imagepath' => 'file:///var/InternerSpeicher/[YOURUSBSTICK]/[beliebiger Ordner]'
Das ist immer der absolute Pfad im lokalen Dateisystem der Fritzbox.

Also einfach mal zur Verwendung des internen Speichers der Fritzbox die Standardwerte aus der Beispiel-Konfig nehmen.

Vermutlich geht auch irgendwas wie file:///var/media/ftp/..., denn soweit ich das den Fritzbox-Support-Dateien entnehmen kann, ist /var/InternerSpeicher nur ein Symlink auf /var/media/ftp . Da weiß ich nur nicht, ob das auf alle Fritzbox-Modelle zutrifft.

VG,
Churchy
 
  • Like
Reaktionen: Goethe47
That's it. Danke Churchy. Wer lesen kann sollte es auch tun.
Mit "file:///var/InternerSpeicher/FRITZ/fonpix/" funktioniert es

Vielen, vielen Dank an Dich und Black Senator!!!

Das mit https muss ich mal demnächst angehen.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.