GithubHelp home page GithubHelp logo

ungoogled-software / ungoogled-chromium Goto Github PK

View Code? Open in Web Editor NEW
20.1K 299.0 811.0 14.42 MB

Google Chromium, sans integration with Google

License: BSD 3-Clause "New" or "Revised" License

Shell 2.22% Python 97.68% Nix 0.10%
chromium inox iridium privacy control transparency google-chromium

ungoogled-chromium's Introduction

ungoogled-chromium

A lightweight approach to removing Google web service dependency

Help is welcome! See the docs/contributing.md document for more information.

Objectives

In descending order of significance (i.e. most important objective first):

  1. ungoogled-chromium is Google Chromium, sans dependency on Google web services.
  2. ungoogled-chromium retains the default Chromium experience as closely as possible. Unlike other Chromium forks that have their own visions of a web browser, ungoogled-chromium is essentially a drop-in replacement for Chromium.
  3. ungoogled-chromium features tweaks to enhance privacy, control, and transparency. However, almost all of these features must be manually activated or enabled. For more details, see Feature Overview.

In scenarios where the objectives conflict, the objective of higher significance should take precedence.

Content Overview

Motivation and Philosophy

Without signing in to a Google Account, Chromium does pretty well in terms of security and privacy. However, Chromium still has some dependency on Google web services and binaries. In addition, Google designed Chromium to be easy and intuitive for users, which means they compromise on transparency and control of internal operations.

ungoogled-chromium addresses these issues in the following ways:

  1. Remove all remaining background requests to any web services while building and running the browser
  2. Remove all code specific to Google web services
  3. Remove all uses of pre-made binaries from the source code, and replace them with user-provided alternatives when possible.
  4. Disable features that inhibit control and transparency, and add or modify features that promote them (these changes will almost always require manual activation or enabling).

These features are implemented as configuration flags, patches, and custom scripts. For more details, consult the Design Documentation.

Feature Overview

This section overviews the features of ungoogled-chromium. For more detailed information, it is best to consult the source code.

Contents of this section:

Key Features

These are the core features introduced by ungoogled-chromium.

  • Disable functionality specific to Google domains (e.g. Google Host Detector, Google URL Tracker, Google Cloud Messaging, Google Hotwording, etc.)
  • Block internal requests to Google at runtime. This feature is a fail-safe measure for the above, in case Google changes or introduces new components that our patches do not disable. This feature is implemented by replacing many Google web domains in the source code with non-existent alternatives ending in qjz9zk (known as domain substitution; see docs/design.md for details), then modifying Chromium to block its own requests with such domains. In other words, no connections are attempted to the qjz9zk domain.
  • Strip binaries from the source code (known as binary pruning; see docs/design.md for details)

Enhancing Features

