/app

xBrowserSync browser extensions / mobile app

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0

xBrowserSync

Desktop browser web extensions and Android app

Latest release GitHub license build Coverage Status Crowdin Dependencies Liberapay patrons

GitHub forks GitHub stars

xBrowserSync is a free tool for syncing browser data between different browsers and devices, built for privacy and anonymity. For full details, see www.xbrowsersync.org.

This repository contains the source code for the browser web extensions and Android mobile app used for syncing to an xBrowserSync service. You can get the official releases of the xBrowserSync clients from the various app stores, but if you’d like to build from source you can do so here.

Prerequisites

Installation

CD into the source directory and install the package and dependencies using NPM:

$ npm install

Android

You must follow the Cordova Android installation guide in order to develop xBrowserSync for Android. Once that's done, run the following commands in the xBrowserSync source directory:

$ npm install -g cordova@11.0.0
$ cd ./res/android
$ cordova prepare

Building

Run a debug build for the given platform:

$ npm run build:[platform]

or

$ npm run watch:[platform]

Replace [platform] with the name of the platform to build. The app code will be output to the 'build/[platform]' folder. Available platforms:

  • android
  • chromium
  • firefox

Debugging in Chrome

Once you have built xBrowserSync for Chromium, browse to chrome://extensions, enable Developer mode, click "Load unpacked" and browse to build/chromium within the xBrowserSync source directory.

Note: We recommend creating a new Chrome profile for testing so you do not affect your actual profile data.

Debugging in Firefox

Use the web-ext tool for testing xBrowserSync in Firefox. Once that is installed and you have built xBrowserSync for Firefox, CD into build/firefox within the xBrowserSync source directory and run the following command:

$ web-ext run --verbose

Firefox will open using a temporary profile and the xBrowserSync extension will be installed from the built source.

Debugging in Android

After building, in order to run the app you'll need to execute the relevant cordova cli commands. For example, to run the app on a connected device, CD into build/android within the xBrowserSync source directory and run the following commands:

$ cordova build android
$ cordova run android --device

Make sure to run the cordova build command at least once after running a fresh build so that required gradle files are copied (cordova run alone does not copy these files).

Packaging

Run a release build and then package for the given platform:

$ npm run package:[platform]

Replace [platform] with the name of the platform to build. The package will be output to the 'dist' folder.

Issues

If you’ve found a bug or wish to request a new feature, please submit it here.

Translation

If you would like to help with translating xBrowserSync into another language, please read the Translations wiki page to get started.