browser-laptop 0,19,0,24,1,10,0,8 editorconfig flowtype travis-ci npm webpack

Brave browser for Desktop and Laptop computers running Windows, OSX, and Linux

Lint Unit Tests About Tests App Tests Bookmark Tests Bravery Tests Contents Tests Misc Tests Navbar Tests Tab Tests

Brave Browser

Desktop browser for macOS, Windows, and Linux.

Follow @brave on Twitter for important news and announcements.

For other versions of our browser, please see: * iPhone - brave/browser-ios * Android - brave/browser-android-tabs

Downloads

To download the latest release, see our releases page.

You can also visit our website to get the latest stable release (along with a more user-friendly download page).

Community

Join the 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.

Useful documentation

Running from source

If you’re setting up using Windows, please see the Building on Windows wiki entry-Windows-build-guide) for a full walkthrough.

For other platforms (macOS, Linux) You’ll need certain packages installed before you can build and run Brave locally.

Prerequisites

  1. nodejs >= 6.1

    Install from your package manager or download from https://nodejs.org

  2. node-gyp 3.3.1

    sudo npm install -g [email protected]
    

On Debian/Ubuntu

apt-get install libgnome-keyring-dev build-essential rpm ninja-build

On Fedora

dnf install libgnome-keyring-devel rpm-build
dnf group install "Development Tools" "C Development Tools and Libraries"

Installation

After installing the prerequisites:

  1. Clone the git repository from GitHub:

    # For beta testers:
    git clone --depth 1 https://github.com/brave/browser-laptop
    
    
    # For devs over HTTPS:
    git clone https://github.com/brave/browser-laptop
    
    
    # For devs over SSH:
    git clone [email protected]:brave/browser-laptop.git
    
  2. Open the working directory:

    cd browser-laptop
    
  3. Install the Node (v5+) dependencies:

    npm install
    

