Co Brave usuwa z silnika Chromium? Obserwuj
(Zauważ, że ta strona jest w trakcie pracy i może być często aktualizowana)
Brave na desktop jest zbudowana na bazie projektu open-source Chromium. 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. Niektóre różnice można znaleźć pod adresem https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md.
Jak to działa
Jeśli chciałbyś przeprowadzić audyt kodu, powinieneś zacząć od repozytorium brave-browser�span>. Nasza wiki zawiera instrukcje o tym, jakie kroki należy wykonać, aby przeprowadzić kompilację po sklonowaniu źródeł
Zasady źródła Chromium są pobierane
Narzędzie gclient (część narzędzi depot) pobierze oficjalny kod źródłowy Chromium. Tag, który zostanie pobrany, jest zapisany w naszym package.json(na przykład,70.0.3538.35
). Wszystkie kody źródłowe zostaną pobrane do folderu./src/
Kody Brave są pobierane
W ramach procesu konfiguracji pobieramy również nasze własne kody. Repozytorium brave-core zawiera kod, który sprawia, że przeglądarka jest Brave. Gałąź, która powinna zostać sprawdzona, jest również zawarta w package.json. Istnieje również plik DEPS w brave-core, który przyciąga sub-zależności (takie jak 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. Jeśli chciałbyś dowiedzieć się więcej szczegółów na temat sposobu działania łatek, możesz zobaczyć naszą stronę wiki.
Jakie funkcje Chromium są usuwane ze względu na prywatność/bezpieczeństwo?
Usługi i funkcje, które całkowicie wyłączamy
- 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
- Atrybut
ping
hiperłącza jest wyłączony - 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
-
Specyficzne funkcje są wyłączane podczas uruchamiania za pomocą CLI (wyszukaj
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
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
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/*.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/*/*
Zmodyfikowane Funkcje i Funkcjonalność
- Ciasteczka mają maksymalną żywotność 7 dni dla ciasteczek ustawionych przez JavaScript i 6 miesięcy dla ciasteczek ustawionych przez HTTP
- Wartości odsyłaczy są ograniczone do
strict-origin-when-cross-origin
i mogą być jedynie zaostrzane przez polityka rekomendacji, nie osłabiane. Ponadto, żądania między domenami z serwisu.onion
mają pusty nagłówekReferer
i nagłóweknull
Origin
tak jak przeglądarka Tor. - 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:
- Metody odczytu płótna
- Agent Użytkownika, następne kroki w kwestiach #12097, #12638, #14740
- enumerateDevices
- Serializacja Web Audio
- Debugowanie WebGL
- Wtyczki
- hardwareConcurrency
- deviceMemory
- Lista nazw hostów z przypiętymi certyfikatami CA jest zastąpiona specyficzną dla Brave.
- Przywróć wymaganie gestu dla asynchronicznego zapisu do schowka
Komentarze
Niektóre z powyższych (wraz z innymi kwestiami) były wcześniej śledzone whttps://github.com/brave/brave-browser/issues/13.
Możesz zauważyć niektóre żądania do domen Google. Niektóre z nich, takie jakclients*.google.com
i update.googleapis.com
są potrzebne do sprawdzania aktualizacji rozszerzeń, jeśli zainstalowałeś rozszerzenia.
Jak Brave porównuje się z ungoogled-chromium?
Opis ungoogled-chromium
, według ich strony GitHub:
ungoogled-chromium to Google Chromium, bez integracji z Google. Zawiera również pewne poprawki, które mają zwiększyć prywatność, kontrolę i przejrzystość(prawie wszystkie z nich wymagają ręcznego aktywowania lub włączenia).
Mamy zarejestrowany problem dotyczący wciągania odpowiednich poprawek z projektuungoogled-chromium
. Projektungoogled-chromium
podobnie ma zarejestrowany problem , w którym wspominają o wciąganiu poprawek od Brave.