wulfgarpro / History Sync
Licence: mit
An oh-my-zsh plugin for GPG encrypted internet synchronised Zsh history, with Git.
Stars: ✭ 135
Programming Languages
shell
77523 projects
Labels
Projects that are alternatives of or similar to History Sync
zsh-ssh-agent
Ssh-agent management for zsh
Stars: ✭ 19 (-85.93%)
Mutual labels: zsh, oh-my-zsh, zsh-plugin
Zsh Vi Mode
💻 A better and friendly vi(vim) mode plugin for ZSH.
Stars: ✭ 181 (+34.07%)
Mutual labels: zsh, oh-my-zsh, zsh-plugin
Fz
Cli shell plugin, the missing fuzzy tab completion feature of z jump around command.
Stars: ✭ 359 (+165.93%)
Mutual labels: zsh, oh-my-zsh, zsh-plugin
Zsh Nvm
Zsh plugin for installing, updating and loading nvm
Stars: ✭ 1,670 (+1137.04%)
Mutual labels: zsh, oh-my-zsh, zsh-plugin
Kube Aliases
Kubernetes Aliases and Bash Functions
Stars: ✭ 40 (-70.37%)
Mutual labels: zsh, oh-my-zsh, zsh-plugin
Dotfiles
What tools and plugins I use for web development?
Stars: ✭ 73 (-45.93%)
Mutual labels: zsh, oh-my-zsh
Zsh Abbrev Alias
This zsh plugin provides functionality similar to Vim's abbreviation expansion.
Stars: ✭ 84 (-37.78%)
Mutual labels: zsh, zsh-plugin
Honukai Iterm Zsh
Honukai theme and colors for Oh My ZSH and iTerm
Stars: ✭ 1,034 (+665.93%)
Mutual labels: zsh, oh-my-zsh
Pi
A minimalist zsh theme with git status decorations
Stars: ✭ 76 (-43.7%)
Mutual labels: zsh, oh-my-zsh
Zsh Symfony Completion
(Oh My) ZSH symfony/console Completion Plugin
Stars: ✭ 50 (-62.96%)
Mutual labels: zsh, oh-my-zsh
Awesome Zsh Plugins
A collection of ZSH frameworks, plugins, themes and tutorials.
Stars: ✭ 10,129 (+7402.96%)
Mutual labels: oh-my-zsh, zsh-plugin
Zui
⬢ Zsh User Interface library – CGI+DHTML-like rapid application development with Zsh
Stars: ✭ 95 (-29.63%)
Mutual labels: zsh, zsh-plugin
Zsh Snap
⚡️ Znap! A fast & light-weight plugin manager & Git repo manager for Zsh.
Stars: ✭ 98 (-27.41%)
Mutual labels: zsh, zsh-plugin
Iterm Tab Color Oh My Zsh
Oh My Zsh plugin for setting iTerm2's custom tab colors
Stars: ✭ 21 (-84.44%)
Mutual labels: zsh, oh-my-zsh
history-sync
An Oh My Zsh plugin for GPG encrypted, Internet synchronized Zsh history using Git.
Installation
sudo apt install gpg git
git clone [email protected]:wulfgarpro/history-sync.git
cp -r history-sync ~/.oh-my-zsh/plugins
Then open .zshrc file and append history-sync to the plugin line:
plugins=(... history-sync)
And finally, reload zsh:
zsh
Usage
Before history-sync can be useful, you need two things:
- A hosted git repository, e.g. GitHub, Bitbucket
- Ideally with ssh key access
- A configured gpg key pair for encrypting and decrypting your history file and the enrolled public keys of all the nodes in your web of trust
- See the GnuPG documentation for more information since it's outside the scope of this README
Once you have these things in place, it's just a matter of updating the needed environment variables to suit your configuration:
- ZSH_HISTORY_FILE: your zsh_history file location
- ZSH_HISTORY_PROJ: your git project for housing your zsh_history file
- ZSH_HISTORY_FILE_ENC: your encrypted zsh_history file location
- GIT_COMMIT_MSG: your default message when pushing to $ZSH_HISTORY_PROJ
Which have the following defaults:
ZSH_HISTORY_FILE_NAME=".zsh_history"
ZSH_HISTORY_FILE="${HOME}/${ZSH_HISTORY_FILE_NAME}"
ZSH_HISTORY_PROJ="${HOME}/.zsh_history_proj"
ZSH_HISTORY_FILE_ENC_NAME="zsh_history"
ZSH_HISTORY_FILE_ENC="${ZSH_HISTORY_PROJ}/${ZSH_HISTORY_FILE_ENC_NAME}"
GIT_COMMIT_MSG="latest $(date)"
and running the commands:
# pull history
zhpl
# push history
zhps -r "John Brown" -r 876T3F78 -r ...
# pull and push history
zhsync
Demo
Check out the screen cast.
Licence
MIT @ James Fraser
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].