zsh-hooks based watcher for commands execution written in Go
This utility implements two calls: register an invocation (save-invocation mode) and inform (notify mode) that invocation has finished its work based on some configurable conditions
Possible option of integration of shnotify into your zsh config is shown in zsrch-hook-example.txt file
- Support notifications with Telegram
- Abstract notifiers
- Abstract storage
- Implement client-server mode (add shnotifyd service) and move command implementation there
- Sync/Async notification
- Add logging
- Support Linux notifications with CGO libnotify
- Support allow lists and ban lists for the programs
- Support direct call to monitor a single command execution (without setting up shell hook)
- Support non-file storage for invocations (sqlite for example)
- Scan executing line for secrets and prevent them to be stored and included into the notification
- Implement autocleaner for storage
- Linux OS push notifications (CGO required) - https://github.com/GNOME/libnotify
- Shell parser - https://github.com/mvdan/sh
- Notifiers - https://github.com/nikoksr/notify