feat: support firefox for mac

This commit is contained in:
ᴍᴏᴏɴD4ʀᴋ
2022-01-11 18:19:17 +08:00
parent 3c94e68780
commit 65b209f582
13 changed files with 726 additions and 138 deletions
+23 -11
View File
@@ -10,21 +10,30 @@ import (
)
var (
browserList = map[string]struct {
chromiumList = map[string]struct {
browserInfo *browserInfo
items []item
New func(browser *browserInfo, items []item) *chromium
// New func(browser *browserInfo, items []item) *firefox
}{
"chrome": {
browserInfo: chromeInfo,
items: defaultChromiumItems,
New: newBrowser,
// New: newBrowser,
},
"edge": {
browserInfo: edgeInfo,
items: defaultChromiumItems,
// New: newBrowser,
},
}
firefoxList = map[string]struct {
browserInfo *browserInfo
items []item
}{
"firefox": {
browserInfo: firefoxInfo,
items: defaultFirefoxItems,
},
// "edge": {
// browserInfo: edgeInfo,
// items: defaultChromiumItems,
// New: newBrowser,
// },
}
)
@@ -56,9 +65,8 @@ func (c *chromium) GetMasterKey() ([]byte, error) {
var chromeSalt = []byte("saltysalt")
// @https://source.chromium.org/chromium/chromium/src/+/master:components/os_crypt/os_crypt_mac.mm;l=157
key := pbkdf2.Key(chromeSecret, chromeSalt, 1003, 16, sha1.New)
c.masterKey = key
return c.masterKey, nil
c.browserInfo.masterKey = key
return c.browserInfo.masterKey, nil
}
var (
@@ -72,6 +80,10 @@ var (
storage: edgeStorageName,
profilePath: edgeProfilePath,
}
firefoxInfo = &browserInfo{
name: firefoxName,
profilePath: fireFoxProfilePath,
}
)
const (