Cosa rimuove Brave dal motore Chromium? Segui
(Nota che questa pagina è in fase di sviluppo e potrebbe essere aggiornata frequentemente)
Brave for desktop is built on top of the open-source Chromium project. Aggiungiamo funzionalità sopra quelle esistenti e rimuoviamo anche funzionalità o pezzi di codice. Queste deviazioni che facciamo toccando il codice centrale di Chromium vengono effettuate tramite patching.
Chromium non è lo stesso di Google Chrome. For some differences, see https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md.
Come funziona
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
Il sorgente Chromium viene scaricato
L'utility gclient (parte degli strumenti di gestione del repository) scaricherà il codice sorgente ufficiale di 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
Il codice Brave viene scaricato
Come parte del processo di configurazione, scarichiamo anche il nostro codice. 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)
Vengono eseguiti degli hook
Dopo che il comando gclient sync viene eseguito e scarica tutto il codice (incluso brave-core), vengono eseguiti gli hook. Uno degli hook che viene eseguito applica le patch (che può vedere qui) che sono contenute in brave-core. If you'd like to know more details about HOW the patching works, you can view our patching wiki page.
Quali funzionalità di Chromium vengono rimosse per motivi di privacy/sicurezza?
Servizi & Funzionalità che Disabilitiamo Completamente
- Chrome Privacy Sandbox. There are several APIs bundled together in Privacy Sandbox and we aim to disable all given our concerns.
- L'integrazione degli account Google ("GAIA") è disabilitata
- Tutte le funzionalità che inviano dati a Google vengono rimosse dalle impostazioni
- Il prefetching DNS è disabilitato
- Google URL Tracker di Chrome è disabilitato
- L'affidabilità del servizio di dominio è disabilitata
- Le estensioni in linea sono disabilitate
- La sincronizzazione in background è disabilitata
- Hyperlink
pingattribute is disabled - Disabilita API della Batteria
- Disabilita API WebBluetooth
- Il caricamento dei log di debug WebRTC è disabilitato
- Il caricamento delle impostazioni dopo il ripristino del profilo è disabilitato
- Il recupero delle impostazioni predefinite OEM dopo il ripristino del profilo è disabilitato
- Il caricamento dei log di crash è disabilitato
- Google Cloud Messaging è disabilitato
- Firebase Cloud Messaging è disabilitato
- Gli aggiornamenti del canale del client Push sono disabilitati
- Il tracker del tempo di rete è disabilitato
- La normalizzazione degli indirizzi assistita da Google è disabilitata
-
Specific features are disabled on startup via the CLI (search for
disabled_features) - Rimuovi il repository dl.google.com dai pacchetti Linux
- Disabilita rapporti di metriche
- Disabilita i suggerimenti di navigazione degli URL simili
- Disabilita gli osservatori dei rapporti e API di segnalazione
- Disabilita il frammento di testo Scorri per
- Disabilita sensori di movimento
- Disabilita navigator.credentials
- Disabilita l'integrazione OTP di Android
- Disabilita SXG
- Disabilita NFC
- Disabilita WebBundles
- Disabilita gli indizi del client (lang)
- Disabilita Sockets Diretti/Raw
- Disabilita rilevazione di inattività
- Disabilita i trigger di notifica
- Disabilita File System API
- Disabilita Digital Goods API
- Disabilita Serial API
- Disabilita Apprendimento Federato di Coorti (FLoC)
- Disabilita Network Information API
- 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
Servizi che proxi attraverso i server di Brave
Google non riceve alcuna informazione su quale client sta eseguendo queste richieste (neanche il Suo indirizzo IP).
- Le richieste di SafeBrowsing sono proxate
- Le richieste di geolocalizzazione sono proxate
- Gli aggiornamenti del plugin sono proxati
- Le richieste di revoca dei certificati sono proxy
- Le richieste per i CRLSets sono proxyate
- Le richieste per gli aggiornamenti dei componenti sono proxyate
- Le richieste per i dizionari del correttore ortografico sono proxyate
- Le richieste negli strumenti per sviluppatori sono proxyate
- Requests for Search Engine page favicon (Android) are proxied
Endpoint proxyati
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/*/*
Funzionalità e caratteristiche modificate
-
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.
- Media Router (Chromecast) è disabilitato di default su Desktop. Può essere attivato cambiando l'interruttore in brave://settings.
- Le ricerche remote di protezione dai download omettono URL e nomi di file (https://github.com/brave/brave-core/pull/6763).
- Il report di StorageManager.estimate segnala un valore fisso (problema #11543)
- Molte caratteristiche hanno aggiunto la casualità o hanno generalizzato i valori come difesa contro il fingerprinting, inclusi:
- The list of hostnames with pinned CA certificates is replaced with a Brave-specific one.
- Ripristino del requisito del gesto per l'accesso in scrittura asincrona negli appunti
- 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.
Commenti
Some of the above (along with other issues) were previously tracked in https://github.com/brave/brave-browser/issues/13.
Potrebbe notare alcune richieste a domini di Google. Some of these, such asclients*.google.com and update.googleapis.com are needed to check for extension updates if you installed extensions.
Come Brave si confronta con ungoogled-chromium?
Description of ungoogled-chromium, per their GitHub page:
ungoogled-chromium è Google Chromium, senza integrazione con 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.