Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support Arc browser for macOS #220

Merged
merged 4 commits into from Jun 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
12 changes: 11 additions & 1 deletion .golangci.yml
Expand Up @@ -64,4 +64,14 @@ issues:
linters:
- 'unused'
max-issues-per-linter: 0
max-same-issues: 0
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
3 changes: 2 additions & 1 deletion README.md
Expand Up @@ -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
Expand Down
37 changes: 19 additions & 18 deletions README_ZH.md
Expand Up @@ -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

Expand Down
8 changes: 4 additions & 4 deletions browingdata/bookmark/bookmark.go
Expand Up @@ -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
Expand Down
24 changes: 12 additions & 12 deletions browingdata/browsingdata.go
Expand Up @@ -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 {
Expand Down
8 changes: 4 additions & 4 deletions browingdata/cookie/cookie.go
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions browingdata/creditcard/creditcard.go
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions browingdata/download/download.go
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions browingdata/extension/extension.go
Expand Up @@ -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
Expand Down
6 changes: 3 additions & 3 deletions browingdata/history/history.go
Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions browingdata/localstorage/localstorage.go
Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions browingdata/password/password.go
Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions browingdata/sessionstorage/sessionstorage.go
Expand Up @@ -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
Expand Down
12 changes: 6 additions & 6 deletions browser/browser.go
Expand Up @@ -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 {
Expand Down
10 changes: 9 additions & 1 deletion browser/browser_darwin.go
Expand Up @@ -3,7 +3,7 @@
package browser

import (
"github.com/moond4rk/HackBrowserData/item"
"github.com/moond4rk/hackbrowserdata/item"
)

var (
Expand Down Expand Up @@ -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
Expand All @@ -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/"
)
Expand All @@ -113,4 +120,5 @@ const (
vivaldiStorageName = "Vivaldi"
coccocStorageName = "CocCoc"
yandexStorageName = "Yandex"
arcStorageName = "Arc"
)
2 changes: 1 addition & 1 deletion browser/browser_linux.go
Expand Up @@ -3,7 +3,7 @@
package browser

import (
"github.com/moond4rk/HackBrowserData/item"
"github.com/moond4rk/hackbrowserdata/item"
)

var (
Expand Down
2 changes: 1 addition & 1 deletion browser/browser_windows.go
Expand Up @@ -3,7 +3,7 @@
package browser

import (
"github.com/moond4rk/HackBrowserData/item"
"github.com/moond4rk/hackbrowserdata/item"
)

var (
Expand Down
8 changes: 4 additions & 4 deletions browser/chromium/chromium.go
Expand Up @@ -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 {
Expand Down
4 changes: 2 additions & 2 deletions browser/chromium/chromium_darwin.go
Expand Up @@ -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 (
Expand Down
4 changes: 2 additions & 2 deletions browser/chromium/chromium_linux.go
Expand Up @@ -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) {
Expand Down
8 changes: 4 additions & 4 deletions browser/chromium/chromium_windows.go
Expand Up @@ -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")
Expand Down
1 change: 1 addition & 0 deletions browser/consts.go
Expand Up @@ -23,4 +23,5 @@ const (
qqBrowserName = "QQ"
dcBrowserName = "DC"
sogouName = "Sogou"
arcName = "Arc"
)
8 changes: 4 additions & 4 deletions browser/firefox/firefox.go
Expand Up @@ -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 {
Expand Down
6 changes: 3 additions & 3 deletions cmd/hack-browser-data/main.go
Expand Up @@ -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 (
Expand Down
2 changes: 1 addition & 1 deletion go.mod
@@ -1,4 +1,4 @@
module github.com/moond4rk/HackBrowserData
module github.com/moond4rk/hackbrowserdata

go 1.20

Expand Down