Awesome
<p align="center"> <br/> <br/> <br/> <img src="media/shellclear.svg" width="300"/> <br/> <br/> </p> <p align="center"> <br/> <b>:triangular_flag_on_post: Show sensitive command summary when open a new terminal</b> <br/> <b>:eyes: Clear sensitive commands from shell history</b> <br/> <b>:see_no_evil: Stash your history command before presentations OR screen sharing</b> <br/> <hr/> </p>Shellclear
The idea behind shellclear
is to provide a simple and fast way to secure you shell commands history
curl -sS https://raw.githubusercontent.com/rusty-ferris-club/shellclear/main/install/install.sh | bash
Or via brew
brew tap rusty-ferris-club/tap && brew install shellclear
</details>
<details>
<summary>Linux</summary>
curl -sS https://raw.githubusercontent.com/rusty-ferris-club/shellclear/main/install/install.sh | bash
</details>
<details>
<summary>Windows</summary>
iwr https://raw.githubusercontent.com/rusty-ferris-club/shellclear/main/install/install.ps1 -useb | iex
</details>
Or download the binary file from releases page.
</details>Setup your shell
<details> <summary>Bash</summary> Add the following to the end of ~/.bashrc:eval $(shellclear --init-shell)
</details>
<details>
<summary>Zsh</summary>
Add the following to the end of ~/.zshrc:
eval $(shellclear --init-shell)
</details>
<details>
<summary>PowerShell</summary>
Add the following to the end of your PowerShell configuration (find it by running $PROFILE):
Invoke-Expression (&shellclear --init-shell)
</details>
<details>
<summary>Fish</summary>
Add the following to the end of ~/.config/fish/config.fish:
shellclear --init-shell | source
</details>
Using
$ shellclear --help
Secure shell commands
USAGE:
shellclear [OPTIONS] [SUBCOMMAND]
OPTIONS:
--config-dir <CFG_DIR_PATH> Set configuration directory path
-h, --help Print help information
--init-shell Show sensitive findings summary for MOTD
--log <LEVEL> Set logging level [default: INFO] [possible values: OFF,
TRACE, DEBUG, INFO, WARN, ERROR]
--no-banner Don't show the banner
-V, --version Print version information
SUBCOMMANDS:
config Create custom configuration
find Find sensitive commands
help Print this message or the help of the given subcommand(s)
restore Restore backup history file
stash Stash history file
:eyes: Find Sensitive Commands
Sensitive data can be stored in your history file when export a token of something or running a script with token.
shellclear find --format table
:broom: Mask findings:
shellclear clear
:collision: Remove findings:
shellclear clear --remove
:luggage: Backup shell history before clear
shellclear clear --backup
:see_no_evil: Stash/Pop/Restore
You can stash your history shell by running the command:
shellclear stash
Now your history shell is clear, to bring back your history run the command:
shellclear stash pop
You can also restore your history backup file by running the command:
shellclear stash restore
:pencil2: External Configuration
Create custom configuration by running the command
shellclear config
Config command will create:
- Custom pattern template for adding a custom risky patterns
- Ignore file to allows you ignore specific pattern
Validate Config Files
Validate syntax file
shellclear config validate
Delete Config Folder
Validate syntax file
shellclear config delete
Ignores Pattern
Manage pattern ignores
shellclear config ignores
Examples
Thanks
To all Contributors - you make this happen, thanks!
Copyright
Copyright (c) 2022 @kaplanelad. See LICENSE for further details.