Files
HackBrowserData/browserdata/browser_data.go
T
Roger b680d43caa feat: add types.Category, data models, and browserdata.Data (#512)
* feat: add new types.Category, data models, and browserdata.Data

Phase 1 of architecture refactoring (RFC-001/RFC-002):

- types/category.go: Category enum (9 values) replacing DataType (22 values)
  with String(), IsSensitive(), AllCategories, NonSensitiveCategories()
- types/models.go: browser-agnostic data models (LoginEntry, CookieEntry,
  BookmarkEntry, HistoryEntry, DownloadEntry, CreditCardEntry, StorageEntry,
  ExtensionEntry) — no encrypted fields, no browser prefixes
- types/category_test.go: tests for Category methods
- browserdata/browser_data.go: new Data struct with typed slices,
  coexists with old BrowserData during migration

* docs: replace Coveralls badge with Codecov in README

* fix: apply review suggestions (is_http_only tag, json tags on Data)
2026-04-04 01:41:00 +08:00

19 lines
955 B
Go

package browserdata
import "github.com/moond4rk/hackbrowserdata/types"
// Data holds all extracted data from one browser profile.
// Each field is a slice that may be nil (not supported) or empty (no data found).
// This struct will replace the current BrowserData once the refactoring is complete.
type Data struct {
Passwords []types.LoginEntry `json:"passwords,omitempty"`
Cookies []types.CookieEntry `json:"cookies,omitempty"`
Bookmarks []types.BookmarkEntry `json:"bookmarks,omitempty"`
Histories []types.HistoryEntry `json:"histories,omitempty"`
Downloads []types.DownloadEntry `json:"downloads,omitempty"`
CreditCards []types.CreditCardEntry `json:"credit_cards,omitempty"`
Extensions []types.ExtensionEntry `json:"extensions,omitempty"`
LocalStorage []types.StorageEntry `json:"local_storage,omitempty"`
SessionStorage []types.StorageEntry `json:"session_storage,omitempty"`
}