These are the non-essential features introduced by ungoogled-chromium.

  • Add many new command-line switches and chrome://flags entries to configure new features (which are disabled by default). See docs/flags.md for the exhaustive list.
  • Add Suggestions URL text field in the search engine editor (chrome://settings/searchEngines) for customizing search engine suggestions.
  • Add more URL schemes allowed to save page schemes.
  • Add Omnibox search provider "No Search" to allow disabling of searching
  • Add a custom cross-platform build configuration and packaging wrapper for Chromium. It currently supports many Linux distributions, macOS, and Windows. (See docs/design.md for details on the system.)
  • Force all pop-ups into tabs
  • Disable automatic formatting of URLs in Omnibox (e.g. stripping http://, hiding certain parameters)
  • Disable intranet redirect detector (extraneous DNS requests)
    • This breaks captive portal detection, but captive portals still work.
  • (Iridium Browser feature change) Prevent URLs with the trk: scheme from connecting to the Internet
    • Also prevents any URLs with the top-level domain qjz9zk (as used in domain substitution) from attempting a connection.
  • (Windows-specific) Do not set the Zone Identifier on downloaded files

Borrowed Features

In addition to the features introduced by ungoogled-chromium, ungoogled-chromium selectively borrows many features from the following projects (in approximate order of significance):

Supported Platforms and Distributions

See docs/platforms.md for a list of supported platforms.

Other platforms are discussed and tracked in this repository's Issue Tracker. Learn more about using the Issue Tracker under the section Contributing, Reporting, Contacting.

Downloads

Automated or maintained builds

ungoogled-chromium is available in the following software repositories:

If your GNU/Linux distribution is not listed, there are distro-independent builds available via the following package managers:

  • Flatpak: Available in the Flathub repo as io.github.ungoogled_software.ungoogled_chromium
  • GNU Guix: Available as ungoogled-chromium
  • NixOS/nixpkgs: Available as ungoogled-chromium

Third-party binaries

If your operating system is not listed above, you can also try to Download binaries from here

NOTE: These binaries are provided by anyone who are willing to build and submit them. Because these binaries are not necessarily reproducible, authenticity cannot be guaranteed; In other words, there is always a non-zero probability that these binaries may have been tampered with. In the unlikely event that this has happened to you, please report it in a new issue.

These binaries are known as contributor binaries.

Source Code

This repository only contains the common code for all platforms; it does not contain all the configuration and scripts necessary to build ungoogled-chromium. Most users will want to use platform-specific repos, where all the remaining configuration and scripts are provided for specific platforms:

Find the repo for a specific platform here.

If you wish to include ungoogled-chromium code in your own build process, consider using the tags in this repo. These tags follow the format {chromium_version}-{revision} where

  • chromium_version is the version of Chromium used in x.x.x.x format, and
  • revision is a number indicating the version of ungoogled-chromium for the corresponding Chromium version.

Additionally, most platform-specific repos extend their tag scheme upon this one.

Building the source code: See docs/building.md

Mirrors

List of mirrors:

FAQ

See the frequently-asked questions (FAQ) on the Wiki

Building Instructions

See docs/building.md

Design Documentation

See docs/design.md

Contributing, Reporting, Contacting

Credits

Related Projects

List of known projects that fork or use changes from ungoogled-chromium:

  • Bromite (Borrows some patches. Features builds for Android)
  • ppc64le fork (Fork with changes to build for ppc64le CPUs)

License

BSD-3-clause. See LICENSE

ungoogled-chromium's People

Contributors

23rd avatar 9morello avatar ahrotahn avatar briansoule avatar chrme avatar crazy-max avatar csagan5 avatar dubvulture avatar eloston avatar implicitfield avatar intika avatar iskunk avatar kfur avatar lefroid avatar mbakke avatar networkexception avatar nifury avatar nikolowry avatar nopjmp avatar pf4public avatar qvint avatar rany2 avatar saltama avatar seppiola avatar tangalbert919 avatar tectiv3 avatar tie avatar wchen342 avatar withshubh avatar zoraver avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ungoogled-chromium's Issues

Upload ubuntu binaries

Chromium requires a powerful cpu and a huge amount of ram for its compilation

and some users doesn't have it, for it i suggest upload ubuntu "at least xenial" binaries, thanks

Domain substitution should ignore HSTS preload list

I know this feature is a work in progress, and you may have thought of this already, but the domain substitution scripts currently do not make any exception for the HSTS preload list, which contains entries for basically all of the URLs the script wants to replace. Some form of exception could be added to avoid compromising user security by stripping the sites of their HSTS preload status in the final build.

And thanks for your work on this great project!

Push to Debian

Hi!

I'm happy I found your project! The only thing holding me back from using it myself is that there aren't packages available for other Debian releases.

Is there any chance you might be interested in getting your changes integrated into the debian chromium package? These sorts of privacy enhancements are things that I think would be very useful for the broader debian audience. If you don't think that will work, an alternative would be to get ungoogled-chromium into debian as its own package. You are already making packages, it seems like maybe just a little bit more effort to try and get them into debian itself.

I think that if this were made available to Debian, it would reach a lot more people!

Cannot build on Debian 8.2 stable.

[7588/18256] CXX obj/media/base/media.bitstream_buffer.o
warning: unknown warning option '-Wno-inconsistent-missing-override' [-Wunknown-warning-option]
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-bitfield-width' [-Wunknown-warning-option]
3 warnings generated.

[7589/18256] CXX obj/media/base/media.audio_video_metadata_extractor.o
FAILED: /usr/bin/clang++ -MMD -MF obj/media/base/media.audio_video_metadata_extractor.o.d -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=2 -D_FILE_OFFSET_BITS=64 -DNO_TCMALLOC -DDISABLE_NACL -DCHROMIUM_BUILD -DCR_CLANG_REVISION=247874-1 -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_ASH=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS -DENABLE_MPEG2TS_STREAM_PARSER -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DENABLE_TOPCHROME_MD=1 -DUSE_UDEV -DDONT_EMBED_BUILD_METADATA -DTRACING_IS_OFFICIAL_BUILD=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PDF=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DMEDIA_IMPLEMENTATION -DUSE_NEON -DUSE_ALSA -DUSE_PULSEAUDIO -DDLOPEN_PULSEAUDIO -DENABLE_HEVC_DEMUXING -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DSK_SUPPORT_GPU=1 -DSK_IGNORE_LINEONLY_AA_CONVEX_PATH_OPTS -DSK_IGNORE_GL_TEXTURE_TARGET -D__STDC_CONSTANT_MACROS -DUSE_SYSTEM_FFMPEG -DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -Igen -I../.. -Igen/pulse -I../../third_party/khronos -I../../gpu -I../../skia/config -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/skia/include/core -I../../third_party/skia/include/effects -I../../third_party/skia/include/pdf -I../../third_party/skia/include/gpu -I../../third_party/skia/include/lazy -I../../third_party/skia/include/pathops -I../../third_party/skia/include/pipe -I../../third_party/skia/include/ports -I../../third_party/skia/include/utils -I../../skia/ext -I../../third_party/libyuv/include -I../../third_party/libyuv -I../../third_party/opus/src/include -I../../third_party/libvpx_new/source/libvpx -fstack-protector --param=ssp-buffer-size=4 -pthread -fno-strict-aliasing -Wall -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wno-reserved-user-defined-literal -fcolor-diagnostics -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-bitfield-width -D_REENTRANT -pthread -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/nss -I/usr/include/nspr -Wno-header-guard -DCHROMIUM_OMIT_AV_PKT_DATA_MATROSKA_BLOCKADDITIONAL=1 -DCHROMIUM_NO_AVFRAME_CHANNELS=1 -m64 -march=x86-64 -O2 -fno-ident -fdata-sections -ffunction-sections -funwind-tables -D_FORTIFY_SOURCE=2 -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror=format-security -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wsign-compare -std=gnu++11 -c ../../media/base/audio_video_metadata_extractor.cc -o obj/media/base/media.audio_video_metadata_extractor.o

warning: unknown warning option '-Wno-inconsistent-missing-override' [-Wunknown-warning-option]

warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]

warning: unknown warning option '-Wno-bitfield-width' [-Wunknown-warning-option]
../../media/base/audio_video_metadata_extractor.cc:116:17: error: use of undeclared identifier 'avcodec_get_name'; did you mean 'avcodec_get_type'?
info.type = avcodec_get_name(stream->codec->codec_id);
^~~~~~~~~~~~~~~~
avcodec_get_type
/usr/include/libavcodec/avcodec.h:4408:18: note: 'avcodec_get_type' declared here
enum AVMediaType avcodec_get_type(enum AVCodecID codec_id);
^
../../media/base/audio_video_metadata_extractor.cc:93:32: warning: comparison of integers of different signs: 'int64_t' (aka 'long') and 'unsigned long' [-Wsign-compare]
if (format_context->duration != AV_NOPTS_VALUE)
~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
4 warnings and 1 error generated.

.....

[7589/18256] CXX obj/media/base/media.container_names.o
warning: unknown warning option '-Wno-inconsistent-missing-override' [-Wunknown-warning-option]
warning: unknown warning option '-Wno-shift-negative-value'; did you mean '-Wno-shift-sign-overflow'? [-Wunknown-warning-option]
warning: unknown warning option '-Wno-bitfield-width' [-Wunknown-warning-option]
3 warnings generated.
ninja: build stopped: subcommand failed.
debian/rules:134: recipe for target 'override_dh_auto_build-arch' failed
make[1]: *** [override_dh_auto_build-arch] Error 1
make[1]: Leaving directory '/home/eq/Programs/ungoogled-chromium/build-sandbox'
debian/rules:127: recipe for target 'binary' failed
make: *** [binary] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2

Here is my log. Do you have any ideas on how to fix it?
Thank you.

Mac OS: Fixup UI

Reported by @9Morello:

  1. On the OS X Chromium's top menu, there is still an "Sign in" option. Clicking it does nothing, so I supposed it could be harmlessly removed.
  2. Remove the connection it tries to make when adding another profile to ungoogled-chromium. Not sure if this was present on Linux, but if I click on "Add person..." in the Settings page, then on "Sign in", there is a connection attempt to a changed domain (which is blocked by ungoogled-chromium).
  3. On the OS X Chromium's top menu, If I click on "Help", and then on "Chromium Help", it attempts to connect to a remote support page (and then its blocked by ungoogled-chromium).

For the third problem, should the link be fixed or removed altogether?

Cookie Exceptions

Windows 10

Using the latest Windows build:

Privacy / Content Settings / Cookies / Block sites from setting any data = enabled

Privacy / Content Settings / Cookies / Block third-party cookies and site data = enabled

Cookie and site data exceptions are not retained on each restart of the browser.

add a dsc file

you could publish the dsc file of ungoogled

for make it useful at online compile services

Improve Mac OS dmg GUI

Spinoff from #30

Improve the Mac OS dmg GUI so it looks prettier by adding a .DS_Store, a volume icon, and a background image.

@9Morello has taken up the task in #30.

Add configuration options

Add an ability to customize features implemented by ungoogled-chromium.

Some features that will become toggleable:

  • The search functionality of the Omnibox. EDIT: No longer necessary with 8d8fc4b
  • Blocking onbeforeunload events Feature has been removed since 21651e3
  • Forcing pop-ups into tabs

More may become toggleable or customizable in the future.

Options for a GUI and a storage method for these options will need to be investigated.

Broken domain reliability dependency on json file in baked_in_configs.cc

make[1]: se sale del directorio '/home/meh/uchrome/build-sandbox'
debian/rules override_dh_auto_build-arch
make[1]: se entra en el directorio '/home/meh/uchrome/build-sandbox'
ninja -C out/Release chrome chrome_sandbox chromedriver
ninja: Entering directory `out/Release'
ninja: error: '../../components/domain_reliability/baked_in_configs/c_android_clients_google_com.json', needed by 'obj/components/domain_reliability.gen/domain_reliability/baked_in_configs.cc', missing and no known rule to make it
debian/rules:141: fallo en las instrucciones para el objetivo 'override_dh_auto_build-arch'
make[1]: *** [override_dh_auto_build-arch] Error 1
make[1]: se sale del directorio '/home/meh/uchrome/build-sandbox'
debian/rules:134: fallo en las instrucciones para el objetivo 'binary'
make: *** [binary] Error 2
dpkg-buildpackage: fallo: fakeroot debian/rules binary devolvió un estado de salida de error 2

xenial 64

Add Windows support

Need to try building on Windows after running source_cleaner.sh and domain_patcher.sh on the source code.

Create build archives using FILES.cfg

Use chrome/tools/build/<platform>/FILES.cfg to make .tar.xz or zip files of the build artifacts.

Probably should be implemented in OS-specific buildlib Platform classes. GenericPlatform can implement a generic FILES.cfg parser that can filter by certain parameters (probably if the files are for "dev" and "official"). The correct path to a FILES.cfg can be a class constant that is defined in child classes.

Will be considered done when Windows support is implemented. Other platforms will come in later.

Add automatic patch refersher to update_helper.py

Add a simple patch refresher to fix fuzz and line offsets in patches automatically.

Can probably do it by manually invoking patch and reading/writing standard I/O. Probably want to get some Python module to parse the patch and then feed in parts of the patch into patch to preserve comments and such.

Issue creating a source package "SP"

dpkg-source: fallo: no se puede construir con el formato de fuente «3.0 (quilt)»: no se ha encontrado ningún archivo tar de la fuente original en ../chromium-browser_51.0.2704.81.orig.tar{bz2,gz,lzma,xz}

i suggest you manage the download with wget using -O option for generate this chromium-browser_51.0.2704.81.orig.tar

Attempting to apply patches

Failed Patch: autofill-disable-autofill-download-manager.patch !
 *  ( /home/user/local_overlay/www-client/chromium/files/ungoogled-chromium/iridium-browser/autofill-disable-autofill-download-manager.patch 
$ sudo cat /tmp/portage/www-client/chromium-49.0.2623.111/temp/autofill-disable-autofill-download-manager.patch.out
***** autofill-disable-autofill-download-manager.patch *****
PWD: /tmp/portage/www-client/chromium-49.0.2623.111/work/chromium-49.0.2623.111
PATCH TOOL: patch -> /usr/bin/patch
VERSION INFO:
GNU patch 2.7.5
Copyright (C) 2003, 2009-2012 Free Software Foundation, Inc.
Copyright (C) 1988 Larry Wall

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Larry Wall and Paul Eggert

============================================================

PATCH COMMAND:  patch -p0 -g0 -E --no-backup-if-mismatch  --dry-run -f < '/home/perfect_gentleman_007/local_overlay/www-client/chromium/files/ungoogled-chromium/iridium-browser/autofill-disable-autofill-download-manager.patch'

============================================================
can't find file to patch at input line 16
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From e02b16d3c278d09d68c3d93723659e9e306e442c Mon Sep 17 00:00:00 2001
|From: Jan Engelhardt <[email protected]>
|Date: Thu, 11 Sep 2014 16:37:32 +0200
|Subject: [PATCH 09/57] autofill: disable autofill download manager
|
|Disables the autofill download manager (trk:158).
|---
| components/autofill/core/browser/autofill_download_manager.cc | 2 +-
| components/autofill/core/browser/autofill_manager.cc          | 2 ++
| 2 files changed, 3 insertions(+), 1 deletion(-)
|
|diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/components/autofill/core/browser/autofill_download_manager.cc
|index 45f1e95..c99e8a7 100644
|--- a/components/autofill/core/browser/autofill_download_manager.cc
|+++ b/components/autofill/core/browser/autofill_download_manager.cc
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 29
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
|index 4c346f6..40fd35c 100644
|--- a/components/autofill/core/browser/autofill_manager.cc
|+++ b/components/autofill/core/browser/autofill_manager.cc
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored

patch program exited with status 1
============================================================

PATCH COMMAND:  patch -p1 -g0 -E --no-backup-if-mismatch  --dry-run -f < '/home/perfect_gentleman_007/local_overlay/www-client/chromium/files/ungoogled-chromium/iridium-browser/autofill-disable-autofill-download-manager.patch'

============================================================
checking file components/autofill/core/browser/autofill_download_manager.cc
Hunk #1 FAILED at 87.
1 out of 1 hunk FAILED
checking file components/autofill/core/browser/autofill_manager.cc

patch program exited with status 1
============================================================

PATCH COMMAND:  patch -p2 -g0 -E --no-backup-if-mismatch  --dry-run -f < '/home/perfect_gentleman_007/local_overlay/www-client/chromium/files/ungoogled-chromium/iridium-browser/autofill-disable-autofill-download-manager.patch'

============================================================
can't find file to patch at input line 16
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From e02b16d3c278d09d68c3d93723659e9e306e442c Mon Sep 17 00:00:00 2001
|From: Jan Engelhardt <[email protected]>
|Date: Thu, 11 Sep 2014 16:37:32 +0200
|Subject: [PATCH 09/57] autofill: disable autofill download manager
|
|Disables the autofill download manager (trk:158).
|---
| components/autofill/core/browser/autofill_download_manager.cc | 2 +-
| components/autofill/core/browser/autofill_manager.cc          | 2 ++
| 2 files changed, 3 insertions(+), 1 deletion(-)
|
|diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/components/autofill/core/browser/autofill_download_manager.cc
|index 45f1e95..c99e8a7 100644
|--- a/components/autofill/core/browser/autofill_download_manager.cc
|+++ b/components/autofill/core/browser/autofill_download_manager.cc
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 29
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
|index 4c346f6..40fd35c 100644
|--- a/components/autofill/core/browser/autofill_manager.cc
|+++ b/components/autofill/core/browser/autofill_manager.cc
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored

patch program exited with status 1
============================================================

PATCH COMMAND:  patch -p3 -g0 -E --no-backup-if-mismatch  --dry-run -f < '/home/perfect_gentleman_007/local_overlay/www-client/chromium/files/ungoogled-chromium/iridium-browser/autofill-disable-autofill-download-manager.patch'

============================================================
can't find file to patch at input line 16
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From e02b16d3c278d09d68c3d93723659e9e306e442c Mon Sep 17 00:00:00 2001
|From: Jan Engelhardt <[email protected]>
|Date: Thu, 11 Sep 2014 16:37:32 +0200
|Subject: [PATCH 09/57] autofill: disable autofill download manager
|
|Disables the autofill download manager (trk:158).
|---
| components/autofill/core/browser/autofill_download_manager.cc | 2 +-
| components/autofill/core/browser/autofill_manager.cc          | 2 ++
| 2 files changed, 3 insertions(+), 1 deletion(-)
|
|diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/components/autofill/core/browser/autofill_download_manager.cc
|index 45f1e95..c99e8a7 100644
|--- a/components/autofill/core/browser/autofill_download_manager.cc
|+++ b/components/autofill/core/browser/autofill_download_manager.cc
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 29
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
|index 4c346f6..40fd35c 100644
|--- a/components/autofill/core/browser/autofill_manager.cc
|+++ b/components/autofill/core/browser/autofill_manager.cc
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored

patch program exited with status 1
============================================================

PATCH COMMAND:  patch -p4 -g0 -E --no-backup-if-mismatch  --dry-run -f < '/home/perfect_gentleman_007/local_overlay/www-client/chromium/files/ungoogled-chromium/iridium-browser/autofill-disable-autofill-download-manager.patch'

============================================================
can't find file to patch at input line 16
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From e02b16d3c278d09d68c3d93723659e9e306e442c Mon Sep 17 00:00:00 2001
|From: Jan Engelhardt <[email protected]>
|Date: Thu, 11 Sep 2014 16:37:32 +0200
|Subject: [PATCH 09/57] autofill: disable autofill download manager
|
|Disables the autofill download manager (trk:158).
|---
| components/autofill/core/browser/autofill_download_manager.cc | 2 +-
| components/autofill/core/browser/autofill_manager.cc          | 2 ++
| 2 files changed, 3 insertions(+), 1 deletion(-)
|
|diff --git a/components/autofill/core/browser/autofill_download_manager.cc b/components/autofill/core/browser/autofill_download_manager.cc
|index 45f1e95..c99e8a7 100644
|--- a/components/autofill/core/browser/autofill_download_manager.cc
|+++ b/components/autofill/core/browser/autofill_download_manager.cc
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
can't find file to patch at input line 29
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/components/autofill/core/browser/autofill_manager.cc b/components/autofill/core/browser/autofill_manager.cc
|index 4c346f6..40fd35c 100644
|--- a/components/autofill/core/browser/autofill_manager.cc
|+++ b/components/autofill/core/browser/autofill_manager.cc
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored

patch program exited with status 1

Explain risks of disabling Safe Browsing

It seems that you disabled Google Safe Browsing, and I understand why people might want to do that. However, it's already designed with privacy protection in mind: it uses a local bloom filter to determine whether a URL might be dangerous, and only asks the servers if the bloom filter says "maybe". Even then, only hashes of the URL are transmitted whenever possible. This way, it leaks very little information, but provides good security benefits. Most users should probably have it enabled.

There's a good explanation at amq/firefox-debloat#3

Add a PPA or APT repo

Hi, interesting project.

Is it possible for you to setup a Ubuntu PPA so Ubuntu/Mint/[insert derivative here] users could easily be up to date?

Compatible with App Runtime for Chrome?

Is it possible run android apps with the App Runtime for Chrome? There is ARC-Welder as well as the ARChon Runtime for Chrome.

I tried to install ARC-Welder but it fails with the error-message CRX_HEADER_INVALID.

I installed ARChon and loaded the sample app but it freezes while loading.

In the debug messages I can see that ARChon is complaining about:

'minimum_chrome_version' is only allowed for extensions, hosted apps, legacy packaged apps, and packaged apps, but this is a shared module.
Unrecognized manifest key 'arc_build_tag'

And the sample app is complaining about:

Unrecognized manifest key 'arc_metadata'.

"Blocked request to" infobar repeatedly shows if a tab's top-level domain ends in `qjz9zk` and internal pages are accessed via the menu

I still don't know what triggers this, but after some action by the user, Chromium starts to try connecting to Google every time I visit the "Extensions" page.

Platform: OS X El Capitan
Link that ungoogled-chromium attempts to connect to: https://support.9oo91e.qjz9zk/chrome?p=help&ctx=settings
What makes ungoogled-chromium start this: I don't know. It stops by restarting it.

Not sure if this just affects the OS X version.

OS detection via JavaScript

May be outside issue...
Is it possible to change the "identifier" in source code for OS detecting (http://browserspy.dk/os.php), but not affecting JS functionality and building?
The meaning of the not to be the white crow and easy prey for tracking, if I use a rare OS/distro.

Building for OS X and buildlib support

So, I'm trying to build this on OS X by following the official Chromium guide to build it, and by applying the patches one by one with git apply. I'm testing all the patches set by set, and after setting the Chromium build to the correct version (51.0.2704.106), only one of the iridium-browser patches is not working.

I'm getting the following error:

git apply --check third_party/WebKit/Source/iridium-browser/all-add-trk-prefixes-to-possibly-evil-connections.patch
error: patch failed: components/google/core/browser/google_url_tracker.cc:34
error: components/google/core/browser/google_url_tracker.cc: patch does not apply

I've yet to test the Inox patchset and Ungoogled-Chromium own patches. Every other patch from Iridium gives no error at all when running git apply --check. #

Remove dependency on domain_patcher.sh

domain_patcher.sh can break building for certain platforms. Currently, the patches require domain_patcher.sh to be run over the source tree first; this dependency should be removed.

Use an open build service or CI system

Somepeople has ancient computers and can't compile ungoogled with his computer

because chromium EVEN with a good pc need some hours

for let more people enjoy your software

i suggest you try to make compatible ungoogled with a popular build service´such as opensuse build service

thanks for read my suggestion

Standalone Linux build

I tried the latest release for xenial and it works, yay! I had tried building for xenial a day ago, but it used to crash with a SIGFP, so whatever you did today was spot on. 👍

However, I didn't want to install this system wide, yet. I did the following to get a local version:

  • Extract all the debs with for i in *.deb; do dpkg-deb -X $i out; done
  • Started chromium by invoking out/usr/lib/chromium/chromium

Everything seems to work. I then modified the wrapper script as follows:

--- usr/bin/chromium    2016-09-16 10:21:24.000000000 +0530
+++ usr/bin/chromium-mod    2016-09-17 10:42:38.930899778 +0530
@@ -9,7 +9,8 @@
 APPNAME=chromium

 GDB=/usr/bin/gdb
-LIBDIR=/usr/lib/$APPNAME
+BASEDIR=`dirname $0`/../../
+LIBDIR=$BASEDIR/usr/lib/$APPNAME

 usage () {
   echo "$APPNAME [-h|--help] [-g|--debug] [--temp-profile] [options] [URL]"
@@ -41,8 +42,8 @@
 fi

 # Source additional settings
-for file in /etc/chromium.d/*; do
-  test $file = /etc/chromium.d/README || expr $file : .*\.dpkg > /dev/null || . $file
+for file in ${BASEDIR}/etc/chromium.d/*; do
+  test $file = ${BASEDIR}/etc/chromium.d/README || expr $file : .*\.dpkg > /dev/null || . $file
 done

 # Use the /usr/bin helper script for generated launchers

Is it possible to automatically create a standalone version similar to the above, which users can simply unzip into a local folder and use? I suppose dependencies will need to be installed separately by the user. In my case, I already had chromium installed, so the dependencies were present anyway.

Release binaries for 48.0.2564.116

First off, really appreciate your efforts to offer ungoogled-chromium to the public. I've been using the 48.0.2564.82 release offered here on Debian/Ubuntu for about a month now and am very happy with it, both performance-wise and especially on the security / privacy front. Noticing that there aren't any release binaries for 48.0.2564.116 (yet), I was just wondering if you plan on offering these in the future in the repo?

How to use Flash?

There are ways to use chromium with Flash. For example via PepperFlash. Is Ungoogled Chromium compatible with PepperFlash?

Disable GCM component

Disable Google Cloud Messaging (GCM).

GCM is normally not started (the status can be seen in chrome://gcm-internals). However, going to chrome://copresence will activate GCM. When activated, GCM will periodically try and fail to connect to tracing URL 110 (trk:110) for the rest of the browser session.

As it is now, GCM seems harmless; no connections are established, and no data seems to be stored or sent anywhere. However, every attempt to connect to a tracing URL creates an infobar; a minor annoyance.

Refactor build system

Refactor the build system to make support for other distributions and systems easier. Also the current scripts are too messy.

Update macOS build to version 53

Spinoff of this comment

@9Morello: Looks like your situation is similar to this. Have you seen something similar to the following in your build output?:

Warning: You are using OS X 10.12.
We do not provide support for this pre-release version.
You may encounter build failures or other breakages.
Please create pull-requests instead of filing issues.

Warning: Your Xcode (7.3.1) is outdated
Please update to Xcode 8.0.
Xcode can be updated from
  https://developer.apple.com/xcode/downloads/

Warning: Your Homebrew is outdated.
You haven't updated for at least 24 hours. This is a long time in brewland!
To update Homebrew, run `brew update`.

buggy patches

i am making some test and i found some bugs

1 clear-http-auth-cache-menu-item.patch
http://gpaste.us/f82eedc5

2 disable-google-host-detection.patch

http://gpaste.us/352fe25d

3 disable-profile-avatar-downloading.patch

issue: edits a file modified by another patch, for them quilt cancels the compilation, i suggest merge its content at all-add-trk-prefixes-to-possibly-evil-connections.patch

4 i found a very nice set of modifications "attempts to make compatible these patches for chromium 51" is "crappy" but renames patch_order to series

https://up1.ca/#3GVxlmnNWEjzfLCsPNNYWQ

you could use this attempt and test it

About canvas fingerprinting

Well, since this is a project with privacy in mind, I think its worth posting here. Theres a pretty good add-on to manage canvas reading for Firefox called CanvasBlocker.I asked the author and he is interested in porting it to Chromium. He just needs someone familiar with how Chromium works to help him. Heres the link: kkapsner/CanvasBlocker#65

Maybe you guys could get in touch with him, it would be cool!
Thanks for this awesome project.

new options for buildscript

-r stores the terminal prints at a logfile, called log(n).txt, (n) is a number, example, log1.txt, log2.txt .....

a strategy would use the | tee option, that would be useful for debug purposes

-n builds a simple source package instead of compile the sofwtare, generating only the .dsc, .orig.tar.xz and .debian.tar.xz

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.