{"id":20935887,"url":"https://github.com/ghostery/user-agent-desktop","last_synced_at":"2025-05-13T21:30:51.299Z","repository":{"id":38177907,"uuid":"277540297","full_name":"ghostery/user-agent-desktop","owner":"ghostery","description":"Ghostery Desktop Browser","archived":false,"fork":false,"pushed_at":"2024-05-22T10:34:51.000Z","size":5863,"stargazers_count":107,"open_issues_count":102,"forks_count":16,"subscribers_count":12,"default_branch":"main","last_synced_at":"2024-05-22T13:08:40.032Z","etag":null,"topics":["browser","desktop","ghostery","ghostery-browser"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ghostery.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-06T12:48:54.000Z","updated_at":"2024-05-27T17:58:50.495Z","dependencies_parsed_at":"2023-02-14T10:46:27.852Z","dependency_job_id":"8bedb454-32cb-4d0a-b8c6-ecbd12baf370","html_url":"https://github.com/ghostery/user-agent-desktop","commit_stats":null,"previous_names":[],"tags_count":200,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghostery%2Fuser-agent-desktop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghostery%2Fuser-agent-desktop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghostery%2Fuser-agent-desktop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ghostery%2Fuser-agent-desktop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ghostery","download_url":"https://codeload.github.com/ghostery/user-agent-desktop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254030852,"owners_count":22002661,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser","desktop","ghostery","ghostery-browser"],"created_at":"2024-11-18T22:16:42.934Z","updated_at":"2025-05-13T21:30:51.277Z","avatar_url":"https://github.com/ghostery.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# This project is discontinued.\n\nWe recommend to use [Ghostery Tracker and Ad Blocker](https://www.ghostery.com/ghostery-ad-blocker) in [Firefox](https://www.mozilla.org/firefox/).\n\n---\n\n# Ghostery Private Browser\n\nThe Ghostery Desktop Browser is a minimal fork of Firefox optimised for privacy. The main extra\nfeatures are:\n * The [Ghostery Privacy Blocker](https://github.com/ghostery/ghostery-extension/) extension is\n included and enabled by default.\n * Ghostery privacy search included.\n * Firefox settings (telemetry etc) tuned for maximum privacy.\n\n## Download\n\nThe Ghostery browser is available for the following platforms:\n\n * [Windows (64bit)](https://get.ghosterybrowser.com/download/win)\n * [Windows (ARM)](https://get.ghosterybrowser.com/download/winarm)\n * [Mac OSX](https://get.ghosterybrowser.com/download/mac)\n * [Linux (64bit)](https://get.ghosterybrowser.com/download/linux)\n\n### Nightly channel\n\nWe also offer a nightly build for testing development builds. To get them:\n 1. Install the standard release build from one of the links above.\n 2. Open the browser and navigate to `about:config`.\n 3. Search for the pref `app.update.channel` and change the value to `nightly`.\n\n## Build Locally\n\nTo build the browser we first need to download a copy of Firefox and patch it with our\ncustomisations. This process is handled via `fern.js`, which is our tool to handle the patch\nworkflow. Set up your local workspace as follows:\n\n```sh\ngit clone https://github.com/ghostery/user-agent-desktop.git\ncd user-agent-desktop\nnpm ci # Fern.js dependencies\n./fern.js use # Pull the correct Firefox and Ghostery extension sources\n./fern.js import-patches # Apply patches to Firefox\n```\n\nOnce you have Firefox source, you'll have to set up your environment to build the browser. Detailed\ninstructions are available [for Firefox](https://firefox-source-docs.mozilla.org/setup/index.html),\nbut in most cases the following will suffice:\n\n```sh\ncd mozilla-release\n./mach bootstrap\n```\n\nOnce your build toolchains are setup you can build using the Ghostery `mozconfig` file:\n\n```sh\ncd mozilla-release\nMOZCONFIG=/path/to/user-agent-desktop/brands/ghostery/mozconfig ./mach build # start build\n./mach run # to launch the browser\n```\n\n## Cross platform builds\n\nThe local build setup will build the browser for your current platform. To build for other platforms\nwe provide dockerised builds. These can be run using the `fern.js build` command:\n\n```sh\n./fern.js build -t mac\n```\n\nWindows and Mac builds depend on platform frameworks being included. These should be placed in the\n`build` directory:\n * Mac: `MacOSX14.4.sdk.tar.xz`. This can be found inside an XCode install.\n * Windows: `vs.tar.zstd` and `Makecab.exe`. See the end of this document to where to find these.\n\n## Development workflow\n\nAfter cloning the [repository](https://github.com/ghostery/user-agent-desktop),\nrun the following commands to get started (Note that you will need `npm` and\n`node` to be installed on your system):\n\n```sh\n./fern.js use # Setup 'mozilla-release' folder using information from '.workspace'\n./fern.js import-patches\ncd mozilla-release # Do some stuff... and commit your changes\n./fern.js export-patches # Check 'patches' folder\n```\n\n### Upgrading Ghostery\n\nBumping the Ghostery extension bundled with the browser requires the following:\n\n```sh\n./fern.js use --ghostery v8.5.2\n./fern.js reset\n./fern.js import-patches\n```\n\n### Upgrading Firefox\n\nWhenever a new version is released or if you want to hack on top of another\nFirefox version, run the following:\n\n```sh\n./fern.js use --firefox 80.0.1\n./fern.js reset # Needed if you already had this version locally.\n./fern.js import-patches\n```\n\n### Building\n\nBuilding the browser in any flavor can be achived as follows:\n\n```sh\n# Prepare 'mozilla-release' folder with correct version and patches.\n./fern.js use\n./fern.js reset\n./fern.js import-patches\n\n# All three commands can be used from Linux and MacOS (except windows cross-build).\n./fern.js build --target mac\n./fern.js build --target linux\n./fern.js build --target windows\n```\n\nThen check the content of the `mozilla-release` folder to find the artefacts.\n\n## Setting up a dev environment\n\n`./mach bootstrap` requires a VC checkout of the gecko source to run properly. Use the gecko-dev repo to run `mach bootstrap` and setup your local build environment:\n```bash\ngit clone https://github.com/mozilla/gecko-dev.git\ncd gecko-dev\n./mach bootstrap\n```\n\nNow you should be able use `./mach build` in this project.\n\nAlternatively, the `build-*` scripts in this repo will prepare docker images with a prepared build environment for each platform. The scripts will drop you to a command prompt in a docker container where you can run `./mach build` directly.\n\n# Building on windows\n\n## Prerequisites\n\n### VS Redist\n\nThis can be built on windows after setting up a build environment as per [these instructions](https://firefox-source-docs.mozilla.org/setup/windows_build.html#building-firefox-on-windows).\nYou will need to install the Windows 11 SDK at version `10.0.22621`. Then run the following to create `vs.tar.zstd`:\n\n```bash\nOUTPUT_DIR=PATH_TO_TEMP_FOLDER\n./mach python --virtualenv build taskcluster/scripts/misc/get_vs.py ./build/vs/vs2022.yaml $OUTPUT_DIR\ntar --zstd -cvSf vs.tar.zstd -C $OUTPUT_DIR .\n```\n\n### Makecab.exe\n\nThis is copied from a windows install at `C:\\Windows\\System32\\makecab.exe`.\n\n## Community\n\nThe User Agent projects aim to serve people's interests. We are open for communities to actively shape the future of our browsers and seek to get community feedback and opinions.\n\nCommunities are taking an active role in the project decision making:\n\n* [Better-Fox](https://github.com/yokoffing/Better-Fox) - maintain an opinionated Firefox preferences list\n\nIf you are interested in joining User Agent Community feel free to start the [discussion at Github](https://github.com/ghostery/user-agent-desktop/discussions) or join our [Matrix chat](https://matrix.to/#/!BjMeHLSGpAyxnZVDcb:matrix.org?via=matrix.org) community.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fghostery%2Fuser-agent-desktop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fghostery%2Fuser-agent-desktop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fghostery%2Fuser-agent-desktop/lists"}