https://github.com/apachecn-archive/brave-browser

https://github.com/apachecn-archive/brave-browser

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.0%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: apachecn-archive
  • License: mpl-2.0
  • Language: JavaScript
  • Default Branch: master
  • Size: 5.81 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 3 years ago · Last pushed about 3 years ago
Metadata Files
Readme Changelog Contributing License Codeowners Security

README.md

Brave Browser

Overview

This repository holds the build tools needed to build the Brave desktop browser for macOS, Windows, and Linux. In particular, it fetches and syncs code from the projects defined in package.json and src/brave/DEPS:

Downloads

You can visit our website to get the latest stable release.

Other repositories

For other versions of our browser, please see:

Contributing

Please see the contributing guidelines.

Community

Join the Q&A community if you'd like to get more involved with Brave. You can ask for help, discuss features you'd like to see, and a lot more. We'd love to have your help so that we can continue improving Brave.

Help us translate Brave to your language by submitting translations at https://www.transifex.com/brave/brave/.

Follow @brave on Twitter for important news and announcements.

Install prerequisites

Follow the instructions for your platform:

Clone and initialize the repo

Once you have the prerequisites installed, you can get the code and initialize the build environment.

```bash git clone git@github.com:brave/brave-core.git path-to-your-project-folder/src/brave cd path-to-your-project-folder/src/brave npm install

the Chromium source is downloaded, which has a large history

this might take really long to finish

npm run init `` brave-core based android builds should usenpm run init -- --targetos=android --targetarch=arm` (or whichever CPU type you want to build for)

You can also set the targetos and targetarch for init and build using:

npm config set target_os android npm config set target_arch arm

Build Brave

The default build type is component.

```

start the component build compile

npm run build ```

To do a release build:

```

start the release compile

npm run build Release ```

brave-core based android builds should use npm run build -- --target_os=android --target_arch=arm or set the npm config variables as specified above for init

Build Configurations

Running a release build with npm run build Release can be very slow and use a lot of RAM, especially on Linux with the Gold LLVM plugin.

To run a statically linked build (takes longer to build, but starts faster):

bash npm run build -- Static

To run a debug build (Component build with is_debug=true):

bash npm run build -- Debug

Brave staff may also want to try Goma for faster builds.

Run Brave

To start the build:

npm start [Release|Component|Static|Debug]

Update Brave

npm run sync -- [--force] [--init] [--create] [brave_core_ref]

This will attempt to stash your local changes in brave-core, but it's safer to commit local changes before running this

npm run sync will (depending on the below flags):

  1. Update sub-projects (chromium, brave-core) to latest commit of a git ref (e.g. tag or branch)
  2. Apply patches
  3. Update gclient DEPS dependencies
  4. Run hooks (e.g. to perform npm install on child projects)

| flag | Description | |---|---| |[no flags]|updates chromium if needed and re-applies patches. If the chromium version did not change, it will only re-apply patches that have changed. Will update child dependencies only if any project needed updating during this script run.
*Use this if you want the script to manage keeping you up to date instead of pulling or switching branches manually. *| |--force|updates both Chromium and brave-core to the latest remote commit for the current brave-core branch and the Chromium ref specified in brave-browser/package.json (e.g. master or 74.0.0.103). Will re-apply all patches. Will force update all child dependencies.
*Use this if you're having trouble and want to force the branches back to a known state. *| |--init|force update both Chromium and brave-core to the versions specified in brave-browser/package.json and force updates all dependent repos - same as npm run init| |--ignore_chromium|Will not update the chromium version when applicable. Useful if you want to avoid a minor update when not ready for the larger build time a chromium update may result in. A warning will be output about the current code state expecting a different chromium version. Your build may fail as a result.|

Run npm run sync brave_core_ref to checkout the specified brave-core ref and update all dependent repos including chromium if needed.

Scenarios

Create a new branch:

bash brave-core> git checkout -b branch_name

Checkout an existing branch or tag:

bash brave-core> git fetch origin brave-core> git checkout [-b] branch_name brave-core> npm run sync ...Updating 2 patches... ...Updating child dependencies... ...Running hooks...

Update the current branch to the latest remote:

bash brave-core> git pull brave-core> npm run sync ...Updating 2 patches... ...Updating child dependencies... ...Running hooks...

Reset to latest brave-browser master and brave-core master (via init, will always result in a longer build and will remove any pending changes in your brave-core working directory):

bash brave-browser> git checkout master brave-browser> git pull brave-browser> npm run sync -- --init

When you know that DEPS didn't change, but .patch files did (quickest attempt to perform a mini-sync before a build):

bash brave-core> git checkout featureB brave-core> git pull brave-browser> npm run apply_patches ...Applying 2 patches...

Enabling third-party APIs:

  1. Google Safe Browsing: Get an API key with SafeBrowsing API enabled from https://console.developers.google.com/. Update the GOOGLE_API_KEY environment variable with your key as per https://www.chromium.org/developers/how-tos/api-keys to enable Google SafeBrowsing.

Development

  • Security rules: https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/security/rules.md

Troubleshooting

See Troubleshooting for solutions to common problems.

Owner

  • Name: ApacheCN 归档
  • Login: apachecn-archive
  • Kind: organization
  • Email: wizard.z@qq.com

防止重要项目丢失而设立的归档

GitHub Events

Total
Last Year

Dependencies

.github/workflows/pr_ready_for_review.yml actions
  • actions-ecosystem/action-add-labels v1 composite
  • actions-ecosystem/action-remove-labels v1 composite
  • actions/checkout v3 composite
  • cirrus-actions/rebase 1.7 composite
.github/workflows/pull_request.yml actions
  • technote-space/assign-author v1 composite
.github/workflows/rebase.yml actions
  • actions-ecosystem/action-remove-labels v1 composite
  • actions/checkout v3 composite
  • cirrus-actions/rebase 1.7 composite
package-lock.json npm
  • ansi-escapes 4.3.1
  • ansi-regex 5.0.1
  • ansi-styles 4.3.0
  • astral-regex 2.0.0
  • chalk 4.1.2
  • cli-cursor 3.1.0
  • color-convert 2.0.1
  • color-name 1.1.4
  • emoji-regex 8.0.0
  • has-flag 4.0.0
  • is-fullwidth-code-point 3.0.0
  • log-update 4.0.0
  • mimic-fn 2.1.0
  • onetime 5.1.2
  • restore-cursor 3.1.0
  • signal-exit 3.0.3
  • slice-ansi 4.0.0
  • string-width 4.2.0
  • strip-ansi 6.0.0
  • supports-color 7.2.0
  • type-fest 0.11.0
  • wrap-ansi 6.2.0
package.json npm
  • chalk 4.1.2
  • log-update 4.0.0