Supported Browsers

This module defines all supported browsers and their functionality.

All browsers must inherit from browser_history.generic.Browser.

class browser_history.browsers.Arc(plat=None)

Arc browser by The Browser Company

Supported platforms

  • Windows

  • Mac OS

Profile support: Yes

linux_path: typing.Optional[str] = None

browser path on Linux.

mac_path: typing.Optional[str] = 'Library/Application Support/Arc/User Data'

browser path on Mac OS.

profile_support: bool = True

Boolean indicating whether the browser supports multiple profiles.

windows_path: typing.Optional[str] = 'AppData/Local/Packages/TheBrowserCompany.Arc_ttt1ap7aakyb4/LocalCache/Local/Arc/User Data'

browser path on Windows.

class browser_history.browsers.Brave(plat=None)

Brave Browser

Supported platforms:

  • Linux

  • Mac OS

  • Windows

Profile support: Yes

aliases: tuple = ('bravehtml',)

Gets possible names (lower-cased) used to refer to the browser type. Useful for making the browser detectable as a default browser which may be named in various forms on different platforms. Do not include name in this list

linux_path: typing.Optional[str] = '.config/BraveSoftware/Brave-Browser'

browser path on Linux.

mac_path: typing.Optional[str] = 'Library/Application Support/BraveSoftware/Brave-Browser'

browser path on Mac OS.

profile_support: bool = True

Boolean indicating whether the browser supports multiple profiles.

windows_path: typing.Optional[str] = 'AppData/Local/BraveSoftware/Brave-Browser/User Data'

browser path on Windows.

class browser_history.browsers.Chrome(plat=None)

Google Chrome Browser

Supported platforms:

  • Windows

  • Linux

  • Mac OS

Profile support: Yes

aliases: tuple = ('chromehtml', 'google-chrome', 'chromehtm')

Gets possible names (lower-cased) used to refer to the browser type. Useful for making the browser detectable as a default browser which may be named in various forms on different platforms. Do not include name in this list

linux_path: typing.Optional[str] = '.config/google-chrome'

browser path on Linux.

mac_path: typing.Optional[str] = 'Library/Application Support/Google/Chrome/'

browser path on Mac OS.

profile_support: bool = True

Boolean indicating whether the browser supports multiple profiles.

windows_path: typing.Optional[str] = 'AppData/Local/Google/Chrome/User Data'

browser path on Windows.

class browser_history.browsers.Chromium(plat=None)

Chromium Browser

Supported platforms (TODO: Mac OS support)

  • Linux

  • Windows

Profile support: Yes

aliases: tuple = ('chromiumhtm', 'chromium-browser', 'chromiumhtml')

Gets possible names (lower-cased) used to refer to the browser type. Useful for making the browser detectable as a default browser which may be named in various forms on different platforms. Do not include name in this list

linux_path: typing.Optional[str] = '.config/chromium'

browser path on Linux.

profile_support: bool = True

Boolean indicating whether the browser supports multiple profiles.

windows_path: typing.Optional[str] = 'AppData/Local/chromium/User Data'

browser path on Windows.

class browser_history.browsers.Edge(plat=None)

Microsoft Edge Browser

Supported platforms

  • Windows

  • Mac OS

Profile support: Yes

aliases: tuple = ('msedgehtm', 'msedge', 'microsoft-edge', 'microsoft-edge-dev')

Gets possible names (lower-cased) used to refer to the browser type. Useful for making the browser detectable as a default browser which may be named in various forms on different platforms. Do not include name in this list

linux_path: typing.Optional[str] = '.config/microsoft-edge-dev'

browser path on Linux.

mac_path: typing.Optional[str] = 'Library/Application Support/Microsoft Edge'

browser path on Mac OS.

profile_support: bool = True

Boolean indicating whether the browser supports multiple profiles.

windows_path: typing.Optional[str] = 'AppData/Local/Microsoft/Edge/User Data'

browser path on Windows.

class browser_history.browsers.Epic(plat=None)

Epic Privacy Browser

Supported platforms (TODO: Add Mac OS support)

  • Windows

  • Mac OS

Profile support: No

mac_path: typing.Optional[str] = 'Library/Application Support/HiddenReflex/Epic/Default'

browser path on Mac OS.

profile_support: bool = False

Boolean indicating whether the browser supports multiple profiles.

windows_path: typing.Optional[str] = 'AppData/Local/Epic Privacy Browser/User Data/Default'

browser path on Windows.

class browser_history.browsers.Firefox(plat=None)

Mozilla Firefox Browser

Supported platforms:

  • Windows

  • Linux

  • Mac OS

Profile support: Yes

aliases: tuple = ('firefoxurl',)

