TopGit
Đánh giá repo GitHub

Brave Core: Mã Nguồn Engine Trình Duyệt Brave

brave/brave-core
BTopGit review image for brave/brave-core
Review by Topgit.dev for brave/brave-core, with GitHub repository stats and README context.
Nhận định nhanh

Brave Core là repository chứa các patch Chromium, script build, và phần tích hợp chặn quảng cáo thực tế của Brave — không phải một trình duyệt để cài đặt, mà là mã nguồn để bạn build ra một trình duyệt. Hãy dùng nếu bạn muốn tự build Brave hoặc xem chính xác Brave thay đổi gì trong Chromium. Bỏ qua nếu bạn chỉ cần dùng Brave hàng ngày — hãy tải bản build sẵn từ brave.com/download.

Sao
★ 3.7k
Fork
⑂ 1.5k
Ngôn ngữ
C++
Giấy phép
MPL-2.0
Chủ đề
—
Cập nhật
Oct 2026
Trang chủ
—
GitHub

Brave Core Là Gì?

Brave Core là repository GitHub (brave/brave-core) chứa các thay đổi, API, và script mà Brave dùng để tuỳ biến Chromium thành trình duyệt Brave. Nó được gắn tại src/brave bên trong một checkout Chromium, duy trì các patch cho mã nguồn bên thứ ba của Chromium, và liên kết engine chặn quảng cáo adblock-rust qua component adblock_rust_ffi. Issue, release, và wiki nằm ở một repository khác, brave-browser, chứ không phải ở đây.

Các Thành Phần Và Tuỳ Biến Chính

  • ✓Duy trì các patch trên mã nguồn Chromium của bên thứ ba thay vì lưu một bản fork đầy đủ, được áp dụng và áp dụng lại qua lệnh pnpm run sync và apply_patches.
  • ✓Fetch và ghim đúng nhánh Chromium cùng các dependency khác được khai báo trong package.json và src/brave/DEPS, dùng depot_tools để tải Chromium.
  • ✓Kết nối engine adblock-rust của Brave (từ repo riêng brave/adblock-rust) qua component adblock_rust_ffi trong thư mục components/.
  • ✓Cung cấp bộ lệnh dựa trên pnpm — init, build, start, sync — nằm trên hệ thống build của Chromium, thay vì phải gọi trực tiếp gn/ninja.
  • ✓Build theo bốn kiểu: Component (mặc định), Release, Static (build lâu hơn nhưng khởi động nhanh hơn), và Debug.
  • ✓Bao phủ các nền tảng desktop (Linux, macOS, Windows) và di động, với flag --target_os riêng cho build Android và iOS.
  • ✓Ghi lại quy trình review bảo mật kế thừa từ Chromium — security rules và hướng dẫn review IPC — cùng một tài liệu riêng về cách dùng Rust của Brave.
Số sao GitHub của repo này thay đổi thế nào theo thời gian. Nguồn: star-history.com.Xem lịch sử sao ↗

Ai Nên Dùng Brave Core?

  • •Build trình duyệt Brave cho desktop từ mã nguồn trên Linux, macOS, hoặc Windows thay vì cài bản release dựng sẵn.
  • •Kiểm tra hoặc đóng góp cho các patch cụ thể mà Brave áp dụng lên Chromium gốc.
  • •Build Brave cho Android hoặc iOS bằng các flag init và build target_os được ghi trong repo.
  • •Làm việc trên phần tích hợp engine chặn quảng cáo của Brave, vì adblock-rust được kết nối ở đây qua adblock_rust_ffi.
  • •Bật và thử nghiệm Google Safe Browsing tại máy local bằng cách cung cấp GOOGLE_API_KEY riêng, theo hướng dẫn trong README.

Thiết Lập Môi Trường Phát Triển

