From 8b8a3d66cc8823a65387517171231b00237a1b20 Mon Sep 17 00:00:00 2001 From: Tim Peters Date: Sun, 10 Jul 2022 21:05:39 +0200 Subject: [PATCH] Initial commit --- README.md | 47 ++++++++++++++++++++++ img/Options.png | Bin 0 -> 17761 bytes img/Setup.png | Bin 0 -> 9101 bytes urlshortener | 103 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 150 insertions(+) create mode 100644 README.md create mode 100644 img/Options.png create mode 100644 img/Setup.png create mode 100755 urlshortener diff --git a/README.md b/README.md new file mode 100644 index 0000000..200fd9a --- /dev/null +++ b/README.md @@ -0,0 +1,47 @@ +# URL Shortener + +*URL Shortener* ist eine grafische Oberfläche für [Kutt](https://github.com/thedevs-network/kutt), um [Kurzlinks](https://de.wikipedia.org/wiki/Kurz-URL-Dienst) zu beliebigen URLs zu erzeugen. + +## Anwendung + +### Ersteinrichtung + +In der Konfigurationsdatei `~/.urlshortener` werden die URL der Kutt-Instanz sowie der API-KEY gespeichert. + +![](img/Setup.png) + +### Kurzlink erzeugen + +- **URL** (obligatorisch): Eine beliebige URL einer existierenden Webseite, für die ein Kurzlink erzeugt werden soll. Befindet sich in der Zwischenablage eine URL, so wird sie hier automatisch eingefügt. + +- **Kurzlink** (optional): Frei wählbar oder zufällig erzeugt. + +- **Wiederverwendung** (obligatorisch): Existiert bereits ein Kurzlink zu der URL, dann wird bei *true* kein neuer Kurzlink erzeugt, bei *false* wohl. + +- **Verfallszeit** (optional): Der Kurzlink wird gelöscht, wenn die Verfallszeit abgelaufen ist: ***5m*** für *5 Minuten*, ***2h*** für *2 Stunden*, ***30d*** für *30 Tage*. + +- **Passwort** (optional): Beim Aufruf des Kurzlinks wird nach einem Passwort gefragt. + +- **Beschreibung** (optional): Die Beschreibung wird in der Weboberfläche von Kutt angezeigt. + +![](img/Options.png) + +## Installation + +Folgende Programme müssen installiert sein, damit *URL Shortener* ordnungsgemäss funktionieren kann: + +- bash + +- yad + +- jq + +- curl + +- notify-send + +- xclip + + + +*URL Shortener* ist auch als [AppImage](https://z3h.de/ez) verfügbar. diff --git a/img/Options.png b/img/Options.png new file mode 100644 index 0000000000000000000000000000000000000000..78d4f26c8d2b699040ca0483733dbdf5f2cd6ef1 GIT binary patch literal 17761 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 Y@Ch~=ibNdrohe{n#pFaQg!TOX4=3tc9RL6T literal 0 HcmV?d00001 diff --git a/img/Setup.png b/img/Setup.png new file mode 100644 index 0000000000000000000000000000000000000000..bbd54d3ddea247ecad17760856625ab8c808aa99 GIT binary patch literal 9101 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 "$FILE_CONFIG" || exit + +} + +getConfig() { + + while true; do + [ -r "$FILE_CONFIG" ] || addConfig + HOST="$( cut -d\| -f1 < "$FILE_CONFIG" )" + API_KEY="$( cut -d\| -f2 < "$FILE_CONFIG" )" + if [ -z "$HOST" ] && [ -z "$API_KEY" ]; then + addConfig + else + break + fi + done +} + +getUrlFromClipboard() { + + xclip -o | grep -E "^https*://" + +} + +getConfig +FORM="$( \ + yad \ + --form \ + --title="$APP_NAME" \ + --text="URL und Einstellmöglichkeiten" \ + --field="URL" \ + --field="Kurzlink" \ + --field="Wiederverwendung:CB" \ + --field="Verfallszeit:CBE" \ + --field="Passwort:H" \ + --field="Beschreibung" \ + "$( getUrlFromClipboard )" \ + "" \ + "true\!false" \ + "\!7d\!30d\!180d\!365d" \ + "" \ + "" \ +)" + +[ -n "$FORM" ] && \ + addUrl \ + "$( echo "$FORM" | cut -d\| -f1 )" \ + "$( echo "$FORM" | cut -d\| -f2 )" \ + "$( echo "$FORM" | cut -d\| -f3 )" \ + "$( echo "$FORM" | cut -d\| -f4 )" \ + "$( echo "$FORM" | cut -d\| -f5 )" \ + "$( echo "$FORM" | cut -d\| -f6 )"