mirror of https://github.com/curusarn/resh
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.7 KiB
54 lines
1.7 KiB
package cmd
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"os/exec"
|
|
"os/user"
|
|
|
|
"github.com/curusarn/resh/cmd/control/status"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
var sanitizeCmd = &cobra.Command{
|
|
Use: "sanitize",
|
|
Short: "produce a sanitized version of your RESH history",
|
|
Run: func(cmd *cobra.Command, args []string) {
|
|
exitCode = status.Success
|
|
usr, _ := user.Current()
|
|
dir := usr.HomeDir
|
|
|
|
fmt.Println()
|
|
fmt.Println(" HOW IT WORKS")
|
|
fmt.Println(" In sanitized history, all sensitive information is replaced with its SHA1 hashes.")
|
|
fmt.Println()
|
|
fmt.Println("Sanitizing ...")
|
|
fmt.Println(" * ~/resh_history_sanitized.json (full lengh hashes)")
|
|
execCmd := exec.Command("resh-sanitize", "-trim-hashes", "0", "--output", dir+"/resh_history_sanitized.json")
|
|
execCmd.Stdout = os.Stdout
|
|
execCmd.Stderr = os.Stderr
|
|
err := execCmd.Run()
|
|
if err != nil {
|
|
exitCode = status.Fail
|
|
}
|
|
|
|
fmt.Println(" * ~/resh_history_sanitized_trim12.json (12 char hashes)")
|
|
execCmd = exec.Command("resh-sanitize", "-trim-hashes", "12", "--output", dir+"/resh_history_sanitized_trim12.json")
|
|
execCmd.Stdout = os.Stdout
|
|
execCmd.Stderr = os.Stderr
|
|
err = execCmd.Run()
|
|
if err != nil {
|
|
exitCode = status.Fail
|
|
}
|
|
fmt.Println()
|
|
fmt.Println("Please direct all questions and/or issues to: https://github.com/curusarn/resh/issues")
|
|
fmt.Println()
|
|
fmt.Println("Please look at the resulting sanitized history using commands below.")
|
|
fmt.Println(" * Pretty print JSON")
|
|
fmt.Println(" cat ~/resh_history_sanitized_trim12.json | jq")
|
|
fmt.Println()
|
|
fmt.Println(" * Only show commands, don't show metadata")
|
|
fmt.Println(" cat ~/resh_history_sanitized_trim12.json | jq '.[\"cmdLine\"]")
|
|
fmt.Println()
|
|
},
|
|
}
|
|
|