Brave는 Chromium 엔진에서 무엇을 제거합니까? 팔로우
(이 페이지는 진행 중인 작업이며 자주 업데이트될 수 있습니다)
데스크탑용 Brave는 오픈소스 Chromium 프로젝트 위에 구축되었습니다. 기존 기능 위에 기능을 추가하고 코드의 일부를 제거하기도 합니다. 핵심 Chromium 코드를 수정하는 이러한 변경은 패치를 통해 이루어집니다.
Chromium은 Google Chrome과 동일하지 않습니다. 차이점에 대한 자세한 내용은 https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md를 참조하세요.
작동 방식
코드를 검토하려면 brave-browser 저장소에서 시작하십시오. 우리의 위키는 소스를 복제한 후 빌드를 수행하기 위해 필요한 단계를 설명합니다.
Chromium 소스를 가져옵니다
gclient 유틸리티(데포 도구의 일부)는 공식 Chromium 소스 코드를 가져옵니다. 가져온 태그는 우리의 package.json(예: 70.0.3538.35
)에 캡처됩니다. 모든 소스 코드는 ./src/
폴더에 다운로드됩니다
Brave 코드를 가져옵니다
설정 과정의 일부로, 우리는 우리의 코드도 가져옵니다. brave-core 저장소에는 브라우저를 Brave로 만드는 코드가 있습니다. 체크아웃해야 할 브랜치도 그 package.json에 포함되어 있습니다. brave-core에 DEPS 파일도 있으며, 이 파일은 (예: brave-extension와 같은) 하위 종속성을 가져옵니다.
훅이 실행됩니다
gclient 동기화가 실행되어 모든 코드(brave-core 포함)를 가져온 후, 훅이 실행됩니다. 실행되는 훅 중 하나는 brave-core에 포함된 패치(여기에서 볼 수 있음)를 적용합니다. 패치가 어떻게 작동하는지 더 알고 싶다면, 우리 패칭 위키 페이지를 보실 수 있습니다.
개인 정보/보안 이유로 어떤 Chromium 기능이 제거됩니까?
전체적으로 비활성화된 서비스 및 기능
- Google 계정 통합("GAIA")이 비활성화되었습니다
- Google에 데이터를 보내는 모든 기능은 설정에서 제거되었습니다
- DNS 프리페칭이 비활성화되었습니다
- Chrome Google URL Tracker가 비활성화되었습니다
- 도메인 서비스 안정성 기능이 비활성화되었습니다
- 인라인 확장이 비활성화되었습니다
- 백그라운드 동기화가 비활성화되었습니다
- 하이퍼링크
ping
속성이 비활성화되었습니다 - 배터리 API 비활성화
- WebBluetooth API 비활성화
- WebRTC 디버그 로그 업로드가 비활성화되었습니다
- 프로필 재설정 후 설정 업로드가 비활성화되었습니다
- 프로필 재설정 후 OEM 기본 설정 검색이 비활성화되었습니다
- 충돌 추적 로그 업로드가 비활성화되었습니다
- Google 클라우드 메시징이 비활성화되었습니다
- Firebase 클라우드 메시징이 비활성화되었습니다
- 푸시 클라이언트 채널 업데이트가 비활성화되었습니다
- 네트워크 시간 추적기가 비활성화되었습니다
- Google 지원 주소 정규화가 비활성화되었습니다
-
각종 기능들은 CLI를 통해 시작 시 비활성화됩니다 (검색:
disabled_features
) - Linux 패키지에서 dl.google.com 저장소 제거
- 메트릭 보고 비활성화
- 유사 URL 탐색 제안 비활성화
- Reporting Observers 및 Reporting API 비활성화
- 텍스트 단편에 스크롤 비활성화
- 모션 센서 비활성화
- navigator.credentials 비활성화
- Android OTP 통합 비활성화
- SXG 비활성화
- NFC 비활성화
- WebBundles 비활성화
- 클라이언트 힌트 (lang) 비활성화
- 직접/로우 소켓 비활성화
- 유휴 감지 비활성화
- 알림 트리거 비활성화
- 파일 시스템 API 비활성화
- 디지털 상품 API 비활성화
- 시리얼 API 비활성화
- 연합 학습 비활성화 (FLoC)
- 네트워크 정보 API 비활성화
Brave 서버를 통한 프록시 서비스
Google은 클라이언트가 수행하는 요청에 대한 정보를 전혀 받지 않습니다(심지어 IP 주소조차도 받지 않습니다).
- SafeBrowsing 요청이 프록시를 통해 처리됩니다
- 위치 요청이 프록시를 통해 처리됩니다
- 플러그인 업데이트가 프록시를 통해 처리됩니다
- 인증서 폐기 요청은 프록시됩니다
- CRLSets의 요청은 프록시됩니다
- 컴포넌트 업데이트 요청은 프록시됩니다
- 맞춤법 사전 요청은 프록시됩니다
- 개발자 도구에서의 요청은 프록시됩니다
프록시된 엔드포인트
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/*/*
변경된 기능 및 기능성
- Javascript를 통해 설정된 쿠키는 최대 수명이 7일이고 HTTP를 통해 설정된 쿠키는 6개월입니다
- 레퍼러 값은
strict-origin-when-cross-origin
으로 제한되며, 레퍼러 정책에 의해 강화될 수는 있지만 약화될 수는 없습니다. 추가적으로,.onion
서비스의 크로스 오리진 요청은 Tor 브라우저와 마찬가지로 빈Referer
헤더와null
Origin
헤더를 갖습니다. - 미디어 라우터(Chromecast)는 기본적으로 데스크톱에서 비활성화되어 있습니다. brave://settings에서 스위치를 토글하여 활성화할 수 있습니다.
- 다운로드 보호 원격 조회는 URL 및 파일명을 생략합니다 (https://github.com/brave/brave-core/pull/6763).
- StorageManager.estimate는 고정된 값을 보고합니다 (issue #11543)
- 많은 기능들이 지문 추적에 대한 방어로 임의성을 추가하거나 값을 일반화했습니다. 포함된 항목:
- 고정된 CA 인증서가 있는 호스트 이름 목록은 Brave 전용 목록으로 대체됩니다.
- 비동기 클립보드 쓰기 접근을 위한 제스처 요건 복원
코멘트
위의 일부 항목(및 기타 이슈)은 이전에 https://github.com/brave/brave-browser/issues/13에서 추적되었습니다.
Google 도메인에 대한 일부 요청을 발견할 수 있습니다. 이 중 일부는 확장 프로그램을 설치한 경우 확장 프로그램 업데이트를 확인하기 위해 필요합니다 (예: clients*.google.com
, update.googleapis.com
).
Brave는 ungoogled-chromium과 어떻게 비교됩니까?
ungoogled-chromium
의 설명, 해당 GitHub 페이지에 따르면:
ungoogled-chromium은 Google Chromium입니다, Google과의 통합 없이. 이 브라우저는 개인 정보 보호, 제어 및 투명성을 향상시키기 위한 몇 가지 조정을 특징으로 합니다(거의 모든 항목이 수동 활성화 또는 사용 설정이 필요합니다).
우리는 관련 패치를 가져오기 위한 문제를 ungoogled-chromium 프로젝트에서 조사 중입니다.ungoogled-chromium
. ungoogled-chromium
프로젝트는 유사하게 Brave에서 패치를 가져오는 문제를 언급하는 문제를 조사 중 입니다.