¿Qué elimina Brave del motor Chromium? Seguir
(Ten en cuenta que esta página es un trabajo en curso y puede actualizarse con frecuencia)
Brave para escritorio está construido sobre elproyecto Chromium de código abierto . Añadimos funciones sobre lo que ya existe y también eliminamos funciones o partes del código. Estas desviaciones que hacemos que tocan el núcleo del código de Chromium se hacen mediante parches.
Chromium no es lo mismo que Google Chrome. Para conocer algunas diferencias, consulta https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md.
Cómo funciona
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
Se obtiene la fuente de Chromium
La utilidad gclient (parte de depot tools) obtendrá el código fuente oficial de Chromium. La etiqueta que se obtiene está capturada en nuestro package.json(por ejemplo,70.0.3538.35
). Todo el código fuente se descargará en la carpeta./src/
Se obtiene el código de Brave
Como parte del proceso de configuración, también obtenemos nuestro propio código. El repositorio brave-core tiene el código que hace que el navegador sea Brave. La rama que debe comprobarse también está contenida en esepackage.json de . También hay un archivo DEPS en brave-core que extrae subdependencias(como la extensión brave)
Los ganchos se ejecutan
Después de que se ejecute la sincronización con gclient y se recupere todo el código (incluido brave-core), se ejecutan los ganchos. Uno de los ganchos que se ejecutan aplica los parches(que puedes ver aquí) que contiene brave-core. Si quieres saber más detalles sobre CÓMO funciona elparcheado, puedes ver nuestra página wiki sobre parcheado.
¿Qué funciones de Chromium se eliminan por motivos de privacidad/seguridad?
Servicios & Funciones que desactivamos por completo
- La integración de cuentas de Google ("GAIA") está desactivada
- Todas las funciones que envían datos a Google se eliminan de la configuración
- DNS prefetching desactivado
- El Rastreador de URL de Google en Chrome está desactivado
- La fiabilidad del servicio de dominio está desactivada
- Las extensiones en línea están desactivadas
- La sincronización en segundo plano está desactivada
- Hiperenlace pingatributo está desactivado
- Desactivar API de Batería
- Desactivar la API WebBluetooth
- La carga del registro de depuración de WebRTC está desactivada
- La carga de ajustes tras restablecer el perfil está desactivada
- La recuperación de los ajustes por defecto del OEM tras restablecer el perfil está desactivada
- La carga del registro de fallos de seguimiento está desactivada
- Google Cloud Messaging está desactivado
- Firebase Cloud Messaging está desactivado
- Las actualizaciones del canal cliente Push están desactivadas
- El rastreador de tiempo de red está desactivado
- La normalización de direcciones asistida por Google está desactivada
-
Las funciones específicas se desactivan al inicio a través de la CLI (busca
disabled_features
) - Eliminar el repositorio dl.google.com de los paquetes Linux
- Desactivar los informes de métricas
- Desactivar las sugerencias de navegación de URLs similares
- Desactivar los observadores de informes y la API de informes
- Desactivar desplazamiento a fragmento de texto
- Desactivar Sensores de Movimiento
- Desactivar navigator.credentials
- Desactivar la integración OTP de Android
- Desactivar SXG
- Desactivar NFC
- Desactivar WebBundles
- Desactivar las Sugerencias del Cliente (lang)
- Desactivar enchufes directos / crudos
- Desactivar la detección de ralentí
- Desactivar activadores de notificaciones
- Desactivar la API del Sistema de Archivos
- Desactivar la API de Bienes Digitales
- Desactivar API serie
- Desactivar el Aprendizaje Federado de Cohortes (FLoC)
- Desactivar la API de Información de Red
Servicios que proxyamos a través de Brave Servers
Google no recibe ninguna información sobre qué cliente está realizando estas solicitudes (ni siquiera tu dirección IP).
- Las peticiones SafeBrowsing son proxies
- Las solicitudes de geolocalización son proxy
- Las actualizaciones de plugins son proxy
- Las solicitudes de revocación de certificados se delegan
- Las solicitudes de CRLSets son proxies
- Las solicitudes de actualización de componentes se envían por proxy
- Las peticiones de diccionarios de corrección ortográfica se hacen por delegación
- Las peticiones en devtools son proxies
Puntos finales apoderados
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/*/*
Características y funcionalidad modificadas
- Cookies are given a maximum lifetime of 7 days for cookies set through Javascript and 6 months for cookies set through HTTP
- Los valores de los remitentes están limitados a
strict-origin-when-cross-origin
y sólo pueden reforzarse mediante la política de remitentes, no debilitarse. Además, las peticiones cross-origin de un servicio.onion
tienen una cabecera vacíaReferer
y una cabeceranull
Origin
igual que el Navegador Tor. - El router multimedia (Chromecast) está desactivado por defecto en el escritorio. Puedes activarlo cambiando el interruptor en brave://settings.
- Las consultas remotas de protección de descargas omiten URL y nombres de archivos (https://github.com/brave/brave-core/pull/6763).
- Hacer que StorageManager.estimate informe un valor fijo (problema #11543)
- Muchas características tienen aleatoriedad añadida o valores generalizados como defensa contra el rastreo digital, incluyendo:
- Métodos de lectura de canvas
- Agente de usuario, seguimientos en los problemas #12097, #12638, #14740
- enumerateDevices
- Serialización de audio web
- Depuración WebGL
- Plugins
- hardwareConcurrency
- deviceMemory
- La lista de nombres de host con certificados CA anclados se sustituye poruna específica de Brave.
- Restablecer el requisito de gesto para el acceso asíncrono a la escritura en el portapapeles
Comentarios
Algunas de las cuestiones anteriores (junto con otras) ya se trataron en https://github.com/brave/brave-browser/issues/13.
Puede que notes algunas peticiones a dominios de Google. Algunas de ellas, comoclients*.google.com
y update.googleapis.com
son necesarias para buscar actualizaciones de extensiones si las has instalado.
¿Cómo se compara Brave con ungoogled-chromium?
Descripción de ungoogled-chromium
según su página de GitHub:
ungoogled-chromium es Google Chromium, sin integración con Google. También incluye algunos ajustes para mejorar la privacidad, el control y la transparencia(casi todos los cuales requieren activación o habilitación manual).
Hemos un problema capturado para extraer los parches pertinentes del proyectoungoogled-chromium
. Elungoogled-chromium
proyecto tiene igualmente un problema capturado donde mencionan la incorporación de parches de Brave.