Bắt đầu với các yêu cầu tiên quyết theo nền tảng: README dẫn tới các trang wiki riêng của brave-browser cho môi trường phát triển Android, Linux, iOS, macOS, và Windows — đọc trang tương ứng nền tảng của bạn trước khi clone. Sau khi có đủ điều kiện, clone brave-core vào đường dẫn src/brave (`git clone [email protected]:brave/brave-core.git path-to-your-project-folder/src/brave`), `cd` vào đó, rồi chạy `pnpm run init`. Bước này tải cả Chromium lẫn brave-core, và README cảnh báo nó tải về nhiều gigabyte lịch sử Chromium, nên hãy chuẩn bị thời gian nếu mạng không nhanh. Build Android thêm `--target_os=android --target_arch=arm` (hoặc kiến trúc CPU bạn muốn) vào lệnh init đó, còn build iOS thêm `--target_os=ios`. Cấu hình bổ sung nằm ở một trang wiki Build-configuration riêng, không nằm trong README này.

Build Và Chạy Trình Duyệt

Build mặc định là Component, khởi chạy bằng `pnpm run build`; thêm `Release` để build bản release, `Static` để build liên kết tĩnh (lâu hơn nhưng khởi động nhanh hơn), hoặc `Debug` cho bản Component chạy debug. README nói thẳng rằng một build đầy đủ có thể mất vài giờ tuỳ CPU và RAM, và build Release đặc biệt chậm, tốn nhiều RAM, nhất là trên Linux dùng plugin Gold LLVM. Sau khi build xong, chạy bằng `pnpm start [Release|Component|Static|Debug]`. Để cập nhật thay đổi từ upstream sau này, `pnpm run sync` cập nhật Chromium và brave-core theo một ref cụ thể, áp dụng lại patch, và cập nhật dependency — thêm `--force` để reset cứng cả hai về commit mới nhất, hoặc `--init` để reset toàn bộ về phiên bản được ghim trong package.json.

Điểm mạnh

  • ✓Dùng patch, không phải bản fork trùng lặp: Chromium được fetch mới qua depot_tools và các thay đổi của brave-core được áp dụng lại lên trên, giúp diff luôn hiển thị rõ thay vì chôn trong một bản copy toàn bộ cây thư mục Chromium.
  • ✓Một bộ lệnh (init/build/start/sync) bao phủ năm nền tảng — Android, iOS, Linux, macOS, Windows — thay vì tài liệu build riêng cho từng OS.
  • ✓adblock-rust được tích hợp như một component riêng (adblock_rust_ffi) thay vì được patch tay vào network stack của Chromium.
  • ✓Bốn kiểu build — Component, Release, Static, Debug — cho phép chọn giữa lặp nhanh hơn hoặc khởi động nhanh hơn tuỳ việc đang làm.
  • ✓MPL-2.0 là giấy phép cởi mở với copyleft chỉ trên các file bị sửa đổi, nên bạn thấy rõ Brave đã thay đổi gì mà không vướng ràng buộc cấp phép độc quyền.

Thách Thức Và Lưu Ý

  • △Brave Core không phải một trình duyệt độc lập có thể build riêng — build Brave nghĩa là phải tải thêm Chromium và engine adblock-rust riêng qua script init/sync của repo này, chứ không thể build brave-core một mình.
  • △Bước `pnpm run init` đầu tiên tải toàn bộ lịch sử mã nguồn Chromium, mà README mô tả là nhiều gigabyte dữ liệu, nên lần setup đầu cần dung lượng ổ đĩa và thời gian thật sự.
  • △Một build đầy đủ có thể mất vài giờ, theo README, và build Release được nêu là đặc biệt chậm, tốn nhiều RAM trên Linux.
  • △Việc theo dõi issue, release note, và wiki nằm ở repository brave-browser riêng, nên chỉ nhìn repo này thôi sẽ không thấy bug đang mở hay lịch sử phiên bản.
  • △Các bước cài đặt tiên quyết cụ thể theo từng nền tảng không nằm trong README này — nó dẫn sang các trang wiki của brave-browser, nên bạn sẽ phải đọc tài liệu của hai repo chứ không phải một.

Các Dự Án Trình Duyệt Thay Thế

