Что удаляет Brave из движка Chromium? Подписаться
(Обратите внимание, что эта страница находится в разработке и может часто обновляться)
Brave for desktop is built on top of the open-source Chromium project. Мы добавляем функции поверх того, что уже существует, и также удаляем функции или части кода. Эти отклонения, которые мы делаем, затрагивая основной код Chromium, выполняются с помощью патчей.
Chromium не то же самое, что Google Chrome. For some differences, see https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md.
Как это работает
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
Исходный код Chromium загружен
Утилита gclient (часть инструмента depot tools) загрузит официальный исходный код 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
Код Brave загружен
Как часть процесса настройки, мы также загружаем наш собственный код. 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)
Запускаются хуки
После выполнения gclient sync и загрузки всего кода (включая brave-core) запускаются хуки. Один из хуков, который запускается, применяет патчи (которые вы можете увидеть здесь), содержащиеся в brave-core. If you'd like to know more details about HOW the patching works, you can view our patching wiki page.
Какие функции Chromium удаляются по причинам конфиденциальности/безопасности?
Сервисы и функции, которые мы полностью отключаем
- Chrome Privacy Sandbox. There are several APIs bundled together in Privacy Sandbox and we aim to disable all given our concerns.
- Интеграция с учетными записями Google (GAIA) отключена
- Все функции, которые отправляют данные в Google, удалены из настроек
- Prefetching DNS отключено
- Chrome Google URL Tracker выключен
- Надежность доменных сервисов отключена
- Инлайн-расширения отключены
- Фоновая синхронизация отключена
- Hyperlink
pingattribute is disabled - Отключить Battery API
- Отключить WebBluetooth API
- Загрузка журнала отладки WebRTC отключена
- Загрузка настроек после сброса профиля отключена
- Извлечение настроек по умолчанию OEM после сброса профиля отключено
- Загрузка журнала аварийных сбоев отключена
- Google Cloud Messaging отключена
- Firebase Cloud Messaging отключена
- Обновления канала клиента Push отключены
- Трекер сетевого времени отключен
- Google-assisted нормализация адресов отключена
-
Specific features are disabled on startup via the CLI (search for
disabled_features) - Удалить репозиторий dl.google.com из пакетов Linux
- Отключить отчеты метрик
- Отключить предложения навигации для URL-адресов-подделок
- Отключить Reporting Observers и Reporting API
- Отключить Scroll To Text Fragment
- Отключить датчики движения
- Отключить navigator.credentials
- Отключить интеграцию Android OTP
- Отключить SXG
- Отключить NFC
- Отключить WebBundles
- Отключить Client Hints (lang)
- Отключить Direct / Raw Sockets
- Отключить обнаружение простоя
- Отключить триггеры уведомлений
- Отключить File System API
- Отключить Digital Goods API
- Отключить Serial API
- Отключить Federated Learning of Cohorts (FLoC)
- Отключить 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
Сервисы, через которые мы проксируем через серверы Brave
Google не получает никаких данных о том, какой клиент выполняет эти запросы (даже ваш IP-адрес).
- Запросы SafeBrowsing проксируются
- Запросы геолокации проксируются
- Обновления плагинов проксируются
- Запросы на отмену сертификатов обрабатываются через прокси-серверы
- Запросы CRLSets обрабатываются через прокси-серверы
- Запросы обновлений компонентов обрабатываются через прокси-серверы
- Запросы словарей проверки орфографии обрабатываются через прокси-серверы
- Запросы в devtools обрабатываются через прокси-серверы
- Requests for Search Engine page favicon (Android) are proxied
Конечные точки, использующие прокси
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/*/*
Измененные функции и функциональность
-
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) отключен по умолчанию на рабочих столах. Вы можете включить его, переключив переключатель в brave://settings.
- Удаленные запросы защиты от загрузки не включают URL-адреса и имена файлов (https://github.com/brave/brave-core/pull/6763).
- StorageManager.estimate сообщает фиксированное значение (проблема #11543)
- Многие функции имеют добавленную случайность или обобщенные значения для защиты от снятия отпечатков, включая:
- The list of hostnames with pinned CA certificates is replaced with a Brave-specific one.
- Восстановить требование жеста для асинхронного доступа к записи в буфер обмена
- 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.
Комментарии
Some of the above (along with other issues) were previously tracked in https://github.com/brave/brave-browser/issues/13.
Вы можете заметить некоторые запросы к доменам Google. Some of these, such asclients*.google.com and update.googleapis.com are needed to check for extension updates if you installed extensions.
Как Brave сравнится с ungoogled-chromium?
Description of ungoogled-chromium, per their GitHub page:
ungoogled-chromium это Google Chromium, без интеграции с 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.