All Projects → ungoogled-software → Ungoogled Chromium Macos

ungoogled-software / Ungoogled Chromium Macos

Licence: other
macOS packaging for ungoogled-chromium

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Ungoogled Chromium Macos

Playwright
Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.
Stars: ✭ 31,513 (+52421.67%)
Mutual labels:  chromium
Cef2go
Go lang bindings for the Chromium Embedded Framework (CEF)
Stars: ✭ 780 (+1200%)
Mutual labels:  chromium
Edge Selenium Tools
An updated EdgeDriver implementation for Selenium 3 with newly-added support for Microsoft Edge (Chromium).
Stars: ✭ 41 (-31.67%)
Mutual labels:  chromium
Headless Chrome Crawler
Distributed crawler powered by Headless Chrome
Stars: ✭ 5,129 (+8448.33%)
Mutual labels:  chromium
Cuprite
Headless Chrome/Chromium driver for Capybara
Stars: ✭ 743 (+1138.33%)
Mutual labels:  chromium
Bayonet
bayonet是一款src资产管理系统,从子域名、端口服务、漏洞、爬虫等一体化的资产管理系统
Stars: ✭ 925 (+1441.67%)
Mutual labels:  chromium
Chrlauncher
Small and very fast portable launcher and updater for Chromium.
Stars: ✭ 491 (+718.33%)
Mutual labels:  chromium
Mue
Fast, open and free-to-use new tab page for modern browsers
Stars: ✭ 56 (-6.67%)
Mutual labels:  chromium
Blui
Rich HTML UI engine for UE4
Stars: ✭ 753 (+1155%)
Mutual labels:  chromium
Web Media Controller
Allows controlling media player on different sites with Media Player widget on your desktop
Stars: ✭ 36 (-40%)
Mutual labels:  chromium
Chromium Web Store
Allows adding extensions from chrome web store on ungoogled-chromium. Also adds semi-automatic extension updating.
Stars: ✭ 574 (+856.67%)
Mutual labels:  chromium
Ublock
uBlock Origin's manifesto.
Stars: ✭ 27,838 (+46296.67%)
Mutual labels:  chromium
Google Music Hotkeys
Browser extension that adds keyboard control to Google / YouTube Music
Stars: ✭ 25 (-58.33%)
Mutual labels:  chromium
Hstspreload.org
🔒 Chromium's HSTS preload list submission website.
Stars: ✭ 548 (+813.33%)
Mutual labels:  chromium
Ferrum
Headless Chrome Ruby API
Stars: ✭ 1,009 (+1581.67%)
Mutual labels:  chromium
Miniblink49
a lighter, faster browser kernel of blink to integrate HTML UI in your app. 一个小巧、轻量的浏览器内核,用来取代wke和libcef
Stars: ✭ 5,408 (+8913.33%)
Mutual labels:  chromium
Cef4delphi
CEF4Delphi is an open source project to embed Chromium-based browsers in applications made with Delphi or Lazarus/FPC for Windows, Linux and MacOS.
Stars: ✭ 785 (+1208.33%)
Mutual labels:  chromium
Crawlergo
A powerful dynamic crawler for web vulnerability scanners
Stars: ✭ 1,088 (+1713.33%)
Mutual labels:  chromium
San Devtools
Browser developer tools extension for debugging San.
Stars: ✭ 51 (-15%)
Mutual labels:  chromium
Axegrinder
Crawl websites for accessibility issues from the command line.
Stars: ✭ 12 (-80%)
Mutual labels:  chromium

ungoogled-chromium-macos

macOS packaging for ungoogled-chromium.

Downloads

Download binaries from the Contributor Binaries website.

Source Code: It is recommended to use a tag via git checkout (see building instructions below). You may also use master, but it is for development and may not be stable.

Building

Software requirements

  • macOS 10.12+
  • Xcode 8-9
  • Homebrew
  • Perl (for creating a .dmg package)
  • Python 2, specifically 2.7.13 or newer, as python in PATH
  • Python 3.5 or newer as python3 in PATH
  • Node.js

Setting up the build environment

  1. Install Ninja via Homebrew: brew install ninja
  2. Install GNU coreutils (for greadlink in packaging script): brew install coreutils
  3. Install GNU readline: brew install readline
  4. Install the data compression tools xz and zlib: brew install xz zlib
  5. Install Python 3.x: brew install python
  6. Install Python's pyenv to manage python version: brew install pyenv
  7. Install Python 2.7.13: pyenv install 2.7.13 Note: in some cases you might get Build failed: "ERROR: The Python zlib extension was not compiled. Missing the zlib?" during Python 2.7.13 installation, this can be fixed by running CPPFLAGS="-I$(brew --prefix zlib)/include" pyenv install 2.7.13.
  8. Unlink binutils to use the one provided with Xcode: brew unlink binutils
  9. Setup pyenv:
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
  1. Set global python command to use Python 2.7.13: pyenv global 2.7.13.
  2. Install Node.js: brew install node
  3. Restart your Terminal

Build

First, ensure the Xcode application is open. Then, run the following:

git clone --recurse-submodules https://github.com/ungoogled-software/ungoogled-chromium-macos.git
cd ungoogled-chromium-macos
# Replace TAG_OR_BRANCH_HERE with a tag or branch name
git checkout --recurse-submodules TAG_OR_BRANCH_HERE
./build.sh

A .dmg should appear in build/

NOTE: If the build fails, you must take additional steps before re-running the build:

  • If the build fails while downloading the Chromium source code, it can be fixed by removing build/downloads_cache and re-running the build instructions.
  • If the build fails at any other point after downloading, it can be fixed by removing build/src and build/domsubcache.tar.gz and re-running the build instructions. This will clear out all the code used by the build, and any files generated by the build.

Developer info

Updating patches

  1. Start the process and set the environment variables
./devutils/update_patches.sh merge
bash 
source devutils/set_quilt_vars.sh
  1. Setup Chromium source
mkdir -p build/{src,download_cache}
./ungoogled-chromium/utils/downloads.py retrieve -i ungoogled-chromium/downloads.ini downloads.ini -c build/download_cache
./ungoogled-chromium/utils/downloads.py unpack -i ungoogled-chromium/downloads.ini downloads.ini -c build/download_cache build/src
cd build/src
  1. Use quilt to refresh all patches: while quilt push; do quilt refresh; done

    • If an error occurs, go to the next step. Otherwise, skip to Step 5.
  2. Use quilt to fix the broken patch:

    1. Run quilt push -f
    2. Edit the broken files as necessary by adding (quilt edit ... or quilt add ...) or removing (quilt remove ...) files as necessary
      • When removing large chunks of code, remove each line instead of using language features to hide or remove the code. This makes the patches less susceptible to breakages when using quilt's refresh command (e.g. quilt refresh updates the line numbers based on the patch context, so it's possible for new but desirable code in the middle of the block comment to be excluded.). It also helps with readability when someone wants to see the changes made based on the patch alone.
    3. Refresh the patch: quilt refresh
    4. Go back to Step 3.
  3. Run ../../ungoogled-chromium/devutils/validate_config.py

  4. Run quilt pop -a

  5. Validate that patches are applied correctly

cd ../..
./ungoogled-chromium/devutils/validate_patches.py -l build/src -s patches/series.merged
  1. Remove all patches introduced by ungoogled-chromium: ./devutils/update_patches.sh unmerge

  2. Ensure patches/series is formatted correctly, e.g. blank lines

  3. Sanity checking for consistency in series file: ./devutils/check_patch_files.sh

  4. Use git to add changes and commit

License

See LICENSE

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].