Chromium — dự án trình duyệt mã nguồn mở gốc mà Brave Core patch lên; build trực tiếp nếu bạn không cần các thay đổi riêng của Brave.ladybird — một engine trình duyệt được xây từ đầu thay vì fork Chromium, cách tiếp cận rất khác với mô hình patch-trên-Chromium của Brave Core. ↗Firefox (Gecko) — engine rendering do Mozilla phát triển độc lập, một lựa chọn nếu bạn muốn tránh hẳn codebase Chromium.WebKit — engine mã nguồn mở của Apple đứng sau Safari, một nền tảng không phải Chromium khác cho công việc phát triển trình duyệt.

Câu Hỏi Thường Gặp

Giấy phép của Brave Core là gì?

Brave Core được cấp phép theo Mozilla Public License 2.0 (MPL-2.0), như được liệt kê trong metadata của repository trên GitHub.

Brave Core dùng những ngôn ngữ lập trình nào?

GitHub liệt kê C++ là ngôn ngữ chính của Brave Core; công cụ build chạy trên script pnpm/Node, còn component adblock-rust được liên kết vào thì viết bằng Rust.

Làm sao để đóng góp cho Brave Core?

README của Brave Core hướng người đóng góp tới hướng dẫn trong CONTRIBUTING.md, và tới wiki của brave-browser để thiết lập môi trường phát triển trước.

Brave Core có hỗ trợ build cho nền tảng di động không?

Script build của Brave Core có hỗ trợ di động: README ghi luồng init/build cho Android với --target_os=android, và một luồng riêng cho iOS với --target_os=ios cùng một project Xcode.

Mối quan hệ giữa Brave Core và Chromium là gì?

Brave Core là một lớp patch, API, và script được gắn tại src/brave bên trong một checkout Chromium — nó tuỳ biến và build trên nền Chromium chứ không thay thế hay fork Chromium thành một codebase riêng.

Build đầy đủ Brave Core mất bao lâu?

README nói một build đầy đủ có thể mất vài giờ tuỳ CPU và RAM, chưa tính bước tải mã nguồn Chromium ban đầu mà README nói riêng là nhiều gigabyte dữ liệu.

Vấn đề Brave Core giải quyết

Brave thay đổi hành vi của Chromium ở rất nhiều chỗ — chặn quảng cáo, mặc định về quyền riêng tư, giao diện — và mỗi khi Chromium gốc cập nhật, những thay đổi đó phải được đối chiếu lại thay vì viết lại từ đầu. Brave Core tồn tại để việc đối chiếu đó lặp lại được: nó lưu các thay đổi của Brave dưới dạng patch trên một nhánh Chromium được ghim sẵn, sync và áp dụng lại patch chỉ bằng một lệnh, và kết nối một engine chặn quảng cáo được duy trì riêng (adblock-rust) thay vì gắn logic chặn quảng cáo thẳng vào các file Chromium đã fork. Đó là một vấn đề hẹp hơn nhiều so với "làm sao để build một trình duyệt" — cụ thể là làm sao Brave giữ được bản fork Chromium của mình dễ bảo trì trên năm nền tảng, trong khi upstream vẫn liên tục thay đổi.

Ai nên dùng — và ai nên bỏ qua

Hãy thử Brave Core nếu bạn là nhà phát triển muốn build Brave từ mã nguồn, xem xét hoặc đóng góp cho các patch cụ thể mà nó mang trên nền Chromium, hoặc làm việc với phần tích hợp adblock-rust. Bỏ qua nếu bạn chỉ cần dùng Brave hàng ngày — hãy lấy bản build sẵn từ brave.com/download — hoặc nếu bạn muốn một codebase nhỏ, tự chứa mà không cần tải thêm toàn bộ cây mã nguồn Chromium.

Nguồn & ghi công

Thông tin lấy từ repository GitHub brave/brave-core và README của nó.

Dữ liệu GitHub · đồng bộ lần cuối 12 thg 8, 2026Đánh giá bởi Henry
← Về TopGit

Muốn nghe thêm một ý kiến về brave-core?

Hỏi một AI đọc được trang này — một cú bấm là có ngay nhận định về brave-core.

GitHub