Firefox Sync, originally branded Mozilla Weave, is a browser synchronization feature that allows users to partially synchronize bookmarks, browsing history, preferences, passwords, filled forms, add-ons and the last 25 opened tabs across multiple computers.
It keeps user data on Mozilla servers, but the data is encrypted in such a way that no third party, not even Mozilla, can access user information.
Firefox Sync was originally an add-on for Mozilla Firefox 3.x and SeaMonkey 2.0, but it has been a built-in feature since Firefox 4.0 and SeaMonkey 2.1.1
cd /usr/share
hg clone https://hg.mozilla.org/services/server-full firefox_sync
cd firefox_sync
And launch the build:
1
2
3
4
5
6
7
8
9
10
11
12
> make build
[...]Building the app
Checking the environ [ok] Updating the repo [ok] Building Services dependencies
Getting server-core [ok] Getting server-reg [ok] Getting server-storage [ok][ok] Building External dependencies [ok] Now building the app itself [ok][done]
Let’s install the latest Python module and Guinicorn (WSGI HTTP Server):
[captcha]use=truepublic_key=xxxxxxxxxxxxxxxxxxxxxxxxprivate_key=xxxxxxxxxxxxxxxxxxxxxxxxuse_ssl=false[storage]backend=syncstorage.storage.sql.SQLStoragesqluri=mysql://firefox_sync:password@localhost:3306/firefox_syncdbstandard_collections=false# Set quota and sizeuse_quota=truequota_size=5120pool_size=100pool_recycle=3600reset_on_return=truedisplay_config=truecreate_tables=true[auth]backend=services.user.sql.SQLUsersqluri=mysql://firefox_sync:password@localhost:3306/firefox_syncdbpool_size=100pool_recycle=3600create_tables=true# Uncomment the next line to disable creation of new user accounts.#allow_new_users = false[nodes]# You must set this to your client-visible server URL.fallback_node=http://firefoxsync.deimos.fr:5000/[smtp]host=localhostport=25sender=firefoxsync@mycompany.com[cef]use=truefile=syslogvendor=mozillaversion=0device_version=1.3product=weave
warning
It’s preferable to use SSL connection. If you have autosigned certificates, open manually the URL with firefox to accept them and avoiding errors
If you’re not going to use Nginx, check that your firewall port is open on 5000 port number:
For more security and if you’re going to use a web server like Nginx, it’s better to listen only on localhost. In addition, you need to change the ‘use’ parameter from http to gunicorn. And to finish, you also need to change the log path (development.ini):