
Firefox — последний независимый браузер на собственном движке, который противостоит монополии Chrome. Однако некоторые пользователи недовольны политикой организации Mozilla: она собирает телеметрию, угрожает внедрять ИИ, искать новые источники дохода и использовать персональные данные пользователей.
Так что для безопасности есть смысл переключиться на безопасный форк Firefox. Правда, в этом случае мы лишаемся некоторых удобных централизованных сервисов, таких как синхронизация браузера между разными устройствами.
Но эту проблему можно исправить. В частности, сервер синхронизации Firefox можно установить на собственном хостинге.
Продажа персональных данных
Действия Mozilla в последнее время разочаровали многих пользователей. Например, в анонсе от 19 февраля организация заявила о «диверсификации» бизнеса, так что разработка Firefox перестаёт быть единственным основным направлением Mozilla. Теперь больше усилий будет направляться на «инвестирование в рекламу с соблюдением конфиденциальности для роста новых доходов, разработку надёжного ИИ с открытым исходным кодом и создание кампаний по сбору средств в интернете». Руководство заявило, что новые источники дохода «необходимы для выживания Mozilla».
Но самым пугающим сигналом стало изменение условий пользования Firefox, откуда исчез запрет на продажу персональных данных пользователей.
Потом организация пошла на попятную и изменила формулировки, но доверие к Mozilla было подорвано.
В связи с этим некоторые начали присматриваться к независимым форкам Firefox.
Независимые форки
Форки Firefox существуют давно, но в связи с последними событиями стали максимально актуальны. Среди них можно назвать GNU IceCat (под Linux), Floorp, LibreWolf и Zen.
GNU IceCat — наверное, самый старый из действующих форков, он поддерживается с 2005 года, первая версия вышла на базе Firefox 1.5.0. Его отличия от оригинального браузера:
Расширение LibreJS для блокировки «несвободного нетривиального JavaScript». При этом он разрешает исполнение «свободного и/или тривиального JavaScript». На практике это означает, что значительное количество сайтов не будет работать, если не добавить их в исключения;
Расширение JShelter, которое пытается блокировать не только вредоносное ПО, но также отпечатки браузера и отслеживание пользователей. Оно изменяет окружение JavaScript для веб-страниц, чтобы запутать средства фингерпринтинга. Может блокировать API или возвращать фальшивые значения;
Форк расширения Third-party Request Blocker, которое блокирует соединения со сторонними ресурсами без согласия пользователя.
Установить GNU IceCat не так просто. Бинарники не распространяются в целях безопасности, но скачать пакет можно под Linux через пакетный менеджер GNU Guix.
Сам менеджер можно установить с помощью скрипта:
cd /tmp
wget 'https://git.savannah.gnu.org/gitweb/?p=guix.git;a=blob_plain;f=etc/guix-install.sh;hb=HEAD'
chmod +x guix-install.sh
./guix-install.sh
Под Debian/Ubintu через менеджер пакетов:
sudo apt install guix
Браузер устанавливается следующей командой (после обязательного обновления пакетного менеджера guix pull
и guix package -u
, это длительная процедура):
guix install icecat

Затем нужно обновить его до последней версии:
guix upgrade icecat
Последняя версия браузера 115.24.0.1 вышла совсем недавно, то есть браузер активно поддерживается и своевременно обновляется в соответствии с Firefox той же версии, практически день в день.
Проект Floorp зародился значительно позже, разработка ведётся на Github. Форк отличается бóльшими возможностями по настройке браузера, в том числе интерфейса:

Ещё один форк LibreWolf — возможно, самый популярный среди всех. Первая версия вышла в 2020 году. Разработчики постарались вычистить из кода Firefox все следящие функции, такие как телеметрия и DRM, а также другие сомнительные функции, которые не очень хорошо были восприняты пользователями, вроде интеграции с Pocker.
В стандартную комплектацию входит блокировщик рекламы uBlock Origin. Как известно, его отключили для пользователей Chrome, но Mozilla продолжает поддерживать расширения по старому стандарту Manifest V2 и обещает делать это в будущем.
По внешнему виду LibreWolf никак не отличается от Firefox, но продвинутый антитрекинг выгодно его отличает, поскольку эффективно отключает фингерпринтинг пользователей. Так что при прочих равных LibreWolf выигрывает у Firefox благодаря лучшей безопасности.
Браузер Zen — один из самых свежих форков Firefox, разработка которого началась в прошлом году, он до сих пор в бете. Вот этот браузер выглядит совершенно иначе по сравнению с Firefox. Интерфейс, панель закладок, боковая панель с табами, поиск — всё интересно переосмыслено:

Из названия понятно, что задача «Дзена» — уменьшить стресс, снизить уровень «шума» в интернете. Элементы интерфейса скрываются, когда они не нужны, а остальные занимают минимум места, так что содержание веб-страницы занимает максимальную часть экрана, по сравнению с Firefox или Chrome. Плюс дополнительные фичи, такие как префетчинг ссылок и предварительный показ страницы до перехода по ссылке, разделение экрана и др. Всё выглядит очень красиво, а для дополнительной настройки предназначены моды (расширения). В общем, приятная игрушка для тех, кто хочет поэкспериментировать с браузером и подогнать его максимально под свои предпочтения. Большинство расширений Firefox также работают в Zen.
Свой сервер синхронизации, сложная версия
Важно понимать, что все форки Firefox всё равно зависят от Mozilla. Все они обновляются на базе новых версий браузера Firefox, которые разрабатывает Mozilla. В этом их слабость, потому что если Mozilla пойдёт по тому неприглядному пути, о котором говорилось в начале статьи, то разработчики форков мало что смогут сделать. Слишком многое придётся исправлять, а с каждой новой версией разница будет накапливаться.
Кроме того, форки зависят от инфраструктуры Mozilla для различных функций, в том числе синхронизации. Это один из тех недостатков, которые пользователи могут устранить своими силами. Например, установив собственный сервер синхронизации на своём хостинге или VPS.
Для этого подойдёт VPS минимальной конфигурации, включая сервер из линейки «Старт» за 139 рублей в месяц (97,3 руб при оплате за год до 30 июня 2025 года). Минимальная конфигурация включает в себя ОС Linux, CPU 1 ядро 2,2 ГГц, RAM 512 МБ, HDD 10 ГБ, выбираем операционную систему Debian 12:

Получаем IP-адрес:

Подключаемся к серверу:

Затем устанавливаем Mozilla Sync Storage. Для этого нужно установить все зависимости, вот список системных требований:
cmake
gcc
golang
libcurl4-openssl-dev
libssl-dev
make
pkg-config
Rust stable
python 3.9+
-
MySQL 5.7
libmysqlclient (
brew install mysql
на macOS,apt install libmysqlclient-dev
на Ubuntu,apt install libmariadb-dev-compat
на Debian)
Затем следовать инструкциям в официальном репозитории. В качестве БД предлагается MySQL или Spanner, поэтому возможны два варианта установки.
Альтернативный и более простой вариант установки — в докер-контейнере. Для этого выбираем в маркетплейсе образ Docker CE (c Ubuntu 18.04), он обойдётся несколько дороже, потому что нам понадобится сервер с большим количеством памяти для сборки проекта, в котором используются модули с большим количеством зависимостей, такие как gprcio. Это современный фреймворк Remote Procedure Call (RPC) для доступа к сервисам в дата-центрах и облаках.
Для работы Mozilla Sync Storage нужен доступ к крейту Google Cloud Rust (raw). Это набор клиентских библиотек для взаимодействия с различными сервисами Google Cloud Platform. Доступ осуществляется через интерфейсы Google API на базе grpcio.
В общем, Google Cloud Rust (raw) использует grpcio
и protobuf
, так что их нужно установить предварительно, причём конкретных версий: grpcio 0.13.0 и protobuf 2.28.0, из-за внутренних зависимостей grpcio.
Для установки запускаем сервер, подключаемся по SSH и выполняем команды, описанные в документации.
Скопировать содержимое
mozilla-rust-sdk
в корневой каталог на сервере.-
Закомментировать значение
image
в строкеsyncserver
файлаdocker-compose.mysql.yml
или docker-compose.spanner.yml (смотря какую БД мы используем: MySQL или Spanner) и заменить его на следующие строки:build: context: .
При использовании MySQL настроить учётные данные MySQL в файле
docker-compose.mysql.yml
, чтобы они соответствовали локальной настройке.Запустить БД командой
make docker_start_mysql
илиmake docker_start_spanner
, после этого сервер синхронизации станет доступен по адресу 194.87.239.198:8000/heartbeat.
Старый проект Firefox Sync Server на Python доступен здесь. В связи с появлением новой версии на Rust старая больше не поддерживается. Однако для связи БД с Firefox его всё-таки надо установить (опять же, после установки всех зависимостей).
Сначала нужно осуществить указанные правки в syncserver.ini, чтобы сервер был доступен на 194.87.239.198:5000
.
Потом собрать сервер:
git clone https://github.com/mozilla-services/syncserver
cd syncserver
make build
И запустить его:
make serve
Когда сервер запущен, изменить настройки в браузере Firefox: в about:config
изменить значение identity.sync.tokenserver.uri
на http://194.87.239.198:5000/1.0/sync/1.5
.

