diff --git a/.golangci.yml b/.golangci.yml index 42aacfa..0d848ef 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -64,4 +64,14 @@ issues: linters: - 'unused' max-issues-per-linter: 0 - max-same-issues: 0 \ No newline at end of file + max-same-issues: 0 + +linters-settings: + depguard: + rules: + main: + files: + - $all + deny: + - pkg: "github.com/pkg/errors" + desc: Should be replaced by standard lib errors package diff --git a/README.md b/README.md index e782d45..0dbf33e 100644 --- a/README.md +++ b/README.md @@ -53,12 +53,13 @@ Based on Apple's security policy, some browsers **require a current user passwor | OperaGX | ✅ | ✅ | ✅ | ✅ | | Vivaldi | ✅ | ✅ | ✅ | ✅ | | CocCoc | ✅ | ✅ | ✅ | ✅ | +| Yandex | ✅ | ✅ | ✅ | ✅ | +| Arc | ✅ | ✅ | ✅ | ✅ | | Firefox | ✅ | ✅ | ✅ | ✅ | | Firefox Beta | ✅ | ✅ | ✅ | ✅ | | Firefox Dev | ✅ | ✅ | ✅ | ✅ | | Firefox ESR | ✅ | ✅ | ✅ | ✅ | | Firefox Nightly | ✅ | ✅ | ✅ | ✅ | -| Yandex | ✅ | ✅ | ✅ | ✅ | | Safari | ❌ | ❌ | ❌ | ❌ | ### Linux diff --git a/README_ZH.md b/README_ZH.md index 7781cd6..b7e2f00 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -39,24 +39,25 @@ 由于 MacOS 的安全性设置,基于 `Chromium` 内核浏览器解密时**需要当前用户密码** -| 浏览器 | 密码 | Cookie | 书签 | 历史记录 | -|:-------------------|:---:|:------:|:---:|:----:| -| Google Chrome | ✅ | ✅ | ✅ | ✅ | -| Google Chrome Beta | ✅ | ✅ | ✅ | ✅ | -| Chromium | ✅ | ✅ | ✅ | ✅ | -| Microsoft Edge | ✅ | ✅ | ✅ | ✅ | -| Brave | ✅ | ✅ | ✅ | ✅ | -| Opera | ✅ | ✅ | ✅ | ✅ | -| OperaGX | ✅ | ✅ | ✅ | ✅ | -| Vivaldi | ✅ | ✅ | ✅ | ✅ | -| Yandex | ✅ | ✅ | ✅ | ✅ | -| CocCoc | ✅ | ✅ | ✅ | ✅ | -| Firefox | ✅ | ✅ | ✅ | ✅ | -| Firefox Beta | ✅ | ✅ | ✅ | ✅ | -| Firefox Dev | ✅ | ✅ | ✅ | ✅ | -| Firefox ESR | ✅ | ✅ | ✅ | ✅ | -| Firefox Nightly | ✅ | ✅ | ✅ | ✅ | -| Safari | ❌ | ❌ | ❌ | ❌ | +| 浏览器 | 密码 | Cookie | 书签 | 历史记录 | +|:-------------------|:--:|:------:|:--:|:----:| +| Google Chrome | ✅ | ✅ | ✅ | ✅ | +| Google Chrome Beta | ✅ | ✅ | ✅ | ✅ | +| Chromium | ✅ | ✅ | ✅ | ✅ | +| Microsoft Edge | ✅ | ✅ | ✅ | ✅ | +| Brave | ✅ | ✅ | ✅ | ✅ | +| Opera | ✅ | ✅ | ✅ | ✅ | +| OperaGX | ✅ | ✅ | ✅ | ✅ | +| Vivaldi | ✅ | ✅ | ✅ | ✅ | +| CocCoc | ✅ | ✅ | ✅ | ✅ | +| Yandex | ✅ | ✅ | ✅ | ✅ | +| Arc | ✅ | ✅ | ✅ | ✅ | +| Firefox | ✅ | ✅ | ✅ | ✅ | +| Firefox Beta | ✅ | ✅ | ✅ | ✅ | +| Firefox Dev | ✅ | ✅ | ✅ | ✅ | +| Firefox ESR | ✅ | ✅ | ✅ | ✅ | +| Firefox Nightly | ✅ | ✅ | ✅ | ✅ | +| Safari | ❌ | ❌ | ❌ | ❌ | ### Linux diff --git a/browingdata/bookmark/bookmark.go b/browingdata/bookmark/bookmark.go index 0a508b5..364359b 100644 --- a/browingdata/bookmark/bookmark.go +++ b/browingdata/bookmark/bookmark.go @@ -10,10 +10,10 @@ import ( _ "github.com/mattn/go-sqlite3" "github.com/tidwall/gjson" - "github.com/moond4rk/HackBrowserData/item" - "github.com/moond4rk/HackBrowserData/log" - "github.com/moond4rk/HackBrowserData/utils/fileutil" - "github.com/moond4rk/HackBrowserData/utils/typeutil" + "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/log" + "github.com/moond4rk/hackbrowserdata/utils/fileutil" + "github.com/moond4rk/hackbrowserdata/utils/typeutil" ) type ChromiumBookmark []bookmark diff --git a/browingdata/browsingdata.go b/browingdata/browsingdata.go index 1693367..a1acdfe 100644 --- a/browingdata/browsingdata.go +++ b/browingdata/browsingdata.go @@ -3,18 +3,18 @@ package browingdata import ( "path" - "github.com/moond4rk/HackBrowserData/browingdata/bookmark" - "github.com/moond4rk/HackBrowserData/browingdata/cookie" - "github.com/moond4rk/HackBrowserData/browingdata/creditcard" - "github.com/moond4rk/HackBrowserData/browingdata/download" - "github.com/moond4rk/HackBrowserData/browingdata/extension" - "github.com/moond4rk/HackBrowserData/browingdata/history" - "github.com/moond4rk/HackBrowserData/browingdata/localstorage" - "github.com/moond4rk/HackBrowserData/browingdata/password" - "github.com/moond4rk/HackBrowserData/browingdata/sessionstorage" - "github.com/moond4rk/HackBrowserData/item" - "github.com/moond4rk/HackBrowserData/log" - "github.com/moond4rk/HackBrowserData/utils/fileutil" + "github.com/moond4rk/hackbrowserdata/browingdata/bookmark" + "github.com/moond4rk/hackbrowserdata/browingdata/cookie" + "github.com/moond4rk/hackbrowserdata/browingdata/creditcard" + "github.com/moond4rk/hackbrowserdata/browingdata/download" + "github.com/moond4rk/hackbrowserdata/browingdata/extension" + "github.com/moond4rk/hackbrowserdata/browingdata/history" + "github.com/moond4rk/hackbrowserdata/browingdata/localstorage" + "github.com/moond4rk/hackbrowserdata/browingdata/password" + "github.com/moond4rk/hackbrowserdata/browingdata/sessionstorage" + "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/log" + "github.com/moond4rk/hackbrowserdata/utils/fileutil" ) type Data struct { diff --git a/browingdata/cookie/cookie.go b/browingdata/cookie/cookie.go index 5cacad9..505a4fd 100644 --- a/browingdata/cookie/cookie.go +++ b/browingdata/cookie/cookie.go @@ -9,10 +9,10 @@ import ( // import sqlite3 driver _ "github.com/mattn/go-sqlite3" - "github.com/moond4rk/HackBrowserData/crypto" - "github.com/moond4rk/HackBrowserData/item" - "github.com/moond4rk/HackBrowserData/log" - "github.com/moond4rk/HackBrowserData/utils/typeutil" + "github.com/moond4rk/hackbrowserdata/crypto" + "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/log" + "github.com/moond4rk/hackbrowserdata/utils/typeutil" ) type ChromiumCookie []cookie diff --git a/browingdata/creditcard/creditcard.go b/browingdata/creditcard/creditcard.go index 45c12e9..e48f2ea 100644 --- a/browingdata/creditcard/creditcard.go +++ b/browingdata/creditcard/creditcard.go @@ -7,9 +7,9 @@ import ( // import sqlite3 driver _ "github.com/mattn/go-sqlite3" - "github.com/moond4rk/HackBrowserData/crypto" - "github.com/moond4rk/HackBrowserData/item" - "github.com/moond4rk/HackBrowserData/log" + "github.com/moond4rk/hackbrowserdata/crypto" + "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/log" ) type ChromiumCreditCard []card diff --git a/browingdata/download/download.go b/browingdata/download/download.go index e1a1134..b9b24c2 100644 --- a/browingdata/download/download.go +++ b/browingdata/download/download.go @@ -11,9 +11,9 @@ import ( _ "github.com/mattn/go-sqlite3" "github.com/tidwall/gjson" - "github.com/moond4rk/HackBrowserData/item" - "github.com/moond4rk/HackBrowserData/log" - "github.com/moond4rk/HackBrowserData/utils/typeutil" + "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/log" + "github.com/moond4rk/hackbrowserdata/utils/typeutil" ) type ChromiumDownload []download diff --git a/browingdata/extension/extension.go b/browingdata/extension/extension.go index 0f06e96..1773d0e 100644 --- a/browingdata/extension/extension.go +++ b/browingdata/extension/extension.go @@ -5,9 +5,9 @@ import ( "github.com/tidwall/gjson" - "github.com/moond4rk/HackBrowserData/item" - "github.com/moond4rk/HackBrowserData/log" - "github.com/moond4rk/HackBrowserData/utils/fileutil" + "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/log" + "github.com/moond4rk/hackbrowserdata/utils/fileutil" ) type ChromiumExtension []*extension diff --git a/browingdata/history/history.go b/browingdata/history/history.go index 0ac8d91..eafc8bf 100644 --- a/browingdata/history/history.go +++ b/browingdata/history/history.go @@ -9,9 +9,9 @@ import ( // import sqlite3 driver _ "github.com/mattn/go-sqlite3" - "github.com/moond4rk/HackBrowserData/item" - "github.com/moond4rk/HackBrowserData/log" - "github.com/moond4rk/HackBrowserData/utils/typeutil" + "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/log" + "github.com/moond4rk/hackbrowserdata/utils/typeutil" ) type ChromiumHistory []history diff --git a/browingdata/localstorage/localstorage.go b/browingdata/localstorage/localstorage.go index 6ce49b9..37cf7fe 100644 --- a/browingdata/localstorage/localstorage.go +++ b/browingdata/localstorage/localstorage.go @@ -11,10 +11,10 @@ import ( "golang.org/x/text/encoding/unicode" "golang.org/x/text/transform" - "github.com/moond4rk/HackBrowserData/item" - "github.com/moond4rk/HackBrowserData/log" - "github.com/moond4rk/HackBrowserData/utils/byteutil" - "github.com/moond4rk/HackBrowserData/utils/typeutil" + "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/log" + "github.com/moond4rk/hackbrowserdata/utils/byteutil" + "github.com/moond4rk/hackbrowserdata/utils/typeutil" ) type ChromiumLocalStorage []storage diff --git a/browingdata/password/password.go b/browingdata/password/password.go index e56c528..837e4ad 100644 --- a/browingdata/password/password.go +++ b/browingdata/password/password.go @@ -12,10 +12,10 @@ import ( _ "github.com/mattn/go-sqlite3" "github.com/tidwall/gjson" - "github.com/moond4rk/HackBrowserData/crypto" - "github.com/moond4rk/HackBrowserData/item" - "github.com/moond4rk/HackBrowserData/log" - "github.com/moond4rk/HackBrowserData/utils/typeutil" + "github.com/moond4rk/hackbrowserdata/crypto" + "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/log" + "github.com/moond4rk/hackbrowserdata/utils/typeutil" ) type ChromiumPassword []loginData diff --git a/browingdata/sessionstorage/sessionstorage.go b/browingdata/sessionstorage/sessionstorage.go index e6cf55b..adaa7d2 100644 --- a/browingdata/sessionstorage/sessionstorage.go +++ b/browingdata/sessionstorage/sessionstorage.go @@ -11,10 +11,10 @@ import ( "golang.org/x/text/encoding/unicode" "golang.org/x/text/transform" - "github.com/moond4rk/HackBrowserData/item" - "github.com/moond4rk/HackBrowserData/log" - "github.com/moond4rk/HackBrowserData/utils/byteutil" - "github.com/moond4rk/HackBrowserData/utils/typeutil" + "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/log" + "github.com/moond4rk/hackbrowserdata/utils/byteutil" + "github.com/moond4rk/hackbrowserdata/utils/typeutil" ) type ChromiumSessionStorage []session diff --git a/browser/browser.go b/browser/browser.go index 61c3b23..f5ce2fc 100644 --- a/browser/browser.go +++ b/browser/browser.go @@ -5,12 +5,12 @@ import ( "sort" "strings" - "github.com/moond4rk/HackBrowserData/browingdata" - "github.com/moond4rk/HackBrowserData/browser/chromium" - "github.com/moond4rk/HackBrowserData/browser/firefox" - "github.com/moond4rk/HackBrowserData/log" - "github.com/moond4rk/HackBrowserData/utils/fileutil" - "github.com/moond4rk/HackBrowserData/utils/typeutil" + "github.com/moond4rk/hackbrowserdata/browingdata" + "github.com/moond4rk/hackbrowserdata/browser/chromium" + "github.com/moond4rk/hackbrowserdata/browser/firefox" + "github.com/moond4rk/hackbrowserdata/log" + "github.com/moond4rk/hackbrowserdata/utils/fileutil" + "github.com/moond4rk/hackbrowserdata/utils/typeutil" ) type Browser interface { diff --git a/browser/browser_darwin.go b/browser/browser_darwin.go index 88b99be..9e2a697 100644 --- a/browser/browser_darwin.go +++ b/browser/browser_darwin.go @@ -3,7 +3,7 @@ package browser import ( - "github.com/moond4rk/HackBrowserData/item" + "github.com/moond4rk/hackbrowserdata/item" ) var ( @@ -73,6 +73,12 @@ var ( profilePath: yandexProfilePath, items: item.DefaultYandex, }, + "arc": { + name: arcName, + profilePath: arcProfilePath, + storage: arcStorageName, + items: item.DefaultChromium, + }, } firefoxList = map[string]struct { name string @@ -99,6 +105,7 @@ var ( vivaldiProfilePath = homeDir + "/Library/Application Support/Vivaldi/Default/" coccocProfilePath = homeDir + "/Library/Application Support/Coccoc/Default/" yandexProfilePath = homeDir + "/Library/Application Support/Yandex/YandexBrowser/Default/" + arcProfilePath = homeDir + "/Library/Application Support/Arc/User Data/Default" firefoxProfilePath = homeDir + "/Library/Application Support/Firefox/Profiles/" ) @@ -113,4 +120,5 @@ const ( vivaldiStorageName = "Vivaldi" coccocStorageName = "CocCoc" yandexStorageName = "Yandex" + arcStorageName = "Arc" ) diff --git a/browser/browser_linux.go b/browser/browser_linux.go index a989102..f6f56c7 100644 --- a/browser/browser_linux.go +++ b/browser/browser_linux.go @@ -3,7 +3,7 @@ package browser import ( - "github.com/moond4rk/HackBrowserData/item" + "github.com/moond4rk/hackbrowserdata/item" ) var ( diff --git a/browser/browser_windows.go b/browser/browser_windows.go index 6588eac..fab8a63 100644 --- a/browser/browser_windows.go +++ b/browser/browser_windows.go @@ -3,7 +3,7 @@ package browser import ( - "github.com/moond4rk/HackBrowserData/item" + "github.com/moond4rk/hackbrowserdata/item" ) var ( diff --git a/browser/chromium/chromium.go b/browser/chromium/chromium.go index 924264c..cc3ff11 100644 --- a/browser/chromium/chromium.go +++ b/browser/chromium/chromium.go @@ -5,10 +5,10 @@ import ( "path/filepath" "strings" - "github.com/moond4rk/HackBrowserData/browingdata" - "github.com/moond4rk/HackBrowserData/item" - "github.com/moond4rk/HackBrowserData/utils/fileutil" - "github.com/moond4rk/HackBrowserData/utils/typeutil" + "github.com/moond4rk/hackbrowserdata/browingdata" + "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/utils/fileutil" + "github.com/moond4rk/hackbrowserdata/utils/typeutil" ) type Chromium struct { diff --git a/browser/chromium/chromium_darwin.go b/browser/chromium/chromium_darwin.go index d6323c4..549b4be 100644 --- a/browser/chromium/chromium_darwin.go +++ b/browser/chromium/chromium_darwin.go @@ -13,8 +13,8 @@ import ( "golang.org/x/crypto/pbkdf2" - "github.com/moond4rk/HackBrowserData/item" - "github.com/moond4rk/HackBrowserData/log" + "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/log" ) var ( diff --git a/browser/chromium/chromium_linux.go b/browser/chromium/chromium_linux.go index 6ad2229..da23500 100644 --- a/browser/chromium/chromium_linux.go +++ b/browser/chromium/chromium_linux.go @@ -11,8 +11,8 @@ import ( keyring "github.com/ppacher/go-dbus-keyring" "golang.org/x/crypto/pbkdf2" - "github.com/moond4rk/HackBrowserData/item" - "github.com/moond4rk/HackBrowserData/log" + "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/log" ) func (c *Chromium) GetMasterKey() ([]byte, error) { diff --git a/browser/chromium/chromium_windows.go b/browser/chromium/chromium_windows.go index 1063e69..cee9a0b 100644 --- a/browser/chromium/chromium_windows.go +++ b/browser/chromium/chromium_windows.go @@ -9,10 +9,10 @@ import ( "github.com/tidwall/gjson" - "github.com/moond4rk/HackBrowserData/crypto" - "github.com/moond4rk/HackBrowserData/item" - "github.com/moond4rk/HackBrowserData/log" - "github.com/moond4rk/HackBrowserData/utils/fileutil" + "github.com/moond4rk/hackbrowserdata/crypto" + "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/log" + "github.com/moond4rk/hackbrowserdata/utils/fileutil" ) var errDecodeMasterKeyFailed = errors.New("decode master key failed") diff --git a/browser/consts.go b/browser/consts.go index 1fa73d1..b61738b 100644 --- a/browser/consts.go +++ b/browser/consts.go @@ -23,4 +23,5 @@ const ( qqBrowserName = "QQ" dcBrowserName = "DC" sogouName = "Sogou" + arcName = "Arc" ) diff --git a/browser/firefox/firefox.go b/browser/firefox/firefox.go index 2c329f6..708cd03 100644 --- a/browser/firefox/firefox.go +++ b/browser/firefox/firefox.go @@ -6,10 +6,10 @@ import ( "io/fs" "path/filepath" - "github.com/moond4rk/HackBrowserData/browingdata" - "github.com/moond4rk/HackBrowserData/item" - "github.com/moond4rk/HackBrowserData/utils/fileutil" - "github.com/moond4rk/HackBrowserData/utils/typeutil" + "github.com/moond4rk/hackbrowserdata/browingdata" + "github.com/moond4rk/hackbrowserdata/item" + "github.com/moond4rk/hackbrowserdata/utils/fileutil" + "github.com/moond4rk/hackbrowserdata/utils/typeutil" ) type Firefox struct { diff --git a/cmd/hack-browser-data/main.go b/cmd/hack-browser-data/main.go index 5fa6450..e425a31 100644 --- a/cmd/hack-browser-data/main.go +++ b/cmd/hack-browser-data/main.go @@ -5,9 +5,9 @@ import ( "github.com/urfave/cli/v2" - "github.com/moond4rk/HackBrowserData/browser" - "github.com/moond4rk/HackBrowserData/log" - "github.com/moond4rk/HackBrowserData/utils/fileutil" + "github.com/moond4rk/hackbrowserdata/browser" + "github.com/moond4rk/hackbrowserdata/log" + "github.com/moond4rk/hackbrowserdata/utils/fileutil" ) var ( diff --git a/go.mod b/go.mod index 814da09..839cea3 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/moond4rk/HackBrowserData +module github.com/moond4rk/hackbrowserdata go 1.20