ddworken / hishtory

Your shell history: synced, queryable, and in context
https://hishtory.dev
MIT License
2.46k stars 45 forks source link

A couple of feature suggestions #176

Open github-cli opened 7 months ago

github-cli commented 7 months ago

Using this great tool I came across a few features that I personally thought might be useful:

1.) restrict some users to certain machines and user(themselves) Use-Case would be the root user being able to read from all users but some users could only see their own entries. My personal use-case for this is that I use a publicly (authenticated only ofc) "accessible" VDI with a non-root user and read-only access to some file-systems, that user should not be able to see commands of the root user of other machines but on my main machine I would still like to view that users commands. Basically like a small permission system (currently I just use two different keys)

2.) For the server, it serves a 404 right now when accessed, it would be nice if I can have an option to enable a web-ui to view/filter/delete entries (if its an option, we can enable/disable it and put our own authentication method for everything except of /api in front of it so it wouldnt necessarily need authentication)

3.) global settings (either machine wide and/or per secret key) that can be overwritten, currently I need to configure settings per user but some defaults would be nice

4.) a set of customizable filters that allow certain commands to never be recorded (instead of having to delete them afterwards) or better even, be redacted (use-case would be commands that include keys or passwords)

5.) on the hishtory status output, add a status for the connection (maybe last successful connection or sth like that) and to which server the connection is set (api.hishtory.dev or mysh.example.com. Maybe even have an install option not for "offline" but "self-hosted" so it will not connect somewhere on its own

it is already a great tool and these are just one persons feature suggestions who can't contribute by creating a PR for it unfortunately