Skip to content
cross platform, client encrypted, cloud data sync 🔼✨🔮✨🔼
Branch: staging
Clone or download
Latest commit 17af3d5 Apr 16, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
client Check text on bad request status Mar 26, 2019
server SNS cleanup, SNS has been superseded by SQS Nov 19, 2018
test Fixed receiving objects in chunk Dec 27, 2018
.gitignore Fixes windows copy problem Nov 5, 2018
.travis.yml fix format May 15, 2018
package.json update tape-run@5.0.0 Dec 14, 2018

Brave Sync

Build Status

A client/server for Brave sync


Install dependencies:

npm install

Build a bundled JS library for the client:

npm run build

Run the server:

npm run start


The sync client uses Browserify to transform Node js into browser js. To unittest the library in a browser (default: electron), run npm run browsertest. To test in a different browser run npm run browsertest -- --browser chrome. Results appear in both the browser inspector and your terminal.

To run tests in Node, just do npm test.

To do a basic client/server integration test against the production server, run npm run client and navigate to http://localhost:8000/). The page should not show any 'ERROR' messages and should end with 'success'.



server/config contains settings; defaults in defaults.json and environment variable mappings in custom-environment-variables.json.

To configure locally you can create a file and source when needed:

export AWS_ACCESS_KEY_ID="{stuff}"
export AWS_SECRET_ACCESS_KEY="{secret stuff}"

Run the server with file watching and autoreloading:

npm run start-dev

Client integration

To integrate Brave sync on a platform (iOS, Android, Laptop):

  1. Make a new branch.
  2. In the main browser process, implement an IPC message handler as specified in client/constants/messages.js.
  3. If webviews on your platform do not support chrome.ipcRenderer.{send, on}, edit client/polyfill/chrome.js as needed to polyfill this functionality.

Building for browser-laptop

  1. Make sure this repo is checked out next to browser-laptop/
  2. Checkout the feature/syncing branch in browser-laptop
  3. npm run dist
  4. If developing, do npm start in browser-laptop. Console messages from the sync client will be logged in Library/Application Support/brave-development/chrome-debug.log.


To run tests you need to configure these environment variables:

You can’t perform that action at this time.