يحتوي هذا المستودع على أدوات البناء اللازمة لإنشاء متصفح Brave لسطح المكتب لأنظمة التشغيل macOS وWindows وLinux. على وجه الخصوص، يقوم بجلب التعليمات البرمجية ومزامنتها من المشاريع المحددة في package.json
و src/brave/DEPS
:
الكروم
جلب الكود عبر depot_tools
.
يضبط فرع Chromium (على سبيل المثال: 65.0.3325.181).
شجاع النواة
شنت في src/brave
.
يحتفظ بالتصحيحات الخاصة بكود Chromium التابع لجهة خارجية.
adblock-rust
يطبق محرك كتلة الإعلانات الخاص بـ Brave.
مرتبط عبر Brave/adblock-rust-ffi.
يمكنك زيارة موقعنا على الانترنت للحصول على أحدث إصدار مستقر.
يرجى الاطلاع على المبادئ التوجيهية المساهمة.
يحتوي موقع Wiki الخاص بنا أيضًا على بعض المعلومات التقنية المفيدة.
انضم إلى مجتمع الأسئلة والأجوبة إذا كنت ترغب في المشاركة بشكل أكبر في Brave. يمكنك طلب المساعدة ومناقشة الميزات التي ترغب في رؤيتها وغير ذلك الكثير. نود أن نحصل على مساعدتك حتى نتمكن من مواصلة تحسين Brave.
ساعدنا في ترجمة Brave إلى لغتك عن طريق إرسال الترجمات على https://explore.transifex.com/brave/brave_en/.
تابع @brave على Twitter للحصول على الأخبار والإعلانات المهمة.
اتبع التعليمات الخاصة بالنظام الأساسي الخاص بك:
ماك
دائرة الرقابة الداخلية
ويندوز
لينكس/أندرويد
بمجرد تثبيت المتطلبات الأساسية، يمكنك الحصول على التعليمات البرمجية وتهيئة بيئة البناء.
git clone [email protected]:brave/brave-core.git path-to-your-project-folder/src/bravecd path-to-your-project-folder/src/brave تثبيت npm # تم تنزيل مصدر Chromium، الذي يحتوي على سجل كبير (غيغابايت من البيانات) # قد يستغرق هذا وقتًا طويلاً للانتهاء اعتمادًا على سرعة الإنترنت npm run init
يجب أن تستخدم إصدارات Android المستندة إلى Brave-core npm run init -- --target_os=android --target_arch=arm
(أو أي نوع من وحدة المعالجة المركزية تريد إنشاءه له) يجب أن تستخدم إصدارات iOS المستندة إلى Brave-core npm run init -- --target_os=ios
يمكنك أيضًا تعيين target_os و target_arch لـ init والإنشاء باستخدام:
npm config set target_os android npm config set target_arch arm
تم توثيق المعلمات الإضافية اللازمة للبناء على https://github.com/brave/brave-browser/wiki/Build-configuration
يمكن للمطورين الداخليين العثور على مزيد من المعلومات على https://github.com/brave/devops/wiki/%60.env%60-config-for-Brave-Developers
نوع البناء الافتراضي هو المكون.
# start the component build compile npm run build
للقيام ببناء الإصدار:
# start the release compile npm run build Release
يجب أن تستخدم إصدارات Android المبنية على أساس شجاع npm run build -- --target_os=android --target_arch=arm
أو قم بتعيين متغيرات تكوين npm كما هو محدد أعلاه لـ init
يجب أن تستخدم إصدارات iOS المستندة إلى Brave-core مشروع Xcode الموجود في ios/brave-ios/App
. يمكنك فتح هذا المشروع مباشرة أو تشغيل npm run ios_bootstrap -- --open_xcodeproj
لفتحه في Xcode. راجع بيئة مطوري iOS لمزيد من المعلومات حول إصدارات iOS.
يمكن أن يكون تشغيل إصدار الإصدار باستخدام npm run build Release
بطيئًا للغاية ويستخدم قدرًا كبيرًا من ذاكرة الوصول العشوائي (RAM)، خاصة على نظام التشغيل Linux الذي يحتوي على المكون الإضافي Gold LLVM.
لتشغيل بناء مرتبط بشكل ثابت (يستغرق الإنشاء وقتًا أطول، لكنه يبدأ بشكل أسرع):
بناء تشغيل npm - ثابت
لتشغيل بناء تصحيح الأخطاء (بناء المكون باستخدام is_debug=true):
إنشاء تشغيل npm - Debug
ملاحظة: سيستغرق البناء بعض الوقت حتى يكتمل. اعتمادًا على المعالج والذاكرة لديك، قد يستغرق الأمر بضع ساعات.
لبدء البناء:
npm start [Release|Component|Static|Debug]
npm run sync -- [--force] [--init] [--create] [brave_core_ref]
سيحاول هذا إخفاء تغييراتك المحلية في Brave-Core، لكن من الآمن إجراء تغييرات محلية قبل تشغيل هذا
سوف تقوم npm run sync
(اعتمادًا على العلامات أدناه):
؟ تحديث المشاريع الفرعية (Chromium وbrave-core) إلى أحدث التزام بمرجع git (مثل العلامة أو الفرع)
؟ تطبيق بقع
؟ قم بتحديث تبعيات gclient DEPS
⏩ تشغيل الخطافات (على سبيل المثال، لتنفيذ npm install
على المشاريع الفرعية)
علَم | وصف |
---|---|
[no flags] | يقوم بتحديث الكروم إذا لزم الأمر ويعيد تطبيق التصحيحات. إذا لم يتغير إصدار الكروم، فسيتم فقط إعادة تطبيق التصحيحات التي تم تغييرها. سيتم تحديث التبعيات الفرعية فقط إذا كان هناك حاجة إلى تحديث أي مشروع أثناء تشغيل البرنامج النصي هذا . **استخدم هذا إذا كنت تريد أن يقوم البرنامج النصي بإدارة إبقائك على اطلاع دائم بدلاً من سحب الفروع أو تبديلها يدويًا. ** |
--force | يقوم بتحديث كل من Chromium و brave-core إلى أحدث التزام عن بعد لفرع Brave-core الحالي ومرجع Chromium المحدد في Brave-browser/package.json (على سبيل المثال، master أو 74.0.0.103 ). سيتم إعادة تطبيق كافة التصحيحات. سيتم فرض تحديث كافة التبعيات التابعة.**استخدم هذا إذا كنت تواجه مشكلة وتريد إعادة الفروع إلى حالتها المعروفة. ** |
--init | فرض تحديث كل من Chromium و brave-core إلى الإصدارات المحددة في Brave-browser/package.json وفرض تحديثات لجميع عمليات إعادة الشراء التابعة - مثل npm run init |
--sync_chromium (true/false) | سيتم فرض تحديث إصدار الكروم أو تخطيه عند الاقتضاء. مفيد إذا كنت تريد تجنب تحديث بسيط عندما لا تكون جاهزًا لوقت الإنشاء الأكبر الذي قد ينتج عنه تحديث chromium. سيتم إخراج تحذير حول حالة الكود الحالية متوقعًا إصدارًا مختلفًا من chromium. قد يفشل البناء الخاص بك نتيجة لذلك. |
-D, --delete_unused_deps | سيتم حذف أي تبعيات من نسخة العمل تمت إزالتها منذ آخر مزامنة. يحاكي gclient sync -D . |
قم بتشغيل npm run sync brave_core_ref
للتحقق من المرجع الشجاع المحدد وتحديث جميع عمليات إعادة الشراء التابعة بما في ذلك الكروم إذا لزم الأمر.
متصفح شجاع> cd src/brave Brave-browser/src/brave> git checkout -b Branch_name
Brave-browser/src/brave> git fetch Origin Brave-browser/src/brave> git checkout [-b] Branch_name Brave-browser/src/brave> npm run sync ...تحديث تصحيحين... ...تحديث التبعيات التابعة... ...تشغيل الخطافات...
Brave-browser/src/brave> git pull Brave-browser/src/brave> npm run sync ...تحديث تصحيحين... ...تحديث التبعيات التابعة... ...تشغيل الخطافات...
init
، ستؤدي دائمًا إلى بناء أطول وستزيل أي تغييرات معلقة في دليل عمل Brave-Core الخاص بك):متصفح شجاع> بوابة الخروج الرئيسية متصفح شجاع> بوابة السحب Brave-browser> npm run sync -- --init
Brave-browser/src/brave> git checkout featureB Brave-browser/src/brave> git pull Brave-browser/src/brave> cd ../.. متصفح شجاع> npm قم بتشغيل Apply_patches ...تطبيق رقعتين...
التصفح الآمن من Google : احصل على مفتاح API مع تمكين SafeBrowsing API من https://console.developers.google.com/. قم بتحديث متغير البيئة GOOGLE_API_KEY
باستخدام المفتاح الخاص بك وفقًا لـ https://www.chromium.org/developers/how-tos/api-keys لتمكين التصفح الآمن من Google.
قواعد الأمان من الكروم
إرشادات مراجعة التصنيف الدولي للبراءات (وخاصة هذا المرجع)
إرشادات الأمان الداخلي لـ Brave (للموظفين فقط)
استخدام الصدأ
راجع استكشاف الأخطاء وإصلاحها للحصول على حلول للمشكلات الشائعة.