Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var AllCategories = []Category{ Password, Cookie, Bookmark, History, Download, CreditCard, Extension, LocalStorage, SessionStorage, }
AllCategories returns all supported data categories.
Functions ¶
This section is empty.
Types ¶
type BookmarkEntry ¶ added in v0.5.0
type BookmarkEntry struct {
ID int64 `json:"id" csv:"id"`
Name string `json:"name" csv:"name"`
Type string `json:"type" csv:"type"`
URL string `json:"url" csv:"url"`
Folder string `json:"folder" csv:"folder"`
CreatedAt time.Time `json:"created_at" csv:"created_at"`
}
BookmarkEntry represents a single browser bookmark.
type BrowserConfig ¶ added in v0.5.0
type BrowserConfig struct {
Key string // lookup key: "chrome", "edge", "firefox"
Name string // display name: "Chrome", "Edge", "Firefox"
Kind BrowserKind // engine type
Storage string // macOS/Linux: keychain/GNOME label. Windows: ABE browser key (triggers reflective injection when populated).
UserDataDir string // base browser directory
}
BrowserConfig holds the declarative configuration for a browser installation.
type BrowserData ¶ added in v0.5.0
type BrowserData struct {
Passwords []LoginEntry
Cookies []CookieEntry
Histories []HistoryEntry
Downloads []DownloadEntry
Bookmarks []BookmarkEntry
CreditCards []CreditCardEntry
Extensions []ExtensionEntry
LocalStorage []StorageEntry
SessionStorage []StorageEntry
}
BrowserData holds all extracted browser data with typed slices.
type BrowserKind ¶ added in v0.5.0
type BrowserKind int
BrowserKind identifies the browser engine type.
const ( Chromium BrowserKind = iota ChromiumYandex // Chromium variant with different file names and extract logic ChromiumOpera // Opera: extensions in "opsettings" key, data in Roaming Firefox Safari )
type Category ¶ added in v0.5.0
type Category int
Category represents a kind of browser data. It is browser-agnostic — a password is a password regardless of which browser it came from.
func NonSensitiveCategories ¶ added in v0.5.0
func NonSensitiveCategories() []Category
NonSensitiveCategories returns categories that are safe to export by default.
func (Category) IsSensitive ¶ added in v0.5.0
IsSensitive returns whether the category contains sensitive data that requires explicit opt-in to export.
type CookieEntry ¶ added in v0.5.0
type CookieEntry struct {
Host string `json:"host" csv:"host"`
Path string `json:"path" csv:"path"`
Name string `json:"name" csv:"name"`
Value string `json:"value" csv:"value"`
IsSecure bool `json:"is_secure" csv:"is_secure"`
IsHTTPOnly bool `json:"is_http_only" csv:"is_http_only"`
HasExpire bool `json:"has_expire" csv:"has_expire"`
IsPersistent bool `json:"is_persistent" csv:"is_persistent"`
ExpireAt time.Time `json:"expire_at" csv:"expire_at"`
CreatedAt time.Time `json:"created_at" csv:"created_at"`
}
CookieEntry represents a single browser cookie.
type CreditCardEntry ¶ added in v0.5.0
type CreditCardEntry struct {
GUID string `json:"guid" csv:"guid"`
Name string `json:"name" csv:"name"`
Number string `json:"number" csv:"number"`
ExpMonth string `json:"exp_month" csv:"exp_month"`
ExpYear string `json:"exp_year" csv:"exp_year"`
NickName string `json:"nick_name" csv:"nick_name"`
Address string `json:"address" csv:"address"`
CVC string `json:"cvc" csv:"cvc"`
Comment string `json:"comment" csv:"comment"`
}
CreditCardEntry represents a single saved credit card. CVC and Comment are Yandex-specific; Chromium leaves them empty.
type DownloadEntry ¶ added in v0.5.0
type DownloadEntry struct {
URL string `json:"url" csv:"url"`
TargetPath string `json:"target_path" csv:"target_path"`
MimeType string `json:"mime_type" csv:"mime_type"`
TotalBytes int64 `json:"total_bytes" csv:"total_bytes"`
StartTime time.Time `json:"start_time" csv:"start_time"`
EndTime time.Time `json:"end_time" csv:"end_time"`
}
DownloadEntry represents a single browser download record.
type ExtensionEntry ¶ added in v0.5.0
type ExtensionEntry struct {
Name string `json:"name" csv:"name"`
ID string `json:"id" csv:"id"`
Description string `json:"description" csv:"description"`
Version string `json:"version" csv:"version"`
HomepageURL string `json:"homepage_url" csv:"homepage_url"`
Enabled bool `json:"enabled" csv:"enabled"`
}
ExtensionEntry represents a single browser extension.
type HistoryEntry ¶ added in v0.5.0
type HistoryEntry struct {
URL string `json:"url" csv:"url"`
Title string `json:"title" csv:"title"`
VisitCount int `json:"visit_count" csv:"visit_count"`
LastVisit time.Time `json:"last_visit" csv:"last_visit"`
}
HistoryEntry represents a single browser history record.
type LoginEntry ¶ added in v0.5.0
type LoginEntry struct {
URL string `json:"url" csv:"url"`
Username string `json:"username" csv:"username"`
Password string `json:"password" csv:"password"`
CreatedAt time.Time `json:"created_at" csv:"created_at"`
}
LoginEntry represents a single saved login credential.