Skip to main content

A Python module and CLI tool to manually download Chrome/Chromium components.

Project description

Chrome Component Downloader

A Python module and CLI tool to manually download Chrome/Chromium components.

Features

  • Generate update requests for Chromium components.
  • Support for Omaha protocol version 3.1.
  • Download latest and previous versions of each component.

Installation

To use this component yourself, you can clone this repo or install it with pip:

pip install chrome-component-downloader

Python Module

The module allows to download Chromium components and generate update requests.

Example usage

Download component and save as zip file locally:

from chrome_component_downloader import download_component

component_zip, version = download_component(
    component_id = "niikhdgajlphfehepabhhblakbdgeefj", # Privacy Sandbox Attestations
    target_version = "2025.03.31",
    send_system_info = False
)

print(f"Version: {version}")
with open("component.zip", "wb") as out_file:
    out_file.write(component_zip)

Generate an update request:

from chrome_component_downloader.update_request import generate as generate_update_request

update_request = generate_update_request(
    component_id = "niikhdgajlphfehepabhhblakbdgeefj", # Privacy Sandbox Attestations
    target_version = "2025.03.31",
    send_system_info = False
)

print(update_request)

CLI Tool

The CLI tool provides a simple way to download a component from the command line.

Usage

usage: chrome-component-downloader [-h] [--target_version TARGET_VERSION] [--output OUTPUT] [--send_system_info] component

positional arguments:
  component             The component's ID or name. The component names can be one of the following: 
                        - autofill_states_data
                        - pki_metadata
                        - subresource_filter_rules
                        - crowd_deny
                        - certificate_error_assistant
                        - related_website_sets
                        - amount_extraction_heuristic_regexes
                        - crlset
                        - hyphenation
                        - third_party_cookie_deprecation_metadata
                        - safety_tips
                        - file_type_policies
                        - trust_token_key_commitments
                        - mei_preload
                        - origin_trials
                        - optimization_hints
                        - cookie_readiness_list
                        - screenai_library
                        - privacy_sandbox_attestations
                        - ondeviceheadsuggest
                        - widevine_content_decryption_module
                        - zxcvbn_data_dictionaries
                        - open_cookie_database

options:
  -h, --help            show this help message and exit
  --target_version TARGET_VERSION
                        The component's target version. It can be a prefix that the version number must match. If no value is specified, the latest version is downloaded.
  --output OUTPUT       The output file name. If no value is specified, the component's ID and version is used as the file name.
  --send_system_info    Send system information to the CUP server.

Example usage

Download a specific component:

chrome-component-downloader privacy_sandbox_attestations --target_version 2025.03.31

Docker container

The CLI tool can also be used as a Docker container. You can use the salb98/chrome-component-downloader pre-compiled image. Here is an example command:

docker run -v ./output:/app/out:rw salb98/chrome-component-downloader privacy_sandbox_attestations --output /app/out/component.zip

This creates and saves the component zip in the output/ folder in your current working directory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

chrome_component_downloader-0.1.3.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

chrome_component_downloader-0.1.3-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file chrome_component_downloader-0.1.3.tar.gz.

File metadata

  • Download URL: chrome_component_downloader-0.1.3.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.9.22 Linux/6.11.0-1015-azure

File hashes

Hashes for chrome_component_downloader-0.1.3.tar.gz
Algorithm Hash digest
SHA256 5f5e97c0f700f65167fb36f29ee3f7e44d5e6120654dec2be5838763223481ac
MD5 49433644a688f28ac40d02246078ac77
BLAKE2b-256 c090754bd544fae7f7e6e1dd4b51eabc81301e6c8634d55621673d057845bc39

See more details on using hashes here.

File details

Details for the file chrome_component_downloader-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for chrome_component_downloader-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 34c68fe391241a2a5b6228f9fc5045fe0ee1d8514d621035c978ce3d0625843e
MD5 2f57740c7518f7003ae51d5a23e7f391
BLAKE2b-256 1a2e20c978587b1e819b341f5dbb4492583ff52219fc19866a484e26066cd260

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page