feat(restore): cross-platform restore via dump engine rebuild (#606)

Restore previously required the dump's origin OS, overlaying keys onto locally-discovered browsers. It now rebuilds Chromium engines from the dump's vaults (v2 adds engine kind), so copied data or an archive zip decrypts on any OS.
This commit is contained in:
moonD4rk
2026-06-07 22:03:46 +08:00
parent cd0b2daaf3
commit 6d0efadb59
11 changed files with 496 additions and 189 deletions
+3
View File
@@ -91,9 +91,12 @@ func discoverFromConfigs(configs []types.BrowserConfig, opts DiscoverOptions) ([
}
// KeyManager is implemented by installations accepting external master-key retrievers (Chromium only).
// BrowserKey/Kind expose the identity a portable dump needs to rebuild the engine off the platform table.
type KeyManager interface {
SetRetrievers(masterkey.Retrievers)
ExportKeys() (masterkey.MasterKeys, error)
BrowserKey() string
Kind() types.BrowserKind
}
// KeychainPasswordReceiver is implemented by installations that need the macOS login password (Safari only).