refactor: make mmkv key optional; change cli params name
This commit is contained in:
@ -80,14 +80,16 @@ func readKeyFromMMKV(file string, logger *zap.Logger) ([]byte, error) {
|
||||
return deriveKey(buf)
|
||||
}
|
||||
|
||||
func OpenMMKV(vaultPath string, vaultKey string, logger *zap.Logger) error {
|
||||
filePath, fileName := filepath.Split(vaultPath)
|
||||
func OpenMMKV(mmkvPath string, key string, logger *zap.Logger) error {
|
||||
filePath, fileName := filepath.Split(mmkvPath)
|
||||
mgr, err := mmkv.NewManager(filepath.Dir(filePath))
|
||||
if err != nil {
|
||||
return fmt.Errorf("init mmkv manager: %w", err)
|
||||
}
|
||||
|
||||
streamKeyVault, err = mgr.OpenVaultCrypto(fileName, vaultKey)
|
||||
// If `vaultKey` is empty, the key is ignored.
|
||||
streamKeyVault, err = mgr.OpenVaultCrypto(fileName, key)
|
||||
|
||||
if err != nil {
|
||||
return fmt.Errorf("open mmkv vault: %w", err)
|
||||
}
|
||||
@ -109,6 +111,7 @@ func readKeyFromMMKVCustom(mid string) ([]byte, error) {
|
||||
return deriveKey(eKey)
|
||||
}
|
||||
|
||||
// / getRelativeMMKVDir get mmkv dir relative to file (legacy QQMusic for macOS behaviour)
|
||||
func getRelativeMMKVDir(file string) (string, error) {
|
||||
mmkvDir := filepath.Join(filepath.Dir(file), "../mmkv")
|
||||
if _, err := os.Stat(mmkvDir); err != nil {
|
||||
@ -131,7 +134,7 @@ func getDefaultMMKVDir() (string, error) {
|
||||
|
||||
mmkvDir := filepath.Join(
|
||||
homeDir,
|
||||
"Library/Containers/com.tencent.QQMusicMac/Data", // todo: make configurable
|
||||
"Library/Containers/com.tencent.QQMusicMac/Data",
|
||||
"Library/Application Support/QQMusicMac/mmkv",
|
||||
)
|
||||
if _, err := os.Stat(mmkvDir); err != nil {
|
||||
|
Reference in New Issue
Block a user