MCPcopy
hub / github.com/moonD4rk/HackBrowserData / rootCmd

Function rootCmd

cmd/hack-browser-data/main.go:14–49  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

12var verbose bool
13
14func rootCmd() *cobra.Command {
15 root := &cobra.Command{
16 Use: "hack-browser-data",
17 Short: "A CLI tool for decrypting and exporting browser data",
18 Long: `hack-browser-data decrypts and exports browser data from Chromium-based
19browsers and Firefox on Windows, macOS, and Linux.
20
21GitHub: https://github.com/moonD4rk/HackBrowserData`,
22 PersistentPreRun: func(cmd *cobra.Command, args []string) {
23 if verbose {
24 log.SetVerbose()
25 }
26 },
27 }
28
29 root.CompletionOptions.HiddenDefaultCmd = true
30
31 root.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, "enable debug logging")
32
33 dump := dumpCmd()
34 root.AddCommand(dump, dumpKeysCmd(), archiveCmd(), restoreCmd(), listCmd(), versionCmd())
35
36 // Default to dump when no subcommand is given.
37 // Copy dump flags to root so that `hack-browser-data -b chrome`
38 // works the same as `hack-browser-data dump -b chrome`.
39 root.RunE = func(cmd *cobra.Command, args []string) error {
40 return dump.RunE(dump, args)
41 }
42 dump.Flags().VisitAll(func(f *pflag.Flag) {
43 if root.Flags().Lookup(f.Name) == nil {
44 root.Flags().AddFlag(f)
45 }
46 })
47
48 return root
49}
50
51func main() {
52 configureDoubleClickMode()

Callers 1

mainFunction · 0.85

Calls 7

SetVerboseFunction · 0.92
dumpCmdFunction · 0.85
dumpKeysCmdFunction · 0.85
archiveCmdFunction · 0.85
restoreCmdFunction · 0.85
listCmdFunction · 0.85
versionCmdFunction · 0.85

Tested by

no test coverage detected