Co Brave usuwa z silnika Chromium? Obserwuj
(Zauważ, że ta strona jest w trakcie pracy i może być często aktualizowana)
Brave for desktop is built on top of the open-source Chromium project. Dodajemy funkcje na tym, co już tam jest i usuwamy również funkcje lub fragmenty kodu. Te odchylenia od rdzenia kodu Chromium wykonujemy za pomocą łatek.
Chromium to nie to samo co Google Chrome. For some differences, see https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md.
Jak to działa
If you wanted to do an audit of the code, you would start with the brave-browser repository. Our wiki has instructions about what steps need to be done to perform a build after cloning the source
Zasady źródła Chromium są pobierane
Narzędzie gclient (część narzędzi depot) pobierze oficjalny kod źródłowy Chromium. The tag that is fetched is captured in our package.json(for example,70.0.3538.35). All of the source code will be downloaded into the./src/folder
Kody Brave są pobierane
W ramach procesu konfiguracji pobieramy również nasze własne kody. The brave-core repository has the code that makes the browser Brave. The branch that should be checked out is also contained in that package.json. There is also a DEPS file in brave-core that pulls in sub-dependencies (such as the brave-extension)
Uruchamiane są haki
Po uruchomieniu gclient sync i pobraniu wszystkich kodów (w tym brave-core), uruchamiane są haki. Jeden z uruchamianych haków stosuje łatki (które możesz zobaczyć tutaj), które są zawarte w brave-core. If you'd like to know more details about HOW the patching works, you can view our patching wiki page.
Jakie funkcje Chromium są usuwane ze względu na prywatność/bezpieczeństwo?
Usługi i funkcje, które całkowicie wyłączamy
- Chrome Privacy Sandbox. There are several APIs bundled together in Privacy Sandbox and we aim to disable all given our concerns.
- Integracja z kontami Google ("GAIA") jest wyłączona
- Wszystkie funkcje, które wysyłają dane do Google, są usunięte z ustawień
- Prefetching DNS jest wyłączony
- Chrome Google URL Tracker jest wyłączony
- Niezawodność usługi domeny jest wyłączona
- Inline extensions są wyłączone
- Synchronizacja w tle jest wyłączona
- Hyperlink
pingattribute is disabled - Wyłącz API baterii
- Wyłącz API WebBluetooth
- Przesyłanie dziennika debugowania WebRTC jest wyłączone
- Przesyłanie ustawień po zresetowaniu profilu jest wyłączone
- Pobieranie domyślnych ustawień OEM po zresetowaniu profilu jest wyłączone
- Przesyłanie dziennika awarii jest wyłączone
- Google Cloud Messaging jest wyłączone
- Firebase Cloud Messaging jest wyłączone
- Aktualizacje kanału klienta push są wyłączone
- Śledzenie czasu sieci jest wyłączone
- Google-assisted address normalization jest wyłączone
-
Specific features are disabled on startup via the CLI (search for
disabled_features) - Usuń repozytorium dl.google.com z pakietów Linux
- Wyłącz raportowanie metryk
- Wyłącz sugestie nawigacji dla podobnych adresów URL
- Wyłącz obserwatory raportów i API raportowania
- Wyłącz przewijanie do fragmentu tekstu
- Wyłącz czujniki ruchu
- Wyłącz navigator.credentials
- Wyłącz integrację OTP na Android
- Wyłącz SXG
- Wyłącz NFC
- Wyłącz WebBundles
- Wyłącz Client Hints (lang)
- Wyłącz bezpośrednie / surowe gniazda
- Wyłącz wykrywanie bezczynności
- Wyłącz wyzwalacze powiadomień
- Wyłącz API systemu plików
- Wyłącz API dóbr cyfrowych
- Wyłącz API szeregowe
- Wyłącz Federated Learning of Cohorts (FLoC)
- Wyłącz API informacji o sieci
- SCT auditing
- Site affiliation fetcher (part of the password manager)
- Disables kOptimizationGuideFetchingForSRP
- Disable Web Environment Integrity
- Disable Popular Sites (AKA Top Sites)
- Disable Trust Tokens / Private State Tokens
Usługi, które proxy przez serwery Brave
Google nie otrzymuje żadnych informacji o tym, który klient wykonuje te żądania (nawet Twojego adresu IP).
- Żądania SafeBrowsing są proxy
- Żądania geolokalizacji są proxy
- Aktualizacje wtyczek są proxy
- Prośby o anulowanie certyfikatu są proszone przez serwer proxy
- Żądania CRLSets są proszone przez serwer proxy
- Żądania aktualizacji komponentu są proszone przez serwer proxy
- Żądania słowników pisowni są proszone przez serwer proxy
- Żądania w devtools są proszone przez serwer proxy
- Requests for Search Engine page favicon (Android) are proxied
Końcówki proxy
https://dl.google.com/release2/chrome_component/*crl-set*https://*.gvt1.com/edgedl/release2/chrome_component/*https://*.gvt1.com/edgedl/chrome/dict/*.bdichttps://storage.googleapis.com/update-delta/hfnkpimlhhgieaddgfemjhofmfblmnib/.+crxdhttps://safebrowsing.googleapis.com/https://sb-ssl.google.com/https://safebrowsing.google.comhttps://ssl.gstatic.comhttps://gstatic.comhttps://update.googleapis.comhttps://chrome-devtools-frontend.appspot.comhttps://clients2.googleusercontent.comhttps://clients2.google.comhttps://clients4.google.comhttps://chrome-devtools-frontend.appspot.comhttps://accounts.google.comhttps://*.infura.iohttps://*.gvt1.com/edgel/chromewebstore/*/*https://*.gvt1.com/edgedl/release2/*/*http://dl.google.com/release2/*/*
Zmodyfikowane Funkcje i Funkcjonalność
-
Cookies:
- Cookies are given a maximum lifetime of 7 days for cookies set through Javascript and 6 months for cookies set through HTTP
- Session Cookies are cleaned up on restart if "Continue where you left off" mode is enabled (which is default in Brave).
- Third-party cookies are always blocked at the HTTP header level, but we give JavaScript access to partitioned ephemeral storage to pages (learn more about partitioned ephemeral storage).
- The Battery API always returns a fixed value.
- Referrer values are capped to
strict-origin-when-cross-originand can only be tightened by referrer policy, not weakened. In addition, cross-origin requests from a.onionservice have an emptyRefererheader and anullOriginheader just like the Tor Browser. -
.onionentries are replaced with"null"indocument.location.ancestorOrigins()unless such entries are same-origin with the innermost frame. - Hangouts extension is disabled by default. We also disable log uploading to Google's servers: https://github.com/brave/brave-browser/issues/1993.
- Router Mediów (Chromecast) jest domyślnie wyłączony na Pulpicie. Możesz go włączyć, przełączając przełącznik w brave://settings.
- Zdalne sprawdzanie ochrony pobierania pomija URL i nazwy plików (https://github.com/brave/brave-core/pull/6763).
- Raportowanie przez StorageManager.estimate stałej wartości (problem #11543)
- Wiele funkcji ma dodaną losowość lub wartości ogólne jako obrona przed fingerprintingiem, w tym:
- The list of hostnames with pinned CA certificates is replaced with a Brave-specific one.
- Przywróć wymaganie gestu dla asynchronicznego zapisu do schowka
- Dangerous download warnings are always shown when Safe Browsing is OFF, but a flag to disable the warnings is available for advanced users.
- Functionality from the Chromium side panel has been merged into the Brave Sidebar.
- Web Serial API is OFF but a flag to enable is available for advanced users.
- Enhanced the geolocation permission dialog to inform the user whether the site they are visiting has requested location data with the
enableHighAccuracyoption. - Reporting Observers are enabled but don't work (calling will no-op). See here for where it was disabled and see here for where it was re-enabled but made to do nothing.
- Open Search adding engines has a toggle (
Index other search engines) and is disabled by default. - Access to Storage Access API is disabled in Brave by always rejecting the permission request.
- When group policy is in place, Brave does NOT disable secure DNS. Chrome/Chromium will disable secure DNS in the UI and force the administrator to define a policy if they want a value other than
Off. See here and here.
Komentarze
Some of the above (along with other issues) were previously tracked in https://github.com/brave/brave-browser/issues/13.
Możesz zauważyć niektóre żądania do domen Google. Some of these, such asclients*.google.com and update.googleapis.com are needed to check for extension updates if you installed extensions.
Jak Brave porównuje się z ungoogled-chromium?
Description of ungoogled-chromium, per their GitHub page:
ungoogled-chromium to Google Chromium, bez integracji z Google. It also features some tweaks to enhance privacy, control, and transparency(almost all of which require manual activation or enabling).
We have an issue captured for pulling in relevant patches from theungoogled-chromiumproject. Theungoogled-chromiumproject similarly has an issue captured where they mention pulling in patches from Brave.