Was entfernt Brave aus der Chromium-Engine? Folgen
(Beachte, dass diese Seite noch in Arbeit ist und häufig aktualisiert werden kann)
Brave für den Desktop baut auf demOpen-Source-Projekt Chromium auf. Wir fügen Funktionen zu dem hinzu, was bereits vorhanden ist, und wir entfernen auch Funktionen oder Teile des Codes. Die Abweichungen, die wir vornehmen und die den Kerncode von Chromium berühren, werden über Patches vorgenommen.
Chromium ist nicht dasselbe wie Google Chrome. Für einige Unterschiede siehe https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md.
Wie es funktioniert
Wenn du eine Prüfung des Codes durchführen möchtest, würdest du mit dem brave-browser Repository beginnen. In unserem Wiki findest du unter eine Anleitung , welche Schritte du nach dem Klonen des Quellcodes durchführen musst, um einen Build durchzuführen
Chromium-Quelle wird geholt
Das Dienstprogramm gclient (Teil der Depot-Tools) holt den offiziellen Chromium-Quellcode. Das Tag, das abgeholt wird, ist , das in unserer package.jsonerfasst ist (zum Beispiel70.0.3538.35
). Der gesamte Quellcode wird in den Ordner./src/
heruntergeladen.
Brave Code wird geholt
Als Teil des Einrichtungsprozesses holen wir uns auch unseren eigenen Code. Das brave-core Repository enthält den Code, der den Browser Brave macht. Der Zweig, der ausgecheckt werden soll, ist ebenfalls in dieser package.json enthalten. Es gibt auch eine DEPS-Datei in brave-core, die Sub-Abhängigkeiten(wie die brave-extension) einbezieht
Haken werden ausgeführt
Nachdem der gclient sync gelaufen ist und den gesamten Code geholt hat (einschließlich brave-core), werden die Hooks ausgeführt. Einer der Hooks, der läuft, wendet die Patches an(die du hier sehen kannst), die in brave-core enthalten sind. Wenn du mehr darüber wissen möchtest, WIE das Patchen funktioniert, kannst dudir unter unsere Patching-Wiki-Seite ansehen.
Welche Chromium-Funktionen werden aus Datenschutz-/Sicherheitsgründen entfernt?
Dienste & Funktionen, die wir komplett deaktivieren
- Die Integration von Google-Konten ("GAIA") ist deaktiviert
- Alle Funktionen, die Daten an Google senden, werden aus den Einstellungen entfernt
- DNS Prefetching ist deaktiviert
- Chrome Google URL Tracker ist deaktiviert
- Die Zuverlässigkeit des Domänendienstes ist deaktiviert
- Inline-Erweiterungen sind deaktiviert
- Die Hintergrundsynchronisation ist deaktiviert
- Hyperlink pingAttribut ist deaktiviert
- Batterie-API deaktivieren
- WebBluetooth API deaktivieren
- Hochladen des WebRTC-Debug-Logs ist deaktiviert
- Hochladen der Einstellungen nach dem Zurücksetzen des Profils ist deaktiviert
- Das Abrufen der OEM-Standardeinstellungen nach dem Zurücksetzen des Profils ist deaktiviert
- Hochladen des Absturzprotokolls ist deaktiviert
- Google Cloud Messaging ist deaktiviert
- Firebase Cloud Messaging ist deaktiviert
- Push Client Channel Updates sind deaktiviert
- Der Netzwerkzeit-Tracker ist deaktiviert
- Die Google-gestützte Adressnormalisierung ist deaktiviert
-
Bestimmte Funktionen werden beim Start über die CLI deaktiviert (suche nach
disabled_features
) - dl.google.com Repository aus Linux-Paketen entfernen
- Metrik-Berichterstattung deaktivieren
- Lookalike URLs Navigationsvorschläge deaktivieren
- Meldebeobachter und Melde-API deaktivieren
- Scrollen zum Textfragment deaktivieren
- Bewegungssensoren deaktivieren
- Deaktiviere navigator.credentials
- Android OTP-Integration deaktivieren
- SXG deaktivieren
- NFC deaktivieren
- WebBundles deaktivieren
- Client-Hinweise deaktivieren (lang)
- Direct / Raw Sockets deaktivieren
- Leerlauferkennung deaktivieren
- Auslöser für Benachrichtigungen deaktivieren
- Dateisystem-API deaktivieren
- Digital Goods API deaktivieren
- Serielle API deaktivieren
- Federated Learning of Cohorts (FLoC) deaktivieren
- Netzwerkinformations-API deaktivieren
Dienste, die wir über Brave Servers vermitteln
Google erhält keine Informationen darüber, welcher Client diese Anfragen durchführt (nicht einmal deine IP-Adresse).
- SafeBrowsing-Anfragen werden über einen Proxy geleitet
- Geolokalisierungsanfragen werden weitergeleitet
- Plugin-Updates werden über einen Proxy übertragen
- Zertifikatswiderrufsanfragen werden weitergeleitet
- Anfragen für CRLSets werden stellvertretend bearbeitet
- Anfragen für Komponentenaktualisierungen werden weitergeleitet
- Anfragen für Rechtschreibprüfungs-Wörterbücher werden stellvertretend bearbeitet
- Anfragen in devtools sind proxied
Proxierte Endpunkte
https://dl.google.com/release2/chrome_component/*crl-set*
https://*.gvt1.com/edgedl/release2/chrome_component/*
https://*.gvt1.com/edgedl/chrome/dict/*.bdic
https://storage.googleapis.com/update-delta/hfnkpimlhhgieaddgfemjhofmfblmnib/.+crxd
https://safebrowsing.googleapis.com/
https://sb-ssl.google.com/
https://safebrowsing.google.com
https://ssl.gstatic.com
https://gstatic.com
https://update.googleapis.com
https://chrome-devtools-frontend.appspot.com
https://clients2.googleusercontent.com
https://clients2.google.com
https://clients4.google.com
https://chrome-devtools-frontend.appspot.com
https://accounts.google.com
https://*.infura.io
https://*.gvt1.com/edgel/chromewebstore/*/*
https://*.gvt1.com/edgedl/release2/*/*
http://dl.google.com/release2/*/*
Geänderte Merkmale und Funktionen
- Cookies erhalten eine maximale Lebensdauer von 7 Tagen für Cookies, die über Javascript gesetzt werden, und 6 Monaten für Cookies, die über HTTP gesetzt werden
- Die Referrer-Werte sind auf
strict-origin-when-cross-origin
begrenzt und können durch die Referrer-Richtlinie nur verschärft, nicht abgeschwächt werden. Außerdem haben Cross-Origin-Anfragen von einem.onion
Dienst einen leerenReferer
Header und einennull
Origin
Header, genau wie der Tor Browser. - Der Media Router (Chromecast) ist auf dem Desktop standardmäßig deaktiviert. Du kannst sie einschalten, indem du den Schalter in brave://settings umlegst.
- Bei den Fernabfragen zum Downloadschutz werden URLs und Dateinamen ausgelassen(https://github.com/brave/brave-core/pull/6763).
- StorageManager.estimate soll einen festen Wert melden (Problem #11543)
- Bei vielen Merkmalen wurden Zufälligkeiten hinzugefügt oder Werte verallgemeinert, um sie vor Fingerabdrücken zu schützen, z. B:
- Canvas Rücklesemethoden
- User Agent, Follow ups in den Ausgaben #12097, #12638, #14740
- enumerateDevices
- Web Audio Serialisierung
- WebGL-Debug
- Plugins
- hardwareConcurrency
- deviceMemory
- Die Liste der Hostnamen mit gepinnten CA-Zertifikaten wird durch eine Brave-spezifische Liste ersetzt.
- Gestenanforderung für asynchronen Schreibzugriff auf die Zwischenablage wiederherstellen
Kommentare
Einige der oben genannten (und andere) Probleme wurden bereits in https://github.com/brave/brave-browser/issues/13 behandelt.
Du wirst vielleicht einige Anfragen an Google-Domains bemerken. Einige davon, wieclients*.google.com
und update.googleapis.com
werden benötigt, um nach Erweiterungs-Updates zu suchen, wenn du Erweiterungen installiert hast.
Wie schneidet Brave im Vergleich zu ungoogled-chromium ab?
Beschreibung von ungoogled-chromium
laut ihrer GitHub-Seite:
ungoogled-chromium ist Google Chromium, ohne die Integration mit Google. Außerdem gibt es einige Optimierungen, um die Privatsphäre, die Kontrolle und die Transparenz zu verbessern(fast alle davon müssen manuell aktiviert oder freigeschaltet werden).
Wir haben ein Problem erfasst um relevante Patches aus demungoogled-chromium
Projekt einzubinden. Dasungoogled-chromium
Projekt hat ebenfalls ein Problem, das erfasst , wo sie erwähnen, dass sie Patches von Brave einspielen.