Перезапустить браузер и попробовать синхронизироваться.
Простой неофициальный контейнер
Инструкции в официальном репозитории довольно сложные и немного странные, потому что отдельные вещи не автоматизированы и нужно делать вручную.
Можно поступить гораздо проще и установить неофициальный докер-контейнер syncstorage-rs-docker для сервера синхронизации. Там всё стандартно: редактируем файл Docker Compose, а потом запускаем контейнер, который сделает всю необходимую работу: загрузит MariaDB и соберёт приложение сервера синхронизации:
Образец файла docker-compose.yaml
:
services:
firefox_mariadb:
container_name: firefox_mariadb
image: linuxserver/mariadb:10.6.13
volumes:
- /data/ffsync/dbdata:/config
restart: unless-stopped
environment:
MYSQL_DATABASE: syncstorage
MYSQL_USER: sync
MYSQL_PASSWORD: syncpass
MYSQL_ROOT_PASSWORD: rootpass
firefox_syncserver:
container_name: firefox_syncserver
build:
context: /root/ffsync
dockerfile: Dockerfile
args:
BUILDKIT_INLINE_CACHE: "1"
restart: unless-stopped
ports:
- "8000:8000"
depends_on:
- firefox_mariadb
environment:
LOGLEVEL: info
SYNC_URL: https://mydomain/sync
SYNC_CAPACITY: 5
SYNC_MASTER_SECRET: mastersecret
METRICS_HASH_SECRET: metricssecret
SYNC_SYNCSTORAGE_DATABASE_URL: mysql://sync:usersync@firefox_mariadb:3306/syncstorage_rs
SYNC_TOKENSERVER_DATABASE_URL: mysql://sync:usersync@firefox_mariadb:3306/tokenserver_rs
После этого Firefox Sync Server станет доступен по адресу, который мы указали в переменной .env
и настройках about:config
в браузере.
К сожалению, сервер синхронизации всё равно зависит от инфраструктуры Mozilla для некоторых функций, а именно для аутентификации, получения метаданных аккаунта и др. Хотя теоретически возможен и полный самохостинг Mozilla Accounts Server, документация для этого есть в открытом доступе.
Таким образом, можно добавить к официальному форку Firefox вроде LibreWolf службу синхронизации через свой собственный сервер.
P.S. Если нужно синхронизировать между устройствами только закладки и вкладки, то достаточно простой программы вроде Floccus, которая тоже умеет работать через свой VPS и устанавливается гораздо проще.
© 2025 ООО «МТ ФИНАНС»
Комментарии (8)
wmlab
11.06.2025 11:26Tor тоже является форком Firefox. Достаточно безопасен и анонимен в сочетании с VPN.
rPman
11.06.2025 11:26К сожалению, сервер синхронизации всё равно зависит от инфраструктуры Mozilla для некоторых функций, а именно для аутентификации, получения метаданных аккаунта и др.
т.е. все самое чувствительное с точки зрения приватности вынести на свой хостинг не получится? или все же есть решения?
p.s. https://ymozilla-services.readthedocs.io/en/latest/howtos/run-fxa.html
404 Project not found
ymozilla-services.readthedocs.io
The project you requested does not exist or may have been removed.dartraiden
11.06.2025 11:26т.е. все самое чувствительное с точки зрения приватности вынести на свой хостинг не получится?
Самое чувствительное с точки зрения приватности это данные синхронизации (пароли, закладки, история, сессии), статья, которую мы комментируем, как раз о том, как хранить это на своём сервере. При этом, они зашифрованы E2E-шифрованием. Даже ваш сервер не знает, что там конкретно внутри.
Сервер авторизации тоже можно поднять свой, но, по отзывам, это боль дырка задница. Проще оставить это Mozilla, там кроме почты и, может быть, каких-то метаданных, ничего не хранится. Но это явно не "всё самое чувствительно", это наименее чувствительное. Самое чувствительное всегда это сами данные.
georgiy08
11.06.2025 11:26http://localhost:5000/1.0/sync/1.5
Поясните пожалуйста, почему после рекламы ruvds, мы вдруг забываем, что купили сервер, и вписываем localhost?
D_Dementy
куда ж без раста то.... а что? диски дешевые, памяти и процов валом... непряморуких прогеров еще больше.
okhsunrog
Тут вы зря, у раста довольно высокий порог вхождения, и любой Вася с улицы не сможет начать писать код на нём так же легко, как на Python / JS. Если же говорить про производительность - тут он не уступает С/C++. Где-то выигрывает, где-то проигрывает, зависит от конктретного случачая и применённых оптимизаций компилятора, но в среднем они идут на равных в производительности.