If this fails on Linux with an error related to ad-block, try updating to Node 6.1 and node-gyp 3.3.1 (see discussion at https://github.com/brave/browser-laptop/issues/214)

Instead of npm install you may also install with yarn.

Troubleshooting

Additional notes on troubleshooting installation issues are in the Troubleshooting page in the Wiki.

Preconfigured VMs

Some platforms are available as pre-configured VMs. See the readme for details.

Running Brave

To run a development version of the browser requires a few steps. The easiest way is just to use two terminals. One terminal can be used just to watch for changes to the code

npm run watch

Now actually run Brave in another terminal

npm start

Some errors related to brave/electron update can be fixed by doing a clean install:

rm -rf node_modules/
npm install

If this does not work, please clear out your ~/.electron first and try again.

Running webdriver tests

To run the webdriver tests

npm run watch-test  or  npm run watch-all

Now run tests in another terminal

npm test

Port

Brave uses port 8080 to communicate between its client and server sides by default. If you are using port 8080 for something else (e.g. a web proxy) then you can set the node config to make it use a different one.

e.g. npm config set brave:port 9001

Additional notes on troubleshooting development issues are in the Troubleshooting page in the Wiki.

Running inside of a development version of Muon

By default, we provide pre-built binaries when you npm install with our own fork of electron-prebuilt.

If you want to modify the code to Muon (Brave’s Electron fork), then you’ll need to build it. An example of why you might do that would be exposing a new event to the webview (from Muon).

To start this process, you’ll want to check out our browser-laptop-bootstrap repo. From there, you can follow the steps in our wiki to get up and running.

Packaging for bundles, installers, and updates

Please see our wiki entry for more information about packaging.

Related Repositories

browser-laptop

browser-laptop

Brave browser for Desktop and Laptop computers running Windows, OSX, and Linux ...

fingerpoken

fingerpoken

Use your browser as a remote and touchpad (iphone/ipad/laptop, etc) ...

browser-laptop-releases

browser-laptop-releases

Published releases for brave/browser-electron used by brave/electron-prebuilt ...

browser-laptop

browser-laptop

Brave browser for Desktop and Laptop computers running Windows, OSX, and Linux ...


Top Contributors

bbondy diracdeltas bridiver bsclifton aekeus darkdh mrose17 luixxiul psimyn Sh1d0w jkup ayumi KevinGrandon alexwykoff cezaraugusto willy-b charbelrami Liunkae vrde Empact bradleyrichter rob-blasetti twisterghost joselitojunior1 edouard-lopez williamboman craigmichaelmartin jmalonzo jonathansampson rohanthacker

Dependencies

package version
acorn 3.2.0
ad-block ^3.0.2
aphrodite 1.1.0
async ^2.0.1
bloodhound-js ^1.2.1
clipboard-copy ^1.0.0
electron-localshortcut ^0.6.0
electron-squirrel-startup brave/electron-squirrel-startup
file-loader ^0.8.5
font-awesome ^4.5.0
font-awesome-webpack 0.0.4
fs-extra ^2.1.2
immutable ^3.7.5
immutablediff ^0.4.2
immutablepatch brave/immutable-js-patch
keytar ^3.0.0
l20n ^3.5.1
ledger-balance ^0.9.1
ledger-client ^0.9.18
ledger-geoip ^0.9.0
ledger-publisher ^0.9.4
lru-cache ^1.0.0
moment ^2.15.1
niceware ^1.0.4
parse-torrent ^5.8.1
prettier-bytes ^1.0.3
prop-types ^15.5.6
punycode ^2.0.0
qr-image 3.2.0
random-lib 2.1.0
react ~15.6.1
react-dnd ^2.1.4
react-dnd-html5-backend ^2.1.2
react-dom ^15.5.4
string.prototype.endswith ^0.2.0
string.prototype.startswith ^0.2.0
tablesort 5.0.1
tldjs 1.6.2
tracking-protection 1.1.x
underscore 1.8.3
url-loader ^0.5.7
webtorrent-remote ^2.0.2
dev asar ^0.11.0
babel ^6.1.18
babel-core ^6.3.15
babel-loader ^6.2.0
babel-plugin-transform-react-constant-elements ^6.4.0
babel-plugin-transform-react-inline-elements ^6.4.0
babel-polyfill ^6.3.14
babel-preset-env ^1.1.6
babel-preset-react ^6.1.18
babel-register ^6.3.13
babel-runtime ^6.3.13
base64-js ^1.2.0
chai ^3.4.1
chai-as-promised ^5.1.0
co-mocha ^1.1.2
cross-env ^3.1.4
css-loader ^0.23.0
electron-builder ^17.1.1
electron-chromedriver ^1.7.1
electron-packager brave/electron-packager
electron-prebuilt brave/electron-prebuilt
empty-port 0.0.2
enzyme ^2.9.1
flow-bin ^0.22.1
git-rev-sync ^1.8.0
gulp ^3.9.0
istanbul ^1.1.0-alpha.1
joi ^10.2.2
jsdom 9.4.1
jsdom-global 2.0.0
json-loader ^0.5.4
jsonfile ^2.2.3
less ^2.5.3
less-loader ^2.2.1
level ^1.7.0
mkdirp ^0.5.1
mocha ^2.3.4
mockery ^2.1.0
muon-winstaller ^2.5.4
ncp ^2.0.0
node-gyp ^3.3.1
node-libs-browser ^1.0.0
node-static ^0.7.7
nsp ^2.2.0
pre-commit brave/pre-commit
pre-push ^0.1.1
react-addons-perf ^15.2.1
react-addons-test-utils ^15.4.1
react-test-renderer ^15.5.4
request ^2.81.0
sinon ^1.17.6
spectron brave/spectron#chromium60
standard 9.0.0
style-loader ^0.13.0
uglify-js-harmony ^2.7.5
uuid ^3.0.1
webdriverio 4.7.1
webpack ^1.12.9
webpack-dev-server ^1.14.0
webpack-notifier ^1.2.1
xml2js ^0.4.15

Releases

-   v0.11.6dev-beta5 zip tar
-   v0.11.6dev-beta4 zip tar
-   v0.11.6dev-beta3 zip tar
-   v0.11.6dev-beta2 zip tar
-   v0.11.5dev zip tar
-   v0.11.4dev zip tar
-   v0.11.3dev zip tar
-   v0.11.2dev zip tar
-   v0.11.2dev-rc1 zip tar
-   v0.11.2dev-beta2 zip tar
-   v0.11.2dev-beta1 zip tar
-   v0.11.1dev zip tar
-   v0.11.1dev_rc2 zip tar
-   v0.11.1dev_rc1 zip tar
-   v0.11.1dev_beta2 zip tar
-   v0.11.1dev_beta1 zip tar
-   v0.11.0dev zip tar
-   v0.10.5dev zip tar
-   v0.10.4dev zip tar
-   v0.10.3dev zip tar
-   v0.10.2dev zip tar
-   v0.10.1dev zip tar
-   v0.10.1dev-BETA2 zip tar
-   v0.10.1dev-BETA1 zip tar
-   v0.10.0dev zip tar
-   v0.9.6dev zip tar
-   v0.9.5dev zip tar
-   v0.9.4dev zip tar
-   v0.9.3dev zip tar
-   v0.9.2dev zip tar