Go to file
Holger Weber a3f5f4a5dc Load env variables and fix wrong text marker usage.
1. If environment variables are not set before by docker compose, program tries to get them from .env file.
2. Fix: If text marker was not found on bs page a wrong text marker was added.
2025-07-18 08:45:20 +02:00
.env.example Fixed domain names - bsbridge needs a separat subdomain 2025-07-16 10:28:04 +02:00
.gitignore Initial commit 2025-07-15 22:27:59 +02:00
bsupdate.py Load env variables and fix wrong text marker usage. 2025-07-18 08:45:20 +02:00
docker-compose.example Fixed domain names - bsbridge needs a separat subdomain 2025-07-16 10:28:04 +02:00
Dockerfile Initial commit 2025-07-15 22:27:59 +02:00
readme.md Fixed domain names - bsbridge needs a separat subdomain 2025-07-16 10:28:04 +02:00
req-short.py Load env variables and fix wrong text marker usage. 2025-07-18 08:45:20 +02:00
requirements.txt Load env variables and fix wrong text marker usage. 2025-07-18 08:45:20 +02:00

Ich möchte eine Möglichkeit haben, Informationen von meinem Smartphone aus mit dem Wiki oder etwas anderem zu teilen.

Generelle Aufgaben:

  • Link aus Webbrowser teilen -> automatische Eintragung ins Wiki
  • Datei aus z.B. Fotoverwaltung teilen -> autmoatische Ablage auf dem Server
    • Wiki-Artikel schneller erstellen (Bilder)

Konzept

  • Teilen über Android mittels App HTTP Request Shortcuts
  • Python Gegenstück auf Server um Dateien und Texte entgegen zu nehmen (Flask)

Konfiguration HTTP Request Shortcuts

Für das Basisbeispiel in welchem wir zum einen Dateien und zum anderen Links bzw. Texte teilen möchten, benötigen wir zwei Konfigurationseinträge bzw. HTTP Shortcuts.

Datei teilen

Sobald dieser Eintrag in die App hinzugefügt wurde, kann jede Datei auf den Server übertragen werden. Hierzu muss nur in der entsprechenden App "Teilen" ausgewählt und als Ziel HTTP Request Shortcuts gewählt werden.

  1. Neuen Eintrag über + hinzufügen
  2. Auswahl Von Grund auf erstellen
  3. Shortcut-Name: File to Server
  4. Allgemeine Einstellungen:
    1. Methode: Post
    2. URL: https://bsbridge.my-domain.com/upload
  5. Request Header:
    1. mittels + Eintrag für API-Token hinzufügen (siehe API_TOKEN Umgebungsvariable)
    2. Header: X-API-Token
    3. Wert: my-secret-token
  6. Request Body:
    1. Request-Body-Typ: Parameterliste (form-data)
    2. Eintrat mit + hinzufügen
      1. Einzelne Datei auswählen
      2. Parametername: file
      3. Daten-Quelle: Dateiauswahl öffnen
  7. Response-Einstellungen - Was passiert, wenn das Teilen ausgeführt wurde?
    1. Bei Erfolg: Benutzerdefinierte Nachricht anzeigen
    2. Nachricht: Wurde mit Server geteilt.
    3. Anzeige-Typ: Toast-PopUp

Alle nicht aufgeführten Einstellungen entsprechen den Standardeinstellungen und wurden nicht angepasst.

Um einen Text teilen zu können, muss zuvor noch eine Variable angelegt werden.

  1. drei Punkte oben Rechts auswählen (App)
  2. {} Variablen auswählen
  3. mit + neue Variable hinzufügen
  4. Statische Variable wählen
    1. Name: shared_text
    2. "Teilen..." erlauben anwählen

Im Anschluss einen neuen Eintrag hinzufügen. Dies geht am schnellsten in dem man den bereits angelegten Shortcut Dupliziert.

  1. vorhandenen Eintrag lange drücken
  2. Im Kontextmenü Duplizieren auswählen
  3. Shortcut-Name ändern z.B.: Link to Server
  4. Request-Body anpassen:
    1. Vorhandenen Eintrag löschen
    2. Neuen Eintrag über + hinzufügen
      1. Parametertyp: Text
      2. Parametername: text
      3. Wert: {{shared_text}} (mit allen Klammern)

Nun sollte es möglich sein, auch aus dem Browser heraus direkt einen Link zu teilen.

Python Gegenstück

Das Programm req-short.py hat die folgenden Aufgaben:

  • Kann Dateien am Endpunkt /upload entgegennehmen und im Ordner uploads speichern
  • Kann einen Text am Endpunkt /upload entgegennehmen und speichert diesen in log.txt
  • Zeigt eine Galerie der hochgeladenen Dateien bzw. nur der Bilder an
  • Der Upload ist über ein "API_TOKEN" gesichert (nur Basis)

Die Anwendung muss hinter einem Reverse-Proxy gehostet werden, um einen sicheren Zugriff über SSL zu haben.

Um einen geteilten Link bzw. einen Text in Book Stack zu hinterlegen wird bsupdate.py verwendet. Hierzu müssen die .env Variablen gesetzt werden.