Перейти к содержимому

Firefox sync что это

  • автор:

Настройка своего сервера синхронизации Firefox Sync

image

Firefox Sync, это служба, которая позволяет пользователям переносить полностью свою историю, пароли, закладки, открытые вкладки и даже дополнения между различными устройствами, на которых установлен браузер Firefox, как для десктопной версии, так и для Android.

Firefox Sync реализуется двумя сущностями — сервисом авторизации (Firefox account API) и сервером синхронизации (Firefox Sync).

Давно возникла идея настроить свой сервер для синхронизации паролей, закладок и прочих радостей жизни. По роду деятельности, не очень доверяю публичным сервисам, таким, как LastPass или Google Account. На мой взгляд, приватные данные должны храниться на своем сервере.

Ну да хватит лирики, приступим к настройке.

UPDATE:
Этот способ работает для firefox старше версии 29 и описывает конфигурирование сервера синхронизации версии 1.5.

Настройка предлагается для сервера под управлением ОС Debian.
Есть возможность реализации нескольких схем синхронизации:
1. Firefox account API + Firefox Sync Server
2. Firefox account API + свой Sync Server
3. Свой account API + свой Sync Server

Я остановился на втором варианте.

Предполагается, что на сервере уже стоит веб-сервер apache2 и сервер баз данных mysql. Последнее, впрочем, необязательно, поскольку я не нашел способа вменяемо подружить сервер синхронизации с БД mysql, и использовал sqlite. При использовании mysql коннектор периодически отваливался от базы данных.

Пусть наш сервер синхронизации будет доступен по адресу sync.domain.com.

Установим необходимые пакеты:

$ sudo apt-get install python-dev git-core python-virtualenv libapache2-mod-wsgi 

Установку сервера синхронизации будем вести в директорию /var/www/

 $ cd /var/www/ $ git clone https://github.com/mozilla-services/syncserver $ cd syncserver $ make build 

Произведем базовое конфигурирование сервера:

$ cat syncserver.ini 
[server:main] use = egg:Paste#http host = 0.0.0.0 port = 5000 [app:main] use = egg:syncserver [syncserver] public_url = https://sync.domain.com/ sqluri = sqlite:////var/www/db.sql secret = your_server_key 

your_server_key может быть любой фразой, я ее сгенерировал так:

head /dev/urandom |md5sum 

Создадим файл для базы данных:

$ touch /var/www/db.sql 

Поправим права на директорию:

$ chown -R www-data:www-data /var/www/ $ chmod 600 /var/www/db.sql 

ОБРАТИТЕ ВНИМАНИЕ!
В своей конфигурации я расположил файл db.sql в директории /var/www/, поскольку сервер используется только для синхронизации, и apache не смотрит на этот файл.

В случае, если в /var/www у вас смотрят другие виртхосты, поместите файл с БД куда-нибудь в другое место.

Обращаться к sync-серверу будем по HTTPS.
Для этого настроим apache.

$ cat /etc/apache2/sites-available/sync.domain.com.conf 
 ServerName sync.domain.com Redirect permanent / https://sync.domain.com/ ErrorLog /var/log/apache2/sync/error.log CustomLog /var/log/apache2/sync/access.log combined Servername sync.domain.com ServerAdmin webmaster@domain.com DocumentRoot /var/www/syncserver WSGIProcessGroup sync.domain.com WSGIDaemonProcess sync.domain.com user=www-data group=www-data processes=2 threads=25 python-path=/var/www/syncserver/local/lib/python2.7/site-packages WSGIPassAuthorization On WSGIScriptAlias / /var/www/syncserver/syncserver.wsgi ErrorLog /var/log/apache2/sync/error-ssl.log CustomLog /var/log/apache2/sync/access-ssl.log combined SSLEngine on SSLProtocol -ALL +SSLv3 +TLSv1 SSLHonorCipherOrder On SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH SSLCertificateFile /etc/apache2/ssl/sync.domain.com.crt SSLCertificateKeyFile /etc/apache2/ssl/sync.domain.com.key Order deny,allow Allow from all  

Сгенерируем самоподписанные ключи:

$ cd /etc/apache2/ssl/ $ openssl genrsa -des3 -out server.key 1024 $ openssl req -new -key server.key -out server.csr $ cp server.key sync.domain.com.key $ openssl rsa -in sync.domain.com.key -out server.key $ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt $ cp server.crt sync.domain.com.crt $ cp server.key sync.domain.com.key 

Создадим директорию для логов:

