
Ghostery Desktop Browser
Рекомендуем использовать Ghostery Tracker and Ad Blocker в Firefox.
Ghostery Desktop Browser — это минимальный форк Firefox, оптимизированный для приватности. Основные дополнительные возможности:
Браузер Ghostery доступен для следующих платформ:
Мы также предлагаем ночную сборку для тестирования разрабатываемых версий. Чтобы её получить:
about:config.app.update.channel и измените его значение на nightly.Для сборки браузера сначала необходимо загрузить копию Firefox и применить к ней наши патчи. Этот процесс выполняется с помощью fern.js — нашего инструмента для работы с патчами. Настройте локальное рабочее пространство следующим образом:
git clone https://github.com/ghostery/user-agent-desktop.git
cd user-agent-desktop
npm ci # зависимости Fern.js
./fern.js use # Загрузить правильные исходники Firefox и расширения Ghostery
./fern.js import-patches # Применить патчи к Firefox
После получения исходников Firefox необходимо настроить окружение для сборки браузера. Подробные инструкции доступны для Firefox, но в большинстве случаев достаточно следующего:
cd mozilla-release
./mach bootstrap
После настройки инструментов сборки можно собрать браузер, используя файл mozconfig от Ghostery:
cd mozilla-release
MOZCONFIG=/path/to/user-agent-desktop/brands/ghostery/mozconfig ./mach build # начать сборку
./mach run # запустить браузер
Локальная сборка создаст браузер для вашей текущей платформы. Для сборки под другие платформы мы предоставляем сборки в Docker. Их можно запустить командой fern.js build:
./fern.js build -t mac
Сборки для Windows и Mac требуют включения платформенных фреймворков. Их следует поместить в каталог build:
MacOSX14.4.sdk.tar.xz. Этот файл можно найти внутри установки XCode.vs.tar.zstd и Makecab.exe. Информацию о том, где их взять, см. в конце этого документа.После клонирования репозитория
выполните следующие команды, чтобы начать работу (обратите внимание, что на вашей системе должны быть установлены npm и node):
./fern.js use # Настроить папку 'mozilla-release', используя информацию из '.workspace'
./fern.js import-patches
cd mozilla-release # Выполните какие-либо действия... и зафиксируйте изменения
./fern.js export-patches # Проверьте папку 'patches'
Для обновления расширения Ghostery, встроенного в браузер, выполните следующие действия:
./fern.js use --ghostery v8.5.2
./fern.js reset
./fern.js import-patches
Когда выходит новая версия Firefox, или если вы хотите работать поверх другой версии, выполните:
./fern.js use --firefox 80.0.1
./fern.js reset # Необходимо, если эта версия уже была локально.
./fern.js import-patches
Сборка браузера в любом варианте выполняется следующим образом:
# Подготовить папку 'mozilla-release' с правильной версией и патчами.
./fern.js use
./fern.js reset
./fern.js import-patches
# Все три команды можно использовать в Linux и MacOS (кроме кросс-сборки для Windows).
./fern.js build --target mac
./fern.js build --target linux
./fern.js build --target windows
Затем проверьте содержимое папки mozilla-release, чтобы найти артефакты.
./mach bootstrap требует наличия рабочей копии геко-исходников для правильной работы. Используйте репозиторий gecko-dev, чтобы запустить mach bootstrap и настроить локальную среду сборки:
git clone https://github.com/mozilla/gecko-dev.git
cd gecko-dev
./mach bootstrap
Теперь в этом проекте вы сможете использовать ./mach build.
Кроме того, скрипты build-* в этом репозитории подготовят Docker-образы с готовой средой сборки для каждой платформы. Скрипты запустят командную строку внутри Docker-контейнера, где вы сможете выполнить ./mach build напрямую.
Сборку можно выполнить в Windows после настройки среды сборки в соответствии с этими инструкциями.
Вам потребуется установить Windows 11 SDK версии 10.0.22621. Затем выполните следующее, чтобы создать vs.tar.zstd:
OUTPUT_DIR=PATH_TO_TEMP_FOLDER
./mach python --virtualenv build taskcluster/scripts/misc/get_vs.py ./build/vs/vs2022.yaml $OUTPUT_DIR
tar --zstd -cvSf vs.tar.zstd -C $OUTPUT_DIR .
Этот файл копируется из установки Windows по пути C:\Windows\System32\makecab.exe.
Проекты User Agent нацелены на служение интересам людей. Мы открыты для сообществ, которые хотят активно влиять на будущее наших браузеров, и стремимся получать отзывы и мнения сообщества.
Сообщества принимают активное участие в принятии решений проекта:
Если вы заинтересованы в присоединении к сообществу User Agent, смело начинайте обсуждение на GitHub или присоединяйтесь к нашему чату в Matrix.