Linux am Dienstag baut Recall nach

Aus einer Laune heraus, haben wir heute Abend einfach mal eine RECALL Funktion für den Linux Desktop gebaut 😀

Linux am Dienstag baut Recall nach

Jemand sagte: „Das sind nur drei Zeilen Bashcode…“ und das stimmt auch, es sind sogar nur zwei, aber die alleine reichen leider nicht um eine vernünftige Recall Funktion zu bauen. Es waren dann doch 20 Zeilen Bash 😉

Wir brauchen 3 Teile, damit das funktioniert:

1. einen Systemd.Timer
2. das Recall Script selbst
3. die Recallsuche
4. einige Tools: flameshot, systemd, tesseract und zenity .

Die Tools einfach aus dem Repo installieren.

Dazu legen wir erst einmal .local/systemd/user/recall.service an:

[Unit]
DefaultDependencies=no
Description=Linux am Dienstag RECALL Experiment

[Service]
Type=oneshot
ExecStart=/home/<username>/.local/bin/recall

dann legen wir .local/systemd/user/recall.timer

[Unit]
Description=Timer für RECALL

[Timer]
OnCalendar=*-*-* *:*:0/10

[Install]
WantedBy=timers.target

Dann die beiden Scripte .local/bin/recall und .local/bin/recall-ui an:

#!/bin/bash

BILDER=$(cat $HOME/.config/recall/path)

if [ "$BILDER" == "" ]; then 
exit 1;
fi

mkdir -p $BILDER

SIZE=$(du -s $BILDER/|awk '{print $1;}')

if [ $SIZE -gt 1000000 ]; then 
DNAME=$(ls -d $BILDER/*png 2>&1 | head -n 1 )
if [[ "$DNAME" =~ ^/ ]]; then 
rm -f $DNAME
fi
fi

find $BILDER -iname "*txt" -ctime +180 -delete

WLISTE=$(wmctrl -l | grep -c -E -f $HOME/.config/recall/exclude )

if [ $WLISTE -eq 0 ]; then

FILENAME=$(flameshot full -p $BILDER/ 2>&1 | sed -e "s/flameshot: info: Capture saved as //g")
tesseract $FILENAME $FILENAME

fi

und die Such-UI:

#!/bin/bash

BILDER=$(cat $HOME/.config/recall/path)

if [ "$BILDER" == "" ]; then 
exit 1;
fi

SUCHE=$(zenity --entry --text="RECALL Suchbegriff" --entry-text="" --title="Suchbegriff")

TREFFER=$(grep -l -i "$SUCHE" $BILDER/*txt| sed -e "s/\.txt$//g")

eog -n -w -s $TREFFER

Führen „chmod 700 .local/bin/recall*“  aus und legen kurz die config an:

mkdir -p .config/recall
echo „/home/<username>/Bilder/recall“ > .config/recall/path
touch .config/recall/exclude

Jetzt starten wir den Timer:

systemctl –user enable –now recall.timer

Wenn man nicht möchte, daß bestimmt Inhalte erfasst werden, z.b. die Bankseite, dann tragt Ihr den Fenstertitle aus folgender Ausgabe:

[~]$ wmctrl -l
0x02e00007 0 linux-am-dienstag.de Desktop
0x02e0000f 0 linux-am-dienstag.de nemo-desktop
0x0460003a 0 linux-am-dienstag.de Bugzilla – Mozilla Thunderbird
0x0200002c 0 linux-am-dienstag.de Google News – Mozilla Firefox
0x0aa00004 0 linux-am-dienstag.de Easy Effects
0x020012e3 0 linux-am-dienstag.de Firefox – Share-Notice

Die beiden grün markierten Fenstertitle dienen jetzt mal als Beispiel. die tragt Ihr ohne irgendwas anderes in die Exclude-Datei ein z.b. mit echo „Easy Effects“ >> .config/recall/exclude oder einfach einem Texteditor 😉  Wichtig ist, das da nur zeilenweise ein Titel nach dem anderen drin steht.

Jetzt braucht es für due Suchmaske nur noch einen Shortcut und wir sind fertig:

Und das wars schon 😀 100% Lokal.

Jetzt noch ein Wort zum Platzverbrauch:

1. wenn das Recall Verzeichnis größer als 1 GB ist, werden die ersten Bilder gelöscht.
2. die erzeugten OCR Texte werden nach 180 Tagen automatisch gelöscht.

Beide Werte könnt Ihr in den Scripten einfach ändern, wie Ihr wollt.

Viel Spaß 😉

GitHub:

https://github.com/Cyborgscode/Linux-Recall-in-bash/

 

Linux am Dienstag – Programm für den 11.6.2024

Ja, auch wenn ich im Blog mal vergesse, Linux am Dienstag gibt es jeden Dienstag. Diesmal dabei „OpenSSL“.

Linux am Dienstag – Programm für den 11.6.2024

u.a. im Programm am 11.6.2024, ab 19 Uhr:

  • Fedora 39 – OpenSSL kann kein LEGACY mehr
  • Linux – OpenSSL Configs
  • Sicherheit – ARM warnt for 0-Day im GPU Treiber
  • CyberCrime – Wie man einen Kriminellenboss enttarnt
  • Sicherheit – min. 50.000 Schlösser mit festen Zugangsdaten

und andere IT-Newsbeiträge aus aller Welt. Wie jede Woche per Videokonferenz auf https://meet.cloud-foo.de/Linux .

Hinweis: Die bisherigen Vorträge findet man unter https://linux-am-dienstag.de/archiv/ .

OpenSSL in Fedora 39 kann keine Legacy-Policy mehr

Allem Anschein nach, wurde der Support für TLSv1 und TLSv1_1 in der aktuellen OpenSSL Version für Fedora 39 hard entfernt, denn entgegen der LEGACY policy von Fedora, funktioniert TLS1 gar nicht mehr.

OpenSSL in Fedora 39 kann keine Legacy-Policy mehr

Es gibt so Dinge, die man durch Update bereinigen kann, aber oft passiert leider auch das Gegenteil, man handelt sich Legacy Probleme ein. So geschehen durch ein Server-Update auf Fedora 39.

Der spezielle Server wird von Clienten kontaktiert, die aus Gründen mit TLS1 um die Ecke kamen. Leider mag Fedora das seit 33 gar nicht mehr und das ist auch gut so. Bislang half es, einfach die Crypto-Policy auf Fedora 32 zu stellen:

update-crypto-policies –set DEFAULT:FEDORA32

Die Hardcore version davon ist dann der LEGACY mode :

update-crypto-policies –set LEGACY

der wirklich uralte Sachen aktiviert. Bislang. Seit Fedora 39 kann man soviel Legacysupport aktivieren wie man will, es nutzt nichts mehr, TLS 1 und 1.1 funktionieren nicht mehr.

Dies hatte eine wünschenswerte Folge, denn nun war jemand gezwungen seine Legacy-Clienten zu Updaten, was schon seit Jahren hätte gemacht werden sollen 😉

Jetzt konnten wir endlich den Support auf DEFAULT stellen \o/

update-crypto-policies –set DEFAULT

Merke: Es ist nie gut eine Rückzugsmöglichkeit im Kryptobereich zu haben, weil dann die Updates nicht gemacht werden mit „Wieso, geht doch noch.“ ;D