firefox

package
v0.2.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 14, 2026 License: MIT Imports: 21 Imported by: 0

README

Firefox

SQL schemes of file cookies.sqlite, table moz_cookies

extracted with sqlitebrowser

-- Firefox 91 ESR Linux, Firefox 98.0.2 Windows 7
CREATE TABLE moz_cookies (
    id INTEGER PRIMARY KEY,
    originAttributes TEXT NOT NULL DEFAULT '',
    name TEXT,
    value TEXT,
    host TEXT,
    path TEXT,
    expiry INTEGER,
    lastAccessed INTEGER,
    creationTime INTEGER,
    isSecure INTEGER,
    isHttpOnly INTEGER,
    inBrowserElement INTEGER DEFAULT 0,
    sameSite INTEGER DEFAULT 0,
    rawSameSite INTEGER DEFAULT 0,
    schemeMap INTEGER DEFAULT 0,
    CONSTRAINT moz_uniqueid UNIQUE (name, host, path, originAttributes)
)
-- Firefox 78 ESR Linux
CREATE TABLE moz_cookies(
    id INTEGER PRIMARY KEY,
    originAttributes TEXT NOT NULL DEFAULT '',
    name TEXT,
    value TEXT,
    host TEXT,
    path TEXT,
    expiry INTEGER,
    lastAccessed INTEGER,
    creationTime INTEGER,
    isSecure INTEGER,
    isHttpOnly INTEGER,
    inBrowserElement INTEGER DEFAULT 0,
    sameSite INTEGER DEFAULT 0,
    rawSameSite INTEGER DEFAULT 0,
    CONSTRAINT moz_uniqueid UNIQUE (name, host, path, originAttributes)
)

SQLite user_version pragma:

  • user_version <= 15moz_cookies.expiry is Unix secondstime.Unix(expiry, 0)
  • user_version >= 16moz_cookies.expiry is Unix millisecondstime.UnixMilli(expiry)

Firefox 141 and earlier (schema ≤ 15) store seconds. Firefox 142 introduced schema 16 and migrated existing values with UPDATE moz_cookies SET expiry = expiry * 1000 (Mozilla Bug 1972757).

Later schema versions

Firefox 146 bumped user_version to 17, adding an updateTime column: https://hg.mozilla.org/releases/mozilla-release/raw-file/FIREFOX_146_0_RELEASE/netwerk/cookie/CookiePersistentStorage.cpp

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CookieStoresForProfiles added in v0.2.9

func CookieStoresForProfiles(profiles iter.Seq2[find.Profile, error]) kooky.CookieStoreSeq

CookieStoresForProfiles returns all cookie stores (SQLite + session) for the given profiles. Each profile is processed in its own goroutine to avoid blocking if a profile path is on a slow filesystem (e.g. network share). Errors from the profile iterator are forwarded to the caller.

Types

type CookieStore

type CookieStore struct {
	cookies.DefaultCookieStore
	Database   *sqlite3.DbFile
	Containers map[int]string
	// contains filtered or unexported fields
}

func (*CookieStore) Close

func (s *CookieStore) Close() error

func (*CookieStore) Open

func (s *CookieStore) Open() error

func (*CookieStore) TraverseCookies added in v0.2.3

func (s *CookieStore) TraverseCookies(filters ...kooky.Filter) kooky.CookieSeq

type SessionCookieStore added in v0.2.9

type SessionCookieStore struct {
	cookies.DefaultCookieStore
	Containers map[int]string
	// contains filtered or unexported fields
}

SessionCookieStore reads session cookies from Firefox session store files. FileNameStr is the profile directory; the store resolves the actual file on access.

func (*SessionCookieStore) Close added in v0.2.9

func (s *SessionCookieStore) Close() error

func (*SessionCookieStore) FilePath added in v0.2.9

func (s *SessionCookieStore) FilePath() string

func (*SessionCookieStore) Open added in v0.2.9

func (s *SessionCookieStore) Open() error

func (*SessionCookieStore) TraverseCookies added in v0.2.9

func (s *SessionCookieStore) TraverseCookies(filters ...kooky.Filter) kooky.CookieSeq

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL