diff --git a/apps/site/pages/ar/about/security-reporting.mdx b/apps/site/pages/ar/about/security-reporting.mdx new file mode 100644 index 0000000000000..914a59341c4c3 --- /dev/null +++ b/apps/site/pages/ar/about/security-reporting.mdx @@ -0,0 +1,82 @@ +--- +title: الإبلاغ الأمني +layout: about +--- + +# الإبلاغ الأمني + +لمزيد من التفاصيل حول سياسات الأمان، راجع [هذه الصفحة](https://github.com/nodejs/node/security/policy). + +## الإبلاغ عن ثغرة أمنية في Node.js + +أبلغ عن الثغرات الأمنية في Node.js عبر [HackerOne](https://hackerone.com/nodejs). + +> **ملاحظة:** إرسال بلاغ عبر HackerOne يتطلب حدًا أدنى من +> [Signal](https://docs.hackerone.com/en/articles/8369891-signal-impact) score قدره **1.0**. +> إذا كانت درجة Signal لديك أقل من هذا الحد، فتواصل بدلًا من ذلك مباشرة مع مشرفي إصدارات الأمان في Node.js +> عبر [OpenJS Foundation Slack](https://slack-invite.openjsf.org/). + +عادةً يتم تأكيد استلام البلاغ خلال 5 أيام، وستتلقى ردًا أكثر تفصيلًا خلال 10 أيام +يوضح الخطوات التالية في التعامل مع ما أرسلته. قد تمتد هذه المدة عندما يكون متطوعو فرز البلاغات (triage) +في إجازة، خاصة في نهاية العام. + +بعد الرد الأولي على البلاغ، سيحرص فريق الأمان على إبقائك على اطلاع بالتقدم نحو الإصلاح +والإعلان الكامل، وقد يطلب منك معلومات إضافية أو توضيحات حول المشكلة التي أبلغت عنها. + +### برنامَج مكافآت الثغرات الأمنية في Node.js + +يشارك مشروع Node.js في برنامج مكافآت الثغرات (bug bounty program) رسمي مخصص للباحثين الأمنيين والإفصاح العام المسؤول. +تتم إدارة البرنامج عبر منصة HackerOne. راجع [https://hackerone.com/nodejs](https://hackerone.com/nodejs) +لمزيد من التفاصيل. + +## الإبلاغ عن bug في module من جهة خارجية + +يجب الإبلاغ عن الثغرات الأمنية في third party modules إلى المسؤولين عن صيانتها (maintainers). + +## سياسة الإفصاح + +هذه هي سياسة الإفصاح الأمني الخاصة بـ Node.js: + +- يتم استلام البلاغ الأمني وتعيين مسؤول أساسي للتعامل معه. ينسق هذا الشخص عملية الإصلاح والإصدار. + يتم التحقق من المشكلة على جميع إصدارات Node.js المدعومة. بعد تأكيدها، يتم تحديد قائمة بكل الإصدارات المتأثرة. + تتم مراجعة الكود للبحث عن أي مشاكل مشابهة محتملة. ثم تُجهز الإصلاحات لكل الإصدارات المدعومة. + لا تُرسل هذه الإصلاحات إلى المستودع العام (public repository) مباشرة، بل تبقى محليًا إلى حين الإعلان. + +- يتم اختيار تاريخ حظر نشر (embargo) مقترح لهذه الثغرة، ويتم طلب CVE + (Common Vulnerabilities and Exposures (CVE®)) لها. + +- في تاريخ حظر النشر (embargo)، تُرسل نسخة من الإعلان إلى القائمة البريدية الأمنية (security mailing list) الخاصة بـ Node.js. + تُدفع التغييرات إلى المستودع العام (public repository)، ويتم نشر builds جديدة على nodejs.org. + خلال 6 ساعات من إشعار القائمة البريدية (mailing list)، تُنشر نسخة من التنبيه الأمني (advisory) على مدونة Node.js. + +- عادةً يتم تحديد تاريخ حظر النشر (embargo) بعد 72 ساعة من وقت إصدار CVE. لكن قد يختلف ذلك حسب خطورة bug + أو صعوبة تطبيق الإصلاح. + +- قد تستغرق هذه العملية بعض الوقت، خاصة عندما نحتاج إلى التنسيق مع المسؤولين عن صيانة مشاريع أخرى (maintainers). + سنحاول التعامل مع bug بأسرع ما يمكن، لكن يجب علينا اتباع عملية الإصدار (release process) الموضحة أعلاه + لضمان التعامل مع الإفصاح بطريقة متسقة. + +## تلقي تحديثات الأمان + +سيتم توزيع إشعارات الأمان عبر الطرق التالية: + +- [Google Group](https://groups.google.com/group/nodejs-sec) +- [مدونة Node.js](/blog) + +## التعليقات على هذه السياسة + +إذا كانت لديك اقتراحات لتحسين هذه العملية، فيرجى زيارة مستودع +[nodejs/security-wg](https://github.com/nodejs/security-wg). + +## أفضل ممارسات OpenSSF + + + + شارة OpenSSF + + +تعد شارة [Best Practices](https://github.com/coreinfrastructure/best-practices-badge) من Open Source Security Foundation (OpenSSF) +طريقة تتيح لمشاريع Free/Libre and Open Source Software (FLOSS) إظهار أنها تتبع أفضل الممارسات. +يمكن للمشاريع أن تمنح نفسها هذا التصديق طوعًا من خلال توضيح كيفية اتباعها لكل ممارسة. +ويستطيع مستخدمو الشارة تقييم مشاريع FLOSS التي تتبع أفضل الممارسات بسرعة، مما يزيد احتمال إنتاجها +لبرمجيات آمنة وذات جودة أعلى. diff --git a/apps/site/snippets/ar/download/brew.bash b/apps/site/snippets/ar/download/brew.bash new file mode 100644 index 0000000000000..d82a7cdaa7007 --- /dev/null +++ b/apps/site/snippets/ar/download/brew.bash @@ -0,0 +1,5 @@ +# تحميل و تثبيت Homebrew +curl -o- https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash + +# تحميل و تثبيت Node.js: +brew install node@${props.release.major} diff --git a/apps/site/snippets/ar/download/choco.bash b/apps/site/snippets/ar/download/choco.bash new file mode 100644 index 0000000000000..4d9bba870f7d1 --- /dev/null +++ b/apps/site/snippets/ar/download/choco.bash @@ -0,0 +1,5 @@ +# تحميل و تثبيت Chocolatey: +powershell -c "irm https://community.chocolatey.org/install.ps1|iex" + +# تحميل و تثبيت Node.js: +choco install nodejs --version="${props.release.version}" diff --git a/apps/site/snippets/ar/download/corepack.bash b/apps/site/snippets/ar/download/corepack.bash new file mode 100644 index 0000000000000..a7c97f1b16bfd --- /dev/null +++ b/apps/site/snippets/ar/download/corepack.bash @@ -0,0 +1,2 @@ +# تحميل Corepack: +npm install -g corepack diff --git a/apps/site/snippets/ar/download/docker.bash b/apps/site/snippets/ar/download/docker.bash new file mode 100644 index 0000000000000..f1bd1d89f385b --- /dev/null +++ b/apps/site/snippets/ar/download/docker.bash @@ -0,0 +1,8 @@ +# لدى Docker تعليمات تثبيت محددة لكل نظام تشغيل. +# يرجى الرجوع إلى الوثائق الرسمية في https://docker.com/get-started/ + +# جلب صورة Node.js الخاصة بـ Docker: +docker pull node:${props.release.major}-slim + +# أنشئ حاوية Node.js ثم فتح جلسة Shell داخلها +docker run -it --rm --entrypoint sh node:${props.release.major}-slim diff --git a/apps/site/snippets/ar/download/fnm.bash b/apps/site/snippets/ar/download/fnm.bash new file mode 100644 index 0000000000000..2598293d5af2f --- /dev/null +++ b/apps/site/snippets/ar/download/fnm.bash @@ -0,0 +1,8 @@ +# تحميل و تثبيت fnm: +${props.os === 'WIN' ? + 'winget install Schniz.fnm' : + 'curl -o- https://fnm.vercel.app/install | bash' +{ + +# تحميل و تثبيت Node.js: +fnm install ${props.release.major} diff --git a/apps/site/snippets/ar/download/n.bash b/apps/site/snippets/ar/download/n.bash index 058dc6a40f5c9..bd32a580d277c 100644 --- a/apps/site/snippets/ar/download/n.bash +++ b/apps/site/snippets/ar/download/n.bash @@ -1,4 +1,4 @@ -تحميل وتثبيت n و Node.js: +# تحميل وتثبيت n و Node.js: curl -fsSL https://raw.githubusercontent.com/mklement0/n-install/stable/bin/n-install | bash -s ${props.release.major} # يتم تثبيت Node.js تلقائيًا أثناء عملية n-install، لكن يمكنك أيضًا تثبيته يدويًا: diff --git a/apps/site/snippets/ar/download/node.bash b/apps/site/snippets/ar/download/node.bash new file mode 100644 index 0000000000000..45ee8f5920a8b --- /dev/null +++ b/apps/site/snippets/ar/download/node.bash @@ -0,0 +1,2 @@ +# توثيق اصدار Node.js: +node -v # يجب أن يطبع "${props.release.versionWithPrefix}". diff --git a/apps/site/snippets/ar/download/nvm.bash b/apps/site/snippets/ar/download/nvm.bash new file mode 100644 index 0000000000000..1b87de18a4398 --- /dev/null +++ b/apps/site/snippets/ar/download/nvm.bash @@ -0,0 +1,8 @@ +# تحميل و تثبيت nvm: +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash + +# بدلاً من إعادة تشغيل shell +\. "$HOME/.nvm/nvm.sh" + +# تحميل و تثبيت Node.js: +nvm install ${props.release.major} diff --git a/apps/site/snippets/ar/download/pnpm.bash b/apps/site/snippets/ar/download/pnpm.bash new file mode 100644 index 0000000000000..2426ad4d3f6b2 --- /dev/null +++ b/apps/site/snippets/ar/download/pnpm.bash @@ -0,0 +1,5 @@ +# تحميل و تثبيت pnpm: +corepack enable yarn + +# توثيق اصدار pnpm: +pnpm -v diff --git a/apps/site/snippets/fr/download/nvm.bash b/apps/site/snippets/fr/download/nvm.bash index f49d8c77ecbca..2001696ca1cea 100644 --- a/apps/site/snippets/fr/download/nvm.bash +++ b/apps/site/snippets/fr/download/nvm.bash @@ -1,5 +1,5 @@ # Télécharger et installer nvm : -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash # au lieu de redémarrer le shell \. "$HOME/.nvm/nvm.sh" diff --git a/apps/site/snippets/ro/download/nvm.bash b/apps/site/snippets/ro/download/nvm.bash index 8ff7a2cf56f29..d6cf4e460dd0f 100644 --- a/apps/site/snippets/ro/download/nvm.bash +++ b/apps/site/snippets/ro/download/nvm.bash @@ -1,5 +1,5 @@ # Descarcă și instalează nvm: -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash # în loc de a reporni shell-ul \. "$HOME/.nvm/nvm.sh" diff --git a/apps/site/snippets/uk/download/nvm.bash b/apps/site/snippets/uk/download/nvm.bash index ed5331506a10d..91c953e2f5a9e 100644 --- a/apps/site/snippets/uk/download/nvm.bash +++ b/apps/site/snippets/uk/download/nvm.bash @@ -1,5 +1,5 @@ # Завантажує й установлює nvm: -curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.4/install.sh | bash +curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash # Замість перезапуску оболонки можна виконати: \. "$HOME/.nvm/nvm.sh" diff --git a/packages/i18n/package.json b/packages/i18n/package.json index e7e765ec09bc6..c92827dd2fdde 100644 --- a/packages/i18n/package.json +++ b/packages/i18n/package.json @@ -1,6 +1,6 @@ { "name": "@node-core/website-i18n", - "version": "1.1.30", + "version": "1.1.31", "type": "module", "exports": { "./*": [ diff --git a/packages/i18n/src/locales/uk.json b/packages/i18n/src/locales/uk.json index aa94e8a8a3961..141de5684e06b 100644 --- a/packages/i18n/src/locales/uk.json +++ b/packages/i18n/src/locales/uk.json @@ -299,6 +299,7 @@ "choco": "Chocolatey — це менеджер пакетів для Windows.", "docker": "Docker — це платформа контейнеризації.", "n": "«n» — це кросплатформний менеджер версій Node.js.", + "asdf": "«asdf» — це кросплатформний менеджер версій, який підтримує багато мов.", "volta": "«Volta» — це кросплатформний менеджер версій Node.js." } }