ShareQik Bilderversand: Unterschied zwischen den Versionen

Aus drf-faq
Wechseln zu: Navigation, Suche
(Einleitung)
(ShareQik PHP)
 
(32 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 66: Zeile 66:
 
ShareQik ist Freeware. Autor ist [https://niggemann.biz Andreas Niggemann].
 
ShareQik ist Freeware. Autor ist [https://niggemann.biz Andreas Niggemann].
  
== Hinweise ==
+
=== Hinweise ===
 
* FTP ist per se unsicher da das Kennwort im Klartext übertragen wird. TLS einschalten hilft (sofern der Anbieter des Web-Speicherplatzes das unterstützt).
 
* FTP ist per se unsicher da das Kennwort im Klartext übertragen wird. TLS einschalten hilft (sofern der Anbieter des Web-Speicherplatzes das unterstützt).
 
* ShareQik hat eine automatische Sprachumschaltung. Auf deutschen Windows-Systemen erscheint eine deutschsprachige Oberfläche, auf allen anderen Systemen eine englischsprachige. Die Sprachumschaltung kann man abschalten wenn man in der shareqik_settings.ini im Kapitel [Common] die Zeile AutoLanguage=0 einfügt.  Dann wird immer die englischsprachige Oberfläche angezeigt.
 
* ShareQik hat eine automatische Sprachumschaltung. Auf deutschen Windows-Systemen erscheint eine deutschsprachige Oberfläche, auf allen anderen Systemen eine englischsprachige. Die Sprachumschaltung kann man abschalten wenn man in der shareqik_settings.ini im Kapitel [Common] die Zeile AutoLanguage=0 einfügt.  Dann wird immer die englischsprachige Oberfläche angezeigt.
Zeile 72: Zeile 72:
 
* Falls es zu FTP-Problemen kommt, kann man in der shareqik_settings.ini einen Protokollmodus aktivieren.  Einfach dazu im Kapitel [Common] eine Zeile mit Log=1 hinzufügen. Die ftp.log ist dann im gleichen Verzeichnis wie die shareqik_settings.ini zu finden.
 
* Falls es zu FTP-Problemen kommt, kann man in der shareqik_settings.ini einen Protokollmodus aktivieren.  Einfach dazu im Kapitel [Common] eine Zeile mit Log=1 hinzufügen. Die ftp.log ist dann im gleichen Verzeichnis wie die shareqik_settings.ini zu finden.
 
* Wird nur die Hochlade-Funktionalität benötigt und keinen Wert auf den QR-Code gelegt, so kann man in den Einstellungen die Zeit für das automatische Beenden auf 5 Sekunden heruntersetzen.  Man bekommt dann den QR-Code angezeigt als Signal, dass die Datei auf dem FTP-Server angekommen ist, ShareQik beendet sich dann aber gleich wieder selbst.  Den Haken bei "Lösche hochgeladene Dateien vom Server bei Exit" sollte man dann aber nicht setzen.
 
* Wird nur die Hochlade-Funktionalität benötigt und keinen Wert auf den QR-Code gelegt, so kann man in den Einstellungen die Zeit für das automatische Beenden auf 5 Sekunden heruntersetzen.  Man bekommt dann den QR-Code angezeigt als Signal, dass die Datei auf dem FTP-Server angekommen ist, ShareQik beendet sich dann aber gleich wieder selbst.  Den Haken bei "Lösche hochgeladene Dateien vom Server bei Exit" sollte man dann aber nicht setzen.
 +
 +
== ShareQik PHP ==
 +
Mit geringen Komforteinbußen ist die gleiche Funktionalität auch per Online-Skript realisierbar. Hierfür gibt es das PHP-Skript [https://www.niggemann.biz/dl/shareqikphp.zip ShareQikPHP].
 +
Dieses Skript verwendet phpqrcode.php von [http://phpqrcode.sourceforge.net/ Dominik Dzienia].
 +
 +
=== Installation ===
 +
In der Datei config_shareqik.php sind im Abschnitt Configuration der Zugangsschlüssel (key) sowie das Upload-Verzeichnis auf dem Web-Server einzutragen. Sollen andere Dateien als PNG, JPG, JPEG oder GIF übertragen werden, so kann man auch die Extension-Zeichenkette anpassen.
 +
Per FTP sind dann die PHP-Dateien shareqik.php, config_shareqik.php und phpqrcode.php in ein Verzeichnis auf dem Web-Server zu übertragen. Ebenso ist das Upload-Verzeichnis anzulegen (inklusive Unterverzeichnis). Um das Upload-Verzeichnis abzusichern, kann man die htaccess-Datei hochladen und in .htaccess (Punkt htaccess) umbenennen.
 +
 +
=== Benutzung ===
 +
[[Bild:ShareQikPHP.jpg|thumb|600px|right|Oberfläche ShareQikPHP]]
 +
Falls das Skript beispielsweise im Verzeichnis sqdir auf dem testserver.xyz eingespielt wurde kann man es mit:
 +
https://testserver.xyz/sqdir/shareqik.php aufrufen. Hier kann man nun eine Datei auswählen und (optional) einen Zugangsschlüssel eingeben. Nach dem Druck auf "Upload" erscheint dann unmittelbar der QR-Code der zur Datei führt. Zusätzlich kann man einen Kommentar mitschicken, sofern das Feld in der Konfiguration aktiviert ist. Außerdem wird die URL unterhalb des QR-Codes angezeigt und automatisch selektiert so dass man sie direkt in die Zwischenablage übernehmen kann. Damit kann man die URL auch per EMail etc. versenden.
 +
 +
Ebenso ist es möglich via CURL von der Kommandozeile Bilder hochzuladen und eine Datei mit dem QR-Code zu erhalten.<br>
 +
Beispiel:<br>
 +
curl -F "submit=submit" -F "fileToUpload=@bild1.jpg" https://testserver.xyz/sqdir/shareqik.php -o qrcode.png<br>
 +
Beispiel mit Key 123456:<br>
 +
curl -F "key=123456" -F "submit=submit" -F "fileToUpload=@bild1.jpg" https://testserver.xyz/sqdir/shareqik.php -o qrcode.png
 +
 +
Auf Smartphones oder Tablets kann man die [https://www.howtogeek.com/196087/how-to-add-websites-to-the-home-screen-on-any-smartphone-or-tablet/ URL als Verknüpfung auf den Startbildschirm] legen. Zumindest unter iOS und Android ist es dann möglich als Quelle nicht nur eine Datei, sondern auch direkt die Kamera auszuwählen und somit mit zwei Klicks das Bild per QR-Code zur Verfügung zu stellen.
 +
 +
=== One-Time Access (OTA) ===
 +
OTA ist eine Möglichkeit einem Gast kurzzeitig eine Upload-Gelegenheit in ShareQik einzuräumen auch wenn der Gast selbst kein ShareQik zur Verfügung hat.
 +
In diesem Fall generiert ShareQik einen temporären Zugangscode und stellt diesen per QR-Code zur Verfügung. Über diesen Zugangscode kann der Gast dann Dateien per ShareQik hochladen bis die Zeitbegrenzung des OTA-Zugang abgelaufen ist.
 +
OTA-Ablauf:
 +
* Der Host gibt den speziellen OTA-Schlüssel im Schlüsselfeld ein
 +
* Der Host drückt den Upload-Knopf ohne eine Datei oder die Kamera mit dem Browse-Knopf auszuwählen
 +
* ShareQik generiert einen QR-Zugangscode
 +
* Der Gast scannt diesen QR-Code, wird zur Upload-Seite von ShareQik weitergeleitet und lädt dort die Datei hoch
 +
 +
=== Sicherheitshinweise ===
 +
ShareQikPHP bietet über den Key (Zugangsschlüssel) nur eine rudimentäre Absicherung gegen unerwünschte Benutzung. Das weiteren sollte man das Upload-Verzeichnis per htaccess-Datei absichern. Weitere Hinweise dazu gibt es hier:
 +
[https://www.php-einfach.de/experte/php-sicherheit/code-injection/sicherer-dateiupload/ Sicherer Dateiupload]
 +
 +
=== Versionen ===
 +
* 24.09.2019 Option für zeitlich begrenzten Gast-Upload
 +
* 23.09.2019 Getrennte PHP-Datei für die Konfiguration
 +
* 21.09.2019 Eingabefeld für Kommentare
 +
* 18.09.2019 Protokollierung optional
 +
* 17.09.2019 HTML neu, Fehlermeldungen in UI integriert, Download per GET-PHP
 +
* 14.09.2019 HTML neu, Anzeige der URL mit Selektion für Zwischenablage
 +
* 06.09.2019 Option um alte hochgeladene Dateien zu löschen
 +
* 03.09.2019 Valides HTML
 +
* 02.09.2019 Projekt auf [https://gitlab.com/ANiggemann/shareqikphp GitLab]
 +
* 31.08.2019 Anpassung Anzeige für mobile Endgeräte
 +
* 18.08.2019 Beginn Entwicklung
  
 
== Links ==
 
== Links ==
 +
*[https://www.niggemann.biz/dl/shareqikphp.zip ShareQik PHP-Skript]
 
*[https://www.niggemann.biz/dl/shareqik64.zip ShareQik Programm 64-Bit-Verion]
 
*[https://www.niggemann.biz/dl/shareqik64.zip ShareQik Programm 64-Bit-Verion]
 
*[https://www.niggemann.biz/dl/shareqik32.zip ShareQik Programm 32-Bit-Verion]
 
*[https://www.niggemann.biz/dl/shareqik32.zip ShareQik Programm 32-Bit-Verion]

Aktuelle Version vom 24. September 2019, 17:41 Uhr

Einleitung

Welcher Fotograf hat es nicht schon erlebt: Das Model oder der Auftraggeber möchte ein bestimmtes Bild SOFORT haben und fotografiert einfach den Bildschirm oder - noch schlimmer - das Display der Kamera mit dem Smartphone ab. Dabei bieten zumindest die gängigen RAW-Konverter und Bildanzeigeprogramme die Möglichkeit, via externen Programmen einen einfachen und sofortigen Bilderversand zu realisieren.

Damit nun die Übertragung möglichst einfach zum Smartphone des Models oder Auftraggebers erfolgen kann, bietet sich an die Datei auf einen eigenen Web-Speicherplatz hochzuladen und die Datei dort per Link via QR-Code erreichbar zu machen. Der QR-Code kann dann mit einer einschlägigen Barcode-App (z.B. Barcode Scanner) gescannt werden und die Datei damit auf das Smartphone übertragen werden. Somit wäre eine Übertragung innerhalb von wenigen Sekunden möglich, abhängig von der Größe der Datei und der Internetanbindung von Sender (Rechner) und Empfänger (Smartphone).

Des Weiteren kann solch eine Anwendung auch dazu dienen nicht vor Ort befindliche Auftraggeber/Kunden mit einem aktuellen Stand der Dinge zu versorgen. Dazu bedarf es lediglich eines Verzeichnisses auf dem FTP-Server und eines Galerie-Skripts (z.b. Single File PHP Gallery oder Fotopholder). Zunächst wird das Skript in dem Verzeichnis installiert, dann werden per Bilderversand-Anwendung gezielt ausgesuchte Bilder in das gleiche Verzeichnis übertragen. Der Kunde kann dann über einen Link auf das Verzeichnis die jeweils aktuell übertragenen Bilder einsehen.

Seit iOS 11 und Android 8 können die Standard-Kamera-Apps auch QR-Codes scannen und den zugehörigen Link im Browser öffnen. Es ist also nicht unbedingt nötig eine extra App zu installieren.

ShareQik

Oberfläche
Einstellungen

Auf Basis dieser Anforderungen wurde ShareQik entwickelt. Es handelt sich dabei um ein Windows-Programm das für die TLS-Funktionalität (FTP via Transport Layer Security) zusätzlich die Bibliotheken libeay32.dll und ssleay32.dll aus dem OpenSSL-Paket benötigt.

ShareQik-Eigenschaften:

  • Nimmt einen Dateinamen über die Kommandozeile entgegen
  • Alternativ kann via Drag&Drop eine Datei auf die Oberfläche gezogen werden
  • Oder es kann per Doppelklick auf den QR-Anzeigebereich eine Datei ausgewählt werden
  • Hochladen der Datei auf eigenen Web-Speicherplatz
  • Wahlweise per FTP oder per FTPS (FTP via TLS)
  • FTP-Server, Port, User, Kennwort und Serververzeichnis einstellbar
  • Hinzufügen von zufälligen Verzeichnisnamen (Verzeichnisse werden angelegt)
  • Basispfad für den Link einstellbar
  • Generiert einen QR-Code mit der URL (Link) zur Datei
  • Jede Datei bekommt einen individuellen Dateinamen der den Originaldateinamen enthält
  • Wahlweise kann die URL auch automatisch in die Zwischenablage kopiert werden
  • Wahlweise automatisches Beenden nach einstellbarer Zeit
  • Wahlweise löschen der hochgeladenen Dateien beim Verlassen des Programms
  • Optional verkleinern von JPG-Datei (Prozent) vor dem Hochladen
  • Automatische Sprachumschaltung Deutsch/Englisch der Oberfläche
  • Einstellungen werden in shareqik_settings.ini gespeichert
  • FTP/FTPS-Protokollierung per Settings-Datei einstellbar

Installation

Die Datei shareqik.exe ist aus der ZIP-Datei zu entpacken und kann dann an einen beliebigen Ort auf der Festplatte kopiert werden. Anschließend sollte eine Desktop-Verknüpfung zu dieser EXE-Datei angelegt werden. Beim erstmaligen Aufruf oder falls die shareqik_settings.ini fehlen sollte, wird automatisch der Einstellungsdialog gestartet. Möchte man TLS einsetzen, so sind libeay32.dll und ssleay32.dll ins gleiche Verzeichnis wie die shareqik.exe zu kopieren.

Einstellungen

  • FTP
    • Server
    • Port
    • TLS benutzen
    • Benutzername
    • Kennwort (wird nicht angezeigt)
    • Serververzeichnis
    • Hinzufügen von zufälligen Verzeichnisnamen (Verzeichnisse werden angelegt)
  • Allgemein
    • Linkbasis
    • Automatisch beenden nach n Sekunden
    • Verkleinern von JPG-Datei (Prozent) vor dem Hochladen
    • Kopiere Link in die Zwischenablage
    • Lösche hochgeladene Dateien vom Server beim Exit

Integration in Lightroom

Integration in Lightroom

Lightroom (LR) bietet die Möglichkeit, zwei externe Editoren mit Dateien aus LR zu versorgen. Üblicherweise hat man Photoshop etc. als ersten Editor eingetragen. ShareQik kann man dann als zweiten Editor definieren und die aktuelle Datei übergeben lassen. Den zweiten Editor kann man mit der Tastenkombination STRG+ALT+E starten (oder über das Menü).

Kommandozeilenparameter

shareqik.exe nimmt einen Dateinamen mit vollständigem Pfad entgegen und verarbeitet diese Datei automatisch. Wird kein Dateinamen übergeben, so wird die Oberfläche gezeigt und man kann per Drap&Drop oder per Dateiauswahl eine Datei verarbeiten lassen.

Versionen

  • 14.07.2019 Zusatzverzeichnisse mit zufälligen Namen
  • 11.05.2019 Artikel in drf-FAQ
  • 07.05.2019 Beginn Entwicklung

Lizenz

ShareQik ist Freeware. Autor ist Andreas Niggemann.

Hinweise

  • FTP ist per se unsicher da das Kennwort im Klartext übertragen wird. TLS einschalten hilft (sofern der Anbieter des Web-Speicherplatzes das unterstützt).
  • ShareQik hat eine automatische Sprachumschaltung. Auf deutschen Windows-Systemen erscheint eine deutschsprachige Oberfläche, auf allen anderen Systemen eine englischsprachige. Die Sprachumschaltung kann man abschalten wenn man in der shareqik_settings.ini im Kapitel [Common] die Zeile AutoLanguage=0 einfügt. Dann wird immer die englischsprachige Oberfläche angezeigt.
  • Die shareqik_settings.ini befindet sich im COMMON_APPDATA-Verzeichnis im Unterverzeichnis "Shareqik". COMMON_APPDATA ist in vielen Fällen "C:\ProgramData".
  • Falls es zu FTP-Problemen kommt, kann man in der shareqik_settings.ini einen Protokollmodus aktivieren. Einfach dazu im Kapitel [Common] eine Zeile mit Log=1 hinzufügen. Die ftp.log ist dann im gleichen Verzeichnis wie die shareqik_settings.ini zu finden.
  • Wird nur die Hochlade-Funktionalität benötigt und keinen Wert auf den QR-Code gelegt, so kann man in den Einstellungen die Zeit für das automatische Beenden auf 5 Sekunden heruntersetzen. Man bekommt dann den QR-Code angezeigt als Signal, dass die Datei auf dem FTP-Server angekommen ist, ShareQik beendet sich dann aber gleich wieder selbst. Den Haken bei "Lösche hochgeladene Dateien vom Server bei Exit" sollte man dann aber nicht setzen.

ShareQik PHP

Mit geringen Komforteinbußen ist die gleiche Funktionalität auch per Online-Skript realisierbar. Hierfür gibt es das PHP-Skript ShareQikPHP. Dieses Skript verwendet phpqrcode.php von Dominik Dzienia.

Installation

In der Datei config_shareqik.php sind im Abschnitt Configuration der Zugangsschlüssel (key) sowie das Upload-Verzeichnis auf dem Web-Server einzutragen. Sollen andere Dateien als PNG, JPG, JPEG oder GIF übertragen werden, so kann man auch die Extension-Zeichenkette anpassen. Per FTP sind dann die PHP-Dateien shareqik.php, config_shareqik.php und phpqrcode.php in ein Verzeichnis auf dem Web-Server zu übertragen. Ebenso ist das Upload-Verzeichnis anzulegen (inklusive Unterverzeichnis). Um das Upload-Verzeichnis abzusichern, kann man die htaccess-Datei hochladen und in .htaccess (Punkt htaccess) umbenennen.

Benutzung

Oberfläche ShareQikPHP

Falls das Skript beispielsweise im Verzeichnis sqdir auf dem testserver.xyz eingespielt wurde kann man es mit: https://testserver.xyz/sqdir/shareqik.php aufrufen. Hier kann man nun eine Datei auswählen und (optional) einen Zugangsschlüssel eingeben. Nach dem Druck auf "Upload" erscheint dann unmittelbar der QR-Code der zur Datei führt. Zusätzlich kann man einen Kommentar mitschicken, sofern das Feld in der Konfiguration aktiviert ist. Außerdem wird die URL unterhalb des QR-Codes angezeigt und automatisch selektiert so dass man sie direkt in die Zwischenablage übernehmen kann. Damit kann man die URL auch per EMail etc. versenden.

Ebenso ist es möglich via CURL von der Kommandozeile Bilder hochzuladen und eine Datei mit dem QR-Code zu erhalten.
Beispiel:
curl -F "submit=submit" -F "fileToUpload=@bild1.jpg" https://testserver.xyz/sqdir/shareqik.php -o qrcode.png
Beispiel mit Key 123456:
curl -F "key=123456" -F "submit=submit" -F "fileToUpload=@bild1.jpg" https://testserver.xyz/sqdir/shareqik.php -o qrcode.png

Auf Smartphones oder Tablets kann man die URL als Verknüpfung auf den Startbildschirm legen. Zumindest unter iOS und Android ist es dann möglich als Quelle nicht nur eine Datei, sondern auch direkt die Kamera auszuwählen und somit mit zwei Klicks das Bild per QR-Code zur Verfügung zu stellen.

One-Time Access (OTA)

OTA ist eine Möglichkeit einem Gast kurzzeitig eine Upload-Gelegenheit in ShareQik einzuräumen auch wenn der Gast selbst kein ShareQik zur Verfügung hat. In diesem Fall generiert ShareQik einen temporären Zugangscode und stellt diesen per QR-Code zur Verfügung. Über diesen Zugangscode kann der Gast dann Dateien per ShareQik hochladen bis die Zeitbegrenzung des OTA-Zugang abgelaufen ist. OTA-Ablauf:

  • Der Host gibt den speziellen OTA-Schlüssel im Schlüsselfeld ein
  • Der Host drückt den Upload-Knopf ohne eine Datei oder die Kamera mit dem Browse-Knopf auszuwählen
  • ShareQik generiert einen QR-Zugangscode
  • Der Gast scannt diesen QR-Code, wird zur Upload-Seite von ShareQik weitergeleitet und lädt dort die Datei hoch

Sicherheitshinweise

ShareQikPHP bietet über den Key (Zugangsschlüssel) nur eine rudimentäre Absicherung gegen unerwünschte Benutzung. Das weiteren sollte man das Upload-Verzeichnis per htaccess-Datei absichern. Weitere Hinweise dazu gibt es hier: Sicherer Dateiupload

Versionen

  • 24.09.2019 Option für zeitlich begrenzten Gast-Upload
  • 23.09.2019 Getrennte PHP-Datei für die Konfiguration
  • 21.09.2019 Eingabefeld für Kommentare
  • 18.09.2019 Protokollierung optional
  • 17.09.2019 HTML neu, Fehlermeldungen in UI integriert, Download per GET-PHP
  • 14.09.2019 HTML neu, Anzeige der URL mit Selektion für Zwischenablage
  • 06.09.2019 Option um alte hochgeladene Dateien zu löschen
  • 03.09.2019 Valides HTML
  • 02.09.2019 Projekt auf GitLab
  • 31.08.2019 Anpassung Anzeige für mobile Endgeräte
  • 18.08.2019 Beginn Entwicklung

Links