All Projects → brave → Brave Browser

brave / Brave Browser

Licence: mpl-2.0
Next generation Brave browser for Android, Linux, macOS, Windows.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Brave Browser

Bas
BrowserAutomationStudio can automate everything that Chrome can.
Stars: ✭ 203 (-98.25%)
Mutual labels:  browser, chromium
browserexport
backup and parse browser history databases (chrome, firefox, safari, and other chrome/firefox derivatives)
Stars: ✭ 54 (-99.53%)
Mutual labels:  chromium, brave
Bromite
Bromite a Chromium fork with ad blocking and privacy enhancements; take back your browser!
Stars: ✭ 3,256 (-71.88%)
Mutual labels:  browser, chromium
Secret Agent
The web browser that's built for scraping.
Stars: ✭ 151 (-98.7%)
Mutual labels:  browser, chromium
Cef2go
Go lang bindings for the Chromium Embedded Framework (CEF)
Stars: ✭ 780 (-93.26%)
Mutual labels:  browser, chromium
Vieb
Vim Inspired Electron Browser - Vim bindings for the web by design
Stars: ✭ 175 (-98.49%)
Mutual labels:  browser, chromium
Extension Create
Create modern cross-browser extensions with no build configuration.
Stars: ✭ 167 (-98.56%)
Mutual labels:  browser, chromium
Chromely
Build HTML Desktop Apps on .NET/.NET Core/.NET 5 using native GUI, HTML5, JavaScript, CSS
Stars: ✭ 2,728 (-76.44%)
Mutual labels:  browser, chromium
Inox Patchset
Inox patchset tries to provide a minimal Chromium based browser with focus on privacy by disabling data transmission to Google.
Stars: ✭ 335 (-97.11%)
Mutual labels:  browser, chromium
Adamantium Thief
🔑 Decrypt chromium based browsers passwords, cookies, credit cards, history, bookmarks, autofill. Version > 80 is supported.
Stars: ✭ 283 (-97.56%)
Mutual labels:  browser, chromium
Surfingkeys Conf
A SurfingKeys configuration which adds 130+ key mappings for 20+ sites & OmniBar search suggestions for 50+ sites
Stars: ✭ 137 (-98.82%)
Mutual labels:  browser, chromium
Browser Laptop
[DEPRECATED] Please see https://github.com/brave/brave-browser for the current version of Brave
Stars: ✭ 8,029 (-30.66%)
Mutual labels:  browser, brave
Kdeconnect Chrome Extension
A browser extension to send pages and content from your browser to connected KDE Connect devices.
Stars: ✭ 124 (-98.93%)
Mutual labels:  browser, chromium
Browser Base
Modern and feature-rich web browser base based on Electron
Stars: ✭ 2,417 (-79.13%)
Mutual labels:  browser, chromium
Wendigo
A proper monster for front-end automated testing
Stars: ✭ 121 (-98.96%)
Mutual labels:  browser, chromium
chrome-flags
💐 My personal Chromium-based flags
Stars: ✭ 13 (-99.89%)
Mutual labels:  chromium, brave
Cef4delphi
CEF4Delphi is an open source project to embed Chromium-based browsers in applications made with Delphi or Lazarus/FPC for Windows, Linux and MacOS.
Stars: ✭ 785 (-93.22%)
Mutual labels:  browser, chromium
Neutronium
🚀 Build .NET desktop applications using HTML, CSS and javascript.
Stars: ✭ 1,190 (-89.72%)
Mutual labels:  browser, chromium
Uget Chrome Wrapper
Moved to https://github.com/ugetdm/uget-integrator and https://github.com/ugetdm/uget-extension
Stars: ✭ 74 (-99.36%)
Mutual labels:  chromium
Term Web
📟 A simple Terminal UI that run on the web
Stars: ✭ 77 (-99.34%)
Mutual labels:  browser

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 we define 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.

git clone [email protected]:brave/brave-browser.git
cd brave-browser
npm install

# this takes 30-45 minutes to run
# the Chromium source is downloaded which has a large history
npm run init

brave-core based android builds should use npm run init -- --target_os=android --target_arch=arm (or whatever CPU type you want to build for)

You can also set the target_os and target_arch 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)

npm run build -- Static

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

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

brave-core> git checkout -b branch_name

Checkout an existing branch or tag

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

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)

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)

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.

Troubleshooting

See Troubleshooting for solutions to common problems.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].