$ mkdir /var/log/apache2/sync/ $ touch /var/log/apache2/sync/error-ssl.log $ touch /var/log/apache2/sync/access-ssl.log $ touch /var/log/apache2/sync/error.log $ touch /var/log/apache2/sync/access.log $ chown -R www-data:www-data /var/log/apache2/sync/ 

Активируем новый виртхост:

$ a2ensite sync.domain.com 

И перезапустим apache:

service apache2 restart 

Если мы все сделали правильно, то при обращении к

https://sync.domain.com/token/1.0/sync/1.5 

веб-сервер отдаст нам нечто вроде:

Обязательно добавьте свой сертификат в исключения браузера, иначе синхронизация не заработает!

Осталось настроить сам браузер.

Заходим в about:config, и меняем значение ключа services.sync.tokenServerURI на

https://sync.domain.com/token/1.0/sync/1.5 

После этого авторизуемся в Меню -> Настройки -> Синхронизация, используя аккаунт Mozilla, и пользуемся.
Кстати, если мы отключимся от аккаунта синхронизации, то ключ services.sync.tokenServerURI примет значение по умолчанию.

P.S.
К сожалению, не удалось настроить синхронизацию с мобильным телефоном на Android, используя fxa-custom-server-addon, если у кого-то получится — отпишитесь, пожалуйста, в комментарии.

Всем спасибо за внимание.

По просьбе трудящихся товарища Godless выкладываю виртуалку с преднастроенным mozilla-sync-server
Скачать можно тут(457.7 MB).
Образ виртуалки в формате бекапа Proxmox, все что нужно — это развернуть его на вашем хосте.
Также нужно провести небольшой ряд правок в конфигах:

$ cat /home/syncserv/syncserver.ini 
. [syncserver] public_url = https://ЗАМЕНИТЬ_НА_ВАШ_IP/ (или доменное имя) . secret = ПЕРЕГЕНЕРИРОВАТЬ_КЛЮЧ (head /dev/urandom |md5sum) . 

Также обновил конфиг апача, новый вариант (с отключенным SSLv3 и SSLv2 — спасибо Anisotropic ):

 ServerName sync.domain.com Redirect permanent / https://sync.domain.com/ ErrorLog /var/log/apache2/sync/error.log CustomLog /var/log/apache2/sync/access.log combined Servername sync.domain.com ServerAdmin webmaster@domain.com DocumentRoot /home/syncserv WSGIProcessGroup sync.domain.com WSGIDaemonProcess sync.domain.com user=syncserv group=syncserv processes=2 threads=25 python-path=/home/syncserv/local/lib/python2.7/site-packages WSGIPassAuthorization On WSGIScriptAlias / /home/syncserv/syncserver.wsgi ErrorLog /var/log/apache2/sync/error-ssl.log CustomLog /var/log/apache2/sync/access-ssl.log combined SSLEngine on SSLProtocol ALL -SSLv2 -SSLv3 SSLHonorCipherOrder On SSLCipherSuite ECDHE-RSA-AES128-SHA256:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH SSLCertificateFile /etc/apache2/ssl/sync.domain.com.crt SSLCertificateKeyFile /etc/apache2/ssl/sync.domain.com.key Order deny,allow Allow from all  

SQLite база данных теперь лежит в /var/lib/sql/db.sql
Passphrase к SSL сертификатам, как и к root-паролю habr2014

Кому интересно — потестируйте, сообщите о багах, при необходимости поправлю.

Firefox Sync будет поддерживать синхронизацию дополнений (расширений и тем оформления) между компьютерами

Как известно, это средство, позволяющее двум (или более) браузерам Mozilla Firefox на нескольких компьютерах (или даже мобильниках) иметь один и тот же набор закладок, паролей, настроек, посещённых страниц и открытых вкладок. Набор этот пополняется синхронно: например, добавишь закладку на одном компьютере — а она тотчас же появляется и на другом.

Каждый пункт из этого списка может быть отключён (скажем, кто нипочём не желает передавать сохранённые пароли с личного компьютера на рабочий, тот напрочь отключает синхронизацию сохранённых паролей). Расширения же могут добавлять собственные элементы для синхронизации: скажем, Adblock Plus умеет поделиться противорекламными фильтрами.

Разработчики Файерфокса подумали-подумали, да в декабре нынешнего (2011) года добавили в Firefox Sync поддержку синхронизации и самих расширений если учесть график, то её появление в релизе состоится весною 2012 года.

Подробности о работе новой функции изложены в MozillaWiki. Спервоначалу она коснётся только расширений, расположенных и будет по умолчанию не включена у нынешних пользователей Firefox Sync, чтобы не ужаснуть их возможными резкими переменами внешнего вида и функциональности браузера после обновления.

  • Mozilla Firefox
  • Firefox Sync
  • дополнения к Firefox
  • расширения Firefox

Как настроить Синхронизацию на своём компьютере

Аккаунт Mozilla позволяет вам синхронизировать данные и настройки (такие как закладки, историю, пароли, открытые вкладки и установленные дополнения) между всеми вашими устройствами.

Оглавление

  • 1 Создайте аккаунт Mozilla
  • 2 Выберите, какую информацию синхронизировать
  • 3 Подключите другие устройства к Синхронизации
  • 4 Отключите Синхронизацию для устройств, синхронизированных ранее

Создайте аккаунт Mozilla

Для включения Синхронизации вам понадобится аккаунт Mozilla. Узнайте, как зарегистрировать аккаунт Mozilla.

Выберите, какую информацию синхронизировать

Подключите другие устройства к Синхронизации

Устройством может являться мобильное устройство (например, смартфон или планшет), компьютер или другой профиль Firefox. Для получения дополнительной информации о Firefox на мобильных устройствах прочтите следующие статьи:

  • Телефоны Android и планшеты: Синхронизируйте закладки, вкладки, историю и пароли на Android
  • iPad, iPhone и сенсорные устройства iPod: Синхронизация закладок, логинов и истории просмотра в Firefox для iOS

Чтобы подключиться к другому компьютеру или профилю, просто войдите в свой аккаунт и позвольте Синхронизации Firefox сделать всё остальное. Чтобы войти, вам понадобятся адрес электронной почты и пароль, который вы придумали в предыдущем разделе.

  1. Откройте Firefox на компьютере или профиль Firefox, который хотите синхронизировать.
  2. Нажмите кнопку меню Fx89menuButton, а затем — кнопку Войти рядом с пунктом Синхронизация и сохранение данных и войдите в аккаунт. Sign in to your Firefox Account
    • Если вы уже вошли в свой аккаунт (прочитайте эту статью), нажмите Синхронизировать , чтобы немедленно начать синхронизацию.

Отключите Синхронизацию для устройств, синхронизированных ранее

Для получения дополнительной информации прочтите эту статью.

Эти прекрасные люди помогли написать эту статью:

Illustration of hands

Станьте волонтёром

Растите и делитесь опытом с другими. Отвечайте на вопросы и улучшайте нашу базу знаний.

Синхронизация браузера Firefox

С помощью Firefox вы можете продолжить с того места, на котором остановились, при переключении с настольного компьютера на мобильный телефон и планшет. Firefox позволяет вам видеть ваши закладки, историю просмотра, сохраненные пароли и многое другое, независимо от того, какое устройство вы используете.

Зарегистрируйте бесплатный Аккаунт Mozilla, и вы сможете синхронизировать свои данные везде, где используете Firefox и другие Mozilla продукты.

Все ваши данные зашифрованы на наших серверах, поэтому мы не можем их прочитать — только вы можете получить к ним доступ. Мы не продаем вашу информацию рекламодателям, поскольку это противоречит нашему обещанию о конфиденциальности данных.

Отправка вкладок с одного устройства на другое

Функция вкладки «Отправить» в Firefox позволяет отправлять страницы в Firefox с одного устройства на другие устройства (например, iPhone, iPad или устройство Android). Вы нашли статью во время просмотра на своем телефоне, которую хотите прочитать, когда вернетесь к своему столу? Или важный документ с работы, который вы хотите сохранить, когда вернетесь домой? Возможно, вы нашли на своем ноутбуке рецепт, который хотите отправить на планшет на кухне. Отправьте эту вкладку!

Изображение меню приложения Firefox с выделенной функцией «Отправить вкладку на устройство».

Делайте больше с Firefox

Получите быстрый, легкий, ориентированный на конфиденциальность браузер, поддерживаемый некоммерческой организацией и работающий на всех ваших устройствах.

Firefox больше не поддерживается для Windows 8.1 и более ранних версий.

Пожалуйста, загрузите Firefox ESR (выпуск с расширенной поддержкой), чтобы использовать Firefox.

Firefox больше не поддерживается для macOS 10.14 и более ранних версий.

Пожалуйста, загрузите Firefox ESR (выпуск с расширенной поддержкой), чтобы использовать Firefox.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *