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

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 или как синхронизировать наши браузеры

Несколько лет назад у пользователя Интернета был один браузер, почти всегда дома, в котором он хранил информацию, необходимую для навигации, надстроек, закладок, истории и т. Д. С течением времени каждый день мы обрабатываем все больше гаджетов, использующих Интернет, поэтому облако и те программы, которые используют эту концепцию, стали модными. Несколько месяцев спустя, Google Chrome предложили возможность синхронизации всех наших данных во всех браузерах, которые мы используем, таким образом, чтобы они были связаны с пользователем, и отметив этого пользователя в любом браузере Chrome, который мы используем, мы получим всю имеющуюся у нас информацию. Возможно, эта функция расширила использование Chrome но он больше не единственный. Команда Mozilla запустила несколько месяцев назад в экспериментальном порядке, а некоторые аккаунты назад версии окончательно « Firefox Sync «, Утилита для браузера, которая не только позволяет нам синхронизировать нужную нам информацию, но также позволяет связывать и отключать устройства, которые мы хотим, с выбранным нами браузером Firefox. Кроме того, он позволяет нам связывать мобильные версии Firefox и информацию на нашем мобильном устройстве. Firefox OS.
Как использовать Firefox Sync
Наверняка многие из вас что-то видели в своем Mozilla Firefox что похоже на синхронизацию или Firefox Sync или даже «синхронизировать компьютеры«. Что ж, давайте теперь посмотрим, как использовать эти параметры. Первое, что нам нужно сделать, это перейти к Правка -> Настройки и появляется такое окно, мы переходим на активную вкладку «Синхронизация»Это не что иное, как ссылка или прямое меню Firefox Sync. Изображение, которое вы видите, появляется после настройки, но в противном случае появится серый экран с двумя вариантами: связать или создать новую учетную запись. Поскольку мы впервые выбираем создание учетной записи, появится следующее:

Заполняем его своими данными и нажимаем далее, если он был создан без проблем, Firefox Sync Мы проиндексируем всю информацию из браузера, чтобы синхронизировать ее на компьютерах, на которые мы ссылаемся.

Теперь нам нужно только связать устройства, что является не чем иным, как сообщением Firefox синхронизировать информацию на этом компьютере с другим компьютером или устройством, таким как планшет или мобильное устройство. Возвращаемся к экрану, который появляется после перехода в Правка–> Настройки–> Синхронизация и мы увидим, как появится предыдущий экран. Что ж, теперь мы собираемся «связать устройство», появившись на этом экране.

В трех центральных полях вы должны вставить код, который выдается нам устройством, которое мы хотим связать, например, нашим мобильным телефоном. Мы открываем Firefox с нашего мобильного, переходим к параметрам и ищем «устройство связи», появится код, и мы вставим его на другой экран. Теперь снова появится предыдущий экран, информирующий нас о том, что устройство синхронизируется. Эта операция должна выполняться с любым устройством, которое мы хотим связать, она повторяется, но очень безопасна. После того, как мы подключили все наши устройства, мы вернемся к экрану, где опция «Устройство сопряжения»И у нас будет экран конфигурации Firefox Sync. Существует центральное меню, в котором мы выбираем тип данных, которые мы хотим или не хотим синхронизировать, например, надстройки или файлы cookie, по вашему усмотрению. В поле под меню у нас есть возможность указать имя или псевдоним для устройства, в моем случае я поставил Рабочий стол, потому что это рабочий стол, но у меня есть другое с «Нетбуки»И еще один с«мобильный«. И при этом вы уже настроили Firefox Sync и вы можете синхронизировать свои данные в Mozilla Firefox. Что вы думаете об учебнике? Считаете ли вы это полезным? Были ли у вас проблемы? Не порежься, высказывай свое мнение и таким образом ты сможешь помочь другому человеку, даже если не веришь в это.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Полный путь к статье: Убунлог » Ubuntu » Учебники » Firefox Sync или как синхронизировать наши браузеры
Будьте первым, чтобы комментировать
Firefox Sync: что это такое и как его использовать

Возможность синхронизировать некоторые данные о просмотре между устройствами — одна из самых старых и любимых функций Firefox . В то время как закладки были в центре внимания, теперь они расширились до более широкого и надежного набора услуг. Узнайте, как создать учетную запись Firefox, а затем войдите в свой браузер, чтобы использовать службу синхронизации Firefox.
Регистрация в учетной записи Firefox не требуется для использования браузера. Вы можете просматривать свои любимые веб-сайты без проблем, даже если вы не вошли в систему. Вы также можете использовать обычную функцию закладок, но эти закладки не будут отображаться на других устройствах для вас.
Особенности учетной записи Firefox / Firefox Sync
Чтобы уточнить, учетная запись Firefox — это профиль, включающий ваше имя пользователя / пароль, который вы создаете. Firefox Sync — это одна служба, к которой вы получаете доступ через эту учетную запись. Для целей этой статьи мы будем ссылаться на Firefox Sync (или просто Sync), но важно знать взаимосвязь между ними.
После того как вы войдете в систему, вам будут доступны следующие преимущества:
- Синхронизация закладок . Как упоминалось ранее, это одна из самых старых функций Firefox, появившаяся в то время, когда для этой функции требовались сторонние сервисы, такие как Xmarks .
- Отправка вкладок между устройствами : если у вас есть несколько устройств, вошедших в систему, вы можете отправлять вкладки между ними. Например, если вы находите интересное видео во время просмотра на своем телефоне, вы можете отправить его на свой ПК, чтобы позже посмотреть на большом экране.
- Синхронизация паролей : Firefox синхронизирует пароли вашего сайта между настольными устройствами, а также паролями под управлением iOS через приложение Lockbox.
- Сохраненный контент : Mozilla Corp. приобрела Pocket в 2017 году, после того как несколько лет поддерживала его в Firefox по умолчанию. Эта функция, доступная на настольных компьютерах, iOS и Android, по-прежнему позволяет «сохранять» контент на одном устройстве для последующего чтения на другом. По сути, он хранит контент в автономном режиме для вас, что позволяет вам получить к нему доступ на ходу, не используя свои мобильные данные.
- Синхронизация заметок. Функция заметок в Firefox, доступная на настольных ПК и Android, позволяет создавать текстовые заметки и получать к ним доступ на других устройствах, хотя она не поддерживает расширенные функции ведения заметок, такие как теги или графический контент.
Обратите особое внимание на платформы, поддерживаемые вышеуказанными функциями. Mozilla, будучи некоммерческой организацией, должна проявлять осторожность в том, что касается затрат на разработку, поэтому одна функция может быть доступна только на определенных платформах. Это кажется особенно важным в отношении поддержки Android и iOS.
Как зарегистрировать учетную запись Firefox
Вы можете зарегистрировать учетную запись Firefox через один из следующих каналов:
- Если вы только что установили Firefox, при первом запуске вы увидите заставку, предлагающую начать регистрацию.
- Когда вы выбираете Вход в синхронизацию в верхней части главного меню, выберите У вас нет учетной записи? Начните со страницы настроек учетной записи Firefox.

На странице входа в Интернете на всех платформах выберите Создать учетную запись .
Они направят вас к простой форме регистрации. Введите действительный адрес электронной почты.

Создайте надежный пароль .
Введите свой возраст.
При желании установите флажок, чтобы получать последние новости о Mozilla и Firefox .
Нажмите Создать аккаунт, чтобы закончить.

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

Вы сделали! Теперь вы можете подключить Firefox на всех ваших устройствах.
Как войти в Firefox Sync на рабочем столе
Выберите меню гамбургера, затем выберите Войти в синхронизацию в правом верхнем углу окна Firefox.

Это приведет вас к веб-форме для ввода адреса электронной почты и пароля.

После завершения входа в систему браузер покажет вам подтверждающее сообщение.

Вы также увидите уведомление о синхронизации.
Как войти в Firefox Sync на мобильном телефоне
Нажмите значок с тремя вертикальными точками в правом верхнем углу экрана, затем нажмите « Настройки» .

Нажмите Войти, чтобы ввести адрес электронной почты и пароль.
Вы будете перенаправлены на знакомую форму входа в Интернете. Введите адрес электронной почты и пароль.

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

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


Делайте больше с Firefox
Получите быстрый, легкий, ориентированный на конфиденциальность браузер, поддерживаемый некоммерческой организацией и работающий на всех ваших устройствах.
Firefox больше не поддерживается для Windows 8.1 и более ранних версий.
Пожалуйста, загрузите Firefox ESR (выпуск с расширенной поддержкой), чтобы использовать Firefox.
Firefox больше не поддерживается для macOS 10.14 и более ранних версий.
Пожалуйста, загрузите Firefox ESR (выпуск с расширенной поддержкой), чтобы использовать Firefox.