Skip to content

Component update server for brave-core written in Go

License

Notifications You must be signed in to change notification settings

brave/go-update

Folders and files

NameName
Last commit message
Last commit date
Feb 28, 2025
May 8, 2024
Mar 5, 2025
May 16, 2024
May 20, 2022
May 8, 2024
Aug 21, 2024
Jul 29, 2018
May 8, 2024
Aug 29, 2023
Jan 29, 2025
Jan 29, 2025
Jan 3, 2020
Jan 26, 2024

Repository files navigation

Brave component update server written in Go

go-update implements a component update server for use in brave-core written in Go.

The intended audience for this server is all users of brave-core.

The server is only intended to support a small number of extensions that Brave handles ourselves.

The component update server supports 2 types of requests both at the same endpoint /extensions

  1. The POST /extensions endpoint uses an XML schema for the request and the response. Samples can be found in the tests.
  2. The GET /extensions endpoint uses URL query parameters and responds with a similar XML schema. Samples can also be found in the tests.

This server is compatible with Google's component update server, so it is a drop-in replacement to handle the requests coming from Chromium.

When there is only a single extension requested, and if we do not support the extension ourselves, we will redirect the request to Google's component updater to handle the request.

This server also serves as a filter so Brave can blacklist any extension before it has a chance to redirect to Google's component updater.

Runbook

https://github.com/brave/devops/tree/master/docs/runbooks/go-updater

Dependencies

Go 1.21.

Run lint:

Install golangci-lint if you don't already have it:

go get github.com/golangci/golangci-lint/cmd/golangci-lint

Then:

make lint

Run tests:

make test

Build go-update:

make build

Run go-update:

./main

About

Component update server for brave-core written in Go

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages