Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
gha-lab-8e9316151c — مختبر أبحاث أمنية مُتحكَّم به لإعادة إنتاج CVE-2024-1540 (حقن أوامر في GitHub Actions في gradio-app/gradio deploy+test-visual.yml) — لقطة مُسطَّحة من gradio-app/gradio @ f35f615e33a5dd90bfeb106b6f5dca689849fcef | Kitploit
أدوات/GitHubGitHub/pvharmo2/gha-lab-8e9316151c
تحليل الثغرات الأمنيةالاستغلالالتعلم والتعليمموارد منسقة
GitHubpvharmo2/gha-lab-8e9316151c

gha-lab-8e9316151c

مختبر أبحاث أمنية مُتحكَّم به لإعادة إنتاج CVE-2024-1540 (حقن أوامر في GitHub Actions في gradio-app/gradio deploy+test-visual.yml) — لقطة مُسطَّحة من gradio-app/gradio @ f35f615e33a5dd90bfeb106b6f5dca689849fcef

عرض المستودع
1منذ 21س 1دلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

أداة بحث آلية — ليست المشروع الأصلي.

هذا المستودع عبارة عن بيئة مختبرية مؤقتة أُنشئت بواسطة نظام آلي لرسالة ماجستير في جامعة لافال (Université Laval) بهدف إعادة إنتاج ثغرات أمنية موثقة في سير عمل GitHub Actions. وهو لقطة حرفية من gradio-app/gradio عند الالتزام f35f615e33a5dd90bfeb106b6f5dca689849fcef (2024-02-09)، مُعاد توزيعه بموجب ترخيص المشروع الأصلي نفسه، والذي تم تضمين ملفه دون تغيير في هذه اللقطة.

المشروع الأصلي ليس طرفًا في هذا العمل، ولا يُستهدف أبدًا، والثغرة المدروسة هنا معلنة بالفعل. كل سر ومتغير في هذا المستودع هو قيمة وهمية مولّدة عشوائيًا — لا توجد أي بيانات اعتماد حقيقية. مراجع الإجراءات (Actions) وصور المشغّل (runner images) مثبتة على ما كانت عليه في 2024-02-09؛ راجع pinning.md في مخرجات النظام الآلي للاطلاع على كل تغيير أُجري على اللقطة.

للأسئلة أو الاعتراضات: [email protected]


gradio

gradio-backend gradio-ui


PyPI
PyPI downloads
Python version
Twitter follow

الموقع الإلكتروني | التوثيق | الأدلة | ابدأ من هنا | أمثلة | 中文

Gradio: أنشئ تطبيقات ويب للتعلم الآلي — بلغة Python

Gradio هي حزمة Python مفتوحة المصدر تتيح لك بناء عرض توضيحي أو تطبيق ويب لنموذج التعلم الآلي أو واجهة برمجة التطبيقات (API) أو أي دالة Python عشوائية بسرعة. يمكنك بعد ذلك مشاركة رابط للعرض التوضيحي أو تطبيق الويب في ثوانٍ معدودة باستخدام ميزات المشاركة المدمجة في Gradio. لا حاجة لأي خبرة في JavaScript أو CSS أو استضافة الويب!

يكفي بضعة أسطر من Python لإنشاء عرض توضيحي جميل مثل العرض أعلاه، فلنبدأ 💫

التثبيت

المتطلب الأساسي: يتطلب Gradio Python 3.8 أو أحدث

نوصي بتثبيت Gradio باستخدام pip، المضمّن افتراضيًا في Python. شغّل هذا الأمر في الطرفية (terminal) أو موجه الأوامر:

root@kitploit:~
pip install gradio

[!TIP] من الأفضل تثبيت Gradio في بيئة افتراضية. تتوفر تعليمات تثبيت مفصلة لجميع أنظمة التشغيل الشائعة هنا.

بناء أول عرض توضيحي لك

يمكنك تشغيل Gradio في محرر الأكواد المفضل لديك، أو Jupyter notebook، أو Google Colab، أو أي مكان آخر تكتب فيه Python. لنكتب أول تطبيق Gradio لك:

root@kitploit:~
import gradio as gr

def greet(name, intensity):
    return "Hello " * intensity + name + "!"

demo = gr.Interface(
    fn=greet,
    inputs=["text", "slider"],
    outputs=["text"],
)

demo.launch()

[!TIP] نختصر الاسم المستورد من gradio إلى gr لتحسين قابلية قراءة الكود. هذا اصطلاح واسع الانتشار يجب أن تتبعه حتى يتمكن أي شخص يعمل مع كودك من فهمه بسهولة.

الآن، شغّل الكود. إذا كتبت كود Python في ملف باسم، على سبيل المثال، app.py، فستشغّل python app.py من الطرفية.

سيُفتح العرض التوضيحي أدناه في متصفح على http://localhost:7860 إذا كان التشغيل من ملف. إذا كنت تعمل داخل notebook، فسيظهر العرض التوضيحي مضمّنًا داخل الـ notebook.

hello_world_4 demo

اكتب اسمك في مربع النص على اليسار، واسحب شريط التمرير، ثم اضغط زر الإرسال (Submit). يجب أن ترى تحية ودية على اليمين.

[!TIP] عند التطوير محليًا، يمكنك تشغيل تطبيق Gradio في وضع إعادة التحميل السريع (hot reload mode)، الذي يعيد تحميل تطبيق Gradio تلقائيًا كلما أجريت تغييرات على الملف. للقيام بذلك، اكتب ببساطة gradio قبل اسم الملف بدلاً من python. في المثال أعلاه، ستكتب: gradio app.py في الطرفية. تعرّف على المزيد حول إعادة التحميل السريع في دليل إعادة التحميل السريع.

فهم فئة Interface

ستلاحظ أنه لإنشاء أول عرض توضيحي لك، أنشأت مثيلًا من فئة gr.Interface. صُممت فئة Interface لإنشاء عروض توضيحية لنماذج التعلم الآلي التي تقبل مدخلًا واحدًا أو أكثر، وتُرجع مخرجًا واحدًا أو أكثر.

تمتلك فئة Interface ثلاث وسائط أساسية:

  • fn: الدالة التي تريد تغليفها بواجهة مستخدم (UI).
  • inputs: مكوّنات Gradio المستخدمة للإدخال. يجب أن يتطابق عدد المكوّنات مع عدد الوسائط في الدالة.
  • outputs: مكوّنات Gradio المستخدمة للإخراج. يجب أن يتطابق عدد المكوّنات مع عدد القيم المُرجعة من الدالة.

وسيطة fn مرنة جدًا — يمكنك تمرير أي دالة Python تريد تغليفها بواجهة مستخدم. في المثال أعلاه، رأينا دالة بسيطة نسبيًا، لكن الدالة يمكن أن تكون أي شيء من مولّد موسيقى إلى حاسبة ضرائب إلى دالة التنبؤ لنموذج تعلم آلة مُدرّب مسبقًا.

تأخذ وسيطتا input وoutput مكوّنًا واحدًا أو أكثر من مكوّنات Gradio. كما سنرى، يتضمن Gradio أكثر من 30 مكوّنًا مدمجًا (مثل مكوّنات gr.Textbox() وgr.Image() وgr.HTML()) مصممة لتطبيقات التعلم الآلي.

[!TIP] بالنسبة لوسيطتي inputs وoutputs، يمكنك تمرير اسم هذه المكوّنات كسلسلة نصية ("textbox") أو كمثيل من الفئة (gr.Textbox()).

إذا كانت الدالة تقبل أكثر من وسيط واحد، كما هو الحال أعلاه، مرر قائمة بمكوّنات الإدخال إلى inputs، بحيث يتوافق كل مكوّن إدخال مع أحد وسائط الدالة، بالترتيب. وينطبق الأمر نفسه إذا كانت الدالة تُرجع أكثر من قيمة: مرر ببساطة قائمة بالمكوّنات إلى outputs. هذه المرونة تجعل فئة Interface وسيلة قوية جدًا لإنشاء العروض التوضيحية.

سنتعمق أكثر في gr.Interface في سلسلتنا حول بناء الواجهات.

مشاركة عرضك التوضيحي

ما فائدة عرض توضيحي جميل إذا لم تتمكن من مشاركته؟ يتيح لك Gradio مشاركة عرض توضيحي للتعلم الآلي بسهولة دون القلق بشأن عناء الاستضافة على خادم ويب. ببساطة اضبط share=True في launch()، وسيتم إنشاء رابط عام يمكن الوصول إليه لعرضك التوضيحي. لنعد إلى مثالنا التوضيحي، لكن غيّر السطر الأخير كما يلي:

root@kitploit:~
import gradio as gr

def greet(name):
    return "Hello " + name + "!"

demo = gr.Interface(fn=greet, inputs="textbox", outputs="textbox")
    
demo.launch(share=True)  # شارك عرضك التوضيحي بمعامل إضافي واحد فقط 🚀

عند تشغيل هذا الكود، سيتم إنشاء رابط عام لعرضك التوضيحي في غضون ثوانٍ، مثل:

👉   https://a23dsf231adb.gradio.live

الآن، يمكن لأي شخص حول العالم تجربة عرضك التوضيحي من متصفحه، بينما يستمر نموذج التعلم الآلي وجميع العمليات الحسابية في العمل محليًا على جهازك.

لمعرفة المزيد حول مشاركة عرضك التوضيحي، اقرأ دليلنا المخصص حول مشاركة تطبيق Gradio الخاص بك.

نظرة عامة على Gradio

حتى الآن، كنا نناقش فئة Interface، وهي فئة عالية المستوى تتيح لك بناء العروض التوضيحية بسرعة باستخدام Gradio. لكن ماذا يفعل Gradio أيضًا؟

روبوتات المحادثة مع gr.ChatInterface

يتضمن Gradio فئة أخرى عالية المستوى، وهي gr.ChatInterface، المصممة خصيصًا لإنشاء واجهات مستخدم لروبوتات المحادثة (Chatbot). على غرار Interface، تقدم دالة ويقوم Gradio بإنشاء واجهة روبوت محادثة تعمل بالكامل. إذا كنت مهتمًا بإنشاء روبوت محادثة، يمكنك الانتقال مباشرة إلى دليلنا المخصص حول gr.ChatInterface.

عروض توضيحية مخصصة مع gr.Blocks

يقدم Gradio أيضًا نهجًا منخفض المستوى لتصميم تطبيقات الويب بتخطيطات وتدفقات بيانات أكثر مرونة باستخدام فئة gr.Blocks. تتيح لك Blocks التحكم في مكان ظهور المكوّنات على الصفحة، والتعامل مع تدفقات البيانات المعقدة (مثل أن تكون المخرجات مدخلات لدوال أخرى)، وتحديث خصائص/رؤية المكوّنات بناءً على تفاعل المستخدم — وكل ذلك لا يزال بلغة Python.

يمكنك بناء تطبيقات مخصصة ومعقدة جدًا باستخدام gr.Blocks(). على سبيل المثال، واجهة الويب الشهيرة لتوليد الصور Automatic1111 Web UI مبنية باستخدام Gradio Blocks. نتعمق أكثر في gr.Blocks في سلسلتنا حول البناء باستخدام Blocks.

نظام Python وJavaScript البيئي لـ Gradio

هذا هو جوهر مكتبة gradio الأساسية بلغة Python، لكن Gradio في الواقع أكثر من ذلك بكثير! إنه نظام بيئي كامل من مكتبات Python وJavaScript يتيح لك بناء تطبيقات التعلم الآلي، أو الاستعلام عنها برمجيًا، بلغة Python أو JavaScript. إليك أجزاء أخرى ذات صلة من نظام Gradio البيئي:

  • عميل Gradio بلغة Python (gradio_client): استعلم عن أي تطبيق Gradio برمجيًا بلغة Python.
  • عميل Gradio بلغة JavaScript (@gradio/client): استعلم عن أي تطبيق Gradio برمجيًا بلغة JavaScript.
  • Gradio-Lite (@gradio/lite): اكتب تطبيقات Gradio بلغة Python تعمل بالكامل في المتصفح (بدون الحاجة إلى خادم!)، بفضل Pyodide.
  • Hugging Face Spaces: المكان الأكثر شعبية لاستضافة تطبيقات Gradio — مجانًا!

ما التالي؟

واصل تعلم Gradio بالتسلسل باستخدام أدلة Gradio، التي تتضمن شروحات بالإضافة إلى أكواد أمثلة وعروض توضيحية تفاعلية مدمجة. التالي: الميزات الرئيسية لعروض Gradio التوضيحية.

أو، إذا كنت تعرف الأساسيات بالفعل وتبحث عن شيء محدد، يمكنك البحث في توثيق واجهة برمجة التطبيقات (API) الأكثر تقنية.

أسئلة؟

إذا كنت تريد الإبلاغ عن خطأ أو لديك طلب ميزة، فيرجى إنشاء issue على GitHub. للأسئلة العامة حول الاستخدام، نحن متاحون على خادم Discord الخاص بنا ويسعدنا المساعدة.

إذا أعجبك Gradio، فيرجى ترك ⭐ لنا على GitHub!

مجموعة التقنيات مفتوحة المصدر

Gradio مبني على العديد من المكتبات الرائعة مفتوحة المصدر!

huggingface python fastapi encode svelte vite pnpm tailwind storybook chromatic

الترخيص

Gradio مرخص بموجب رخصة Apache License 2.0 الموجودة في ملف LICENSE في الدليل الجذري لهذا المستودع.

الاستشهاد

اطلع أيضًا على الورقة البحثية Gradio: Hassle-Free Sharing and Testing of ML Models in the Wild, ICML HILL 2019، ويرجى الاستشهاد بها إذا استخدمت Gradio في عملك.

root@kitploit:~
@article{abid2019gradio,
  title = {Gradio: Hassle-Free Sharing and Testing of ML Models in the Wild},
  author = {Abid, Abubakar and Abdalla, Ali and Abid, Ali and Khan, Dawood and Alfozan, Abdulrahman and Zou, James},
  journal = {arXiv preprint arXiv:1906.02569},
  year = {2019},
}
تنزيل الأداة