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.
CD into the source directory and install the package and dependencies using NPM:
$ npm install
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
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:
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.
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.
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).
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.
If you’ve found a bug or wish to request a new feature, please submit it here.
If you would like to help with translating xBrowserSync into another language, please read the Translations wiki page to get started.