All Projects → brave → Sync

brave / Sync

Licence: mpl-2.0
deprecated Brave sync server. (sync now uses a fork of the Chromium sync protocol.)

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Sync

Syncstorage Rs
Sync Storage server in Rust
Stars: ✭ 149 (-28.37%)
Mutual labels:  sync
Cloudexplorer
Cloud Explorer
Stars: ✭ 170 (-18.27%)
Mutual labels:  sync
Cryptsync
CryptSync is a small utility that synchronizes two folders while encrypting the contents in one folder. That means one of the two folders has all files unencrypted (the files you work with) and the other folder has all the files encrypted.
Stars: ✭ 195 (-6.25%)
Mutual labels:  sync
Alephnote
Lightweight note taking client for Simplenote or Standard Notes (or simply local storage)
Stars: ✭ 149 (-28.37%)
Mutual labels:  sync
Docker S3 Volume
Docker container with a data volume from s3.
Stars: ✭ 166 (-20.19%)
Mutual labels:  sync
Remotestorage.js
⬡ JavaScript client library for integrating remoteStorage in apps
Stars: ✭ 2,155 (+936.06%)
Mutual labels:  sync
Cloudcore
Framework that enables syncing between iCloud (CloudKit) and Core Data
Stars: ✭ 146 (-29.81%)
Mutual labels:  sync
Gcr.io
🌀 sync the docker images of the gcr.io and quay.io
Stars: ✭ 200 (-3.85%)
Mutual labels:  sync
Github Sync
⤵️ A GitHub Action for syncing current repository with remote
Stars: ✭ 166 (-20.19%)
Mutual labels:  sync
Llvs
Low-Level Versioned Store
Stars: ✭ 193 (-7.21%)
Mutual labels:  sync
Realm Draw
The official Realm Draw app used in promotional videos
Stars: ✭ 150 (-27.88%)
Mutual labels:  sync
Metasync
Asynchronous Programming Library for JavaScript & Node.js
Stars: ✭ 164 (-21.15%)
Mutual labels:  sync
Remarkableapi
Docs and implementation of the reMarkable file sync API
Stars: ✭ 183 (-12.02%)
Mutual labels:  sync
Gitconverter
Синхронизация хранилища конфигурации "1С:Предприятия" с репозиторием Git и последующим переходом на разработку в 1C:Enterprise Development Tools (1C:EDT) с сохранением истории
Stars: ✭ 149 (-28.37%)
Mutual labels:  sync
Amazonriver
amazonriver 是一个将postgresql的实时数据同步到es或kafka的服务
Stars: ✭ 198 (-4.81%)
Mutual labels:  sync
Drivesync
Google Drive synchronization for Linux
Stars: ✭ 148 (-28.85%)
Mutual labels:  sync
Floccus
☁️ Sync your bookmarks privately across browsers
Stars: ✭ 2,630 (+1164.42%)
Mutual labels:  sync
Seam3
Cloudkit based persistent store for Core Data
Stars: ✭ 207 (-0.48%)
Mutual labels:  sync
Syncmap
A typed implementation of the Go sync.Map using code generation
Stars: ✭ 200 (-3.85%)
Mutual labels:  sync
Couchbase Lite Core
Cross-platform C++ core library for Couchbase Lite
Stars: ✭ 187 (-10.1%)
Mutual labels:  sync

Brave Sync

Build Status

A client/server for Brave sync

Building

Install dependencies:

npm install

Build a bundled JS library for the client:

npm run build

Run the server:

npm run start

Testing

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'.

Development

Server

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 config-dev.sh and source config-dev.sh when needed:

#!/bin/bash
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.

Tests

To run tests you need to configure these environment variables:

  • AWS_REGION
  • AWS_S3_BUCKET
  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY
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].