refactor(browser): split installation and profile abstractions

A Chromium installation shares one master key across its profiles, but
modeling each profile as its own Browser re-derived the key per profile.
Browser now represents one installation holding its profiles and derives
the key once; new types.Profile/ExtractResult/CountResult carry per-profile
results.
This commit is contained in:
moonD4rk
2026-05-31 03:58:12 +08:00
parent d5dc81f1c0
commit c9f89dc682
28 changed files with 1359 additions and 1205 deletions
+1 -1
View File
@@ -35,7 +35,7 @@ func keysExportCmd() *cobra.Command {
Example: ` hack-browser-data keys export -o dump.json
hack-browser-data keys export -b chrome`,
RunE: func(cmd *cobra.Command, args []string) error {
browsers, err := browser.PickBrowsers(browser.PickOptions{
browsers, err := browser.DiscoverBrowsersWithKeys(browser.PickOptions{
Name: browserName,
KeychainPassword: keychainPw,
})