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.
How it works
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 유틸리티(데포 도구의 일부)는 공식 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 동기화가 실행되어 모든 코드(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에 데이터를 보내는 모든 기능은 설정에서 제거되었습니다
- DNS 프리페칭이 비활성화되었습니다
- Chrome Google URL Tracker가 비활성화되었습니다
- 도메인 서비스 안정성 기능이 비활성화되었습니다
- 인라인 확장이 비활성화되었습니다
- 백그라운드 동기화가 비활성화되었습니다
- Hyperlink
pingattribute is disabled - 배터리 API 비활성화
- WebBluetooth API 비활성화
- WebRTC 디버그 로그 업로드가 비활성화되었습니다
- 프로필 재설정 후 설정 업로드가 비활성화되었습니다
- 프로필 재설정 후 OEM 기본 설정 검색이 비활성화되었습니다
- 충돌 추적 로그 업로드가 비활성화되었습니다
- Google 클라우드 메시징이 비활성화되었습니다
- Firebase 클라우드 메시징이 비활성화되었습니다
- 푸시 클라이언트 채널 업데이트가 비활성화되었습니다
- 네트워크 시간 추적기가 비활성화되었습니다
- Google 지원 주소 정규화가 비활성화되었습니다
-
Specific features are disabled on startup via the CLI (search for
disabled_features) - Linux 패키지에서 dl.google.com 저장소 제거
- 메트릭 보고 비활성화
- 유사 URL 탐색 제안 비활성화
- Reporting Observers 및 Reporting API 비활성화
- 텍스트 단편에 스크롤 비활성화
- 모션 센서 비활성화
- navigator.credentials 비활성화
- Android OTP 통합 비활성화
- SXG 비활성화
- NFC 비활성화
- WebBundles 비활성화
- 클라이언트 힌트 (lang) 비활성화
- 직접/로우 소켓 비활성화
- 유휴 감지 비활성화
- 알림 트리거 비활성화
- 파일 시스템 API 비활성화
- 디지털 상품 API 비활성화
- 시리얼 API 비활성화
- 연합 학습 비활성화 (FLoC)
- 네트워크 정보 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의 요청은 프록시됩니다
- 컴포넌트 업데이트 요청은 프록시됩니다
- 맞춤법 사전 요청은 프록시됩니다
- 개발자 도구에서의 요청은 프록시됩니다
- 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.
- 미디어 라우터(Chromecast)는 기본적으로 데스크톱에서 비활성화되어 있습니다. brave://settings에서 스위치를 토글하여 활성화할 수 있습니다.
- 다운로드 보호 원격 조회는 URL 및 파일명을 생략합니다 (https://github.com/brave/brave-core/pull/6763).
- StorageManager.estimate는 고정된 값을 보고합니다 (issue #11543)
- 많은 기능들이 지문 추적에 대한 방어로 임의성을 추가하거나 값을 일반화했습니다. 포함된 항목:
- 캔버스 읽기 메서드
- User Agent, follow ups in issues #12097, #12638, #14740
- enumerateDevices
- 웹 오디오 직렬화
- WebGL 디버그
- 플러그인
- hardwareConcurrency
- deviceMemory
- 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.