Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including fx-sync with all npm packages installed. Try it out:

var fxSync = require("fx-sync")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

fx-sync v0.2.2

Interact with Firefox Sync Servers

node-fx-sync

Create a new Firefox Account in Firefox 29 or newer and you'll be able to use this module to download your Sync data. Fancy!

Install

npm install fx-sync

Example

var FxSync = require('fx-sync');

var sync = new FxSync({ email: 'me@example.com', password: 'hunter2' });

// Download and print my super useful bookmarks

sync.fetch('bookmarks')
  .then(function(results) {
    results
      .filter(filterBookmark)
      .map(mapBookmark)
      .forEach(renderBookmark);
  })
  .done();

function filterBookmark(bookmark) {
  return bookmark.type === 'bookmark';
}

function mapBookmark(bookmark) {
  return {
    title: bookmark.title,
    url: bookmark.bmkUri,
    description: bookmark.description || '',
    tags: bookmark.tags
  };
}

function renderBookmark(bookmark) {
  console.log(bookmark);
}

API

sync = new FxSync({ email: <email>, password: <password> })

Creates a new instance.

sync.fetch(collection, options)

E.g. sync.fetch('tabs').then(function (result) { ... });

Fetch sync'ed data from collection. Useful collections include: passwords, tabs, forms, prefs, bookmarks, addons, and history. For information on options, look here.

sync.fetchIDs(collection, options)

E.g. sync.fetchIDs('history', { limit: 50 }).then(function (result) { ... });

Fetch the IDs of objects in collection. You can use this to build more complicated queries without downloading the full contents of each object in the query. For information on options, look here.

License

Apache License 2.0

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free