dissect.target.plugins.apps.browser.safari

Module Contents

Classes

SafariPlugin

Safari browser plugin.

class dissect.target.plugins.apps.browser.safari.SafariPlugin(target: dissect.target.target.Target)

Bases: dissect.target.plugins.apps.browser.browser.BrowserPlugin

Safari browser plugin.

__namespace__ = 'safari'

Defines the plugin namespace.

DIRS = ('Library/Safari',)
BrowserHistoryRecord
installs
check_compatible() None

Perform a compatibility check with the target.

This function should return None if the plugin is compatible with the current target (self.target). For example, check if a certain file exists. Otherwise it should raise an UnsupportedPluginError.

Raises:

UnsupportedPluginError – If the plugin could not be loaded.

history() collections.abc.Iterator[BrowserHistoryRecord]

Return browser history records from Safari.

Yields BrowserHistoryRecord with the following fields:

ts (datetime): Visit timestamp.
browser (string): The browser from which the records are generated from.
id (varint): Record ID.
url (uri): History URL.
title (string): Page title.
description (string): Page description.
host (string): Hostname.
visit_type (varint): Visit type.
visit_count (varint): Amount of visits.
hidden (boolean): Hidden value (synthesized visits).
typed (boolean): Typed value.
session (varint): Session value.
from_visit (varint): Record ID of the redirect source visit.
from_url (uri): URL of the redirect source visit.
source (path): The source file of the history record.