Gets possible names (lower-cased) used to refer to the browser type. Useful for making the browser detectable as a default browser which may be named in various forms on different platforms. Do not include name in this list

bookmarks_file: typing.Optional[str] = 'places.sqlite'

Name of the (SQLite, JSON or PLIST) file which stores the bookmarks.

bookmarks_parser(bookmark_path)

Returns bookmarks of a single profile for Firefox based browsers The returned datetimes are timezone-aware with the local timezone set by default

Parameters:

bookmark_path (str) – the path of the bookmark file

Returns:

a list of tuples of bookmark information

Return type:

list(tuple(datetime.datetime, str, str, str))

linux_path: Optional[str] = '.mozilla/firefox'

browser path on Linux.

mac_path: Optional[str] = 'Library/Application Support/Firefox/Profiles/'

browser path on Mac OS.

profile_support: bool = True

Boolean indicating whether the browser supports multiple profiles.

windows_path: Optional[str] = 'AppData/Roaming/Mozilla/Firefox/Profiles'

browser path on Windows.

class browser_history.browsers.LibreWolf(plat=None)

LibreWolf Browser

Supported platforms:

  • Linux

Profile support: Yes

aliases: tuple = ('librewolfurl',)

Gets possible names (lower-cased) used to refer to the browser type. Useful for making the browser detectable as a default browser which may be named in various forms on different platforms. Do not include name in this list

linux_path: typing.Optional[str] = '.librewolf'

browser path on Linux.

mac_path: typing.Optional[str] = None

browser path on Mac OS.

windows_path: typing.Optional[str] = None

browser path on Windows.

class browser_history.browsers.Opera(plat=None)

Opera Browser

Supported platforms

  • Linux, Windows, Mac OS

Profile support: No

aliases: tuple = ('operastable', 'opera-stable')

Gets possible names (lower-cased) used to refer to the browser type. Useful for making the browser detectable as a default browser which may be named in various forms on different platforms. Do not include name in this list

linux_path: typing.Optional[str] = '.config/opera'

browser path on Linux.

mac_path: typing.Optional[str] = 'Library/Application Support/com.operasoftware.Opera'

browser path on Mac OS.

profile_support: bool = False

Boolean indicating whether the browser supports multiple profiles.

windows_path: typing.Optional[str] = 'AppData/Roaming/Opera Software/Opera Stable'

browser path on Windows.

class browser_history.browsers.OperaGX(plat=None)

Opera GX Browser

Supported platforms

  • Windows

Profile support: No

aliases: tuple = ('operagxstable', 'operagx-stable')

Gets possible names (lower-cased) used to refer to the browser type. Useful for making the browser detectable as a default browser which may be named in various forms on different platforms. Do not include name in this list

profile_support: bool = False

Boolean indicating whether the browser supports multiple profiles.

windows_path: typing.Optional[str] = 'AppData/Roaming/Opera Software/Opera GX Stable'

browser path on Windows.

class browser_history.browsers.Safari(plat=None)

Apple Safari browser

Supported platforms:

  • Mac OS

Profile support: No

mac_path: typing.Optional[str] = 'Library/Safari'

browser path on Mac OS.

profile_support: bool = False

Boolean indicating whether the browser supports multiple profiles.

class browser_history.browsers.Vivaldi(plat=None)

Vivaldi Browser

Supported platforms (TODO: Add Mac OS support)

  • Linux

  • Windows

Profile support: Yes

aliases: tuple = ('vivaldi-stable', 'vivaldistable')

Gets possible names (lower-cased) used to refer to the browser type. Useful for making the browser detectable as a default browser which may be named in various forms on different platforms. Do not include name in this list

linux_path: typing.Optional[str] = '.config/vivaldi'

browser path on Linux.

mac_path: typing.Optional[str] = 'Library/Application Support/Vivaldi'

browser path on Mac OS.

profile_support: bool = True

Boolean indicating whether the browser supports multiple profiles.

windows_path: typing.Optional[str] = 'AppData/Local/Vivaldi/User Data'

browser path on Windows.

class browser_history.browsers.Zen(plat=None)

Zen Browser

Supported platforms:

  • Mac OS

Profile support: Yes

aliases: tuple = ('zen',)

Gets possible names (lower-cased) used to refer to the browser type. Useful for making the browser detectable as a default browser which may be named in various forms on different platforms. Do not include name in this list

linux_path: typing.Optional[str] = None

browser path on Linux.

mac_path: typing.Optional[str] = 'Library/Application Support/zen/Profiles/'

browser path on Mac OS.

profile_support: bool = True

Boolean indicating whether the browser supports multiple profiles.

windows_path: typing.Optional[str] = 'AppData/Roaming/zen/Profiles'

browser path on Windows.