Once cached CLI-Befehle und erspart wiederholte Fingerabdrücke

Once: Cache CLI Commands

Once ist ein neues CLI-Tool, das die Ausgabe eines Befehls für eine festgelegte Dauer zwischenspeichert. Es läuft als kleiner Hintergrunddaemon und beantwortet wiederholte Aufrufe aus dem Speicher, bis der Eintrag abläuft. Typischer Einsatz: Secrets aus 1Password lesen, ohne jeden Zugriff per Fingerabdruck bestätigen zu müssen. Der Daemon beendet sich selbst, sobald der letzte Eintrag abgelaufen ist.

Der erste Aufruf verlangt deinen Fingerabdruck, jeder weitere Aufruf innerhalb von 8 Stunden mit demselben Tenant-Key nicht.
  1. aktau

    Diese Art von Tools ist sehr nützlich. Ich habe mein eigenes namens memo (das ist einfach ein Shell-Skript: https://github.com/aktau/dotfiles/blob/master/bin/memo).

    Es wurde in https://news.ycombinator.com/item?id=45670052 diskutiert, und andere haben ihre eigenen beigesteuert (wie bkt(1) und up(1)).

    Die Hauptunterschiede, die ich sehe:

    - memo muss nicht gebaut werden (es ist ein Shell-Skript)

    - once speichert den Output-Cache in einem laufenden Daemon. Im Gegensatz dazu legt memo die Inhalte unter /tmp ab, mit der bestmöglichen verfügbaren Kompression (es bevorzugt zstd). Das hat Vor- und Nachteile. Pareto-optimaler in puncto Sicherheit wäre vielleicht eine Art Session-Key und die Dateien auf der Festplatte erst zu komprimieren und dann zu verschlüsseln.

  2. __MatrixMan__

    Ich träume von Anwendungen, die ausreichend Metadaten über ihre Ausgaben preisgeben, sodass das OS wissen kann, ob ein erneuter Lauf nötig ist, ohne dass ich es angeben muss.

    Nixos macht das für Builds, aber ich habe es noch nicht auf beliebige Prozesse verallgemeinert gesehen.

  3. xuhu

    Ich wünschte, das würde funktionieren, ohne die Befehle mit "once" zu prefixen. Besonders wenn ich einen Befehl mit ausführlicher Ausgabe ausgeführt habe und danach entschieden habe, dass ich etwas daraus greppen möchte. Terminals haben die Ausgabe in ihrem Scrollback-Puffer, und vielleicht ist es nur eine Frage, einen "output"-Befehl zu schreiben, der mir erlaubt, Folgendes auszuführen:

    $ cmake ..

    $ output | grep "libssl version"

  4. deadbunny

    Ich wollte schon immer mal mit Cache-Invalidierung in meinem Terminal zu tun haben.

  5. giancarlostoro

    > Der typische Anwendungsfall: Geheimnisse aus 1Password lesen, ohne jeden einzelnen Lesezugriff mit dem Fingerabdruck bestätigen zu müssen.

    Äh, ich weiß ja nicht, Chef.

Mehr von diesem Tag

2026-10-09