hishtory --> hiSHtory

This commit is contained in:
David Dworken 2022-09-24 15:30:51 -07:00
parent 63625e94fe
commit b0c4780d48
3 changed files with 16 additions and 16 deletions

View File

@ -1,4 +1,4 @@
# hishtory: Better Shell Hishtory
# hiSHtory: Better Shell History
`hishtory` is a better shell history. It stores your shell history in context (what directory you ran the command it, whether it succeeded or failed, how long it took, etc). This is all stored in locally and end-to-end encrypted for syncing to to all your other computers. All of this is easily queryable via the `hishtory` CLI. This means from your laptop, you can easily find that complex bash pipeline you wrote on your server, and see the context in which you ran it.
@ -12,7 +12,7 @@ curl https://hishtory.dev/install.py | python3 -
At this point, `hishtory` is already managing your shell history. Give it a try with `hishtory query` and see below for more details on the advanced query features.
Then to install `hishtory` on your other computers, you need your secret key. Get this by running `hishtory status`. Once you have it, you follow similar steps to install hishtory on your other computers:
Then to install `hishtory` on your other computers, you need your secret key. Get this by running `hishtory status`. Once you have it, you follow similar steps to install hiSHtory on your other computers:
```bash
curl https://hishtory.dev/install.py | python3 -
@ -41,7 +41,7 @@ For true power users, you can even query in SQLite via `sqlite3 ~/.hishtory/.his
### Enable/Disable
If you want to temporarily turn on/off hishtory recording, you can do so via `hishtory disable` (to turn off recording) and `hishtory enable` (to turn on recording). You can check whether or not `hishtory` is enabled via `hishtory status`.
If you want to temporarily turn on/off hiSHtory recording, you can do so via `hishtory disable` (to turn off recording) and `hishtory enable` (to turn on recording). You can check whether or not `hishtory` is enabled via `hishtory status`.
### Deletion
@ -78,8 +78,8 @@ When the user runs `hishtory query`, it retrieves all unread blobs from the back
## Security
`hishtory` is written in Go and uses AES-GCM for end-to-end encrypting your hishtory entries while syncing them. The binary is reproducibly built and [SLSA Level 3](https://slsa.dev/) to make it easy to verify you're getting the code contained in this repository.
`hishtory` is written in Go and uses AES-GCM for end-to-end encrypting your history entries while syncing them. The binary is reproducibly built and [SLSA Level 3](https://slsa.dev/) to make it easy to verify you're getting the code contained in this repository.
This all ensures that the minimalist backend cannot read your shell history, it only sees encrypted data.
If you find any security issues in hishtory, please reach out to `david@daviddworken.com`.
If you find any security issues in hiSHtory, please reach out to `david@daviddworken.com`.

View File

@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Hishtory: Better Shell History</title>
<title>hiSHtory: Better Shell History</title>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-144207374-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
@ -35,7 +35,7 @@
<!-- Navigation -->
<nav class="navbar navbar-expand-lg navbar-light fixed-top py-3" id="mainNav">
<div class="container">
<a class="navbar-brand js-scroll-trigger" href="#page-top">Hishtory</a>
<a class="navbar-brand js-scroll-trigger" href="#page-top">hiSHtory</a>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto my-2 my-lg-0">
<li class="nav-item">
@ -78,7 +78,7 @@
context (where did I run that command? what was the output of the command? how long did it take to run?) and it is easily
corrupted (open two terminals at once? Say goodbye to your shell history!).<br>
<br>
Hishtory keeps track of the command you ran, how long it took to run, whether it succeeded or failed, where you ran it, and on
hiSHtory keeps track of the command you ran, how long it took to run, whether it succeeded or failed, where you ran it, and on
what machine. It syncs this information across all your machines, so you can always find that useful shell pipeline you wrote a
month ago.</p>
</div>
@ -104,12 +104,12 @@
<div class="tab-content">
<div class="tab-pane active" id="install-first" role="tabpanel" aria-labelledby="home-tab">
<br>
To install hishtory on your first machine:<br>
To install hiSHtory on your first machine:<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;curl https://hishtory.dev/install.py | python3 -<br></code>
</div>
<div class="tab-pane" id="install-second" role="tabpanel" aria-labelledby="profile-tab">
<br>
To install hishtory on your second machine, you must first retrieve your secret key from first first machine. To do so, run
To install hiSHtory on your second machine, you must first retrieve your secret key from first first machine. To do so, run
<code>hishtory status</code>&nbsp;and copy your "Secret Key". Then to install it on your second machine:<br>
<code>&nbsp;&nbsp;&nbsp;&nbsp;curl https://hishtory.dev/install.py | python3 -<br>
&nbsp;&nbsp;&nbsp;&nbsp;hishtory init $YOUR_HISHTORY_SECRET</code>
@ -118,10 +118,10 @@
</div><br>
<h2 class="text-center mt-0">Usage</h2>
<ul>
<li>To query your hishtory: <code>hishtory query foo</code> or use the custom search atoms
<li>To query your hiSHtory: <code>hishtory query foo</code> or use the custom search atoms
<code>cwd:/etc/</code>,&nbsp;<code>exit_code:127</code>,&nbsp;<code>hostname:laptop</code>,&nbsp;<code>user:david</code></li>
<li>To dump all hishtory entries to stdout: <code>hishtory export</code></li>
<li>To temporarily turn on/off hishtory recording: <code>hishtory disable</code>&nbsp;/&nbsp;<code>hishtory enable</code></li>
<li>To dump all hiSHtory entries to stdout: <code>hishtory export</code></li>
<li>To temporarily turn on/off hiSHtory recording: <code>hishtory disable</code>&nbsp;/&nbsp;<code>hishtory enable</code></li>
<li>To update to the latest version: <code>hishtory update</code></li>
</ul>
</div>
@ -140,7 +140,7 @@
</div>
<div id="collapseZero" class="collapse show" aria-labelledby="headingZero" data-parent="#accordionExample">
<div class="card-body">
Hishtory hooks into your shell to record everything you could want to know about your shell history. It saves this data
hiSHtory hooks into your shell to record everything you could want to know about your shell history. It saves this data
in a local sqlite DB, and then syncs an encrypted copy of this DB with all your other computers.
</div>
</div>

View File

@ -81,7 +81,7 @@ func main() {
case "status":
ctx := hctx.MakeContext()
config := hctx.GetConf(ctx)
fmt.Printf("Hishtory: v0.%s\nEnabled: %v\n", lib.Version, config.IsEnabled)
fmt.Printf("hiSHtory: v0.%s\nEnabled: %v\n", lib.Version, config.IsEnabled)
fmt.Printf("Secret Key: %s\n", config.UserSecret)
if len(os.Args) == 3 && os.Args[2] == "-v" {
fmt.Printf("User ID: %s\n", data.UserId(config.UserSecret))
@ -94,7 +94,7 @@ func main() {
case "-h":
fallthrough
case "help":
fmt.Print(`hishtory: Better shell history
fmt.Print(`hiSHtory: Better shell history
Supported commands:
'hishtory query': Query for matching commands and display them in a table. Examples: